summaryrefslogtreecommitdiff |
diff options
Diffstat (limited to 'src/battlemap/query')
-rw-r--r-- | src/battlemap/query/bm_character_turn.erl | 8 | ||||
-rw-r--r-- | src/battlemap/query/bm_load_state.erl | 15 |
2 files changed, 20 insertions, 3 deletions
diff --git a/src/battlemap/query/bm_character_turn.erl b/src/battlemap/query/bm_character_turn.erl index 74def12..7a7476c 100644 --- a/src/battlemap/query/bm_character_turn.erl +++ b/src/battlemap/query/bm_character_turn.erl @@ -73,10 +73,14 @@ assert_user_is_current_player (Data, Request) -> ) -> 'ok'. assert_user_owns_played_character (Data, Request) -> PlayerID = bm_character_turn_request:get_player_id(Request), + Battle = bm_character_turn_data:get_battle(Data), + Players = bm_battle:get_players(Battle), Character = bm_character_turn_data:get_character(Data), - CharacterOwnerID = bm_character:get_owner_id(Character), + CharacterPlayerIX = bm_character:get_player_index(Character), + CharacterPlayer = array:get(CharacterPlayerIX, Players), + CharacterPlayerID = bm_player:get_id(CharacterPlayer), - true = (PlayerID == CharacterOwnerID), + true = (PlayerID == CharacterPlayerID), ok. diff --git a/src/battlemap/query/bm_load_state.erl b/src/battlemap/query/bm_load_state.erl index 4b5b3ab..505ec3b 100644 --- a/src/battlemap/query/bm_load_state.erl +++ b/src/battlemap/query/bm_load_state.erl @@ -64,6 +64,19 @@ fetch_data (Input) -> generate_reply (QueryState, Input) -> PlayerID = Input#input.player_id, Battle = QueryState#query_state.battle, + Players = bm_battle:get_players(Battle), + + PlayerIX = + sh_array_util:first + ( + fun (Player) -> + (bm_player:get_id(Player) == PlayerID) + end, + Players + ), + + true = (PlayerIX >= 0), + SetTimeline = bm_set_timeline:generate ( @@ -78,7 +91,7 @@ generate_reply (QueryState, Input) -> array:map ( fun (IX, Character) -> - bm_add_char:generate(IX, Character, PlayerID) + bm_add_char:generate(IX, Character, PlayerIX) end, bm_battle:get_characters(Battle) ) |