summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornsensfel <SpamShield0@noot-noot.org>2018-02-22 17:32:07 +0100
committernsensfel <SpamShield0@noot-noot.org>2018-02-22 17:32:07 +0100
commit43e38e5fc54fd58e8230b2b5198b6d8cb625803c (patch)
treee435c19821de1d4de279dff7a6bf98bbac5aa7fd /src/query/character_turn.erl
parent60232453b2117ee4737b3b5b5b014b9088c92960 (diff)
Adding weapons server side...
Diffstat (limited to 'src/query/character_turn.erl')
-rw-r--r--src/query/character_turn.erl25
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