summaryrefslogtreecommitdiff
path: root/src/emap/status.c
diff options
context:
space:
mode:
authorJesusaves <cpntb1@ymail.com>2021-04-18 03:42:23 -0300
committerJesusaves <cpntb1@ymail.com>2021-04-18 03:42:23 -0300
commit90f88f539307c0a6945d305aa591ae0b935365e4 (patch)
tree69d8b8707bdca068400ec91587a4ed68049ae8e1 /src/emap/status.c
parent03996d97def7dda1d6a6f79a466daf668884d277 (diff)
downloadevol-hercules-90f88f539307c0a6945d305aa591ae0b935365e4.tar.gz
evol-hercules-90f88f539307c0a6945d305aa591ae0b935365e4.tar.bz2
evol-hercules-90f88f539307c0a6945d305aa591ae0b935365e4.tar.xz
evol-hercules-90f88f539307c0a6945d305aa591ae0b935365e4.zip
Implement SC_HALT_REGENERATION. Move SC IDs because this one is saved to SQL.
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
+}
+