| summaryrefslogtreecommitdiff | 
diff options
| author | Nathanael Sensfelder <SpamShield0@MultiAgentSystems.org> | 2019-01-17 15:08:01 +0100 | 
|---|---|---|
| committer | Nathanael Sensfelder <SpamShield0@MultiAgentSystems.org> | 2019-01-17 15:08:01 +0100 | 
| commit | 06eaf5b16fb88113a39380b70dd9e0b7d5a8bfca (patch) | |
| tree | 824c774bf4bc237f6c5d2e432981036f9b1867e5 | |
| parent | e120388a529c1fdeeae40beb9391c86c92c1ac07 (diff) | |
...
| -rw-r--r-- | src/battle/query/btl_join.erl | 4 | ||||
| -rw-r--r-- | src/shared/struct/shr_battle_summary.erl | 14 | ||||
| -rw-r--r-- | src/shared/struct/shr_player.erl | 57 | 
3 files changed, 35 insertions, 40 deletions
| diff --git a/src/battle/query/btl_join.erl b/src/battle/query/btl_join.erl index 2213f1c..62d16fb 100644 --- a/src/battle/query/btl_join.erl +++ b/src/battle/query/btl_join.erl @@ -167,6 +167,8 @@ handle_attack (Input) ->        AvailablePendingBattle     ), +   shr_timed_cache:invalidate(player_db, any, PlayerID), +     ok.  -spec handle_defend (input()) -> 'ok'.  handle_defend (Input) -> @@ -187,6 +189,8 @@ handle_defend (Input) ->        SelectedCharacterIXs     ), +   shr_timed_cache:invalidate(player_db, any, PlayerID), +     ok.  -spec fetch_attack_data (input()) -> attack_query_state(). diff --git a/src/shared/struct/shr_battle_summary.erl b/src/shared/struct/shr_battle_summary.erl index 1d9934a..812211e 100644 --- a/src/shared/struct/shr_battle_summary.erl +++ b/src/shared/struct/shr_battle_summary.erl @@ -31,7 +31,8 @@  (     [        new/4, -      none/0 +      none/1, +      none/2     ]  ). @@ -102,14 +103,17 @@ new (ID, Name, Mode, Category) ->        is_pending = true     }. --spec none () -> type(). -none () -> +-spec none (category()) -> type(). +none (Category) -> none(none, Category). + +-spec none (mode(), category()) -> type(). +none (Mode, Category) ->     #battle_summary     {        id = ataxia_id:null(),        name = <<"">>, -      mode = none, -      category = event, +      mode = Mode, +      category = Category,        deadline = ataxia_time:never(),        is_players_turn = false,        is_pending = false diff --git a/src/shared/struct/shr_player.erl b/src/shared/struct/shr_player.erl index 6ef6f1f..329f08d 100644 --- a/src/shared/struct/shr_player.erl +++ b/src/shared/struct/shr_player.erl @@ -106,43 +106,30 @@ secure_value (Salt, Val) ->     HashedSaltedVal. +-spec generate_battle_slots +   ( +      non_neg_integer(), +      shr_battle_summary:category(), +      orddict:orddict(non_neg_integer(), shr_battle_summary:type()) +   ) +   -> orddict:orddict(non_neg_integer(), shr_battle_summary:type()). +generate_battle_slots (0, _, Result) -> +   Result; +generate_battle_slots (PrevIX, Category, Result) -> +   IX = (PrevIX - 1), + +   generate_battle_slots +   ( +      IX, +      Category, +      orddict:store(IX, shr_battle_summary:none(Category), Result) +   ). +  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  %% EXPORTED FUNCTIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  -spec new (binary(), binary(), binary()) -> type().  new (Username, Password, Email) -> -   EmptyBattleSlot = shr_battle_summary:none(), -   SixEmptyBattleSlots = -      orddict:from_list -      ( -         [ -            {0, EmptyBattleSlot}, -            {1, EmptyBattleSlot}, -            {2, EmptyBattleSlot}, -            {3, EmptyBattleSlot}, -            {4, EmptyBattleSlot}, -            {5, EmptyBattleSlot} -         ] -      ), - -   NineEmptyBattleSlots = -      orddict:store -      ( -         6, -         EmptyBattleSlot, -         orddict:store -         ( -            7, -            EmptyBattleSlot, -            orddict:store -            ( -               8, -               EmptyBattleSlot, -               SixEmptyBattleSlots -            ) -         ) -      ), -     Result =        #player        { @@ -152,9 +139,9 @@ new (Username, Password, Email) ->           email = Email,           last_active = 0,           maps = orddict:new(), -         campaigns = SixEmptyBattleSlots, -         invasions = NineEmptyBattleSlots, -         events = SixEmptyBattleSlots, +         campaigns = generate_battle_slots(6, campaign, orddict:new()), +         invasions = generate_battle_slots(9, invasion, orddict:new()), +         events = generate_battle_slots(6, event, orddict:new()),           inventory_id = ataxia_id:null(),           roster_id = ataxia_id:null()        }, | 


