summaryrefslogtreecommitdiff
path: root/src/query
diff options
context:
space:
mode:
authornsensfel <SpamShield0@noot-noot.org>2018-02-23 22:47:43 +0100
committernsensfel <SpamShield0@noot-noot.org>2018-02-23 22:47:43 +0100
commit96c35eb8c79826fa07d2b00bbac039d9ec95eb3c (patch)
tree94d7fef850637be6fd800f139a59d578763ba671 /src/query
parent959b994bced0863d4b8a984f38f5ac61aa3620e0 (diff)
...
Diffstat (limited to 'src/query')
-rw-r--r--src/query/character_turn.erl37
-rw-r--r--src/query/character_turn/handle_character_instance_attacking_2.erl7
2 files changed, 31 insertions, 13 deletions
diff --git a/src/query/character_turn.erl b/src/query/character_turn.erl
index 19b6cff..39154eb 100644
--- a/src/query/character_turn.erl
+++ b/src/query/character_turn.erl
@@ -142,20 +142,37 @@ handle_character_instance_switching_weapons (QueryState) ->
ControlledCharacterInstance = QueryState#query_state.character_instance,
ControlledCharacter =
character_instance:get_character(ControlledCharacterInstance),
+ ControlledCharacterAttributes =
+ character:get_attributes(ControlledCharacter),
{PrimaryWeapon, SecondaryWeapon} =
character:get_weapons(ControlledCharacter),
- QueryState#query_state
- {
- character_instance =
- character_instance:set_character
+
+ UpdatedWeapons = {SecondaryWeapon, PrimaryWeapon},
+ UpdatedControlledCharacterStatistics =
+ statistics:new
+ (
+ ControlledCharacterAttributes,
+ UpdatedWeapons
+ ),
+ UpdatedControlledCharacter =
+ character:set_statistics
+ (
+ UpdatedControlledCharacterStatistics,
+ character:set_weapons
(
- character:set_weapons
- (
- {SecondaryWeapon, PrimaryWeapon},
- ControlledCharacter
- ),
- ControlledCharacterInstance
+ ControlledCharacter
)
+ ),
+ UpdatedControlledCharacterInstance =
+ character_instance:set_character
+ (
+ UpdatedControlledCharacter,
+ ControlledCharacterInstance
+ ),
+
+ QueryState#query_state
+ {
+ character_instance = UpdatedControlledCharacterInstance
}.
-include("character_turn/handle_character_instance_attacking_2.erl").
diff --git a/src/query/character_turn/handle_character_instance_attacking_2.erl b/src/query/character_turn/handle_character_instance_attacking_2.erl
index be2ac99..ecb2a95 100644
--- a/src/query/character_turn/handle_character_instance_attacking_2.erl
+++ b/src/query/character_turn/handle_character_instance_attacking_2.erl
@@ -58,6 +58,7 @@ handle_parry (AttackerStatistics, DefenderStatistics) ->
[]
end.
+%% FIXME: parry not working as intended
handle_attacks ([], _AttackerStatistics, _DefenderStatistics, Results) ->
Results;
handle_attacks
@@ -323,11 +324,11 @@ handle_character_instance_attacking (QueryState, Input) ->
Actions =
case {CanDefend, CanParry} of
{true, true} ->
- [second, counter, parry, first];
+ [{second, parry}, counter, {first, parry}];
{true, false} ->
- [second, counter, first];
+ [{second, no_parry}, counter, {fist, no_parry}];
{false, _} ->
- [second, first]
+ [{second, no_parry}, {first, no_parry}]
end,
Effects =
handle_attacks