| summaryrefslogtreecommitdiff |
diff options
| author | nsensfel <SpamShield0@noot-noot.org> | 2018-08-27 17:07:45 +0200 |
|---|---|---|
| committer | nsensfel <SpamShield0@noot-noot.org> | 2018-08-27 17:07:45 +0200 |
| commit | e30f2f4b5911bece4da090af4dc749cfce37e100 (patch) | |
| tree | c73e7ae99141b43ae9a18716a592bdd9861c76c7 | |
| parent | ba6c56951f5843eddc11a7ee43993d1a4b357391 (diff) | |
Any item can impact pretty much any value.
This branch should allow any item (armor, glyph, weapon, tile) to affect the
following:
- Attributes.
- Statistics.
- Attack values.
- Defense.
| -rw-r--r-- | armor/basic.m4d | 35 | ||||
| -rw-r--r-- | armor/global.m4.conf | 18 | ||||
| -rw-r--r-- | modifiers.m4.conf | 33 | ||||
| -rw-r--r-- | names.m4.conf | 18 |
4 files changed, 92 insertions, 12 deletions
diff --git a/armor/basic.m4d b/armor/basic.m4d index 2d4e3a8..f99c0b1 100644 --- a/armor/basic.m4d +++ b/armor/basic.m4d @@ -1,5 +1,30 @@ -__ARMOR(0,None,leather,0.0)m4_dnl -__ARMOR(1,Last Meal's Pelts,leather,0.5)m4_dnl -__ARMOR(2,Bits of Wall,plate,0.5)m4_dnl -__ARMOR(3,Garden Fence,chain,0.5)m4_dnl -__ARMOR(4,Morrigan's Pity,kinetic,0.5)m4_dnl +__ARMOR(0, + None, + __MOD_LIST(), + __MOD_LIST(), + __MOD_LIST(), + __MOD_LIST())m4_dnl +__ARMOR(1, + Meal Pelts, + __MOD_LIST(__MOD_CONSTITUTION(-5)__MOD_DEXTERITY(-5)), + __MOD_LIST(), + __MOD_LIST(), + __MOD_LIST(__MOD_SLASH(10)__MOD_BLUNT(10)__MOD_PIERCE(10)))m4_dnl +__ARMOR(2, + Wall Bits, + __MOD_LIST(__MOD_CONSTITUTION(-5)__MOD_DEXTERITY(-5)__MOD_SPEED(-10)__MOD_STRENGTH(-10)), + __MOD_LIST(), + __MOD_LIST(), + __MOD_LIST(__MOD_SLASH(15)__MOD_BLUNT(10)__MOD_PIERCE(15)))m4_dnl +__ARMOR(3, + Garden Fence, + __MOD_LIST(__MOD_CONSTITUTION(-5)__MOD_DEXTERITY(-5)__MOD_SPEED(-10)), + __MOD_LIST(), + __MOD_LIST(), + __MOD_LIST(__MOD_SLASH(15)__MOD_BLUNT(10)__MOD_PIERCE(10)))m4_dnl +__ARMOR(4, + Morrigan's Pity, + __MOD_LIST(__MOD_MIND(-10)), + __MOD_LIST(), + __MOD_LIST(), + __MOD_LIST(__MOD_BLUNT(15)__MOD_PIERCE(10)))m4_dnl diff --git a/armor/global.m4.conf b/armor/global.m4.conf index 871fcb3..4813060 100644 --- a/armor/global.m4.conf +++ b/armor/global.m4.conf @@ -1,21 +1,25 @@ +m4_include(__MAKEFILE_DATA_DIR`/modifiers.m4.conf')m4_dnl m4_define(`__ARMOR_CHOOSE_STYLE', `m4_define(`__ARMOR',m4_defn(`$1'))m4_undefine(`$1')')m4_dnl m4_define(`__ARMOR_ERLANG_STYLE',`from_id (`$1') -> #armor { id = $1, name = <<"$2">>, - category = $3, - coef = $4 + attr_mod = $3, + stat_mod = $4, + atk_mod = $5, + def_mod = $6 }; ')m4_dnl -m4_define(`__ARMOR_CATEGORY_TO_CHAR',`m4_ifelse($1,kinetic,j,$1,leather,l,$1,chain,c,$1,plate,p)')m4_dnl m4_define(`__ARMOR_JSON_STYLE',` { "msg": "add_armor", "id": $1, "nam": "$2", - "ct": "__ARMOR_CATEGORY_TO_CHAR($3)", - "cf": $4 + "attm": $3, + "stam": $4, + "atkm": $5, + "defm": $6 }, ')m4_dnl -m4_define(`__ARMOR_USE_ERLANG_STYLE',`__ARMOR_CHOOSE_STYLE(`__ARMOR_ERLANG_STYLE')')m4_dnl -m4_define(`__ARMOR_USE_JSON_STYLE',`__ARMOR_CHOOSE_STYLE(`__ARMOR_JSON_STYLE')')m4_dnl +m4_define(`__ARMOR_USE_ERLANG_STYLE',`__ARMOR_CHOOSE_STYLE(`__ARMOR_ERLANG_STYLE')__MOD_USE_ERLANG_STYLE()')m4_dnl +m4_define(`__ARMOR_USE_JSON_STYLE',`__ARMOR_CHOOSE_STYLE(`__ARMOR_JSON_STYLE')__MOD_USE_JSON_STYLE()')m4_dnl diff --git a/modifiers.m4.conf b/modifiers.m4.conf new file mode 100644 index 0000000..13b8e86 --- /dev/null +++ b/modifiers.m4.conf @@ -0,0 +1,33 @@ +m4_include(__MAKEFILE_DATA_DIR`/names.m4.conf')m4_dnl +m4_define(`__MOD_LIST_CHOOSE_STYLE', `m4_define(`__MOD_LIST',m4_defn(`$1'))m4_undefine(`$1')')m4_dnl +m4_define(`__MOD_CHOOSE_STYLE', `m4_define(`__MOD',m4_defn(`$1'))m4_undefine(`$1')')m4_dnl +m4_dnl +m4_define(`__MOD_LIST_ERLANG_STYLE',``[''$1`` {none, 0} ]'')m4_dnl +m4_define(`__MOD_ERLANG_STYLE',``{''$1``, ''$2``}, '')m4_dnl +m4_dnl +m4_define(`__MOD_LIST_JSON_STYLE',``[''$1`` {"t": "none", "v": 0} ]'')m4_dnl +m4_define(`__MOD_JSON_STYLE',``{"t": "''$1``", "v":'' $2``}, '')m4_dnl +m4_dnl +m4_define(`__MOD_CONSTITUTION', ``__MOD(__SN_CONSTITUTION(), $1)'')m4_dnl +m4_define(`__MOD_DEXTERITY', ``__MOD(__SN_DEXTERITY(), $1)'')m4_dnl +m4_define(`__MOD_INTELLIGENCE', ``__MOD(__SN_INTELLIGENCE(), $1)'')m4_dnl +m4_define(`__MOD_MIND', ``__MOD(__SN_MIND(), $1)'')m4_dnl +m4_define(`__MOD_SPEED', ``__MOD(__SN_SPEED(), $1)'')m4_dnl +m4_define(`__MOD_STRENGTH', ``__MOD(__SN_STRENGTH(), $1)'')m4_dnl +m4_dnl +m4_define(`__MOD_SLASH', ``__MOD(__SN_SLASH(), $1)'')m4_dnl +m4_define(`__MOD_PIERCE', ``__MOD(__SN_PIERCE(), $1)'')m4_dnl +m4_define(`__MOD_BLUNT', ``__MOD(__SN_BLUNT(), $1)'')m4_dnl +m4_dnl +m4_define(`__MOD_MAX_HEALTH', ``__MOD(__SN_MAX_HEALTH(), $1)'')m4_dnl +m4_define(`__MOD_MOVEMENT_POINTS', ``__MOD(__SN_MOVEMENT_POINTS(), $1)'')m4_dnl +m4_define(`__MOD_DODGE', ``__MOD(__SN_DODGE(), $1)'')m4_dnl +m4_define(`__MOD_PARRY', ``__MOD(__SN_PARRY(), $1)'')m4_dnl +m4_define(`__MOD_ACCURACY', ``__MOD(__SN_ACCURACY(), $1)'')m4_dnl +m4_define(`__MOD_DOUBLE_HITS', ``__MOD(__SN_DOUBLE_HITS(), $1)'')m4_dnl +m4_define(`__MOD_CRITICAL', ``__MOD(__SN_CRITICAL_HIT(), $1)'')m4_dnl +m4_dnl +m4_define(`__MOD_USE_ERLANG_STYLE', + `__MOD_LIST_CHOOSE_STYLE(`__MOD_LIST_ERLANG_STYLE')__MOD_CHOOSE_STYLE(`__MOD_ERLANG_STYLE')')m4_dnl +m4_define(`__MOD_USE_JSON_STYLE', + `__MOD_LIST_CHOOSE_STYLE(`__MOD_LIST_JSON_STYLE')__MOD_CHOOSE_STYLE(`__MOD_JSON_STYLE')')m4_dnl diff --git a/names.m4.conf b/names.m4.conf new file mode 100644 index 0000000..33ab02b --- /dev/null +++ b/names.m4.conf @@ -0,0 +1,18 @@ +m4_define(`__SN_CONSTITUTION', con)m4_dnl +m4_define(`__SN_DEXTERITY', dex)m4_dnl +m4_define(`__SN_INTELLIGENCE', int)m4_dnl +m4_define(`__SN_MIND', min)m4_dnl +m4_define(`__SN_SPEED', spe)m4_dnl +m4_define(`__SN_STRENGTH', str)m4_dnl +m4_dnl +m4_define(`__SN_SLASH', slh)m4_dnl +m4_define(`__SN_PIERCE', pie)m4_dnl +m4_define(`__SN_BLUNT', blu)m4_dnl +m4_dnl +m4_define(`__SN_MAX_HEALTH', mheal)m4_dnl +m4_define(`__SN_MOVEMENT_POINTS', mpts)m4_dnl +m4_define(`__SN_DODGE', dodg)m4_dnl +m4_define(`__SN_PARRY', pary)m4_dnl +m4_define(`__SN_ACCURACY', accu)m4_dnl +m4_define(`__SN_DOUBLE_HITS', dhit)m4_dnl +m4_define(`__SN_CRICITAL_HIT', crit)m4_dnl |


