Core/Movement: Use SetLevitate(true/false) instead of AddUnit/RemoveUnit.
This commit is contained in:
@@ -106,7 +106,7 @@ class boss_saviana_ragefire : public CreatureScript
|
||||
break;
|
||||
case POINT_LAND:
|
||||
me->SetFlying(false);
|
||||
me->RemoveUnitMovementFlag(MOVEMENTFLAG_LEVITATING);
|
||||
me->SetLevitate(false);
|
||||
me->SetReactState(REACT_AGGRESSIVE);
|
||||
if (me->GetMotionMaster()->GetCurrentMovementGeneratorType() == POINT_MOTION_TYPE)
|
||||
me->GetMotionMaster()->MovementExpired();
|
||||
@@ -121,7 +121,7 @@ class boss_saviana_ragefire : public CreatureScript
|
||||
{
|
||||
_JustReachedHome();
|
||||
me->SetFlying(false);
|
||||
me->RemoveUnitMovementFlag(MOVEMENTFLAG_LEVITATING);
|
||||
me->SetLevitate(false);
|
||||
}
|
||||
|
||||
void KilledUnit(Unit* victim)
|
||||
@@ -147,7 +147,7 @@ class boss_saviana_ragefire : public CreatureScript
|
||||
case EVENT_FLIGHT:
|
||||
{
|
||||
me->SetFlying(true);
|
||||
me->AddUnitMovementFlag(MOVEMENTFLAG_LEVITATING);
|
||||
me->SetLevitate(true);
|
||||
me->SetReactState(REACT_PASSIVE);
|
||||
me->GetMotionMaster()->MovePoint(POINT_FLIGHT, SavianaRagefireFlyPos);
|
||||
events.ScheduleEvent(EVENT_FLIGHT, 50000);
|
||||
|
||||
+2
-2
@@ -176,7 +176,7 @@ struct boss_twin_baseAI : public ScriptedAI
|
||||
me->SetReactState(REACT_PASSIVE);
|
||||
me->ModifyAuraState(m_uiAuraState, true);
|
||||
/* Uncomment this once that they are flying above the ground
|
||||
me->AddUnitMovementFlag(MOVEMENTFLAG_LEVITATING);
|
||||
me->SetLevitate(true);
|
||||
me->SetFlying(true); */
|
||||
m_bIsBerserk = false;
|
||||
|
||||
@@ -576,7 +576,7 @@ struct mob_unleashed_ballAI : public ScriptedAI
|
||||
{
|
||||
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_NOT_SELECTABLE);
|
||||
me->SetReactState(REACT_PASSIVE);
|
||||
me->AddUnitMovementFlag(MOVEMENTFLAG_LEVITATING);
|
||||
me->SetLevitate(true);
|
||||
me->SetFlying(true);
|
||||
SetCombatMovement(false);
|
||||
MoveToNextPoint();
|
||||
|
||||
@@ -1058,7 +1058,7 @@ class npc_blood_queen_lana_thel : public CreatureScript
|
||||
void Reset()
|
||||
{
|
||||
_events.Reset();
|
||||
me->AddUnitMovementFlag(MOVEMENTFLAG_LEVITATING);
|
||||
me->SetLevitate(true);
|
||||
if (_instance->GetBossState(DATA_BLOOD_PRINCE_COUNCIL) == DONE)
|
||||
{
|
||||
me->SetVisible(false);
|
||||
|
||||
@@ -216,7 +216,7 @@ class boss_blood_queen_lana_thel : public CreatureScript
|
||||
_killMinchar = true;
|
||||
else
|
||||
{
|
||||
me->AddUnitMovementFlag(MOVEMENTFLAG_LEVITATING);
|
||||
me->SetLevitate(true);
|
||||
me->SetByteFlag(UNIT_FIELD_BYTES_1, 3, 0x01);
|
||||
me->SetFlying(true);
|
||||
me->SendMovementFlagUpdate();
|
||||
@@ -230,7 +230,7 @@ class boss_blood_queen_lana_thel : public CreatureScript
|
||||
if (_killMinchar)
|
||||
{
|
||||
_killMinchar = false;
|
||||
me->AddUnitMovementFlag(MOVEMENTFLAG_LEVITATING);
|
||||
me->SetLevitate(true);
|
||||
me->SetByteFlag(UNIT_FIELD_BYTES_1, 3, 0x01);
|
||||
me->SetFlying(true);
|
||||
me->GetMotionMaster()->MovePoint(POINT_MINCHAR, mincharPos);
|
||||
@@ -244,7 +244,7 @@ class boss_blood_queen_lana_thel : public CreatureScript
|
||||
|
||||
void JustReachedHome()
|
||||
{
|
||||
me->RemoveUnitMovementFlag(MOVEMENTFLAG_LEVITATING);
|
||||
me->SetLevitate(false);
|
||||
me->RemoveByteFlag(UNIT_FIELD_BYTES_1, 3, 0x01);
|
||||
me->SetFlying(false);
|
||||
me->SetReactState(REACT_AGGRESSIVE);
|
||||
@@ -295,7 +295,7 @@ class boss_blood_queen_lana_thel : public CreatureScript
|
||||
events.ScheduleEvent(EVENT_AIR_FLY_DOWN, 10000);
|
||||
break;
|
||||
case POINT_GROUND:
|
||||
me->RemoveUnitMovementFlag(MOVEMENTFLAG_LEVITATING);
|
||||
me->SetLevitate(false);
|
||||
me->RemoveByteFlag(UNIT_FIELD_BYTES_1, 3, 0x01);
|
||||
me->SetFlying(false);
|
||||
me->SendMovementFlagUpdate();
|
||||
@@ -424,7 +424,7 @@ class boss_blood_queen_lana_thel : public CreatureScript
|
||||
me->GetMotionMaster()->MovePoint(POINT_CENTER, centerPos);
|
||||
break;
|
||||
case EVENT_AIR_START_FLYING:
|
||||
me->AddUnitMovementFlag(MOVEMENTFLAG_LEVITATING);
|
||||
me->SetLevitate(true);
|
||||
me->SetByteFlag(UNIT_FIELD_BYTES_1, 3, 0x01);
|
||||
me->SetFlying(true);
|
||||
me->SendMovementFlagUpdate();
|
||||
|
||||
@@ -605,7 +605,7 @@ class npc_high_overlord_saurfang_icc : public CreatureScript
|
||||
_events.ScheduleEvent(EVENT_OUTRO_HORDE_3, 18000); // say
|
||||
_events.ScheduleEvent(EVENT_OUTRO_HORDE_4, 24000); // cast
|
||||
_events.ScheduleEvent(EVENT_OUTRO_HORDE_5, 30000); // move
|
||||
me->RemoveUnitMovementFlag(MOVEMENTFLAG_LEVITATING);
|
||||
me->SetLevitate(false);
|
||||
me->SendMovementFlagUpdate();
|
||||
me->Relocate(me->GetPositionX(), me->GetPositionY(), 539.2917f);
|
||||
me->MonsterMoveWithSpeed(me->GetPositionX(), me->GetPositionY(), 539.2917f, 0.0f);
|
||||
@@ -629,7 +629,7 @@ class npc_high_overlord_saurfang_icc : public CreatureScript
|
||||
{
|
||||
if (spell->Id == SPELL_GRIP_OF_AGONY)
|
||||
{
|
||||
me->AddUnitMovementFlag(MOVEMENTFLAG_LEVITATING);
|
||||
me->SetLevitate(true);
|
||||
me->GetMotionMaster()->MovePoint(POINT_CHOKE, chokePos[0]);
|
||||
}
|
||||
}
|
||||
@@ -812,7 +812,7 @@ class npc_muradin_bronzebeard_icc : public CreatureScript
|
||||
{
|
||||
me->RemoveAurasDueToSpell(SPELL_GRIP_OF_AGONY);
|
||||
Talk(SAY_OUTRO_ALLIANCE_1);
|
||||
me->RemoveUnitMovementFlag(MOVEMENTFLAG_LEVITATING);
|
||||
me->SetLevitate(false);
|
||||
me->SendMovementFlagUpdate();
|
||||
me->Relocate(me->GetPositionX(), me->GetPositionY(), 539.2917f);
|
||||
me->MonsterMoveWithSpeed(me->GetPositionX(), me->GetPositionY(), 539.2917f, 0.0f);
|
||||
@@ -832,7 +832,7 @@ class npc_muradin_bronzebeard_icc : public CreatureScript
|
||||
{
|
||||
if (spell->Id == SPELL_GRIP_OF_AGONY)
|
||||
{
|
||||
me->AddUnitMovementFlag(MOVEMENTFLAG_LEVITATING);
|
||||
me->SetLevitate(true);
|
||||
me->GetMotionMaster()->MovePoint(POINT_CHOKE, chokePos[0]);
|
||||
}
|
||||
}
|
||||
@@ -934,7 +934,7 @@ class npc_saurfang_event : public CreatureScript
|
||||
{
|
||||
if (spell->Id == SPELL_GRIP_OF_AGONY)
|
||||
{
|
||||
me->AddUnitMovementFlag(MOVEMENTFLAG_LEVITATING);
|
||||
me->SetLevitate(true);
|
||||
me->GetMotionMaster()->MovePoint(POINT_CHOKE, chokePos[_index]);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -199,7 +199,7 @@ class boss_sindragosa : public CreatureScript
|
||||
if (instance->GetData(DATA_SINDRAGOSA_FROSTWYRMS) != 255)
|
||||
{
|
||||
me->SetFlying(true);
|
||||
me->AddUnitMovementFlag(MOVEMENTFLAG_LEVITATING);
|
||||
me->SetLevitate(true);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -229,7 +229,7 @@ class boss_sindragosa : public CreatureScript
|
||||
BossAI::JustReachedHome();
|
||||
instance->SetBossState(DATA_SINDRAGOSA, FAIL);
|
||||
me->SetFlying(false);
|
||||
me->RemoveUnitMovementFlag(MOVEMENTFLAG_LEVITATING);
|
||||
me->SetLevitate(false);
|
||||
}
|
||||
|
||||
void KilledUnit(Unit* victim)
|
||||
@@ -276,7 +276,7 @@ class boss_sindragosa : public CreatureScript
|
||||
case POINT_FROSTWYRM_LAND:
|
||||
me->setActive(false);
|
||||
me->SetFlying(false);
|
||||
me->RemoveUnitMovementFlag(MOVEMENTFLAG_LEVITATING);
|
||||
me->SetLevitate(false);
|
||||
me->SetHomePosition(SindragosaLandPos);
|
||||
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
|
||||
me->SetSpeed(MOVE_FLIGHT, 2.0f);
|
||||
@@ -293,7 +293,7 @@ class boss_sindragosa : public CreatureScript
|
||||
break;
|
||||
case POINT_LAND:
|
||||
me->SetFlying(false);
|
||||
me->RemoveUnitMovementFlag(MOVEMENTFLAG_LEVITATING);
|
||||
me->SetLevitate(false);
|
||||
me->SetReactState(REACT_DEFENSIVE);
|
||||
if (me->GetMotionMaster()->GetCurrentMovementGeneratorType() == POINT_MOTION_TYPE)
|
||||
me->GetMotionMaster()->MovementExpired();
|
||||
@@ -426,7 +426,7 @@ class boss_sindragosa : public CreatureScript
|
||||
_isInAirPhase = true;
|
||||
Talk(SAY_AIR_PHASE);
|
||||
me->SetFlying(true);
|
||||
me->AddUnitMovementFlag(MOVEMENTFLAG_LEVITATING);
|
||||
me->SetLevitate(true);
|
||||
me->SetReactState(REACT_PASSIVE);
|
||||
Position pos;
|
||||
pos.Relocate(me);
|
||||
@@ -618,7 +618,7 @@ class npc_spinestalker : public CreatureScript
|
||||
if (_instance->GetData(DATA_SPINESTALKER) != 255)
|
||||
{
|
||||
me->SetFlying(true);
|
||||
me->AddUnitMovementFlag(MOVEMENTFLAG_LEVITATING);
|
||||
me->SetLevitate(true);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -661,7 +661,7 @@ class npc_spinestalker : public CreatureScript
|
||||
|
||||
me->setActive(false);
|
||||
me->SetFlying(false);
|
||||
me->RemoveUnitMovementFlag(MOVEMENTFLAG_LEVITATING);
|
||||
me->SetLevitate(false);
|
||||
me->SetHomePosition(SpinestalkerLandPos);
|
||||
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
|
||||
}
|
||||
@@ -743,7 +743,7 @@ class npc_rimefang : public CreatureScript
|
||||
if (_instance->GetData(DATA_RIMEFANG) != 255)
|
||||
{
|
||||
me->SetFlying(true);
|
||||
me->AddUnitMovementFlag(MOVEMENTFLAG_LEVITATING);
|
||||
me->SetLevitate(true);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -786,7 +786,7 @@ class npc_rimefang : public CreatureScript
|
||||
|
||||
me->setActive(false);
|
||||
me->SetFlying(false);
|
||||
me->RemoveUnitMovementFlag(MOVEMENTFLAG_LEVITATING);
|
||||
me->SetLevitate(false);
|
||||
me->SetHomePosition(RimefangLandPos);
|
||||
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC);
|
||||
}
|
||||
|
||||
@@ -499,7 +499,7 @@ class boss_the_lich_king : public CreatureScript
|
||||
{
|
||||
_JustDied();
|
||||
DoCastAOE(SPELL_PLAY_MOVIE, false);
|
||||
me->RemoveUnitMovementFlag(MOVEMENTFLAG_LEVITATING);
|
||||
me->SetLevitate(false);
|
||||
me->RemoveByteFlag(UNIT_FIELD_BYTES_1, 3, 0x03);
|
||||
me->GetMotionMaster()->MoveFall();
|
||||
}
|
||||
@@ -1072,7 +1072,7 @@ class boss_the_lich_king : public CreatureScript
|
||||
DoCastAOE(SPELL_SOUL_BARRAGE);
|
||||
sCreatureTextMgr->SendSound(me, SOUND_PAIN, CHAT_MSG_MONSTER_YELL, 0, TEXT_RANGE_NORMAL, TEAM_OTHER, false);
|
||||
// set flight
|
||||
me->AddUnitMovementFlag(MOVEMENTFLAG_LEVITATING);
|
||||
me->SetLevitate(true);
|
||||
me->SetByteFlag(UNIT_FIELD_BYTES_1, 3, 0x03);
|
||||
me->GetMotionMaster()->MovePoint(POINT_LK_OUTRO_2, OutroFlying);
|
||||
break;
|
||||
|
||||
@@ -296,7 +296,7 @@ public:
|
||||
{
|
||||
case EVENT_LIFTOFF:
|
||||
me->HandleEmoteCommand(EMOTE_ONESHOT_LIFTOFF);
|
||||
me->AddUnitMovementFlag(MOVEMENTFLAG_LEVITATING);
|
||||
me->SetLevitate(true);
|
||||
me->SendMovementFlagUpdate();
|
||||
events.ScheduleEvent(EVENT_ICEBOLT, 1500);
|
||||
iceboltCount = RAID_MODE(2, 3);
|
||||
@@ -340,7 +340,7 @@ public:
|
||||
return;
|
||||
case EVENT_LAND:
|
||||
me->HandleEmoteCommand(EMOTE_ONESHOT_LAND);
|
||||
me->RemoveUnitMovementFlag(MOVEMENTFLAG_LEVITATING);
|
||||
me->SetLevitate(false);
|
||||
me->SendMovementFlagUpdate();
|
||||
events.ScheduleEvent(EVENT_GROUND, 1500);
|
||||
return;
|
||||
|
||||
@@ -271,7 +271,7 @@ public:
|
||||
{
|
||||
me->SetHomePosition(_homePosition);
|
||||
|
||||
me->AddUnitMovementFlag(MOVEMENTFLAG_LEVITATING);
|
||||
me->SetLevitate(true);
|
||||
|
||||
BossAI::EnterEvadeMode();
|
||||
|
||||
@@ -354,7 +354,7 @@ public:
|
||||
{
|
||||
_EnterCombat();
|
||||
|
||||
me->RemoveUnitMovementFlag(MOVEMENTFLAG_LEVITATING);
|
||||
me->SetLevitate(false);
|
||||
me->SetFlying(false);
|
||||
|
||||
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
|
||||
@@ -412,7 +412,7 @@ public:
|
||||
|
||||
void PrepareForVortex()
|
||||
{
|
||||
me->AddUnitMovementFlag(MOVEMENTFLAG_LEVITATING);
|
||||
me->SetLevitate(true);
|
||||
me->SetFlying(true);
|
||||
|
||||
me->GetMotionMaster()->MovementExpired();
|
||||
@@ -461,7 +461,7 @@ public:
|
||||
{
|
||||
SetPhase(PHASE_TWO, true);
|
||||
|
||||
me->AddUnitMovementFlag(MOVEMENTFLAG_LEVITATING);
|
||||
me->SetLevitate(true);
|
||||
me->SetFlying(true);
|
||||
|
||||
me->GetMotionMaster()->MoveIdle();
|
||||
@@ -704,7 +704,7 @@ class spell_malygos_vortex_visual : public SpellScriptLoader
|
||||
// Anyway even with this issue, the boss does not enter in evade mode - this prevents iterate an empty list in the next vortex execution.
|
||||
malygos->SetInCombatWithZone();
|
||||
|
||||
malygos->RemoveUnitMovementFlag(MOVEMENTFLAG_LEVITATING);
|
||||
malygos->SetLevitate(false);
|
||||
malygos->SetFlying(false);
|
||||
|
||||
malygos->GetMotionMaster()->MoveChase(caster->getVictim());
|
||||
|
||||
@@ -575,7 +575,7 @@ class boss_stormcaller_brundir : public CreatureScript
|
||||
_Reset();
|
||||
phase = 0;
|
||||
me->RemoveAllAuras();
|
||||
me->RemoveUnitMovementFlag(MOVEMENTFLAG_LEVITATING);
|
||||
me->SetLevitate(false);
|
||||
me->ApplySpellImmune(0, IMMUNITY_MECHANIC, MECHANIC_INTERRUPT, false); // Should be interruptable unless overridden by spell (Overload)
|
||||
me->ApplySpellImmune(0, IMMUNITY_MECHANIC, MECHANIC_STUN, false); // Reset immumity, Brundir should be stunnable by default
|
||||
RespawnEncounter(instance, me);
|
||||
@@ -681,7 +681,7 @@ class boss_stormcaller_brundir : public CreatureScript
|
||||
DoCast(RAID_MODE(SPELL_LIGHTNING_TENDRILS_10M, SPELL_LIGHTNING_TENDRILS_25M));
|
||||
DoCast(SPELL_LIGHTNING_TENDRILS_VISUAL);
|
||||
me->AttackStop();
|
||||
//me->AddUnitMovementFlag(MOVEMENTFLAG_LEVITATING);
|
||||
//me->SetLevitate(true);
|
||||
me->GetMotionMaster()->Initialize();
|
||||
me->GetMotionMaster()->MovePoint(0, me->GetPositionX(), me->GetPositionY(), FINAL_FLIGHT_Z);
|
||||
events.DelayEvents(35000);
|
||||
@@ -708,7 +708,7 @@ class boss_stormcaller_brundir : public CreatureScript
|
||||
events.ScheduleEvent(EVENT_GROUND, 2500);
|
||||
break;
|
||||
case EVENT_GROUND:
|
||||
//me->RemoveUnitMovementFlag(MOVEMENTFLAG_LEVITATING);
|
||||
//me->SetLevitate(false);
|
||||
me->RemoveAurasDueToSpell(RAID_MODE(SPELL_LIGHTNING_TENDRILS_10M, SPELL_LIGHTNING_TENDRILS_25M));
|
||||
me->RemoveAurasDueToSpell(SPELL_LIGHTNING_TENDRILS_VISUAL);
|
||||
DoStartMovement(me->getVictim());
|
||||
|
||||
@@ -161,7 +161,7 @@ public:
|
||||
if (Phase > INTRO)
|
||||
{
|
||||
me->SetFlying(true);
|
||||
me->AddUnitMovementFlag(MOVEMENTFLAG_LEVITATING);
|
||||
me->SetLevitate(true);
|
||||
}
|
||||
|
||||
if (Phase > NORMAL)
|
||||
@@ -183,7 +183,7 @@ public:
|
||||
if (Phase > INTRO)
|
||||
{
|
||||
me->SetFlying(false);
|
||||
me->RemoveUnitMovementFlag(MOVEMENTFLAG_LEVITATING);
|
||||
me->SetLevitate(false);
|
||||
me->SetOrientation(1.58f);
|
||||
me->SendMovementFlagUpdate();
|
||||
}
|
||||
@@ -326,7 +326,7 @@ public:
|
||||
case 2:
|
||||
arthas->CastSpell(me, SPELL_TRANSFORMING_CHANNEL, false);
|
||||
me->SetFlying(true);
|
||||
me->AddUnitMovementFlag(MOVEMENTFLAG_LEVITATING);
|
||||
me->SetLevitate(true);
|
||||
pos.Relocate(me);
|
||||
pos.m_positionZ += 8.0f;
|
||||
me->GetMotionMaster()->MoveTakeoff(0, pos, 3.30078125f);
|
||||
@@ -383,7 +383,7 @@ public:
|
||||
break;
|
||||
case 8:
|
||||
me->SetFlying(false);
|
||||
me->RemoveUnitMovementFlag(MOVEMENTFLAG_LEVITATING);
|
||||
me->SetLevitate(false);
|
||||
me->SendMovementFlagUpdate();
|
||||
pos.Relocate(me);
|
||||
pos.m_positionX = me->GetHomePosition().GetPositionX();
|
||||
@@ -417,7 +417,7 @@ public:
|
||||
if (me->IsWithinMeleeRange(me->getVictim()) && me->HasUnitMovementFlag(MOVEMENTFLAG_LEVITATING))
|
||||
{
|
||||
me->SetFlying(false);
|
||||
me->RemoveUnitMovementFlag(MOVEMENTFLAG_LEVITATING);
|
||||
me->SetLevitate(false);
|
||||
me->SendMovementFlagUpdate();
|
||||
}
|
||||
|
||||
@@ -451,7 +451,7 @@ public:
|
||||
|
||||
SetCombatMovement(false);
|
||||
me->SetFlying(true);
|
||||
me->AddUnitMovementFlag(MOVEMENTFLAG_LEVITATING);
|
||||
me->SetLevitate(true);
|
||||
|
||||
Phase = SACRIFICING;
|
||||
sacrePhase = 0;
|
||||
|
||||
@@ -218,7 +218,7 @@ public:
|
||||
m_uiActivedCreatureGUID = temp->GetGUID();
|
||||
temp->CastSpell(me, SPELL_CHANNEL_SPIRIT_TO_YMIRON, true);
|
||||
temp->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE | UNIT_FLAG_NOT_SELECTABLE);
|
||||
temp->AddUnitMovementFlag(MOVEMENTFLAG_LEVITATING);
|
||||
temp->SetLevitate(true);
|
||||
switch (m_uiActiveOrder[m_uiActivedNumber])
|
||||
{
|
||||
case 0: m_bIsActiveWithBJORN = true; break;
|
||||
|
||||
Reference in New Issue
Block a user