summaryrefslogtreecommitdiff |
diff options
Diffstat (limited to 'src/battlemap/reply')
-rw-r--r-- | src/battlemap/reply/bm_add_armor.erl | 34 | ||||
-rw-r--r-- | src/battlemap/reply/bm_add_weapon.erl | 54 |
2 files changed, 88 insertions, 0 deletions
diff --git a/src/battlemap/reply/bm_add_armor.erl b/src/battlemap/reply/bm_add_armor.erl new file mode 100644 index 0000000..4f098bd --- /dev/null +++ b/src/battlemap/reply/bm_add_armor.erl @@ -0,0 +1,34 @@ +-module(bm_add_armor). + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% TYPES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% EXPORTS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +-export([generate/1]). + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% LOCAL FUNCTIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +-spec encode_category (sh_armor:category()) -> binary(). +encode_category (kinetic) -> <<"k">>; +encode_category (leather) -> <<"l">>; +encode_category (chain) -> <<"c">>; +encode_category (plate) -> <<"p">>. + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% EXPORTED FUNCTIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +-spec generate (sh_armor:type()) -> {list(any())}. +generate (Armor) -> + { + [ + {<<"msg">>, <<"add_armor">>}, + {<<"id">>, sh_armor:get_id(Armor)}, + {<<"nam">>, sh_armor:get_name(Armor)}, + {<<"ct">>, encode_category(sh_armor:get_category(Armor))}, + {<<"cf">>, sh_armor:get_coefficient(Armor)} + ] + }. diff --git a/src/battlemap/reply/bm_add_weapon.erl b/src/battlemap/reply/bm_add_weapon.erl new file mode 100644 index 0000000..3473265 --- /dev/null +++ b/src/battlemap/reply/bm_add_weapon.erl @@ -0,0 +1,54 @@ +-module(bm_add_weapon). + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% TYPES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% EXPORTS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +-export([generate/1]). + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% LOCAL FUNCTIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +-spec encode_range_type (sh_weapon:range_type()) -> binary(). +encode_range_type (melee) -> <<"m">>; +encode_range_type (ranged) -> <<"r">>. + +-spec encode_range_modifier (sh_weapon:range_modifier()) -> binary(). +encode_range_modifier (long) -> <<"l">>; +encode_range_modifier (short) -> <<"s">>. + +-spec encode_damage_type (sh_weapon:damage_type()) -> binary(). +encode_damage_type (slash) -> <<"s">>; +encode_damage_type (pierce) -> <<"p">>; +encode_damage_type (blunt) -> <<"b">>. + +-spec encode_damage_modifier (sh_weapon:damage_modifier()) -> binary(). +encode_damage_modifier (heavy) -> <<"h">>; +encode_damage_modifier (light) -> <<"l">>. + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% EXPORTED FUNCTIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +-spec generate (sh_weapon:type()) -> {list(any())}. +generate (Weapon) -> + { + [ + {<<"msg">>, <<"add_weapon">>}, + {<<"id">>, sh_weapon:get_id(Weapon)}, + {<<"nam">>, sh_weapon:get_name(Weapon)}, + {<<"rt">>, encode_range_type(sh_weapon:get_range_type(Weapon))}, + { + <<"rm">>, + encode_range_modifier(sh_weapon:get_range_modifier(Weapon)) + }, + {<<"dt">>, encode_damage_type(sh_weapon:get_damage_type(Weapon))}, + { + <<"dm">>, + encode_damage_modifier(sh_weapon:get_damage_modifier(Weapon)) + }, + {<<"cf">>, sh_weapon:get_coefficient(Weapon)} + ] + }. |