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, 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
+}
+