diff options
Diffstat (limited to 'src/emap/status.c')
-rw-r--r-- | src/emap/status.c | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/src/emap/status.c b/src/emap/status.c index 0aa5f13..24b2865 100644 --- a/src/emap/status.c +++ b/src/emap/status.c @@ -44,7 +44,8 @@ void eInitChangeTables(void) status->set_sc(EVOL_PHYSICAL_SHIELD, (sc_type)SC_PHYSICAL_SHIELD, SCB_DEF | SCB_DEF2 | SCB_ASPD); - status->dbs->IconChangeTable[SC_PHYSICAL_SHIELD].relevant_bl_types |= BL_SCEFFECT; + status->dbs->ChangeFlagTable[SC_HALT_REGENERATION] |= SCB_REGEN; + //status->dbs->IconChangeTable[SC_PHYSICAL_SHIELD].relevant_bl_types |= BL_SCEFFECT; } int estatus_init_post(int retVal, @@ -238,3 +239,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 +} + |