summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornsensfel <SpamShield0@noot-noot.org>2018-06-07 16:44:26 +0200
committernsensfel <SpamShield0@noot-noot.org>2018-06-07 16:44:26 +0200
commit2155e43a7acdbc91ef561ae1cfd06eae297020e7 (patch)
treeaa404375e1c307484d2ddf709bab1597d26466f4 /src/battlemap/reply
parent54250bfbaf0eeeceaec86cde2df39797f83397fd (diff)
add_{armor,weapon}, coefs, db stores stats.
Diffstat (limited to 'src/battlemap/reply')
-rw-r--r--src/battlemap/reply/bm_add_armor.erl34
-rw-r--r--src/battlemap/reply/bm_add_weapon.erl54
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)}
+ ]
+ }.