summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornsensfel <SpamShield0@noot-noot.org>2018-02-23 21:22:37 +0100
committernsensfel <SpamShield0@noot-noot.org>2018-02-23 21:22:37 +0100
commit959b994bced0863d4b8a984f38f5ac61aa3620e0 (patch)
treea9dbce8e22dd818f60e7cb70557dddad70c85ca9 /src/query/character_turn/handle_character_attacking_2.erl
parentf512cb83df8dea9fb39bd98540b0616fe7607f6d (diff)
Still working on character_turn queries...
Diffstat (limited to 'src/query/character_turn/handle_character_attacking_2.erl')
-rw-r--r--src/query/character_turn/handle_character_attacking_2.erl59
1 files changed, 0 insertions, 59 deletions
diff --git a/src/query/character_turn/handle_character_attacking_2.erl b/src/query/character_turn/handle_character_attacking_2.erl
deleted file mode 100644
index 3fd2687..0000000
--- a/src/query/character_turn/handle_character_attacking_2.erl
+++ /dev/null
@@ -1,59 +0,0 @@
-roll_hits (AttackerStatistics, DefenderStatistics) ->
- MissChance =
- max
- (
- 0,
- (
- statistics:get_dodges(DefenderStatistics)
- -
- statistics:get_accuracy(AttackerStatistics)
- )
- ),
- case roll:percentage() of
- X when (X < MissChance) -> misses;
- X when (X < (MissChance * 2)) -> grazes;
- _ -> hits
- end.
-
-roll_damage (AttackerStatistics, _DefenderStatistics) ->
- {MinimumDamage, MaximumDamage} = statistics:get_damages(AttackerStatistics),
- MaximumRoll = max(1, MaximumDamage - MinimumDamage),
- MinimumDamage + (rand:uniform(MaximumRoll) - 1).
-
-handle_character_attacking (QueryState, Input) ->
- BattlemapInstance = QueryState#query_state.battlemap_instance,
- ControlledCharacterInstance = QueryState#query_state.character_instance,
- ControlledCharacter =
- character_instance:get_character(ControlledCharacterInstance),
- ControlledCharacterStatistics =
- character:get_statistics(ControlledCharacter),
- TargettedCharacterInstance =
- array:get
- (
- Input#input.target_id,
- battlemap_instance:get_characters(BattlemapInstance)
- ),
- TargettedCharacter =
- character_instance:get_character(TargettedCharacterInstance),
- TargettedCharacterStatistics = character:get_statistics(TargettedCharacter),
- RequiredRange =
- movement:steps_between
- (
- character_instance:get_location(ControlledCharacterInstance),
- character_instance:get_location(TargettedCharacterInstance)
- ),
- {AttackingWeaponID, _} = character:get_weapon_ids(ControlledCharacter),
- AttackingWeapon = weapon:from_id(AttackingWeaponID),
- {_, AttackingWeaponRange} = weapon:get_ranges(AttackingWeapon),
- {DefendingWeaponID, _} = character:get_weapon_ids(TargettedCharacter),
- DefendingWeapon = weapon:from_id(DefendingWeaponID),
- {DefendingWeaponRange, _} = weapon:get_ranges(DefendingWeapon),
-
- true = (RequiredRange =< AttackingWeaponRange),
-
- {Rolls, HealthMod} =
- handle_attack
- (
- ControlledCharacterStatistics,
- TargettedCharacterStatistics
- ).