summaryrefslogtreecommitdiff |
diff options
author | Nathanael Sensfelder <SpamShield0@MultiAgentSystems.org> | 2018-08-28 23:29:55 +0200 |
---|---|---|
committer | Nathanael Sensfelder <SpamShield0@MultiAgentSystems.org> | 2018-08-28 23:29:55 +0200 |
commit | 9b424b11dbea33a41b2129daf232557515de9db1 (patch) | |
tree | 97cbe449c02e4273c79448859ceac722a06524b1 /src/battle/reply | |
parent | 68d3f1d7fd3703a8aef68bd6e9f89a84eab5e539 (diff) |
Still propagating the changes...
It'll require the attributes and statistics being recalculated every
time a character is used, which isn't great. Can't exactly avoid it
though: moving and changing weapon are both likely to alter them, and
people rarely attack without doing one or the other.
Diffstat (limited to 'src/battle/reply')
-rw-r--r-- | src/battle/reply/btl_add_armor.erl | 8 | ||||
-rw-r--r-- | src/battle/reply/btl_add_char.erl | 25 | ||||
-rw-r--r-- | src/battle/reply/btl_add_tile.erl | 3 | ||||
-rw-r--r-- | src/battle/reply/btl_add_weapon.erl | 30 |
4 files changed, 11 insertions, 55 deletions
diff --git a/src/battle/reply/btl_add_armor.erl b/src/battle/reply/btl_add_armor.erl index 01c99ad..d78edc5 100644 --- a/src/battle/reply/btl_add_armor.erl +++ b/src/battle/reply/btl_add_armor.erl @@ -12,11 +12,6 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% LOCAL FUNCTIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% --spec encode_category (shr_armor:category()) -> binary(). -encode_category (kinetic) -> <<"k">>; -encode_category (leather) -> <<"l">>; -encode_category (chain) -> <<"c">>; -encode_category (plate) -> <<"p">>. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% EXPORTED FUNCTIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -28,7 +23,6 @@ generate (Armor) -> {<<"msg">>, <<"add_armor">>}, {<<"id">>, shr_armor:get_id(Armor)}, {<<"nam">>, shr_armor:get_name(Armor)}, - {<<"ct">>, encode_category(shr_armor:get_category(Armor))}, - {<<"cf">>, shr_armor:get_coefficient(Armor)} + {<<"omni">>, shr_omnimods:encode(shr_armor:get_omnimods(Armor))} ] }. diff --git a/src/battle/reply/btl_add_char.erl b/src/battle/reply/btl_add_char.erl index f0b70e9..a6fb60c 100644 --- a/src/battle/reply/btl_add_char.erl +++ b/src/battle/reply/btl_add_char.erl @@ -20,23 +20,6 @@ rank_to_string (Rank) -> commander -> <<"c">> end. --spec attributes_as_json - ( - shr_attributes:type() - ) -> - {list({binary(), non_neg_integer()})}. -attributes_as_json (Attributes) -> - { - [ - {<<"con">>, shr_attributes:get_constitution(Attributes)}, - {<<"dex">>, shr_attributes:get_dexterity(Attributes)}, - {<<"int">>, shr_attributes:get_intelligence(Attributes)}, - {<<"min">>, shr_attributes:get_mind(Attributes)}, - {<<"spe">>, shr_attributes:get_speed(Attributes)}, - {<<"str">>, shr_attributes:get_strength(Attributes)} - ] - }. - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% EXPORTED FUNCTIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -48,7 +31,6 @@ attributes_as_json (Attributes) -> ) -> {list(any())}. generate (IX, Character, PlayerIX) -> - Attributes = btl_character:get_attributes(Character), {ActiveWeapon, SecondaryWeapon} = btl_character:get_weapon_ids(Character), CharacterPlayerIX = btl_character:get_player_index(Character), Location = btl_character:get_location(Character), @@ -75,9 +57,12 @@ generate (IX, Character, PlayerIX) -> ) }, {<<"dea">>, btl_character:get_is_defeated(Character)}, - {<<"att">>, attributes_as_json(Attributes)}, {<<"awp">>, ActiveWeapon}, {<<"swp">>, SecondaryWeapon}, - {<<"ar">>, btl_character:get_armor_id(Character)} + {<<"ar">>, btl_character:get_armor_id(Character)}, + { + <<"pomni">>, + shr_omnimods:encode(btl_character:get_permanent_omnimods(Character)) + } ] }. diff --git a/src/battle/reply/btl_add_tile.erl b/src/battle/reply/btl_add_tile.erl index c9cd18e..bf76547 100644 --- a/src/battle/reply/btl_add_tile.erl +++ b/src/battle/reply/btl_add_tile.erl @@ -23,6 +23,7 @@ generate (Tile) -> {<<"msg">>, <<"add_tile">>}, {<<"id">>, shr_tile:get_class_id(Tile)}, {<<"nam">>, shr_tile:get_name(Tile)}, - {<<"ct">>, shr_tile:get_cost(Tile)} + {<<"ct">>, shr_tile:get_cost(Tile)}, + {<<"omni">>, shr_omnimods:encode(shr_tile:get_omnimods(Tile))} ] }. diff --git a/src/battle/reply/btl_add_weapon.erl b/src/battle/reply/btl_add_weapon.erl index 5484a76..e5f7522 100644 --- a/src/battle/reply/btl_add_weapon.erl +++ b/src/battle/reply/btl_add_weapon.erl @@ -12,22 +12,6 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% LOCAL FUNCTIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% --spec encode_range_type (shr_weapon:range_type()) -> binary(). -encode_range_type (melee) -> <<"m">>; -encode_range_type (ranged) -> <<"r">>. - --spec encode_range_modifier (shr_weapon:range_modifier()) -> binary(). -encode_range_modifier (long) -> <<"l">>; -encode_range_modifier (short) -> <<"s">>. - --spec encode_damage_type (shr_weapon:damage_type()) -> binary(). -encode_damage_type (slash) -> <<"s">>; -encode_damage_type (pierce) -> <<"p">>; -encode_damage_type (blunt) -> <<"b">>. - --spec encode_damage_modifier (shr_weapon:damage_modifier()) -> binary(). -encode_damage_modifier (heavy) -> <<"h">>; -encode_damage_modifier (light) -> <<"l">>. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% EXPORTED FUNCTIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -39,16 +23,8 @@ generate (Weapon) -> {<<"msg">>, <<"add_weapon">>}, {<<"id">>, shr_weapon:get_id(Weapon)}, {<<"nam">>, shr_weapon:get_name(Weapon)}, - {<<"rt">>, encode_range_type(shr_weapon:get_range_type(Weapon))}, - { - <<"rm">>, - encode_range_modifier(shr_weapon:get_range_modifier(Weapon)) - }, - {<<"dt">>, encode_damage_type(shr_weapon:get_damage_type(Weapon))}, - { - <<"dm">>, - encode_damage_modifier(shr_weapon:get_damage_modifier(Weapon)) - }, - {<<"cf">>, shr_weapon:get_coefficient(Weapon)} + {<<"rmi">>, shr_weapon:get_range_minimum(Weapon)}, + {<<"rma">>, shr_weapon:get_range_maximum(Weapon)}, + {<<"omni">>, shr_omnimods:encode(shr_armor:get_omnimods(Weapon))} ] }. |