Core/Movement: Use SetLevitate(true/false) instead of AddUnit/RemoveUnit.

This commit is contained in:
Venugh
2012-02-23 12:32:21 +01:00
parent 02525acccb
commit 5416b734e4
29 changed files with 81 additions and 81 deletions
@@ -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);
@@ -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;