summaryrefslogtreecommitdiff
path: root/src/emap/status.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/emap/status.c')
-rw-r--r--src/emap/status.c17
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
+}
+