Scripts/Misc: Fix some MovementInform handler filters after recent motionmaster changes
Also correct year of SQL in dbbac0bdaa
This commit is contained in:
@@ -368,7 +368,7 @@ void MotionMaster::MoveJump(float x, float y, float z, float speedXY, float spee
|
|||||||
Mutate(new EffectMovementGenerator(id), MOTION_SLOT_CONTROLLED);
|
Mutate(new EffectMovementGenerator(id), MOTION_SLOT_CONTROLLED);
|
||||||
}
|
}
|
||||||
|
|
||||||
void MotionMaster::MoveFall()
|
void MotionMaster::MoveFall(uint32 id/*=0*/)
|
||||||
{
|
{
|
||||||
// use larger distance for vmap height search than in most other cases
|
// use larger distance for vmap height search than in most other cases
|
||||||
float tz = i_owner->GetMap()->GetHeight(i_owner->GetPositionX(), i_owner->GetPositionY(), i_owner->GetPositionZ(), true, MAX_FALL_DISTANCE);
|
float tz = i_owner->GetMap()->GetHeight(i_owner->GetPositionX(), i_owner->GetPositionY(), i_owner->GetPositionZ(), true, MAX_FALL_DISTANCE);
|
||||||
@@ -387,7 +387,7 @@ void MotionMaster::MoveFall()
|
|||||||
init.MoveTo(i_owner->GetPositionX(),i_owner->GetPositionY(),tz);
|
init.MoveTo(i_owner->GetPositionX(),i_owner->GetPositionY(),tz);
|
||||||
init.SetFall();
|
init.SetFall();
|
||||||
init.Launch();
|
init.Launch();
|
||||||
Mutate(new EffectMovementGenerator(0), MOTION_SLOT_CONTROLLED);
|
Mutate(new EffectMovementGenerator(id), MOTION_SLOT_CONTROLLED);
|
||||||
}
|
}
|
||||||
|
|
||||||
void MotionMaster::MoveCharge(float x, float y, float z, float speed, uint32 id)
|
void MotionMaster::MoveCharge(float x, float y, float z, float speed, uint32 id)
|
||||||
|
|||||||
@@ -163,7 +163,7 @@ class MotionMaster //: private std::stack<MovementGenerator *>
|
|||||||
void MoveKnockbackFrom(float srcX, float srcY, float speedXY, float speedZ);
|
void MoveKnockbackFrom(float srcX, float srcY, float speedXY, float speedZ);
|
||||||
void MoveJumpTo(float angle, float speedXY, float speedZ);
|
void MoveJumpTo(float angle, float speedXY, float speedZ);
|
||||||
void MoveJump(float x, float y, float z, float speedXY, float speedZ, uint32 id = 0);
|
void MoveJump(float x, float y, float z, float speedXY, float speedZ, uint32 id = 0);
|
||||||
void MoveFall();
|
void MoveFall(uint32 id = 0);
|
||||||
|
|
||||||
void MoveSeekAssistance(float x, float y, float z);
|
void MoveSeekAssistance(float x, float y, float z);
|
||||||
void MoveSeekAssistanceDistract(uint32 timer);
|
void MoveSeekAssistanceDistract(uint32 timer);
|
||||||
|
|||||||
@@ -268,7 +268,7 @@ class boss_sindragosa : public CreatureScript
|
|||||||
|
|
||||||
void MovementInform(uint32 type, uint32 point)
|
void MovementInform(uint32 type, uint32 point)
|
||||||
{
|
{
|
||||||
if (type != POINT_MOTION_TYPE)
|
if (type != POINT_MOTION_TYPE && type != EFFECT_MOTION_TYPE)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
switch (point)
|
switch (point)
|
||||||
|
|||||||
@@ -94,6 +94,11 @@ enum SvalaPhase
|
|||||||
SVALADEAD
|
SVALADEAD
|
||||||
};
|
};
|
||||||
|
|
||||||
|
enum SvalaPoint
|
||||||
|
{
|
||||||
|
POINT_FALL_GROUND = 1,
|
||||||
|
};
|
||||||
|
|
||||||
#define DATA_INCREDIBLE_HULK 2043
|
#define DATA_INCREDIBLE_HULK 2043
|
||||||
|
|
||||||
static const float spectatorWP[2][3] =
|
static const float spectatorWP[2][3] =
|
||||||
@@ -258,16 +263,16 @@ public:
|
|||||||
|
|
||||||
SetCombatMovement(false);
|
SetCombatMovement(false);
|
||||||
me->HandleEmoteCommand(EMOTE_ONESHOT_FLYDEATH);
|
me->HandleEmoteCommand(EMOTE_ONESHOT_FLYDEATH);
|
||||||
me->GetMotionMaster()->MoveFall();
|
me->GetMotionMaster()->MoveFall(POINT_FALL_GROUND);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void MovementInform(uint32 motionType, uint32 pointId)
|
void MovementInform(uint32 motionType, uint32 pointId)
|
||||||
{
|
{
|
||||||
if (motionType != POINT_MOTION_TYPE)
|
if (motionType != EFFECT_MOTION_TYPE)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (pointId == 1)
|
if (pointId == POINT_FALL_GROUND)
|
||||||
me->DealDamage(me, me->GetHealth(), NULL, DIRECT_DAMAGE, SPELL_SCHOOL_MASK_NORMAL, NULL, false);
|
me->DealDamage(me, me->GetHealth(), NULL, DIRECT_DAMAGE, SPELL_SCHOOL_MASK_NORMAL, NULL, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -288,7 +293,7 @@ public:
|
|||||||
Phase = NORMAL;
|
Phase = NORMAL;
|
||||||
SetCombatMovement(true);
|
SetCombatMovement(true);
|
||||||
|
|
||||||
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 300, true))
|
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 300.0f, true))
|
||||||
me->GetMotionMaster()->MoveChase(target);
|
me->GetMotionMaster()->MoveChase(target);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -330,7 +335,7 @@ public:
|
|||||||
{
|
{
|
||||||
std::list<Creature*> lspectatorList;
|
std::list<Creature*> lspectatorList;
|
||||||
GetCreatureListWithEntryInGrid(lspectatorList, me, CREATURE_SPECTATOR, 100.0f);
|
GetCreatureListWithEntryInGrid(lspectatorList, me, CREATURE_SPECTATOR, 100.0f);
|
||||||
for(std::list<Creature*>::iterator itr = lspectatorList.begin(); itr != lspectatorList.end(); ++itr)
|
for (std::list<Creature*>::iterator itr = lspectatorList.begin(); itr != lspectatorList.end(); ++itr)
|
||||||
{
|
{
|
||||||
if ((*itr)->isAlive())
|
if ((*itr)->isAlive())
|
||||||
{
|
{
|
||||||
@@ -397,7 +402,8 @@ public:
|
|||||||
Phase = NORMAL;
|
Phase = NORMAL;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
} else introTimer -= diff;
|
}
|
||||||
|
else introTimer -= diff;
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user