diff --git a/server/gameserver/creature.cc b/server/gameserver/creature.cc index e420f521..b1040ede 100644 --- a/server/gameserver/creature.cc +++ b/server/gameserver/creature.cc @@ -1150,7 +1150,7 @@ void Creature::Initialize() for (auto& node : cond_buffs_) { INIT_LIST_HEAD(&node); } - if (IsHuman() && mt::Param::s().nature_recover_hp_switch) { + if (IsHuman()) { a8::XTimerWp nature_recover_hp_timer; nature_recover_hp_idle_timer = room->xtimer.SetIntervalWpEx ( @@ -1165,7 +1165,8 @@ void Creature::Initialize() [this] (int event, const a8::Args* args) mutable { if (a8::TIMER_EXEC_EVENT == event) { - if (!dead && !poisoning && !downed && !HasBuffEffect(kBET_Dive)) { + if (!dead && !poisoning && !downed && !HasBuffEffect(kBET_Dive) && + mt::Param::s().nature_recover_hp_switch) { if (GetHP() + 1 < GetMaxHP()) { AddHp(GetMaxHP() * mt::Param::s().nature_recover_hp_rate); TryAddBuff(this, kRecoverHpEffectBuffId);