diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index 0a920e70e..397af904b 100644 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -7176,8 +7176,7 @@ void Player::ApplyEquipSpell(SpellInfo const* spellInfo, Item* item, bool apply, LOG_DEBUG("entities.player", "WORLD: cast {} Equip spellId - {}", (item ? "item" : "itemset"), spellInfo->Id); - //Ignore spellInfo->DurationEntry, cast with -1 duration - CastCustomSpell(spellInfo->Id, SPELLVALUE_AURA_DURATION, -1, this, true, item); + CastSpell(this, spellInfo, true, item); } else { diff --git a/src/server/game/Spells/SpellInfoCorrections.cpp b/src/server/game/Spells/SpellInfoCorrections.cpp index e6009000a..a61c81b02 100644 --- a/src/server/game/Spells/SpellInfoCorrections.cpp +++ b/src/server/game/Spells/SpellInfoCorrections.cpp @@ -5131,6 +5131,12 @@ void SpellMgr::LoadSpellInfoCorrections() spellInfo->ChannelInterruptFlags &= ~AURA_INTERRUPT_FLAG_TURNING; }); + // The Green Tower + ApplySpellFix({ 18097 }, [](SpellInfo* spellInfo) + { + spellInfo->DurationEntry = sSpellDurationStore.LookupEntry(21); // -1 + }); + for (uint32 i = 0; i < GetSpellInfoStoreSize(); ++i) { SpellInfo* spellInfo = mSpellInfoMap[i];