diff --git a/server/gameserver/creature.cc b/server/gameserver/creature.cc index 2fc40f12..a640828f 100644 --- a/server/gameserver/creature.cc +++ b/server/gameserver/creature.cc @@ -1768,7 +1768,22 @@ void Creature::CheckSpecObject(int new_poly_flags) if (a8::HasBitFlag(poly_ext_flags_, i)) { ClearBuffById(kInMagmaBuffId); } else { - TryAddBuffAndSetTime(this, kInMagmaBuffId, 9999999); + int buff_uniid = TryAddBuffAndSetTime(this, kInMagmaBuffId, 9999999); + Buff* buff = GetBuffByUniId(buff_uniid); + if (buff) { + int dur_time = 1000; + room->xtimer.SetIntervalEx + ( + dur_time / FRAME_RATE_MS, + [this] (int event, const a8::Args* args) + { + if (a8::TIMER_EXEC_EVENT == event) { + if (!dead) { + } + } + }, + &buff->xtimer_attacher); + } } } }