mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-23 18:36:31 +01:00
Core/Players: simplified mount capability update checks and removed a unneeded call uppon changing liquid status
This commit is contained in:
@@ -18788,21 +18788,19 @@ void Player::UpdateMountCapabilities()
|
||||
{
|
||||
if (HasAuraType(SPELL_AURA_MOUNTED))
|
||||
{
|
||||
Unit::AuraEffectList const& auraList = GetAuraEffectsByType(SPELL_AURA_MOUNTED);
|
||||
if (!auraList.empty())
|
||||
for (AuraEffect* aurEff : GetAuraEffectsByType(SPELL_AURA_MOUNTED))
|
||||
{
|
||||
AuraEffect* mountEffect = auraList.front();
|
||||
if (MountCapabilityEntry const* mountCapability = mountEffect->GetBase()->GetUnitOwner()->GetMountCapability(uint32(mountEffect->GetMiscValueB())))
|
||||
{
|
||||
if (mountCapability->ID != uint32(mountEffect->GetAmount()))
|
||||
{
|
||||
Unit* target = mountEffect->GetBase()->GetApplicationOfTarget(GetGUID())->GetTarget();
|
||||
if (MountCapabilityEntry const* oldMountCapability = sMountCapabilityStore.LookupEntry(mountEffect->GetAmount()))
|
||||
RemoveAurasDueToSpell(oldMountCapability->ModSpellAuraID, target->GetGUID());
|
||||
MountCapabilityEntry const* capability = GetMountCapability(uint32(aurEff->GetMiscValueB()));
|
||||
if (!capability)
|
||||
continue;
|
||||
|
||||
CastSpell(target, mountCapability->ModSpellAuraID, true);
|
||||
mountEffect->SetAmount(mountCapability->ID);
|
||||
}
|
||||
if (capability->ID != aurEff->GetAmount())
|
||||
{
|
||||
if (MountCapabilityEntry const* oldMountCapability = sMountCapabilityStore.LookupEntry(aurEff->GetAmount()))
|
||||
RemoveAurasDueToSpell(oldMountCapability->ModSpellAuraID, aurEff->GetCasterGUID());
|
||||
|
||||
CastSpell(this, capability->ModSpellAuraID, true);
|
||||
aurEff->SetAmount(capability->ID);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3312,10 +3312,6 @@ void Unit::ProcessTerrainStatusUpdate(ZLiquidStatus status, Optional<LiquidData>
|
||||
|
||||
if (curLiquid && curLiquid->SpellID && (!player || !player->IsGameMaster()))
|
||||
CastSpell(this, curLiquid->SpellID, true);
|
||||
|
||||
// Update mount capabilities when changing liquidstatus (enabling / disabling flight auras for example)
|
||||
if (player)
|
||||
player->UpdateMountCapabilities();
|
||||
}
|
||||
}
|
||||
void Unit::DeMorph()
|
||||
|
||||
Reference in New Issue
Block a user