Follow up to e276970

* Fixed an issue with ATK/MATK params. Thanks to Lord Ganja.
This commit is contained in:
aleos89 2015-11-16 11:14:42 -05:00
parent fca42f68b5
commit c389a6c456
4 changed files with 329 additions and 91 deletions

View File

@ -7156,68 +7156,257 @@ Note: When adjusting a unit's stat (STR, AGI, etc) the unit's respective statuse
affect a unit's status and will have to directly be modified.
Parameters (indexes) for monsters are:
UMOB_SIZE UMOB_Y UMOB_HAIRSTYLE UMOB_WEAPON UMOB_LUK UMOB_MDEF UMOB_ELELEVEL
UMOB_LEVEL UMOB_SPEED UMOB_HAIRCOLOR UMOB_LOOKDIR UMOB_SLAVECPYMSTRMD UMOB_HIT UMOB_AMOTION
UMOB_HP UMOB_MODE UMOB_HEADBOTTOM UMOB_STR UMOB_DMGIMMUNE UMOB_FLEE UMOB_ADELAY
UMOB_MAXHP UMOB_AI UMOB_HEADMIDDLE UMOB_AGI UMOB_ATKRANGE UMOB_PDODGE UMOB_DMOTION
UMOB_MASTERAID UMOB_SCOPTION UMOB_HEADTOP UMOB_VIT UMOB_ATK UMOB_CRIT
UMOB_MAPID UMOB_SEX UMOB_CLOTHCOLOR UMOB_INT UMOB_MATK UMOB_RACE
UMOB_X UMOB_CLASS UMOB_SHIELD UMOB_DEX UMOB_DEF UMOB_ELETYPE
UMOB_SIZE
UMOB_LEVEL
UMOB_HP
UMOB_MAXHP
UMOB_MASTERAID
UMOB_MAPID
UMOB_X
UMOB_Y
UMOB_SPEED
UMOB_MODE
UMOB_AI
UMOB_SCOPTION
UMOB_SEX
UMOB_CLASS
UMOB_HAIRSTYLE
UMOB_HAIRCOLOR
UMOB_HEADBOTTOM
UMOB_HEADMIDDLE
UMOB_HEADTOP
UMOB_CLOTHCOLOR
UMOB_SHIELD
UMOB_WEAPON
UMOB_LOOKDIR
UMOB_STR
UMOB_AGI
UMOB_VIT
UMOB_INT
UMOB_DEX
UMOB_LUK
UMOB_SLAVECPYMSTRMD
UMOB_DMGIMMUNE
UMOB_ATKRANGE
UMOB_ATKMIN
UMOB_ATKMAX
UMOB_MATKMIN
UMOB_MATKMAX
UMOB_DEF
UMOB_MDEF
UMOB_HIT
UMOB_FLEE
UMOB_PDODGE
UMOB_CRIT
UMOB_RACE
UMOB_ELETYPE
UMOB_ELELEVEL
UMOB_AMOTION
UMOB_ADELAY
UMOB_DMOTION
-----
Parameter (indexes) for homunculi are:
UHOM_SIZE UHOM_MAPID UHOM_CANMOVETICK UHOM_DMGIMMUNE UHOM_FLEE UHOM_ADELAY
UHOM_LEVEL UHOM_X UHOM_STR UHOM_ATKRANGE UHOM_PDODGE UHOM_DMOTION
UHOM_HP UHOM_Y UHOM_AGI UHOM_ATK UHOM_CRIT
UHOM_MAXHP UHOM_HUNGER UHOM_VIT UHOM_MATK UHOM_RACE
UHOM_SP UHOM_INTIMACY UHOM_INT UHOM_DEF UHOM_ELETYPE
UHOM_MAXSP UHOM_SPEED UHOM_DEX UHOM_MDEF UHOM_ELELEVEL
UHOM_MASTERCID UHOM_LOOKDIR UHOM_LUK UHOM_HIT UHOM_AMOTION
UHOM_SIZE
UHOM_LEVEL
UHOM_HP
UHOM_MAXHP
UHOM_SP
UHOM_MAXSP
UHOM_MASTERCID
UHOM_MAPID
UHOM_X
UHOM_Y
UHOM_HUNGER
UHOM_INTIMACY
UHOM_SPEED
UHOM_LOOKDIR
UHOM_CANMOVETICK
UHOM_STR
UHOM_AGI
UHOM_VIT
UHOM_INT
UHOM_DEX
UHOM_LUK
UHOM_DMGIMMUNE
UHOM_ATKRANGE
UHOM_ATKMIN
UHOM_ATKMAX
UHOM_MATKMIN
UHOM_MATKMAX
UHOM_DEF
UHOM_MDEF
UHOM_HIT
UHOM_FLEE
UHOM_PDODGE
UHOM_CRIT
UHOM_RACE
UHOM_ELETYPE
UHOM_ELELEVEL
UHOM_AMOTION
UHOM_ADELAY
UHOM_DMOTION
-----
Parameter (indexes) for pets are:
UPET_SIZE UPET_Y UPET_AGI UPET_ATK UPET_CRIT
UPET_LEVEL UPET_HUNGER UPET_VIT UPET_MATK UPET_RACE
UPET_HP UPET_INTIMACY UPET_INT UPET_DEF UPET_ELETYPE
UPET_MAXHP UPET_SPEED UPET_DEX UPET_MDEF UPET_ELELEVEL
UPET_MASTERAID UPET_LOOKDIR UPET_LUK UPET_HIT UPET_AMOTION
UPET_MAPID UPET_CANMOVETICK UPET_DMGIMMUNE UPET_FLEE UPET_ADELAY
UPET_X UPET_STR UPET_ATKRANGE UPET_PDODGE UPET_DMOTION
UPET_SIZE
UPET_LEVEL
UPET_HP
UPET_MAXHP
UPET_MASTERAID
UPET_MAPID
UPET_X
UPET_Y
UPET_HUNGER
UPET_INTIMACY
UPET_SPEED
UPET_LOOKDIR
UPET_CANMOVETICK
UPET_STR
UPET_AGI
UPET_VIT
UPET_INT
UPET_DEX
UPET_LUK
UPET_DMGIMMUNE
UPET_ATKRANGE
UPET_ATKMIN
UPET_ATKMAX
UPET_MATKMIN
UPET_MATKMAX
UPET_DEF
UPET_MDEF
UPET_HIT
UPET_FLEE
UPET_PDODGE
UPET_CRIT
UPET_RACE
UPET_ELETYPE
UPET_ELELEVEL
UPET_AMOTION
UPET_ADELAY
UPET_DMOTION
-----
Parameter (indexes) for mercenaries are:
UMER_SIZE UMER_KILLCOUNT UMER_VIT UMER_MATK UMER_RACE
UMER_HP UMER_LIFETIME UMER_INT UMER_DEF UMER_ELETYPE
UMER_MAXHP UMER_SPEED UMER_DEX UMER_MDEF UMER_ELELEVEL
UMER_MASTERCID UMER_LOOKDIR UMER_LUK UMER_HIT UMER_AMOTION
UMER_MAPID UMER_CANMOVETICK UMER_DMGIMMUNE UMER_FLEE UMER_ADELAY
UMER_X UMER_STR UMER_ATKRANGE UMER_PDODGE UMER_DMOTION
UMER_Y UMER_AGI UMER_ATK UMER_CRIT
UMER_SIZE
UMER_HP
UMER_MAXHP
UMER_MASTERCID
UMER_MAPID
UMER_X
UMER_Y
UMER_KILLCOUNT
UMER_LIFETIME
UMER_SPEED
UMER_LOOKDIR
UMER_CANMOVETICK
UMER_STR
UMER_AGI
UMER_VIT
UMER_INT
UMER_DEX
UMER_LUK
UMER_DMGIMMUNE
UMER_ATKRANGE
UMER_ATKMIN
UMER_ATKMAX
UMER_MATKMIN
UMER_MATKMAX
UMER_DEF
UMER_MDEF
UMER_HIT
UMER_FLEE
UMER_PDODGE
UMER_CRIT
UMER_RACE
UMER_ELETYPE
UMER_ELELEVEL
UMER_AMOTION
UMER_ADELAY
UMER_DMOTION
-----
Parameter (indexes) for elementals are:
UELE_SIZE UELE_X UELE_STR UELE_ATKRANGE UELE_PDODGE UELE_DMOTION
UELE_HP UELE_Y UELE_AGI UELE_ATK UELE_CRIT
UELE_MAXHP UELE_LIFETIME UELE_VIT UELE_MATK UELE_RACE
UELE_SP UELE_MODE UELE_INT UELE_DEF UELE_ELETYPE
UELE_MAXSP UELE_SPEED UELE_DEX UELE_MDEF UELE_ELELEVEL
UELE_MASTERCID UELE_LOOKDIR UELE_LUK UELE_HIT UELE_AMOTION
UELE_MAPID UELE_CANMOVETICK UELE_DMGIMMUNE UELE_FLEE ELE_ADELAY
UELE_SIZE
UELE_HP
UELE_MAXHP
UELE_SP
UELE_MAXSP
UELE_MASTERCID
UELE_MAPID
UELE_X
UELE_Y
UELE_LIFETIME
UELE_MODE
UELE_SPEED
UELE_LOOKDIR
UELE_CANMOVETICK
UELE_STR
UELE_AGI
UELE_VIT
UELE_INT
UELE_DEX
UELE_LUK
UELE_DMGIMMUNE
UELE_ATKRANGE
UELE_ATKMIN
UELE_ATKMAX
UELE_MATKMIN
UELE_MATKMAX
UELE_DEF
UELE_MDEF
UELE_HIT
UELE_FLEE
UELE_PDODGE
UELE_CRIT
UELE_RACE
UELE_ELETYPE
UELE_ELELEVEL
UELE_AMOTION
UELE_ADELAY
UELE_DMOTION
-----
Parameter (indexes) for NPCs are:
UNPC_DISPLAY UNPC_LOOKDIR UNPC_PLUSALLSTAT UNPC_HIT UNPC_AMOTION
UNPC_LEVEL UNPC_STR UNPC_DMGIMMUNE UNPC_FLEE UNPC_ADELAY
UNPC_HP UNPC_AGI UNPC_ATKRANGE UNPC_PDODGE UNPC_DMOTION
UNPC_MAXHP UNPC_VIT UNPC_ATK UNPC_CRIT
UNPC_MAPID UNPC_INT UNPC_MATK UNPC_RACE
UNPC_X UNPC_DEX UNPC_DEF UNPC_ELETYPE
UNPC_Y UNPC_LUK UNPC_MDEF UNPC_ELELEVEL
UNPC_DISPLAY
UNPC_LEVEL
UNPC_HP
UNPC_MAXHP
UNPC_MAPID
UNPC_X
UNPC_Y
UNPC_LOOKDIR
UNPC_STR
UNPC_AGI
UNPC_VIT
UNPC_INT
UNPC_DEX
UNPC_LUK
UNPC_PLUSALLSTAT
UNPC_DMGIMMUNE
UNPC_ATKRANGE
UNPC_ATKMIN
UNPC_ATKMAX
UNPC_MATKMIN
UNPC_MATKMAX
UNPC_DEF
UNPC_MDEF
UNPC_HIT
UNPC_FLEE
UNPC_PDODGE
UNPC_CRIT
UNPC_RACE
UNPC_ELETYPE
UNPC_ELELEVEL
UNPC_AMOTION
UNPC_ADELAY
UNPC_DMOTION
*Notes:
- *_SIZE: small (0); medium (1); large (2)

View File

@ -2326,8 +2326,10 @@ void script_hardcoded_constants(void) {
script_set_constant("UMOB_SLAVECPYMSTRMD",UMOB_SLAVECPYMSTRMD,false);
script_set_constant("UMOB_DMGIMMUNE",UMOB_DMGIMMUNE,false);
script_set_constant("UMOB_ATKRANGE",UMOB_ATKRANGE,false);
script_set_constant("UMOB_ATK",UMOB_ATK,false);
script_set_constant("UMOB_MATK",UMOB_MATK,false);
script_set_constant("UMOB_ATKMIN",UMOB_ATKMIN,false);
script_set_constant("UMOB_ATKMAX",UMOB_ATKMAX,false);
script_set_constant("UMOB_MATKMIN",UMOB_MATKMIN,false);
script_set_constant("UMOB_MATKMAX",UMOB_MATKMAX,false);
script_set_constant("UMOB_DEF",UMOB_DEF,false);
script_set_constant("UMOB_MDEF",UMOB_MDEF,false);
script_set_constant("UMOB_HIT",UMOB_HIT,false);
@ -2365,8 +2367,10 @@ void script_hardcoded_constants(void) {
script_set_constant("UHOM_LUK",UHOM_LUK,false);
script_set_constant("UHOM_DMGIMMUNE",UHOM_DMGIMMUNE,false);
script_set_constant("UHOM_ATKRANGE",UHOM_ATKRANGE,false);
script_set_constant("UHOM_ATK",UHOM_ATK,false);
script_set_constant("UHOM_MATK",UHOM_MATK,false);
script_set_constant("UHOM_ATKMIN",UHOM_ATKMIN,false);
script_set_constant("UHOM_ATKMAX",UHOM_ATKMAX,false);
script_set_constant("UHOM_MATKMIN",UHOM_MATKMIN,false);
script_set_constant("UHOM_MATKMAX",UHOM_MATKMAX,false);
script_set_constant("UHOM_DEF",UHOM_DEF,false);
script_set_constant("UHOM_MDEF",UHOM_MDEF,false);
script_set_constant("UHOM_HIT",UHOM_HIT,false);
@ -2402,8 +2406,10 @@ void script_hardcoded_constants(void) {
script_set_constant("UPET_LUK",UPET_LUK,false);
script_set_constant("UPET_DMGIMMUNE",UPET_DMGIMMUNE,false);
script_set_constant("UPET_ATKRANGE",UPET_ATKRANGE,false);
script_set_constant("UPET_ATK",UPET_ATK,false);
script_set_constant("UPET_MATK",UPET_MATK,false);
script_set_constant("UPET_ATKMIN",UPET_ATKMIN,false);
script_set_constant("UPET_ATKMAX",UPET_ATKMAX,false);
script_set_constant("UPET_MATKMIN",UPET_MATKMIN,false);
script_set_constant("UPET_MATKMAX",UPET_MATKMAX,false);
script_set_constant("UPET_DEF",UPET_DEF,false);
script_set_constant("UPET_MDEF",UPET_MDEF,false);
script_set_constant("UPET_HIT",UPET_HIT,false);
@ -2438,8 +2444,10 @@ void script_hardcoded_constants(void) {
script_set_constant("UMER_LUK",UMER_LUK,false);
script_set_constant("UMER_DMGIMMUNE",UMER_DMGIMMUNE,false);
script_set_constant("UMER_ATKRANGE",UMER_ATKRANGE,false);
script_set_constant("UMER_ATK",UMER_ATK,false);
script_set_constant("UMER_MATK",UMER_MATK,false);
script_set_constant("UMER_ATKMIN",UMER_ATKMIN,false);
script_set_constant("UMER_ATKMAX",UMER_ATKMAX,false);
script_set_constant("UMER_MATKMIN",UMER_MATKMIN,false);
script_set_constant("UMER_MATKMAX",UMER_MATKMAX,false);
script_set_constant("UMER_DEF",UMER_DEF,false);
script_set_constant("UMER_MDEF",UMER_MDEF,false);
script_set_constant("UMER_HIT",UMER_HIT,false);
@ -2476,8 +2484,10 @@ void script_hardcoded_constants(void) {
script_set_constant("UELE_LUK",UELE_LUK,false);
script_set_constant("UELE_DMGIMMUNE",UELE_DMGIMMUNE,false);
script_set_constant("UELE_ATKRANGE",UELE_ATKRANGE,false);
script_set_constant("UELE_ATK",UELE_ATK,false);
script_set_constant("UELE_MATK",UELE_MATK,false);
script_set_constant("UELE_ATKMIN",UELE_ATKMIN,false);
script_set_constant("UELE_ATKMAX",UELE_ATKMAX,false);
script_set_constant("UELE_MATKMIN",UELE_MATKMIN,false);
script_set_constant("UELE_MATKMAX",UELE_MATKMAX,false);
script_set_constant("UELE_DEF",UELE_DEF,false);
script_set_constant("UELE_MDEF",UELE_MDEF,false);
script_set_constant("UELE_HIT",UELE_HIT,false);
@ -2509,8 +2519,10 @@ void script_hardcoded_constants(void) {
script_set_constant("UNPC_PLUSALLSTAT",UNPC_PLUSALLSTAT,false);
script_set_constant("UNPC_DMGIMMUNE",UNPC_DMGIMMUNE,false);
script_set_constant("UNPC_ATKRANGE",UNPC_ATKRANGE,false);
script_set_constant("UNPC_ATK",UNPC_ATK,false);
script_set_constant("UNPC_MATK",UNPC_MATK,false);
script_set_constant("UNPC_ATKMIN",UNPC_ATKMIN,false);
script_set_constant("UNPC_ATKMAX",UNPC_ATKMAX,false);
script_set_constant("UNPC_MATKMIN",UNPC_MATKMIN,false);
script_set_constant("UNPC_MATKMAX",UNPC_MATKMAX,false);
script_set_constant("UNPC_DEF",UNPC_DEF,false);
script_set_constant("UNPC_MDEF",UNPC_MDEF,false);
script_set_constant("UNPC_HIT",UNPC_HIT,false);
@ -17109,8 +17121,10 @@ BUILDIN_FUNC(getunitdata)
getunitdata_sub(UMOB_SLAVECPYMSTRMD, md->state.copy_master_mode);
getunitdata_sub(UMOB_DMGIMMUNE, md->ud.immune_attack);
getunitdata_sub(UMOB_ATKRANGE, md->status.rhw.range);
getunitdata_sub(UMOB_ATK, md->status.rhw.atk);
getunitdata_sub(UMOB_MATK, md->status.rhw.atk2);
getunitdata_sub(UMOB_ATKMIN, md->status.rhw.atk);
getunitdata_sub(UMOB_ATKMAX, md->status.rhw.atk2);
getunitdata_sub(UMOB_MATKMIN, md->status.matk_min);
getunitdata_sub(UMOB_MATKMAX, md->status.matk_max);
getunitdata_sub(UMOB_DEF, md->status.def);
getunitdata_sub(UMOB_MDEF, md->status.mdef);
getunitdata_sub(UMOB_HIT, md->status.hit);
@ -17153,8 +17167,10 @@ BUILDIN_FUNC(getunitdata)
getunitdata_sub(UHOM_LUK, hd->base_status.luk);
getunitdata_sub(UHOM_DMGIMMUNE, hd->ud.immune_attack);
getunitdata_sub(UHOM_ATKRANGE, hd->battle_status.rhw.range);
getunitdata_sub(UHOM_ATK, hd->battle_status.rhw.atk);
getunitdata_sub(UHOM_MATK, hd->battle_status.rhw.atk2);
getunitdata_sub(UHOM_ATKMIN, hd->base_status.rhw.atk);
getunitdata_sub(UHOM_ATKMAX, hd->base_status.rhw.atk2);
getunitdata_sub(UHOM_MATKMIN, hd->base_status.matk_min);
getunitdata_sub(UHOM_MATKMAX, hd->base_status.matk_max);
getunitdata_sub(UHOM_DEF, hd->battle_status.def);
getunitdata_sub(UHOM_MDEF, hd->battle_status.mdef);
getunitdata_sub(UHOM_HIT, hd->battle_status.hit);
@ -17195,8 +17211,10 @@ BUILDIN_FUNC(getunitdata)
getunitdata_sub(UPET_LUK, pd->status.luk);
getunitdata_sub(UPET_DMGIMMUNE, pd->ud.immune_attack);
getunitdata_sub(UPET_ATKRANGE, pd->status.rhw.range);
getunitdata_sub(UPET_ATK, pd->status.rhw.atk);
getunitdata_sub(UPET_MATK, pd->status.rhw.atk2);
getunitdata_sub(UPET_ATKMIN, pd->status.rhw.atk);
getunitdata_sub(UPET_ATKMAX, pd->status.rhw.atk2);
getunitdata_sub(UPET_MATKMIN, pd->status.matk_min);
getunitdata_sub(UPET_MATKMAX, pd->status.matk_max);
getunitdata_sub(UPET_DEF, pd->status.def);
getunitdata_sub(UPET_MDEF, pd->status.mdef);
getunitdata_sub(UPET_HIT, pd->status.hit);
@ -17236,8 +17254,10 @@ BUILDIN_FUNC(getunitdata)
getunitdata_sub(UMER_LUK, mc->base_status.luk);
getunitdata_sub(UMER_DMGIMMUNE, mc->ud.immune_attack);
getunitdata_sub(UMER_ATKRANGE, mc->base_status.rhw.range);
getunitdata_sub(UMER_ATK, mc->base_status.rhw.atk);
getunitdata_sub(UMER_MATK, mc->base_status.rhw.atk2);
getunitdata_sub(UMER_ATKMIN, mc->base_status.rhw.atk);
getunitdata_sub(UMER_ATKMAX, mc->base_status.rhw.atk2);
getunitdata_sub(UMER_MATKMIN, mc->base_status.matk_min);
getunitdata_sub(UMER_MATKMAX, mc->base_status.matk_max);
getunitdata_sub(UMER_DEF, mc->base_status.def);
getunitdata_sub(UMER_MDEF, mc->base_status.mdef);
getunitdata_sub(UMER_HIT, mc->base_status.hit);
@ -17279,8 +17299,10 @@ BUILDIN_FUNC(getunitdata)
getunitdata_sub(UELE_LUK, ed->base_status.luk);
getunitdata_sub(UELE_DMGIMMUNE, ed->ud.immune_attack);
getunitdata_sub(UELE_ATKRANGE, ed->base_status.rhw.range);
getunitdata_sub(UELE_ATK, ed->base_status.rhw.atk);
getunitdata_sub(UELE_MATK, ed->base_status.rhw.atk2);
getunitdata_sub(UELE_ATKMIN, ed->base_status.rhw.atk);
getunitdata_sub(UELE_ATKMAX, ed->base_status.rhw.atk2);
getunitdata_sub(UELE_MATKMIN, ed->base_status.matk_min);
getunitdata_sub(UELE_MATKMAX, ed->base_status.matk_max);
getunitdata_sub(UELE_DEF, ed->base_status.def);
getunitdata_sub(UELE_MDEF, ed->base_status.mdef);
getunitdata_sub(UELE_HIT, ed->base_status.hit);
@ -17317,8 +17339,10 @@ BUILDIN_FUNC(getunitdata)
getunitdata_sub(UNPC_PLUSALLSTAT, nd->stat_point);
getunitdata_sub(UNPC_DMGIMMUNE, nd->ud.immune_attack);
getunitdata_sub(UNPC_ATKRANGE, nd->status.rhw.range);
getunitdata_sub(UNPC_ATK, nd->status.rhw.atk);
getunitdata_sub(UNPC_MATK, nd->status.rhw.atk2);
getunitdata_sub(UNPC_ATKMIN, nd->status.rhw.atk);
getunitdata_sub(UNPC_ATKMAX, nd->status.rhw.atk2);
getunitdata_sub(UNPC_MATKMIN, nd->status.matk_min);
getunitdata_sub(UNPC_MATKMAX, nd->status.matk_max);
getunitdata_sub(UNPC_DEF, nd->status.def);
getunitdata_sub(UNPC_MDEF, nd->status.mdef);
getunitdata_sub(UNPC_HIT, nd->status.hit);
@ -17436,8 +17460,10 @@ BUILDIN_FUNC(setunitdata)
case UMOB_SLAVECPYMSTRMD: md->state.copy_master_mode = value > 0 ? 1 : 0; if (value > 0) { TBL_MOB *md2 = map_id2md(md->master_id); md->status.mode = md2->status.mode; } break;
case UMOB_DMGIMMUNE: md->ud.immune_attack = (bool)value > 0 ? 1 : 0; break;
case UMOB_ATKRANGE: md->status.rhw.range = (unsigned short)value; break;
case UMOB_ATK: md->status.rhw.atk = (unsigned short)value; break;
case UMOB_MATK: md->status.rhw.atk2 = (unsigned short)value; break;
case UMOB_ATKMIN: md->status.rhw.atk = (unsigned short)value; break;
case UMOB_ATKMAX: md->status.rhw.atk2 = (unsigned short)value; break;
case UMOB_MATKMIN: md->status.matk_min = (unsigned short)value; break;
case UMOB_MATKMAX: md->status.matk_max = (unsigned short)value; break;
case UMOB_DEF: md->status.def = (defType)value; break;
case UMOB_MDEF: md->status.mdef = (defType)value; break;
case UMOB_HIT: md->status.hit = (short)value; break;
@ -17485,8 +17511,10 @@ BUILDIN_FUNC(setunitdata)
case UHOM_LUK: hd->base_status.luk = (unsigned short)value; status_calc_misc(bl, &hd->base_status, hd->homunculus.level); break;
case UHOM_DMGIMMUNE: hd->ud.immune_attack = (bool)value > 0 ? 1 : 0; break;
case UHOM_ATKRANGE: hd->base_status.rhw.range = (unsigned short)value; break;
case UHOM_ATK: hd->base_status.rhw.atk = (unsigned short)value; break;
case UHOM_MATK: hd->base_status.rhw.atk2 = (unsigned short)value; break;
case UHOM_ATKMIN: hd->base_status.rhw.atk = (unsigned short)value; break;
case UHOM_ATKMAX: hd->base_status.rhw.atk2 = (unsigned short)value; break;
case UHOM_MATKMIN: hd->base_status.matk_min = (unsigned short)value; break;
case UHOM_MATKMAX: hd->base_status.matk_max = (unsigned short)value; break;
case UHOM_DEF: hd->base_status.def = (defType)value; break;
case UHOM_MDEF: hd->base_status.mdef = (defType)value; break;
case UHOM_HIT: hd->base_status.hit = (short)value; break;
@ -17532,8 +17560,10 @@ BUILDIN_FUNC(setunitdata)
case UPET_LUK: pd->status.luk = (unsigned short)value; status_calc_misc(bl, &pd->status, pd->pet.level); break;
case UPET_DMGIMMUNE: pd->ud.immune_attack = (bool)value > 0 ? 1 : 0; break;
case UPET_ATKRANGE: pd->status.rhw.range = (unsigned short)value; break;
case UPET_ATK: pd->status.rhw.atk = (unsigned short)value; break;
case UPET_MATK: pd->status.rhw.atk2 = (unsigned short)value; break;
case UPET_ATKMIN: pd->status.rhw.atk = (unsigned short)value; break;
case UPET_ATKMAX: pd->status.rhw.atk2 = (unsigned short)value; break;
case UPET_MATKMIN: pd->status.matk_min = (unsigned short)value; break;
case UPET_MATKMAX: pd->status.matk_max = (unsigned short)value; break;
case UPET_DEF: pd->status.def = (defType)value; break;
case UPET_MDEF: pd->status.mdef = (defType)value; break;
case UPET_HIT: pd->status.hit = (short)value; break;
@ -17578,8 +17608,10 @@ BUILDIN_FUNC(setunitdata)
case UMER_LUK: mc->base_status.luk = (unsigned short)value; status_calc_misc(bl, &mc->base_status, mc->db->lv); break;
case UMER_DMGIMMUNE: mc->ud.immune_attack = (bool)value > 0 ? 1 : 0; break;
case UMER_ATKRANGE: mc->base_status.rhw.range = (unsigned short)value; break;
case UMER_ATK: mc->base_status.rhw.atk = (unsigned short)value; break;
case UMER_MATK: mc->base_status.rhw.atk2 = (unsigned short)value; break;
case UMER_ATKMIN: mc->base_status.rhw.atk = (unsigned short)value; break;
case UMER_ATKMAX: mc->base_status.rhw.atk2 = (unsigned short)value; break;
case UMER_MATKMIN: mc->base_status.matk_min = (unsigned short)value; break;
case UMER_MATKMAX: mc->base_status.matk_max = (unsigned short)value; break;
case UMER_DEF: mc->base_status.def = (defType)value; break;
case UMER_MDEF: mc->base_status.mdef = (defType)value; break;
case UMER_HIT: mc->base_status.hit = (short)value; break;
@ -17626,8 +17658,10 @@ BUILDIN_FUNC(setunitdata)
case UELE_LUK: ed->base_status.luk = (unsigned short)value; status_calc_misc(bl, &ed->base_status, ed->db->lv); break;
case UELE_DMGIMMUNE: ed->ud.immune_attack = (bool)value > 0 ? 1 : 0; break;
case UELE_ATKRANGE: ed->base_status.rhw.range = (unsigned short)value; break;
case UELE_ATK: ed->base_status.rhw.atk = (unsigned short)value; break;
case UELE_MATK: ed->base_status.rhw.atk2 = (unsigned short)value; break;
case UELE_ATKMIN: ed->base_status.rhw.atk = (unsigned short)value; break;
case UELE_ATKMAX: ed->base_status.rhw.atk2 = (unsigned short)value; break;
case UELE_MATKMIN: ed->base_status.matk_min = (unsigned short)value; break;
case UELE_MATKMAX: ed->base_status.matk_max = (unsigned short)value; break;
case UELE_DEF: ed->base_status.def = (defType)value; break;
case UELE_MDEF: ed->base_status.mdef = (defType)value; break;
case UELE_HIT: ed->base_status.hit = (short)value; break;
@ -17668,8 +17702,10 @@ BUILDIN_FUNC(setunitdata)
case UNPC_LUK: nd->params.luk = (unsigned short)value; status_calc_misc(bl, &nd->status, nd->level); break;
case UNPC_PLUSALLSTAT: nd->stat_point = (unsigned int)value; break;
case UNPC_ATKRANGE: nd->status.rhw.range = (unsigned short)value; break;
case UNPC_ATK: nd->status.rhw.atk = (unsigned short)value; break;
case UNPC_MATK: nd->status.rhw.atk2 = (unsigned short)value; break;
case UNPC_ATKMIN: nd->status.rhw.atk = (unsigned short)value; break;
case UNPC_ATKMAX: nd->status.rhw.atk2 = (unsigned short)value; break;
case UNPC_MATKMIN: nd->status.matk_min = (unsigned short)value; break;
case UNPC_MATKMAX: nd->status.matk_max = (unsigned short)value; break;
case UNPC_DEF: nd->status.def = (defType)value; break;
case UNPC_MDEF: nd->status.mdef = (defType)value; break;
case UNPC_HIT: nd->status.hit = (short)value; break;

View File

@ -330,8 +330,10 @@ enum unitdata_mobtypes {
UMOB_SLAVECPYMSTRMD,
UMOB_DMGIMMUNE,
UMOB_ATKRANGE,
UMOB_ATK,
UMOB_MATK,
UMOB_ATKMIN,
UMOB_ATKMAX,
UMOB_MATKMIN,
UMOB_MATKMAX,
UMOB_DEF,
UMOB_MDEF,
UMOB_HIT,
@ -370,8 +372,10 @@ enum unitdata_homuntypes {
UHOM_LUK,
UHOM_DMGIMMUNE,
UHOM_ATKRANGE,
UHOM_ATK,
UHOM_MATK,
UHOM_ATKMIN,
UHOM_ATKMAX,
UHOM_MATKMIN,
UHOM_MATKMAX,
UHOM_DEF,
UHOM_MDEF,
UHOM_HIT,
@ -408,8 +412,10 @@ enum unitdata_pettypes {
UPET_LUK,
UPET_DMGIMMUNE,
UPET_ATKRANGE,
UPET_ATK,
UPET_MATK,
UPET_ATKMIN,
UPET_ATKMAX,
UPET_MATKMIN,
UPET_MATKMAX,
UPET_DEF,
UPET_MDEF,
UPET_HIT,
@ -445,8 +451,10 @@ enum unitdata_merctypes {
UMER_LUK,
UMER_DMGIMMUNE,
UMER_ATKRANGE,
UMER_ATK,
UMER_MATK,
UMER_ATKMIN,
UMER_ATKMAX,
UMER_MATKMIN,
UMER_MATKMAX,
UMER_DEF,
UMER_MDEF,
UMER_HIT,
@ -484,8 +492,10 @@ enum unitdata_elemtypes {
UELE_LUK,
UELE_DMGIMMUNE,
UELE_ATKRANGE,
UELE_ATK,
UELE_MATK,
UELE_ATKMIN,
UELE_ATKMAX,
UELE_MATKMIN,
UELE_MATKMAX,
UELE_DEF,
UELE_MDEF,
UELE_HIT,
@ -518,8 +528,10 @@ enum unitdata_npctypes {
UNPC_PLUSALLSTAT,
UNPC_DMGIMMUNE,
UNPC_ATKRANGE,
UNPC_ATK,
UNPC_MATK,
UNPC_ATKMIN,
UNPC_ATKMAX,
UNPC_MATKMIN,
UNPC_MATKMAX,
UNPC_DEF,
UNPC_MDEF,
UNPC_HIT,

View File

@ -1934,7 +1934,8 @@ struct status_data {
hp, sp, // see status_cpy before adding members before hp and sp
max_hp, max_sp;
short
str, agi, vit, int_, dex, luk,
str, agi, vit, int_, dex, luk;
unsigned short
batk,
#ifdef RENEWAL
watk,