From 637d6e85c7544332e9ff3a24ff9016a1d6b76ad0 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sat, 31 Jan 2026 03:40:51 +0000 Subject: [PATCH] Add Levitate effect restoration for non-client mobs Co-authored-by: Valorith <76063792+Valorith@users.noreply.github.com> --- zone/spell_effects.cpp | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/zone/spell_effects.cpp b/zone/spell_effects.cpp index 4b36eae47..08b1d60ee 100644 --- a/zone/spell_effects.cpp +++ b/zone/spell_effects.cpp @@ -4719,6 +4719,20 @@ void Mob::BuffFadeBySlot(int slot, bool iRecalcBonuses, bool suppress, uint32 su case SpellEffect::RangedProc: AddRangedProc(GetProcID(buffs[slot].spellid, i), 100 + spell.limit_value[i], buffs[slot].spellid, GetSpellProcLimitTimer(buffs[slot].spellid, ProcType::RANGED_PROC)); break; + case SpellEffect::Levitate: + { + if (!zone->CanLevitate()) { + SendAppearancePacket(AppearanceType::FlyMode, 0); + BuffFadeByEffect(SpellEffect::Levitate); + } else { + if (spell.limit_value[i] == 1) { + SendAppearancePacket(AppearanceType::FlyMode, EQ::constants::GravityBehavior::LevitateWhileRunning); + } else { + SendAppearancePacket(AppearanceType::FlyMode, EQ::constants::GravityBehavior::Levitating); + } + } + break; + } default: break; }