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

This commit is contained in:
Venugh
2012-02-23 11:50:58 +01:00
parent 9219625243
commit 1cac01b3df
50 changed files with 131 additions and 122 deletions
@@ -480,7 +480,7 @@ public:
if (temp->isAlive() && !temp->getVictim())
{
if (temp->HasUnitMovementFlag(MOVEMENTFLAG_WALKING))
temp->RemoveUnitMovementFlag(MOVEMENTFLAG_WALKING);
temp->SetWalk(false);
if (temp->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE))
temp->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
@@ -71,7 +71,7 @@ class npc_xerestrasza : public CreatureScript
_isIntro = false;
Talk(SAY_XERESTRASZA_EVENT);
me->AddUnitMovementFlag(MOVEMENTFLAG_WALKING);
me->SetWalk(true);
me->GetMotionMaster()->MovePoint(0, xerestraszaMovePos);
_events.ScheduleEvent(EVENT_XERESTRASZA_EVENT_1, 16000);
@@ -255,7 +255,7 @@ class boss_lich_king_toc : public CreatureScript
summoned->SetDisplayId(11686);
}
if (m_instance) m_instance->SetData(TYPE_LICH_KING, IN_PROGRESS);
me->AddUnitMovementFlag(MOVEMENTFLAG_WALKING);
me->SetWalk(true);
}
void MovementInform(uint32 uiType, uint32 uiId)
@@ -378,7 +378,7 @@ class npc_fizzlebang_toc : public CreatureScript
void Reset()
{
me->AddUnitMovementFlag(MOVEMENTFLAG_WALKING);
me->SetWalk(true);
m_uiPortalGUID = 0;
me->GetMotionMaster()->MovePoint(1, ToCCommonLoc[10].GetPositionX(), ToCCommonLoc[10].GetPositionY()-60, ToCCommonLoc[10].GetPositionZ());
}
@@ -390,7 +390,7 @@ class npc_fizzlebang_toc : public CreatureScript
switch (uiId)
{
case 1:
me->RemoveUnitMovementFlag(MOVEMENTFLAG_WALKING);
me->SetWalk(false);
if (m_instance)
{
m_instance->DoUseDoorOrButton(m_instance->GetData64(GO_MAIN_GATE_DOOR));
@@ -641,7 +641,7 @@ class npc_high_overlord_saurfang_icc : public CreatureScript
switch (id)
{
case POINT_FIRST_STEP:
me->RemoveUnitMovementFlag(MOVEMENTFLAG_WALKING);
me->SetWalk(false);
Talk(SAY_INTRO_HORDE_3);
_events.ScheduleEvent(EVENT_INTRO_HORDE_5, 15500, 0, PHASE_INTRO_H);
_events.ScheduleEvent(EVENT_INTRO_HORDE_6, 29500, 0, PHASE_INTRO_H);
@@ -687,7 +687,7 @@ class npc_high_overlord_saurfang_icc : public CreatureScript
switch (eventId)
{
case EVENT_INTRO_HORDE_3:
me->AddUnitMovementFlag(MOVEMENTFLAG_WALKING);
me->SetWalk(true);
me->GetMotionMaster()->MovePoint(POINT_FIRST_STEP, firstStepPos.GetPositionX(), firstStepPos.GetPositionY(), firstStepPos.GetPositionZ());
break;
case EVENT_INTRO_HORDE_5:
@@ -718,7 +718,7 @@ class npc_high_overlord_saurfang_icc : public CreatureScript
{
float x, y, z;
deathbringer->GetClosePoint(x, y, z, deathbringer->GetObjectSize());
me->AddUnitMovementFlag(MOVEMENTFLAG_WALKING);
me->SetWalk(true);
me->GetMotionMaster()->MovePoint(POINT_CORPSE, x, y, z);
}
break;
@@ -841,7 +841,7 @@ class npc_muradin_bronzebeard_icc : public CreatureScript
{
if (type == POINT_MOTION_TYPE && id == POINT_FIRST_STEP)
{
me->RemoveUnitMovementFlag(MOVEMENTFLAG_WALKING);
me->SetWalk(false);
Talk(SAY_INTRO_ALLIANCE_4);
_events.ScheduleEvent(EVENT_INTRO_ALLIANCE_5, 5000, 0, PHASE_INTRO_A);
if (Creature* deathbringer = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_DEATHBRINGER_SAURFANG)))
@@ -865,7 +865,7 @@ class npc_muradin_bronzebeard_icc : public CreatureScript
switch (eventId)
{
case EVENT_INTRO_ALLIANCE_4:
me->AddUnitMovementFlag(MOVEMENTFLAG_WALKING);
me->SetWalk(true);
me->GetMotionMaster()->MovePoint(POINT_FIRST_STEP, firstStepPos.GetPositionX(), firstStepPos.GetPositionY(), firstStepPos.GetPositionZ());
break;
case EVENT_INTRO_ALLIANCE_5:
@@ -191,7 +191,7 @@ class boss_professor_putricide : public CreatureScript
SetPhase(PHASE_COMBAT_1);
_experimentState = EXPERIMENT_STATE_OOZE;
me->SetReactState(REACT_DEFENSIVE);
me->RemoveUnitMovementFlag(MOVEMENTFLAG_WALKING);
me->SetWalk(false);
if (me->GetMotionMaster()->GetCurrentMovementGeneratorType() == POINT_MOTION_TYPE)
me->GetMotionMaster()->MovementExpired();
@@ -230,7 +230,7 @@ class boss_professor_putricide : public CreatureScript
void JustReachedHome()
{
_JustReachedHome();
me->RemoveUnitMovementFlag(MOVEMENTFLAG_WALKING);
me->SetWalk(false);
if (events.GetPhaseMask() & PHASE_MASK_COMBAT)
instance->SetBossState(DATA_PROFESSOR_PUTRICIDE, FAIL);
}
@@ -660,7 +660,7 @@ class boss_the_lich_king : public CreatureScript
summons.DespawnAll();
SendMusicToPlayers(MUSIC_FURY_OF_FROSTMOURNE);
DoCastAOE(SPELL_FURY_OF_FROSTMOURNE);
me->AddUnitMovementFlag(MOVEMENTFLAG_WALKING);
me->SetWalk(true);
events.ScheduleEvent(EVENT_OUTRO_TALK_1, 2600, 0, PHASE_OUTRO);
events.ScheduleEvent(EVENT_OUTRO_EMOTE_TALK, 6600, 0, PHASE_OUTRO);
events.ScheduleEvent(EVENT_OUTRO_EMOTE_TALK, 17600, 0, PHASE_OUTRO);
@@ -864,7 +864,7 @@ class boss_the_lich_king : public CreatureScript
case EVENT_INTRO_MOVE_1:
me->SetSheath(SHEATH_STATE_MELEE);
me->RemoveAurasDueToSpell(SPELL_EMOTE_SIT_NO_SHEATH);
me->AddUnitMovementFlag(MOVEMENTFLAG_WALKING);
me->SetWalk(true);
me->GetMotionMaster()->MovePoint(POINT_LK_INTRO_1, LichKingIntro[0]);
break;
case EVENT_INTRO_MOVE_2:
@@ -894,7 +894,7 @@ class boss_the_lich_king : public CreatureScript
events.ScheduleEvent(EVENT_FINISH_INTRO, 1000, 0, PHASE_INTRO);
break;
case EVENT_FINISH_INTRO:
me->RemoveUnitMovementFlag(MOVEMENTFLAG_WALKING);
me->SetWalk(false);
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC);
me->SetReactState(REACT_AGGRESSIVE);
events.SetPhase(PHASE_ONE);
@@ -1226,7 +1226,7 @@ class npc_tirion_fordring_tft : public CreatureScript
{
_events.SetPhase(PHASE_INTRO);
me->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
me->AddUnitMovementFlag(MOVEMENTFLAG_WALKING);
me->SetWalk(true);
me->GetMotionMaster()->MovePoint(POINT_TIRION_INTRO, TirionIntro);
}
}
@@ -1264,7 +1264,7 @@ class npc_tirion_fordring_tft : public CreatureScript
me->HandleEmoteCommand(EMOTE_ONESHOT_POINT_NO_SHEATHE);
break;
case EVENT_INTRO_CHARGE:
me->RemoveUnitMovementFlag(MOVEMENTFLAG_WALKING);
me->SetWalk(false);
me->GetMotionMaster()->MovePoint(POINT_TIRION_CHARGE, TirionCharge);
break;
case EVENT_OUTRO_TALK_1:
@@ -194,7 +194,7 @@ public:
{
movementStarted = true;
me->SetReactState(REACT_PASSIVE);
me->RemoveUnitMovementFlag(MOVEMENTFLAG_WALKING);
me->SetWalk(false);
me->SetSpeed(MOVE_RUN, me->GetSpeedRate(MOVE_RUN), true);
switch (id)
@@ -169,7 +169,8 @@ class npc_azure_ring_captain : public CreatureScript
{
targetGUID = 0;
me->AddUnitMovementFlag(MOVEMENTFLAG_WALKING | MOVEMENTFLAG_FLYING);
me->SetWalk(true);
me->AddUnitMovementFlag(MOVEMENTFLAG_FLYING);
me->SetReactState(REACT_AGGRESSIVE);
}
@@ -214,7 +215,7 @@ class npc_azure_ring_captain : public CreatureScript
if (Unit* victim = varos->AI()->SelectTarget(SELECT_TARGET_RANDOM, 0))
{
me->SetReactState(REACT_PASSIVE);
me->RemoveUnitMovementFlag(MOVEMENTFLAG_WALKING);
me->SetWalk(false);
me->GetMotionMaster()->MovePoint(ACTION_CALL_DRAGON_EVENT, victim->GetPositionX(), victim->GetPositionY(), victim->GetPositionZ() + 20.0f);
targetGUID = victim->GetGUID();
}
@@ -647,7 +647,7 @@ class npc_expedition_commander : public CreatureScript
for (uint8 n = 0; n < RAID_MODE(2, 4); n++)
{
Engineer[n] = me->SummonCreature(NPC_ENGINEER, PosEngSpawn, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 3000);
Engineer[n]->RemoveUnitMovementFlag(MOVEMENTFLAG_WALKING);
Engineer[n]->SetWalk(false);
Engineer[n]->SetSpeed(MOVE_RUN, 0.5f);
Engineer[n]->SetHomePosition(PosEngRepair[n]);
Engineer[n]->GetMotionMaster()->MoveTargetedHome();
@@ -660,7 +660,7 @@ class npc_expedition_commander : public CreatureScript
for (uint8 n = 0; n < 4; n++)
{
Defender[n] = me->SummonCreature(NPC_DEFENDER, PosDefSpawn[n], TEMPSUMMON_CORPSE_TIMED_DESPAWN, 3000);
Defender[n]->RemoveUnitMovementFlag(MOVEMENTFLAG_WALKING);
Defender[n]->SetWalk(false);
Defender[n]->SetHomePosition(PosDefCombat[n]);
Defender[n]->GetMotionMaster()->MoveTargetedHome();
}
@@ -240,7 +240,7 @@ public:
m_instance->SetData(DATA_SKADI_THE_RUTHLESS_EVENT, IN_PROGRESS);
m_instance->DoStartTimedAchievement(ACHIEVEMENT_TIMED_TYPE_EVENT, ACHIEV_TIMED_START_EVENT);
me->GetMotionMaster()->MoveJump(Location[0].GetPositionX(), Location[0].GetPositionY(), Location[0].GetPositionZ(), 5.0f, 10.0f);
me->RemoveUnitMovementFlag(MOVEMENTFLAG_WALKING);
me->SetWalk(false);
m_uiMountTimer = 1000;
Summons.DespawnEntry(CREATURE_GRAUF);
}
@@ -340,7 +340,7 @@ public:
if ((*itr)->isAlive())
{
(*itr)->SetStandState(UNIT_STAND_STATE_STAND);
(*itr)->RemoveUnitMovementFlag(MOVEMENTFLAG_WALKING);
(*itr)->SetWalk(false);
(*itr)->GetMotionMaster()->MovePoint(1, spectatorWP[0][0], spectatorWP[0][1], spectatorWP[0][2]);
}
}
@@ -363,7 +363,7 @@ public:
{
if (Creature* pGuard = *itr)
{
pGuard->RemoveUnitMovementFlag(MOVEMENTFLAG_WALKING);
pGuard->SetWalk(false);
pGuard->GetMotionMaster()->MovePoint(0, MovePosition);
}
}
@@ -1030,16 +1030,16 @@ public:
uiArthas = pArthas->GetGUID();
pArthas->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
pArthas->SetReactState(REACT_PASSIVE);
pArthas->AddUnitMovementFlag(MOVEMENTFLAG_WALKING);
pArthas->SetWalk(true);
pArthas->GetMotionMaster()->MovePoint(0, 3737.374756f, 3564.841309f, 477.433014f);
}
if (Creature* pTalbot = me->SummonCreature(NPC_COUNSELOR_TALBOT, 3747.23f, 3614.936f, 473.321f, 4.462012f, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 120000))
{
uiTalbot = pTalbot->GetGUID();
pTalbot->AddUnitMovementFlag(MOVEMENTFLAG_WALKING);
pTalbot->SetWalk(true);
pTalbot->GetMotionMaster()->MovePoint(0, 3738.000977f, 3568.882080f, 477.433014f);
}
me->RemoveUnitMovementFlag(MOVEMENTFLAG_WALKING);
me->SetWalk(false);
break;
case 4:
@@ -1118,13 +1118,13 @@ public:
if (Creature* pArlos = me->SummonCreature(NPC_GENERAL_ARLOS, 3745.527100f, 3615.655029f, 473.321533f, 4.447805f, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 120000))
{
uiArlos = pArlos->GetGUID();
pArlos->AddUnitMovementFlag(MOVEMENTFLAG_WALKING);
pArlos->SetWalk(true);
pArlos->GetMotionMaster()->MovePoint(0, 3735.570068f, 3572.419922f, 477.441010f);
}
if (Creature* pLeryssa = me->SummonCreature(NPC_LERYSSA, 3749.654541f, 3614.959717f, 473.323486f, 4.524959f, TEMPSUMMON_CORPSE_TIMED_DESPAWN, 120000))
{
uiLeryssa = pLeryssa->GetGUID();
pLeryssa->AddUnitMovementFlag(MOVEMENTFLAG_WALKING);
pLeryssa->SetWalk(false);
pLeryssa->SetReactState(REACT_PASSIVE);
pLeryssa->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
pLeryssa->GetMotionMaster()->MovePoint(0, 3741.969971f, 3571.439941f, 477.441010f);
@@ -1446,7 +1446,7 @@ public:
pArlos->Kill(pArlos, false);
pLeryssa->RemoveAura(SPELL_STUN);
pLeryssa->ClearUnitState(UNIT_STATE_STUNNED);
pLeryssa->RemoveUnitMovementFlag(MOVEMENTFLAG_WALKING);
pLeryssa->SetWalk(false);
pLeryssa->GetMotionMaster()->MovePoint(0, 3722.114502f, 3564.201660f, 477.441437f);
if (killer->GetTypeId() == TYPEID_PLAYER)
@@ -162,7 +162,7 @@ public:
player->GroupEventHappens(QUEST_PERILOUS_ADVENTURE, me);
DoScriptText(SAY_QUEST_COMPLETE, me, player);
}
me->RemoveUnitMovementFlag(MOVEMENTFLAG_WALKING);
me->SetWalk(false);
break;
case 25:
DoScriptText(SAY_VICTORY4, me);
@@ -389,7 +389,7 @@ public:
{
if (player->isAlive())
{
summon->RemoveUnitMovementFlag(MOVEMENTFLAG_WALKING);
summon->SetWalk(false);
summon->GetMotionMaster()->MovePoint(0, afCenter[0], afCenter[1], afCenter[2]);
summon->AI()->AttackStart(player);
return;
+1 -1
View File
@@ -1328,7 +1328,7 @@ public:
break;
case 2:
// walk forward
me->AddUnitMovementFlag(MOVEMENTFLAG_WALKING);
me->SetWalk(true);
me->GetMotionMaster()->MovePoint(0, me->GetPositionX() + (cos(m_heading) * 10), me->GetPositionY() + (sin(m_heading) * 10), me->GetPositionZ());
m_uiTimer = 5000;
m_uiPhase = 3;