From d38b6ce0dba4e60f21041594ee7abdc1ffdbc6cc Mon Sep 17 00:00:00 2001 From: acidmanifesto Date: Thu, 21 Apr 2022 06:06:22 -0400 Subject: [PATCH] Feat: (core) Additional Helper (#11457) * Feat: (core) Additional Helper --- src/server/game/Entities/Unit/Unit.cpp | 1 + src/server/game/Spells/Spell.cpp | 1 + 2 files changed, 2 insertions(+) diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp index e259a75fc..1ccd9444e 100644 --- a/src/server/game/Entities/Unit/Unit.cpp +++ b/src/server/game/Entities/Unit/Unit.cpp @@ -19153,6 +19153,7 @@ void Unit::ExitVehicle(Position const* /*exitPosition*/) return; GetVehicleBase()->RemoveAurasByType(SPELL_AURA_CONTROL_VEHICLE, GetGUID()); + ToPlayer()->SetCanTeleport(true); //! The following call would not even be executed successfully as the //! SPELL_AURA_CONTROL_VEHICLE unapply handler already calls _ExitVehicle without //! specifying an exitposition. The subsequent call below would return on if (!m_vehicle). diff --git a/src/server/game/Spells/Spell.cpp b/src/server/game/Spells/Spell.cpp index 316188025..02c631261 100644 --- a/src/server/game/Spells/Spell.cpp +++ b/src/server/game/Spells/Spell.cpp @@ -6036,6 +6036,7 @@ SpellCastResult Spell::CheckCast(bool strict) if (m_pathFinder->GetPathType() & (PATHFIND_NOPATH | PATHFIND_INCOMPLETE) || target->GetExactDistSq(endPos.x, endPos.y, endPos.z) > maxdist * maxdist || m_pathFinder->getPathLength() > (40.0f + (m_caster->HasAura(58097) ? 5.0f : 0.0f))) return SPELL_FAILED_NOPATH; } + m_caster->ToPlayer()->SetCanTeleport(true); break; } case SPELL_EFFECT_SKINNING: