mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-24 19:06:49 +01:00
Scripts/Trial of the Crusader: Fix height position of Permafrost casted by Frost Sphere.
It needs option "vmap.enableHeight = 1" to work properly.
This commit is contained in:
@@ -568,12 +568,11 @@ public:
|
||||
}
|
||||
|
||||
bool m_bFall;
|
||||
uint32 m_uiPermafrostTimer;
|
||||
float x, y, z;
|
||||
|
||||
void Reset()
|
||||
{
|
||||
m_bFall = false;
|
||||
m_uiPermafrostTimer = 0;
|
||||
me->SetReactState(REACT_PASSIVE);
|
||||
me->SetFlying(true);
|
||||
me->SetDisplayId(25144);
|
||||
@@ -590,11 +589,13 @@ public:
|
||||
if (!m_bFall)
|
||||
{
|
||||
m_bFall = true;
|
||||
me->SetFlying(false);
|
||||
me->GetMotionMaster()->MoveIdle();
|
||||
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
|
||||
//At hit the ground
|
||||
me->GetMotionMaster()->MoveFall(142.2f, 0);
|
||||
me->GetPosition(x, y, z);
|
||||
z = me->GetMap()->GetHeight(x, y, z, true, 50);
|
||||
me->HandleEmoteCommand(EMOTE_ONESHOT_FLYDEATH);
|
||||
me->GetMotionMaster()->MoveFall(z, 0);
|
||||
//me->FallGround(); //need correct vmap use (i believe it isn't working properly right now)
|
||||
}
|
||||
}
|
||||
@@ -607,24 +608,13 @@ public:
|
||||
switch (uiId)
|
||||
{
|
||||
case 0:
|
||||
m_uiPermafrostTimer = IN_MILLISECONDS;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void UpdateAI(const uint32 uiDiff)
|
||||
{
|
||||
if (m_uiPermafrostTimer)
|
||||
{
|
||||
if (m_uiPermafrostTimer <= uiDiff)
|
||||
{
|
||||
m_uiPermafrostTimer = 0;
|
||||
me->RemoveAurasDueToSpell(SPELL_FROST_SPHERE);
|
||||
me->SetDisplayId(11686);
|
||||
me->SetFloatValue(OBJECT_FIELD_SCALE_X, 2.0f);
|
||||
me->Relocate(x, y, z, me->GetOrientation());
|
||||
DoCast(SPELL_PERMAFROST_VISUAL);
|
||||
DoCast(SPELL_PERMAFROST);
|
||||
} else m_uiPermafrostTimer -= uiDiff;
|
||||
me->SetFloatValue(OBJECT_FIELD_SCALE_X, 2.0f);
|
||||
break;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user