diff options
Diffstat (limited to 'src/emap/status.c')
-rw-r--r-- | src/emap/status.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/emap/status.c b/src/emap/status.c index b867f4d..38a5f66 100644 --- a/src/emap/status.c +++ b/src/emap/status.c @@ -45,6 +45,7 @@ void eInitChangeTables(void) (sc_type)SC_PHYSICAL_SHIELD, SI_PHYSICAL_SHIELD, SCB_DEF | SCB_DEF2 | SCB_ASPD); + status->dbs->ChangeFlagTable[SC_HALT_REGENERATION] |= SCB_REGEN; // TMW2 Customs //status->dbs->IconChangeTable[SC_INCSTR] = SI_TMW2_INCSTR; @@ -60,6 +61,8 @@ void eInitChangeTables(void) status->dbs->IconChangeTable[SC_INCMHPRATE] = SI_TMW2_INCMHPRATE; status->dbs->IconChangeTable[SC_INCMSPRATE] = SI_TMW2_INCMSPRATE; + status->dbs->IconChangeTable[SC_HALT_REGENERATION] = SI_HALT_REGEN; + // status->dbs->DisplayType[SC_PHYSICAL_SHIELD] = true; } @@ -274,3 +277,17 @@ void estatus_calc_pc_recover_hp_pre(struct map_session_data **sdPtr __attribute_ bstatus->hp = APPLY_RATE(bstatus->max_hp, battle->bc->restart_hp_rate); hookStop(); } + + +void estatus_calc_regen_rate_post(struct block_list *bl __attribute__ ((unused)), + struct regen_data *regen, + struct status_change *sc) { + // Check for SCs + if (!sc || !sc->count) + return; + + // Additional SCs + if (sc->data[SC_HALT_REGENERATION]) + regen->flag = 0; //No regen +} + |