| summaryrefslogtreecommitdiff | 
diff options
| author | nsensfel <SpamShield0@noot-noot.org> | 2018-02-22 17:32:07 +0100 | 
|---|---|---|
| committer | nsensfel <SpamShield0@noot-noot.org> | 2018-02-22 17:32:07 +0100 | 
| commit | 43e38e5fc54fd58e8230b2b5198b6d8cb625803c (patch) | |
| tree | e435c19821de1d4de279dff7a6bf98bbac5aa7fd /src/query/character_turn.erl | |
| parent | 60232453b2117ee4737b3b5b5b014b9088c92960 (diff) | |
Adding weapons server side...
Diffstat (limited to 'src/query/character_turn.erl')
| -rw-r--r-- | src/query/character_turn.erl | 25 | 
1 files changed, 13 insertions, 12 deletions
| diff --git a/src/query/character_turn.erl b/src/query/character_turn.erl index 5a8ee96..da5e5e1 100644 --- a/src/query/character_turn.erl +++ b/src/query/character_turn.erl @@ -180,40 +180,41 @@ handle_target (QueryState) ->        character_instance:get_location(QueryState#query_state.target_char_inst),     Dist =        battlemap:dist(QueryState#query_state.main_char_new_loc, TargetLoc), -   {_, AttackRange} = -      weapon:get_ranges +   AtkWeapon = +      weapon:from_id        ( -         weapon:from_id +         character_instance:get_active_weapon           ( -            character_instance:get_active_weapon -            ( -               QueryState#query_state.main_char_inst, -               QueryState#query_state.main_char -            ) +            QueryState#query_state.main_char_inst, +            QueryState#query_state.main_char           )        ), +   {_, AtkRange} = weapon:get_ranges(AtkWeapon),     io:format     ( -      "~nAttack from ~p to ~p (dist: ~p, range: ~p).~n", +      "~nAttack from ~p to ~p (wp: ~p, dist: ~p, range: ~p).~n",        [           QueryState#query_state.main_char_new_loc,           TargetLoc, +         weapon:get_id(AtkWeapon),           Dist, -         AttackRange +         AtkRange        ]     ), -   true = (Dist =< AttackRange), +   true = (Dist =< AtkRange),     TargetStatistics =        character_instance:get_statistics        (           QueryState#query_state.target_char_inst        ), +   {MinDamage, MaxDamage} = weapon:get_damages(AtkWeapon), +   Diff = max(1, MaxDamage - MinDamage),     NewTargetCharInst =        character_instance:mod_health        (           QueryState#query_state.target_char_inst,           statistics:get_health(TargetStatistics), -         -1 +         (MinDamage + rand:uniform(Diff) - 1)        ),     %% TODO: test for (and handle) riposte.     QueryState#query_state | 


