| summaryrefslogtreecommitdiff | 
diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/battle/query/btl_join.erl | 34 | ||||
| -rw-r--r-- | src/bounty/bnt_join_battle.erl | 43 | ||||
| -rw-r--r-- | src/bounty/struct/bnt_bounty.erl | 2 | ||||
| -rw-r--r-- | src/shared/struct/shr_battle_summary.erl | 2 | 
4 files changed, 65 insertions, 16 deletions
| diff --git a/src/battle/query/btl_join.erl b/src/battle/query/btl_join.erl index c38cfde..385770d 100644 --- a/src/battle/query/btl_join.erl +++ b/src/battle/query/btl_join.erl @@ -5,15 +5,14 @@  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  -include("../../../include/yaws_api.hrl"). --type mode() :: (attack | defend | {invalid, binary()}). -  -record  (     input,     {        player_id :: shr_player:id(),        session_token :: binary(), -      mode :: mode(), +      mode :: shr_battle_summary:mode(), +      category :: shr_battle_summary:category(),        summary_ix :: non_neg_integer(),        size :: non_neg_integer(),        roster_ixs :: list(non_neg_integer()), @@ -45,10 +44,15 @@ parse_input (Req) ->        case maps:get(<<"m">>, JSONReqMap) of           <<"a">> -> attack;           <<"d">> -> defend; -         V -> {invalid, V} +         _ -> none        end, -   true = ((Mode == attack) or (Mode == defend)), +   Category = +      case maps:get(<<"c">>, JSONReqMap) of +         <<"e">> -> event; +         <<"i">> -> invasion; +         _ -> quest +      end,     Size =        case maps:get(<<"s">>, JSONReqMap) of @@ -58,7 +62,10 @@ parse_input (Req) ->           _ -> 0        end, +   true = (Size > 0), +     Roster = maps:get(<<"r">>, JSONReqMap), +     MapID = maps:get(<<"map_id">>, JSONReqMap),     #input @@ -66,6 +73,7 @@ parse_input (Req) ->        player_id = PlayerID,        session_token = SessionToken,        mode = Mode, +      category = Category,        size = Size,        summary_ix = SummaryIX,        roster_ixs = Roster, @@ -88,6 +96,8 @@ authenticate_user (Input) ->  handle_attack (Input) ->     PlayerID = Input#input.player_id,     SelectedCharacterIXs = Input#input.roster_ixs, +   Mode = Input#input.mode, +   Category = Input#input.category,     SummaryIX = Input#input.summary_ix,     PlayerDBUser = ataxia_security:user_from_id(PlayerID),     PartySize = length(SelectedCharacterIXs), @@ -149,6 +159,8 @@ handle_attack (Input) ->     bnt_join_battle:attempt     (        PlayerID, +      Mode, +      Category,        SummaryIX,        SelectedCharacterIXs,        AvailablePendingBattleID, @@ -160,10 +172,20 @@ handle_attack (Input) ->  handle_defend (Input) ->     PlayerID = Input#input.player_id,     SelectedCharacterIXs = Input#input.roster_ixs, +   Mode = Input#input.mode, +   Category = Input#input.category,     SummaryIX = Input#input.summary_ix,     MapID = Input#input.map_id, -   bnt_join_battle:generate(PlayerID, SummaryIX, MapID, SelectedCharacterIXs), +   bnt_join_battle:generate +   ( +      PlayerID, +      Mode, +      Category, +      SummaryIX, +      MapID, +      SelectedCharacterIXs +   ),     ok. diff --git a/src/bounty/bnt_join_battle.erl b/src/bounty/bnt_join_battle.erl index 7880938..89de5f7 100644 --- a/src/bounty/bnt_join_battle.erl +++ b/src/bounty/bnt_join_battle.erl @@ -7,7 +7,7 @@  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  %% EXPORTS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% --export([generate/4, attempt/5]). +-export([generate/6, attempt/7]).  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  %% LOCAL FUNCTIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -511,7 +511,14 @@ generate_pending_battle        btl_pending_battle:type()     )     -> {ok, btl_pending_battle:type()}. -repair_join_battle (PlayerID, PlayerSumIX, RosterCharIXs, PBattleID, PBattle) -> +repair_join_battle +( +   PlayerID, +   PlayerSumIX, +   RosterCharIXs, +   PBattleID, +   PBattle +) ->     PlayerUser = ataxia_security:user_from_id(PlayerID),     {S0PBattle, AtaxicUpdate} = @@ -561,14 +568,22 @@ repair_create_battle (PlayerID, PlayerSumIX, RosterCharIXs, PBattleID, MapID) ->  -spec repair_user_link     (        shr_player:id(), +      shr_battle_summary:mode(), +      shr_battle_summary:category(),        non_neg_integer(),        btl_pending_battle:id()     )     -> ok. -repair_user_link (PlayerID, PBattleUserIX, PBattleID) -> +repair_user_link (PlayerID, Mode, Category, PBattleUserIX, PBattleID) ->     PlayerUser = ataxia_security:user_from_id(PlayerID),     BattleSummary = -      shr_battle_summary:new(PBattleID, <<"Test Battle">>, <<"">>, false), +      shr_battle_summary:new +      ( +         PBattleID, +         <<"Test Battle">>, +         Mode, +         Category +      ),     ok =        ataxia_client:update @@ -579,7 +594,13 @@ repair_user_link (PlayerID, PBattleUserIX, PBattleID) ->           (              ataxic:update_field              ( -               shr_player:get_invasion_summaries_field(), +               ( +                  case Category of +                     invasion -> shr_player:get_invasion_summaries_field(); +                     event -> shr_player:get_event_summaries_field(); +                     campaign -> shr_player:get_campaign_summaries_field() +                  end +               ),                 ataxic:apply_function                 (                    orddict, @@ -661,12 +682,14 @@ repair_generate_battle (PBattleID, PBattle) ->  -spec generate     (        shr_player:id(), +      shr_battle_summary:mode(), +      shr_battle_summary:category(),        non_neg_integer(),        map_map:id(),        list(non_neg_integer())     )     -> 'ok'. -generate (PlayerID, SummaryIX, MapID, RosterCharIXs) -> +generate (PlayerID, Mode, Category, SummaryIX, MapID, RosterCharIXs) ->     PlayerUser = ataxia_security:user_from_id(PlayerID),     AnyoneAndMeAllowed =        ataxia_security:add_access(PlayerUser, ataxia_security:allow_any()), @@ -700,7 +723,7 @@ generate (PlayerID, SummaryIX, MapID, RosterCharIXs) ->        MapID     ), -   repair_user_link(PlayerID, SummaryIX, NewPBattleID), +   repair_user_link(PlayerID, Mode, Category, SummaryIX, NewPBattleID),     ok. @@ -708,6 +731,8 @@ generate (PlayerID, SummaryIX, MapID, RosterCharIXs) ->  -spec attempt     (        shr_player:id(), +      shr_battle_summary:mode(), +      shr_battle_summary:category(),        non_neg_integer(),        list(non_neg_integer()),        btl_pending_battle:id(), @@ -717,6 +742,8 @@ generate (PlayerID, SummaryIX, MapID, RosterCharIXs) ->  attempt  (     PlayerID, +   Mode, +   Category,     SummaryIX,     SelectedRosterCharacterIXs,     PendingBattleID, @@ -755,7 +782,7 @@ attempt           PendingBattleID        ), -   repair_user_link(PlayerID, SummaryIX, PendingBattleID), +   repair_user_link(PlayerID, Mode, Category, SummaryIX, PendingBattleID),     case btl_pending_battle:get_free_slots(S0PendingBattle) of        0 -> repair_generate_battle(PendingBattleID, S0PendingBattle); diff --git a/src/bounty/struct/bnt_bounty.erl b/src/bounty/struct/bnt_bounty.erl index c6aa450..d91cdc2 100644 --- a/src/bounty/struct/bnt_bounty.erl +++ b/src/bounty/struct/bnt_bounty.erl @@ -82,7 +82,7 @@ generate (User, NotBefore, Deadline, Job) ->  -spec resolve () -> type().  resolve () -> -   Lock = ataxia_lock:locked(ataxia_security:admin(), ataxia_time:now()), +   Lock = ataxia_lock:locked(ataxia_security:admin(), ataxia_time:in(60)),     {ok, Bounty, BountyID} =        ataxia_client:update_and_fetch_any diff --git a/src/shared/struct/shr_battle_summary.erl b/src/shared/struct/shr_battle_summary.erl index fa1a458..f9fd412 100644 --- a/src/shared/struct/shr_battle_summary.erl +++ b/src/shared/struct/shr_battle_summary.erl @@ -99,7 +99,7 @@ new (ID, Name, Mode, Category) ->        category = Category,        deadline = ataxia_time:never(),        is_players_turn = false, -      is_pending = false +      is_pending = true     }.  -spec none () -> type(). | 


