diff options
author | Jesusaves <cpntb1@ymail.com> | 2025-05-04 17:39:18 -0300 |
---|---|---|
committer | Jesusaves <cpntb1@ymail.com> | 2025-05-04 17:39:18 -0300 |
commit | 7b4d01113542ba155b5aa8cad1795ee867e36435 (patch) | |
tree | 3714b24f103e93647ba7598b5ba249a9ce1e4bd0 | |
parent | efa9deda30baf1a7cf6f1b7f6979fac08d088a67 (diff) | |
download | evol-hercules-7b4d01113542ba155b5aa8cad1795ee867e36435.tar.gz evol-hercules-7b4d01113542ba155b5aa8cad1795ee867e36435.tar.bz2 evol-hercules-7b4d01113542ba155b5aa8cad1795ee867e36435.tar.xz evol-hercules-7b4d01113542ba155b5aa8cad1795ee867e36435.zip |
Introduce SC_ELLIBAN and SC_INSPIRED
-rw-r--r-- | src/emap/enum/esctype.h | 2 | ||||
-rw-r--r-- | src/emap/enum/esitype.h | 2 | ||||
-rw-r--r-- | src/emap/skill_const.c | 2 | ||||
-rw-r--r-- | src/emap/status.c | 32 |
4 files changed, 38 insertions, 0 deletions
diff --git a/src/emap/enum/esctype.h b/src/emap/enum/esctype.h index d35b2c3..466876e 100644 --- a/src/emap/enum/esctype.h +++ b/src/emap/enum/esctype.h @@ -15,6 +15,8 @@ typedef enum esc_type SC_IMPRECISE, SC_DUMBHEAD, SC_SLOWPOKE, + SC_ELLIBAN, + SC_INSPIRED, } esc_type; #endif // EVOL_MAP_ENUM_ESCTYPE diff --git a/src/emap/enum/esitype.h b/src/emap/enum/esitype.h index 4671486..0a76c20 100644 --- a/src/emap/enum/esitype.h +++ b/src/emap/enum/esitype.h @@ -26,6 +26,8 @@ enum esi_type SI_IMPRECISE = 984, SI_DUMBHEAD = 985, SI_SLOWPOKE = 986, + SI_ELLIBAN = 987, + SI_INSPIRED = 988, }; #endif // EVOL_MAP_ENUM_ESITYPE diff --git a/src/emap/skill_const.c b/src/emap/skill_const.c index 533f266..2d69f5f 100644 --- a/src/emap/skill_const.c +++ b/src/emap/skill_const.c @@ -31,5 +31,7 @@ void eskill_addskill_conststants(void) script->set_constant("SC_IMPRECISE", SC_IMPRECISE, false, false); script->set_constant("SC_DUMBHEAD", SC_DUMBHEAD, false, false); script->set_constant("SC_SLOWPOKE", SC_SLOWPOKE, false, false); + script->set_constant("SC_ELLIBAN", SC_ELLIBAN, false, false); + script->set_constant("SC_INSPIRED", SC_INSPIRED, false, false); script->constdb_comment(NULL); } diff --git a/src/emap/status.c b/src/emap/status.c index 19cd48b..4ae0d0e 100644 --- a/src/emap/status.c +++ b/src/emap/status.c @@ -46,6 +46,14 @@ void eInitChangeTables(void) SI_PHYSICAL_SHIELD, SCB_DEF | SCB_DEF2 | SCB_ASPD); status->dbs->ChangeFlagTable[SC_HALT_REGENERATION] |= SCB_REGEN; + status->dbs->ChangeFlagTable[SC_ALL_DOWN] |= SCB_STR | SCB_AGI | SCB_VIT | SCB_INT | SCB_DEX | SCB_LUK | SCB_MAXHP | SCB_MAXSP; + status->dbs->ChangeFlagTable[SC_ATK_DOWN] |= SCB_BATK | SCB_WATK | SCB_ASPD; + status->dbs->ChangeFlagTable[SC_VULNERABLE] |= SCB_FLEE | SCB_MAXHP | SCB_DEF; + status->dbs->ChangeFlagTable[SC_IMPRECISE] |= SCB_CRI | SCB_HIT | SCB_ASPD; + status->dbs->ChangeFlagTable[SC_DUMBHEAD] |= SCB_INT | SCB_FLEE | SCB_MAXSP; + status->dbs->ChangeFlagTable[SC_SLOWPOKE] |= SCB_SPEED | SCB_ASPD; + status->dbs->ChangeFlagTable[SC_ELLIBAN] |= SCB_STR | SCB_AGI | SCB_VIT | SCB_INT | SCB_DEX | SCB_LUK | SCB_ASPD | SCB_BATK; + status->dbs->ChangeFlagTable[SC_INSPIRED] |= SCB_BATK | SCB_HIT | SCB_DEF; // TMW2 Customs //status->dbs->IconChangeTable[SC_INCSTR] = SI_TMW2_INCSTR; @@ -69,6 +77,8 @@ void eInitChangeTables(void) status->dbs->IconChangeTable[SC_IMPRECISE] = SI_IMPRECISE; status->dbs->IconChangeTable[SC_DUMBHEAD] = SI_DUMBHEAD; status->dbs->IconChangeTable[SC_SLOWPOKE] = SI_SLOWPOKE; + status->dbs->IconChangeTable[SC_ELLIBAN] = SI_ELLIBAN; + status->dbs->IconChangeTable[SC_INSPIRED] = SI_INSPIRED; // status->dbs->DisplayType[SC_PHYSICAL_SHIELD] = true; } @@ -220,6 +230,8 @@ unsigned short estatus_calc_str_post(unsigned short retVal, if (sc->data[SC_ALL_DOWN]) retVal -= sc->data[SC_ALL_DOWN]->val1; + if (sc->data[SC_ELLIBAN]) + retVal = 1; return (unsigned short)cap_value(retVal,0,USHRT_MAX); } @@ -234,6 +246,8 @@ unsigned short estatus_calc_agi_post(unsigned short retVal, if (sc->data[SC_ALL_DOWN]) retVal -= sc->data[SC_ALL_DOWN]->val1; + if (sc->data[SC_ELLIBAN]) + retVal = 1; return (unsigned short)cap_value(retVal,0,USHRT_MAX); } @@ -248,6 +262,8 @@ unsigned short estatus_calc_vit_post(unsigned short retVal, if (sc->data[SC_ALL_DOWN]) retVal -= sc->data[SC_ALL_DOWN]->val1; + if (sc->data[SC_ELLIBAN]) + retVal = 1; return (unsigned short)cap_value(retVal,0,USHRT_MAX); } @@ -264,6 +280,8 @@ unsigned short estatus_calc_int_post(unsigned short retVal, retVal -= sc->data[SC_ALL_DOWN]->val1; if (sc->data[SC_DUMBHEAD]) retVal -= sc->data[SC_DUMBHEAD]->val1; + if (sc->data[SC_ELLIBAN]) + retVal = 1; return (unsigned short)cap_value(retVal,0,USHRT_MAX); } @@ -278,6 +296,8 @@ unsigned short estatus_calc_dex_post(unsigned short retVal, if (sc->data[SC_ALL_DOWN]) retVal -= sc->data[SC_ALL_DOWN]->val1; + if (sc->data[SC_ELLIBAN]) + retVal = 1; return (unsigned short)cap_value(retVal,0,USHRT_MAX); } @@ -292,6 +312,8 @@ unsigned short estatus_calc_luk_post(unsigned short retVal, if (sc->data[SC_ALL_DOWN]) retVal -= sc->data[SC_ALL_DOWN]->val1; + if (sc->data[SC_ELLIBAN]) + retVal = 1; return (unsigned short)cap_value(retVal,0,USHRT_MAX); } @@ -307,6 +329,10 @@ int estatus_calc_batk_post(int retVal, if (sc->data[SC_ATK_DOWN]) retVal -= sc->data[SC_ATK_DOWN]->val1; + if (sc->data[SC_INSPIRED]) + retVal += sc->data[SC_INSPIRED]->val1; + if (sc->data[SC_ELLIBAN]) + retVal = 1; return cap_value(retVal, 0, USHRT_MAX); } @@ -352,6 +378,8 @@ int estatus_calc_hit_post(int retVal, if (sc->data[SC_IMPRECISE]) retVal -= sc->data[SC_IMPRECISE]->val1; + if (sc->data[SC_INSPIRED]) + retVal += sc->data[SC_INSPIRED]->val1; return cap_value(retVal, 1, 32767); } @@ -418,6 +446,8 @@ defType estatus_calc_def_post(defType retVal, retVal += sc->data[SC_PHYSICAL_SHIELD]->val1; if (sc->data[SC_VULNERABLE]) retVal -= sc->data[SC_VULNERABLE]->val1; + if (sc->data[SC_INSPIRED]) + retVal += sc->data[SC_INSPIRED]->val1; return (defType)cap_value(retVal, DEFTYPE_MIN, DEFTYPE_MAX); } @@ -438,6 +468,8 @@ short estatus_calc_fix_aspd_post(short retVal, retVal += sc->data[SC_IMPRECISE]->val1; if (sc->data[SC_SLOWPOKE]) retVal += sc->data[SC_SLOWPOKE]->val1 * 10; + if (sc->data[SC_ELLIBAN]) + retVal = 2000; return (short)cap_value(retVal, 0, 2000); } |