summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'weapon/global.m4.conf')
-rw-r--r--weapon/global.m4.conf30
1 files changed, 30 insertions, 0 deletions
diff --git a/weapon/global.m4.conf b/weapon/global.m4.conf
new file mode 100644
index 0000000..4e6fbd9
--- /dev/null
+++ b/weapon/global.m4.conf
@@ -0,0 +1,30 @@
+m4_define(`__WEAPON_CHOOSE_STYLE', `m4_define(`__WEAPON',m4_defn(`$1'))m4_undefine(`$1')')m4_dnl
+m4_define(`__WEAPON_ERLANG_STYLE',`from_id (`$1') ->
+ #weapon
+ {
+ id = $1,
+ name = <<"$2">>,
+ range_type = $3,
+ range_mod = $4,
+ damage_type = $5,
+ damage_mod = $6,
+ coef = $7
+ };
+')m4_dnl
+m4_define(`__WEAPON_RANGE_TYPE_TO_CHAR',m4_ifelse($1,melee,m,$1,ranged,r))m4_dnl
+m4_define(`__WEAPON_RANGE_MOD_TO_CHAR',m4_ifelse($1,long,l,$1,short,s))m4_dnl
+m4_define(`__WEAPON_DAMAGE_TYPE_TO_CHAR',m4_ifelse($1,slash,s,$1,pierce,p,$1,blunt,b))m4_dnl
+m4_define(`__WEAPON_DAMAGE_MOD_TO_CHAR',m4_ifelse($1,heavy,h,$1,light,l))m4_dnl
+m4_define(`__WEAPON_JSON_STYLE',` {
+ "msg": "add_weapon",
+ "id": $1,
+ "nam": "$2",
+ "rt": "__WEAPON_RANGE_TYPE_TO_CHAR($3)",
+ "rm": "__WEAPON_RANGE_MOD_TO_CHAR($4)",
+ "dt": "__WEAPON_DAMAGE_TYPE_TO_CHAR($5)",
+ "dm": "__WEAPON_DAMAGE_MOD_TO_CHAR($6)",
+ "cf": $7
+ },
+')m4_dnl
+m4_define(`__WEAPON_USE_ERLANG_STYLE',`__WEAPON_CHOOSE_STYLE(`__WEAPON_ERLANG_STYLE')')m4_dnl
+m4_define(`__WEAPON_USE_JSON_STYLE',`__WEAPON_CHOOSE_STYLE(`__WEAPON_JSON_STYLE')')m4_dnl