diff --git a/server/gameserver/creature.cc b/server/gameserver/creature.cc index b3633c0f..2fc40f12 100644 --- a/server/gameserver/creature.cc +++ b/server/gameserver/creature.cc @@ -1765,6 +1765,11 @@ void Creature::CheckSpecObject(int new_poly_flags) } } if ((1 << i) == SAMPLE_POLYFLAGS_MAGMA) { + if (a8::HasBitFlag(poly_ext_flags_, i)) { + ClearBuffById(kInMagmaBuffId); + } else { + TryAddBuffAndSetTime(this, kInMagmaBuffId, 9999999); + } } } }