aboutsummaryrefslogtreecommitdiff
path: root/src/server/scripts
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/scripts')
-rw-r--r--src/server/scripts/Commands/cs_account.cpp3
-rw-r--r--src/server/scripts/EasternKingdoms/CMakeLists.txt1
-rw-r--r--src/server/scripts/EasternKingdoms/Deadmines/instance_deadmines.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/Karazhan/boss_nightbane.cpp10
-rw-r--r--src/server/scripts/EasternKingdoms/Karazhan/karazhan.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/MagistersTerrace/boss_felblood_kaelthas.cpp4
-rw-r--r--src/server/scripts/EasternKingdoms/MagistersTerrace/boss_selin_fireheart.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp4
-rw-r--r--src/server/scripts/EasternKingdoms/ScarletEnclave/chapter2.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/ScarletEnclave/chapter5.cpp62
-rw-r--r--src/server/scripts/EasternKingdoms/ScarletEnclave/the_scarlet_enclave.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/SunwellPlateau/boss_brutallus.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/SunwellPlateau/boss_felmyst.cpp4
-rw-r--r--src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kalecgos.cpp8
-rw-r--r--src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kiljaeden.cpp14
-rw-r--r--src/server/scripts/EasternKingdoms/ZulAman/boss_janalai.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/ZulAman/boss_nalorakk.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/ghostlands.cpp6
-rw-r--r--src/server/scripts/EasternKingdoms/hinterlands.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/redridge_mountains.cpp4
-rw-r--r--src/server/scripts/EasternKingdoms/searing_gorge.cpp179
-rw-r--r--src/server/scripts/EasternKingdoms/stormwind_city.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/undercity.cpp4
-rw-r--r--src/server/scripts/EasternKingdoms/western_plaguelands.cpp2
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjalAI.cpp4
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjal_trash.cpp6
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/culling_of_stratholme.cpp12
-rw-r--r--src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/old_hillsbrad.cpp2
-rw-r--r--src/server/scripts/Kalimdor/ZulFarrak/instance_zulfarrak.cpp2
-rw-r--r--src/server/scripts/Kalimdor/ZulFarrak/zulfarrak.cpp2
-rw-r--r--src/server/scripts/Kalimdor/dustwallow_marsh.cpp2
-rw-r--r--src/server/scripts/Kalimdor/silithus.cpp8
-rw-r--r--src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_prince_taldaram.cpp4
-rw-r--r--src/server/scripts/Northrend/ChamberOfAspects/ObsidianSanctum/boss_sartharion.cpp2
-rw-r--r--src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_saviana_ragefire.cpp6
-rw-r--r--src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/ruby_sanctum.cpp2
-rw-r--r--src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_argent_challenge.cpp2
-rw-r--r--src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_grand_champions.cpp2
-rwxr-xr-xsrc/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_twin_valkyr.cpp4
-rwxr-xr-xsrc/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/trial_of_the_crusader.cpp6
-rw-r--r--src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_forgemaster_garfrost.cpp2
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/boss_blood_prince_council.cpp2
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/boss_blood_queen_lana_thel.cpp10
-rwxr-xr-xsrc/server/scripts/Northrend/IcecrownCitadel/boss_deathbringer_saurfang.cpp20
-rwxr-xr-xsrc/server/scripts/Northrend/IcecrownCitadel/boss_professor_putricide.cpp4
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/boss_sindragosa.cpp18
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/boss_the_lich_king.cpp14
-rw-r--r--src/server/scripts/Northrend/Naxxramas/boss_four_horsemen.cpp2
-rw-r--r--src/server/scripts/Northrend/Naxxramas/boss_sapphiron.cpp4
-rw-r--r--src/server/scripts/Northrend/Nexus/EyeOfEternity/boss_malygos.cpp10
-rw-r--r--src/server/scripts/Northrend/Nexus/Oculus/boss_varos.cpp5
-rw-r--r--src/server/scripts/Northrend/Ulduar/Ulduar/boss_assembly_of_iron.cpp6
-rw-r--r--src/server/scripts/Northrend/Ulduar/Ulduar/boss_flame_leviathan.cpp34
-rw-r--r--src/server/scripts/Northrend/Ulduar/Ulduar/boss_kologarn.cpp2
-rw-r--r--src/server/scripts/Northrend/Ulduar/Ulduar/boss_razorscale.cpp4
-rw-r--r--src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_skadi.cpp2
-rw-r--r--src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_svala.cpp14
-rw-r--r--src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_ymiron.cpp2
-rw-r--r--src/server/scripts/Northrend/VioletHold/violet_hold.cpp2
-rw-r--r--src/server/scripts/Northrend/borean_tundra.cpp12
-rw-r--r--src/server/scripts/Northrend/grizzly_hills.cpp2
-rw-r--r--src/server/scripts/Northrend/howling_fjord.cpp2
-rw-r--r--src/server/scripts/Northrend/zuldrak.cpp2
-rw-r--r--src/server/scripts/Outland/BlackTemple/boss_illidan.cpp10
-rw-r--r--src/server/scripts/Outland/BlackTemple/boss_shade_of_akama.cpp8
-rw-r--r--src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_lady_vashj.cpp4
-rw-r--r--src/server/scripts/Outland/HellfireCitadel/HellfireRamparts/boss_vazruden_the_herald.cpp6
-rw-r--r--src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/boss_warchief_kargath_bladefist.cpp2
-rw-r--r--src/server/scripts/Outland/nagrand.cpp4
-rw-r--r--src/server/scripts/Outland/shadowmoon_valley.cpp10
-rw-r--r--src/server/scripts/Outland/terokkar_forest.cpp3
-rw-r--r--src/server/scripts/Spells/spell_dk.cpp4
-rw-r--r--src/server/scripts/Spells/spell_generic.cpp4
-rw-r--r--src/server/scripts/Spells/spell_hunter.cpp2
-rw-r--r--src/server/scripts/Spells/spell_item.cpp33
-rw-r--r--src/server/scripts/Spells/spell_priest.cpp2
-rw-r--r--src/server/scripts/Spells/spell_quest.cpp37
-rw-r--r--src/server/scripts/Spells/spell_warlock.cpp4
-rw-r--r--src/server/scripts/World/boss_emerald_dragons.cpp2
-rw-r--r--src/server/scripts/World/npcs_special.cpp6
80 files changed, 302 insertions, 405 deletions
diff --git a/src/server/scripts/Commands/cs_account.cpp b/src/server/scripts/Commands/cs_account.cpp
index 7372c92c4dd..df83fe8118f 100644
--- a/src/server/scripts/Commands/cs_account.cpp
+++ b/src/server/scripts/Commands/cs_account.cpp
@@ -502,11 +502,12 @@ public:
stmt->setUInt32(0, targetAccountId);
stmt->setUInt32(1, realmID);
}
+
LoginDatabase.Execute(stmt);
if (gm != 0)
{
- PreparedStatement* stmt = LoginDatabase.GetPreparedStatement(LOGIN_INS_ACCOUNT_ACCESS);
+ stmt = LoginDatabase.GetPreparedStatement(LOGIN_INS_ACCOUNT_ACCESS);
stmt->setUInt32(0, targetAccountId);
stmt->setUInt8(1, uint8(gm));
diff --git a/src/server/scripts/EasternKingdoms/CMakeLists.txt b/src/server/scripts/EasternKingdoms/CMakeLists.txt
index af106ea0004..5af9dd2f23e 100644
--- a/src/server/scripts/EasternKingdoms/CMakeLists.txt
+++ b/src/server/scripts/EasternKingdoms/CMakeLists.txt
@@ -33,7 +33,6 @@ set(scripts_STAT_SRCS
EasternKingdoms/Scholomance/boss_ras_frostwhisper.cpp
EasternKingdoms/isle_of_queldanas.cpp
EasternKingdoms/boss_kruul.cpp
- EasternKingdoms/searing_gorge.cpp
EasternKingdoms/ZulGurub/boss_hakkar.cpp
EasternKingdoms/ZulGurub/boss_mandokir.cpp
EasternKingdoms/ZulGurub/boss_marli.cpp
diff --git a/src/server/scripts/EasternKingdoms/Deadmines/instance_deadmines.cpp b/src/server/scripts/EasternKingdoms/Deadmines/instance_deadmines.cpp
index 76bdfe753c6..a75eda93d1d 100644
--- a/src/server/scripts/EasternKingdoms/Deadmines/instance_deadmines.cpp
+++ b/src/server/scripts/EasternKingdoms/Deadmines/instance_deadmines.cpp
@@ -156,7 +156,7 @@ class instance_deadmines : public InstanceMapScript
void MoveCreatureInside(Creature* creature)
{
- creature->RemoveUnitMovementFlag(MOVEMENTFLAG_WALKING);
+ creature->SetWalk(false);
creature->GetMotionMaster()->MovePoint(0, -102.7f, -655.9f, creature->GetPositionZ());
}
diff --git a/src/server/scripts/EasternKingdoms/Karazhan/boss_nightbane.cpp b/src/server/scripts/EasternKingdoms/Karazhan/boss_nightbane.cpp
index 728446aa833..2a8676d7915 100644
--- a/src/server/scripts/EasternKingdoms/Karazhan/boss_nightbane.cpp
+++ b/src/server/scripts/EasternKingdoms/Karazhan/boss_nightbane.cpp
@@ -121,8 +121,8 @@ public:
MovePhase = 0;
me->SetSpeed(MOVE_RUN, 2.0f);
- me->AddUnitMovementFlag(MOVEMENTFLAG_LEVITATING);
- me->RemoveUnitMovementFlag(MOVEMENTFLAG_WALKING);
+ me->SetLevitate(true);
+ me->SetWalk(false);
me->setActive(true);
if (instance)
@@ -240,7 +240,7 @@ public:
me->InterruptSpell(CURRENT_GENERIC_SPELL);
me->HandleEmoteCommand(EMOTE_ONESHOT_LIFTOFF);
- me->AddUnitMovementFlag(MOVEMENTFLAG_LEVITATING);
+ me->SetLevitate(true);
(*me).GetMotionMaster()->Clear(false);
(*me).GetMotionMaster()->MovePoint(0, IntroWay[2][0], IntroWay[2][1], IntroWay[2][2]);
@@ -263,7 +263,7 @@ public:
{
if (MovePhase >= 7)
{
- me->RemoveUnitMovementFlag(MOVEMENTFLAG_LEVITATING);
+ me->SetLevitate(false);
me->HandleEmoteCommand(EMOTE_ONESHOT_LAND);
me->GetMotionMaster()->MovePoint(8, IntroWay[7][0], IntroWay[7][1], IntroWay[7][2]);
}
@@ -277,7 +277,7 @@ public:
{
if (MovePhase >= 7)
{
- me->RemoveUnitMovementFlag(MOVEMENTFLAG_LEVITATING);
+ me->SetLevitate(false);
me->HandleEmoteCommand(EMOTE_ONESHOT_LAND);
me->GetMotionMaster()->MovePoint(8, IntroWay[7][0], IntroWay[7][1], IntroWay[7][2]);
}
diff --git a/src/server/scripts/EasternKingdoms/Karazhan/karazhan.cpp b/src/server/scripts/EasternKingdoms/Karazhan/karazhan.cpp
index 056a2e95448..30fc8a2f9c4 100644
--- a/src/server/scripts/EasternKingdoms/Karazhan/karazhan.cpp
+++ b/src/server/scripts/EasternKingdoms/Karazhan/karazhan.cpp
@@ -527,7 +527,7 @@ public:
if (!Arcanagos)
return;
ArcanagosGUID = Arcanagos->GetGUID();
- Arcanagos->AddUnitMovementFlag(MOVEMENTFLAG_LEVITATING);
+ Arcanagos->SetLevitate(true);
(*Arcanagos).GetMotionMaster()->MovePoint(0, ArcanagosPos[0], ArcanagosPos[1], ArcanagosPos[2]);
Arcanagos->SetOrientation(ArcanagosPos[3]);
me->SetOrientation(MedivPos[3]);
diff --git a/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_felblood_kaelthas.cpp b/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_felblood_kaelthas.cpp
index 94c894f7e47..a46037f2662 100644
--- a/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_felblood_kaelthas.cpp
+++ b/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_felblood_kaelthas.cpp
@@ -497,7 +497,7 @@ public:
void Reset()
{
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE + UNIT_FLAG_NON_ATTACKABLE);
- me->AddUnitMovementFlag(MOVEMENTFLAG_LEVITATING);
+ me->SetLevitate(true);
DoCast(me, SPELL_PHOENIX_BURN, true);
BurnTimer = 2000;
Death_Timer = 3000;
@@ -651,7 +651,7 @@ public:
ChangeTargetTimer = urand(6000, 12000);
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
- me->AddUnitMovementFlag(MOVEMENTFLAG_LEVITATING);
+ me->SetLevitate(true);
me->setFaction(14);
DoCast(me, SPELL_ARCANE_SPHERE_PASSIVE, true);
}
diff --git a/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_selin_fireheart.cpp b/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_selin_fireheart.cpp
index fa97e4eefc0..62acd96d0a9 100644
--- a/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_selin_fireheart.cpp
+++ b/src/server/scripts/EasternKingdoms/MagistersTerrace/boss_selin_fireheart.cpp
@@ -171,7 +171,7 @@ public:
float x, y, z; // coords that we move to, close to the crystal.
CrystalChosen->GetClosePoint(x, y, z, me->GetObjectSize(), CONTACT_DISTANCE);
- me->RemoveUnitMovementFlag(MOVEMENTFLAG_WALKING);
+ me->SetWalk(false);
me->GetMotionMaster()->MovePoint(1, x, y, z);
DrainingCrystal = true;
}
diff --git a/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp b/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp
index a2c8a890feb..342c0d18dc9 100644
--- a/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp
+++ b/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter1.cpp
@@ -587,7 +587,7 @@ public:
return;
TargetGUID = who->GetGUID();
- me->AddUnitMovementFlag(MOVEMENTFLAG_WALKING);
+ me->SetWalk(true);
me->SetSpeed(MOVE_RUN, 0.4f);
me->GetMotionMaster()->MoveChase(who);
me->SetTarget(TargetGUID);
@@ -892,7 +892,7 @@ public:
{
if (Creature* miner = Unit::GetCreature(*me, minerGUID))
{
- me->RemoveUnitMovementFlag(MOVEMENTFLAG_WALKING);
+ me->SetWalk(false);
//Not 100% correct, but movement is smooth. Sometimes miner walks faster
//than normal, this speed is fast enough to keep up at those times.
diff --git a/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter2.cpp b/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter2.cpp
index 4583a33a196..d8cbf0e8595 100644
--- a/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter2.cpp
+++ b/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter2.cpp
@@ -400,7 +400,7 @@ public:
switch (uiStage)
{
case 1:
- me->AddUnitMovementFlag(MOVEMENTFLAG_WALKING);
+ me->SetWalk(true);
if (GameObject* tree = me->FindNearestGameObject(GO_INCONSPICUOUS_TREE, 40.0f))
{
DoScriptText(SAY_TREE1, me);
diff --git a/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter5.cpp b/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter5.cpp
index 81c4b1261ef..2df31971275 100644
--- a/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter5.cpp
+++ b/src/server/scripts/EasternKingdoms/ScarletEnclave/chapter5.cpp
@@ -502,7 +502,7 @@ public:
switch (wpId)
{
case 0:
- me->RemoveUnitMovementFlag(MOVEMENTFLAG_WALKING);
+ me->SetWalk(false);
SetHoldState(true);
break;
case 1:
@@ -537,7 +537,7 @@ public:
bIsBattle = true;
break;
case 2:
- me->AddUnitMovementFlag(MOVEMENTFLAG_WALKING);
+ me->SetWalk(true);
DoCast(me, SPELL_THE_LIGHT_OF_DAWN);
break;
case 3:
@@ -551,30 +551,30 @@ public:
{
if (temp->HasAura(SPELL_THE_LIGHT_OF_DAWN, 0))
temp->RemoveAurasDueToSpell(SPELL_THE_LIGHT_OF_DAWN);
- temp->AddUnitMovementFlag(MOVEMENTFLAG_WALKING);
+ temp->SetWalk(true);
temp->GetMotionMaster()->MovePoint(0, LightofDawnLoc[19].x, LightofDawnLoc[19].y, LightofDawnLoc[19].z);
}
if (Creature* temp = Unit::GetCreature(*me, uiThassarianGUID))
{
if (temp->HasAura(SPELL_THE_LIGHT_OF_DAWN, 0))
temp->RemoveAurasDueToSpell(SPELL_THE_LIGHT_OF_DAWN);
- temp->AddUnitMovementFlag(MOVEMENTFLAG_WALKING);
+ temp->SetWalk(true);
temp->GetMotionMaster()->MovePoint(0, LightofDawnLoc[21].x, LightofDawnLoc[21].y, LightofDawnLoc[21].z);
}
if (Creature* temp = Unit::GetCreature(*me, uiKorfaxGUID))
{
- temp->AddUnitMovementFlag(MOVEMENTFLAG_WALKING);
+ temp->SetWalk(true);
temp->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_STATE_READY2H);
temp->GetMotionMaster()->MovePoint(0, LightofDawnLoc[10].x, LightofDawnLoc[10].y, LightofDawnLoc[10].z);
}
if (Creature* temp = Unit::GetCreature(*me, uiMaxwellGUID))
{
- temp->AddUnitMovementFlag(MOVEMENTFLAG_WALKING);
+ temp->SetWalk(true);
temp->GetMotionMaster()->MovePoint(0, LightofDawnLoc[13].x, LightofDawnLoc[13].y, LightofDawnLoc[13].z);
}
if (Creature* temp = Unit::GetCreature(*me, uiEligorGUID))
{
- temp->AddUnitMovementFlag(MOVEMENTFLAG_WALKING);
+ temp->SetWalk(true);
temp->GetMotionMaster()->MovePoint(0, LightofDawnLoc[16].x, LightofDawnLoc[16].y, LightofDawnLoc[16].z);
}
JumpToNextStep(10000);
@@ -664,7 +664,7 @@ public:
if (uiSummon_counter < ENCOUNTER_GHOUL_NUMBER)
{
Unit* temp = me->SummonCreature(NPC_ACHERUS_GHOUL, (me->GetPositionX()-20)+rand()%40, (me->GetPositionY()-20)+rand()%40, me->GetPositionZ(), 0, TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 300000);
- temp->RemoveUnitMovementFlag(MOVEMENTFLAG_WALKING);
+ temp->SetWalk(false);
temp->setFaction(2084);
uiGhoulGUID[uiSummon_counter] = temp->GetGUID();
++uiSummon_counter;
@@ -682,7 +682,7 @@ public:
if (uiSummon_counter < ENCOUNTER_ABOMINATION_NUMBER)
{
Unit* temp = me->SummonCreature(NPC_RAMPAGING_ABOMINATION, (me->GetPositionX()-20)+rand()%40, (me->GetPositionY()-20)+rand()%40, me->GetPositionZ(), 0, TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 300000);
- temp->RemoveUnitMovementFlag(MOVEMENTFLAG_WALKING);
+ temp->SetWalk(false);
temp->setFaction(2084);
uiAbominationGUID[uiSummon_counter] = temp->GetGUID();
++uiSummon_counter;
@@ -700,7 +700,7 @@ public:
if (uiSummon_counter < ENCOUNTER_WARRIOR_NUMBER)
{
Unit* temp = me->SummonCreature(NPC_WARRIOR_OF_THE_FROZEN_WASTES, (me->GetPositionX()-20)+rand()%40, (me->GetPositionY()-20)+rand()%40, me->GetPositionZ(), 0, TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 300000);
- temp->RemoveUnitMovementFlag(MOVEMENTFLAG_WALKING);
+ temp->SetWalk(false);
temp->setFaction(2084);
uiWarriorGUID[uiSummon_counter] = temp->GetGUID();
++uiSummon_counter;
@@ -718,7 +718,7 @@ public:
if (uiSummon_counter < ENCOUNTER_BEHEMOTH_NUMBER)
{
Unit* temp = me->SummonCreature(NPC_FLESH_BEHEMOTH, (me->GetPositionX()-20)+rand()%40, (me->GetPositionY()-20)+rand()%40, me->GetPositionZ(), 0, TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 300000);
- temp->RemoveUnitMovementFlag(MOVEMENTFLAG_WALKING);
+ temp->SetWalk(false);
temp->setFaction(2084);
uiBehemothGUID[uiSummon_counter] = temp->GetGUID();
++uiSummon_counter;
@@ -739,17 +739,17 @@ public:
SetHoldState(false);
if (Creature* temp = Unit::GetCreature(*me, uiKoltiraGUID))
{
- temp->RemoveUnitMovementFlag(MOVEMENTFLAG_WALKING);
+ temp->SetWalk(false);
temp->GetMotionMaster()->MovePoint(0, LightofDawnLoc[0].x+rand()%30, LightofDawnLoc[0].y+rand()%30, LightofDawnLoc[0].z);
}
if (Creature* temp = Unit::GetCreature(*me, uiOrbazGUID))
{
- temp->RemoveUnitMovementFlag(MOVEMENTFLAG_WALKING);
+ temp->SetWalk(false);
temp->GetMotionMaster()->MovePoint(0, LightofDawnLoc[0].x+rand()%30, LightofDawnLoc[0].y+rand()%30, LightofDawnLoc[0].z);
}
if (Creature* temp = Unit::GetCreature(*me, uiThassarianGUID))
{
- temp->RemoveUnitMovementFlag(MOVEMENTFLAG_WALKING);
+ temp->SetWalk(false);
temp->GetMotionMaster()->MovePoint(0, LightofDawnLoc[0].x+rand()%30, LightofDawnLoc[0].y+rand()%30, LightofDawnLoc[0].z);
}
for (uint8 i = 0; i < ENCOUNTER_ABOMINATION_NUMBER; ++i)
@@ -824,7 +824,7 @@ public:
if (Unit* temp = me->SummonCreature(NPC_DARION_MOGRAINE, LightofDawnLoc[24].x, LightofDawnLoc[24].y, LightofDawnLoc[24].z, LightofDawnLoc[24].o, TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 300000))
{
DoScriptText(SAY_LIGHT_OF_DAWN35, temp);
- temp->RemoveUnitMovementFlag(MOVEMENTFLAG_WALKING);
+ temp->SetWalk(false);
uiDarionGUID = temp->GetGUID();
}
JumpToNextStep(4000);
@@ -940,7 +940,7 @@ public:
DoCast(me, SPELL_MOGRAINE_CHARGE); // jumping charge
// doesn't make it looks well, so workarounds, Darion charges, looks better
me->SetSpeed(MOVE_RUN, 3.0f);
- me->RemoveUnitMovementFlag(MOVEMENTFLAG_WALKING);
+ me->SetWalk(false);
SetHoldState(false);
JumpToNextStep(0);
break;
@@ -1013,7 +1013,7 @@ public:
Unit* temp;
temp = me->SummonCreature(NPC_DEFENDER_OF_THE_LIGHT, LightofDawnLoc[0].x+rand()%10, LightofDawnLoc[0].y+rand()%10, LightofDawnLoc[0].z, 0, TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 10000);
temp->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_STATE_ATTACK_UNARMED);
- temp->RemoveUnitMovementFlag(MOVEMENTFLAG_WALKING);
+ temp->SetWalk(false);
temp->SetSpeed(MOVE_RUN, 2.0f);
temp->setFaction(me->getFaction());
temp->GetMotionMaster()->MovePoint(0, fLichPositionX, fLichPositionY, fLichPositionZ);
@@ -1021,7 +1021,7 @@ public:
temp = me->SummonCreature(NPC_RIMBLAT_EARTHSHATTER, LightofDawnLoc[0].x+rand()%10, LightofDawnLoc[0].y+rand()%10, LightofDawnLoc[0].z, 0, TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 10000);
temp->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_STATE_ATTACK_UNARMED);
- temp->RemoveUnitMovementFlag(MOVEMENTFLAG_WALKING);
+ temp->SetWalk(false);
temp->SetSpeed(MOVE_RUN, 2.0f);
temp->setFaction(me->getFaction());
temp->GetMotionMaster()->MovePoint(0, fLichPositionX, fLichPositionY, fLichPositionZ);
@@ -1030,7 +1030,7 @@ public:
if (Creature* temp = Unit::GetCreature(*me, uiMaxwellGUID))
{
temp->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_STATE_ATTACK_UNARMED);
- temp->RemoveUnitMovementFlag(MOVEMENTFLAG_WALKING);
+ temp->SetWalk(false);
temp->SetSpeed(MOVE_RUN, 2.0f);
temp->GetMotionMaster()->MovePoint(0, fLichPositionX, fLichPositionY, fLichPositionZ);
DoScriptText(SAY_LIGHT_OF_DAWN50, temp);
@@ -1038,7 +1038,7 @@ public:
if (Creature* temp = Unit::GetCreature(*me, uiKorfaxGUID))
{
temp->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_STATE_ATTACK_UNARMED);
- temp->RemoveUnitMovementFlag(MOVEMENTFLAG_WALKING);
+ temp->SetWalk(false);
temp->SetSpeed(MOVE_RUN, 2.0f);
temp->HandleEmoteCommand(EMOTE_STATE_ATTACK_UNARMED);
temp->GetMotionMaster()->MovePoint(0, fLichPositionX, fLichPositionY, fLichPositionZ);
@@ -1046,7 +1046,7 @@ public:
if (Creature* temp = Unit::GetCreature(*me, uiEligorGUID))
{
temp->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_STATE_ATTACK_UNARMED);
- temp->RemoveUnitMovementFlag(MOVEMENTFLAG_WALKING);
+ temp->SetWalk(false);
temp->SetSpeed(MOVE_RUN, 2.0f);
temp->GetMotionMaster()->MovePoint(0, fLichPositionX, fLichPositionY, fLichPositionZ);
}
@@ -1111,7 +1111,7 @@ public:
case 46: // Darion stand up, "not today"
me->SetSpeed(MOVE_RUN, 1.0f);
- me->AddUnitMovementFlag(MOVEMENTFLAG_WALKING);
+ me->SetWalk(true);
me->SetStandState(UNIT_STAND_STATE_STAND);
DoScriptText(SAY_LIGHT_OF_DAWN53, me);
SetHoldState(false); // Darion throws sword
@@ -1171,7 +1171,7 @@ public:
temp->CastSpell(temp, SPELL_TIRION_CHARGE, false); // jumping charge
temp->SetUInt32Value(UNIT_NPC_EMOTESTATE, EMOTE_STATE_READY2H);
temp->SetSpeed(MOVE_RUN, 3.0f); // workarounds, make Tirion still running
- temp->RemoveUnitMovementFlag(MOVEMENTFLAG_WALKING);
+ temp->SetWalk(false);
temp->GetMotionMaster()->MovePoint(0, LightofDawnLoc[2].x, LightofDawnLoc[2].y, LightofDawnLoc[2].z);
if (Creature* lktemp = Unit::GetCreature(*me, uiLichKingGUID))
lktemp->Relocate(LightofDawnLoc[28].x, LightofDawnLoc[28].y, LightofDawnLoc[28].z); // workarounds, he should kick back by Tirion, but here we relocate him
@@ -1189,7 +1189,7 @@ public:
if (Creature* temp = Unit::GetCreature(*me, uiLichKingGUID))
{
temp->SetSpeed(MOVE_RUN, 1.0f);
- me->AddUnitMovementFlag(MOVEMENTFLAG_WALKING);
+ me->SetWalk(true);
temp->GetMotionMaster()->MovePoint(0, LightofDawnLoc[29].x, LightofDawnLoc[29].y, LightofDawnLoc[29].z); // 26
}
JumpToNextStep(4000);
@@ -1249,7 +1249,7 @@ public:
case 62:
if (Creature* temp = Unit::GetCreature(*me, uiTirionGUID))
{
- temp->AddUnitMovementFlag(MOVEMENTFLAG_WALKING);
+ temp->SetWalk(true);
temp->GetMotionMaster()->MovePoint(0, LightofDawnLoc[7].x, LightofDawnLoc[7].y, LightofDawnLoc[7].z);
}
JumpToNextStep(5500);
@@ -1438,7 +1438,7 @@ public:
me->DeleteThreatList();
me->CombatStop(true);
me->InterruptNonMeleeSpells(false);
- me->RemoveUnitMovementFlag(MOVEMENTFLAG_WALKING);
+ me->SetWalk(false);
for (uint8 i = 0; i < ENCOUNTER_DEFENDER_NUMBER; ++i)
DespawnNPC(uiDefenderGUID[i]);
@@ -1460,7 +1460,7 @@ public:
temp->CombatStop(true);
temp->AttackStop();
temp->setFaction(me->getFaction());
- temp->RemoveUnitMovementFlag(MOVEMENTFLAG_WALKING);
+ temp->SetWalk(false);
temp->GetMotionMaster()->MovePoint(0, LightofDawnLoc[9].x, LightofDawnLoc[9].y, LightofDawnLoc[9].z);
}
@@ -1471,7 +1471,7 @@ public:
temp->CombatStop(true);
temp->AttackStop();
temp->setFaction(me->getFaction());
- temp->RemoveUnitMovementFlag(MOVEMENTFLAG_WALKING);
+ temp->SetWalk(false);
temp->GetMotionMaster()->MovePoint(0, LightofDawnLoc[12].x, LightofDawnLoc[12].y, LightofDawnLoc[12].z);
}
@@ -1482,7 +1482,7 @@ public:
temp->CombatStop(true);
temp->AttackStop();
temp->setFaction(me->getFaction());
- temp->RemoveUnitMovementFlag(MOVEMENTFLAG_WALKING);
+ temp->SetWalk(false);
temp->GetMotionMaster()->MovePoint(0, LightofDawnLoc[15].x, LightofDawnLoc[15].y, LightofDawnLoc[15].z);
}
DespawnNPC(uiRayneGUID);
@@ -1494,7 +1494,7 @@ public:
temp->CombatStop(true);
temp->AttackStop();
temp->setFaction(me->getFaction());
- temp->RemoveUnitMovementFlag(MOVEMENTFLAG_WALKING);
+ temp->SetWalk(false);
temp->GetMotionMaster()->MovePoint(0, LightofDawnLoc[18].x, LightofDawnLoc[18].y, LightofDawnLoc[18].z);
temp->CastSpell(temp, SPELL_THE_LIGHT_OF_DAWN, false);
}
@@ -1509,7 +1509,7 @@ public:
temp->CombatStop(true);
temp->AttackStop();
temp->setFaction(me->getFaction());
- temp->RemoveUnitMovementFlag(MOVEMENTFLAG_WALKING);
+ temp->SetWalk(false);
temp->GetMotionMaster()->MovePoint(0, LightofDawnLoc[20].x, LightofDawnLoc[20].y, LightofDawnLoc[20].z);
temp->CastSpell(temp, SPELL_THE_LIGHT_OF_DAWN, false);
}
diff --git a/src/server/scripts/EasternKingdoms/ScarletEnclave/the_scarlet_enclave.cpp b/src/server/scripts/EasternKingdoms/ScarletEnclave/the_scarlet_enclave.cpp
index 9512d66b6eb..4f4622b6d4a 100644
--- a/src/server/scripts/EasternKingdoms/ScarletEnclave/the_scarlet_enclave.cpp
+++ b/src/server/scripts/EasternKingdoms/ScarletEnclave/the_scarlet_enclave.cpp
@@ -74,7 +74,7 @@ public:
switch (phase)
{
case 0:
- me->RemoveUnitMovementFlag(MOVEMENTFLAG_WALKING);
+ me->SetWalk(false);
me->HandleEmoteCommand(EMOTE_STATE_FLYGRABCLOSED);
FlyBackTimer = 500;
break;
diff --git a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_brutallus.cpp b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_brutallus.cpp
index 1404fd14e91..78d00e19cdf 100644
--- a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_brutallus.cpp
+++ b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_brutallus.cpp
@@ -216,7 +216,7 @@ public:
break;
case 3:
DoCast(me, SPELL_INTRO_FROST_BLAST);
- Madrigosa->AddUnitMovementFlag(MOVEMENTFLAG_LEVITATING);
+ Madrigosa->SetLevitate(true);
me->AttackStop();
Madrigosa->AttackStop();
IntroFrostBoltTimer = 3000;
diff --git a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_felmyst.cpp b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_felmyst.cpp
index c65ce2c8f98..0d98efd703b 100644
--- a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_felmyst.cpp
+++ b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_felmyst.cpp
@@ -137,7 +137,7 @@ public:
uiFlightCount = 0;
- me->AddUnitMovementFlag(MOVEMENTFLAG_LEVITATING);
+ me->SetLevitate(true);
me->SetFloatValue(UNIT_FIELD_BOUNDINGRADIUS, 10);
me->SetFloatValue(UNIT_FIELD_COMBATREACH, 10);
@@ -391,7 +391,7 @@ public:
}
break;
case 10:
- me->RemoveUnitMovementFlag(MOVEMENTFLAG_LEVITATING);
+ me->SetLevitate(false);
me->HandleEmoteCommand(EMOTE_ONESHOT_LAND);
EnterPhase(PHASE_GROUND);
AttackStart(SelectTarget(SELECT_TARGET_TOPAGGRO));
diff --git a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kalecgos.cpp b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kalecgos.cpp
index d7c90732a80..1735c0c4f07 100644
--- a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kalecgos.cpp
+++ b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kalecgos.cpp
@@ -159,7 +159,7 @@ public:
if (!bJustReset) //first reset at create
{
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE + UNIT_FLAG_NOT_SELECTABLE);
- me->RemoveUnitMovementFlag(MOVEMENTFLAG_LEVITATING);
+ me->SetLevitate(false);
me->SetVisible(true);
me->SetStandState(UNIT_STAND_STATE_SLEEP);
}
@@ -231,7 +231,7 @@ public:
if (ResetTimer <= diff)
{
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE|UNIT_FLAG_NOT_SELECTABLE);
- me->RemoveUnitMovementFlag(MOVEMENTFLAG_LEVITATING);
+ me->SetLevitate(false);
me->SetVisible(true);
me->SetStandState(UNIT_STAND_STATE_SLEEP);
ResetTimer = 10000;
@@ -400,7 +400,7 @@ public:
TalkTimer = 10000;
break;
case 3:
- me->AddUnitMovementFlag(MOVEMENTFLAG_LEVITATING);
+ me->SetLevitate(true);
me->GetMotionMaster()->MovePoint(0, FLY_X, FLY_Y, FLY_Z);
TalkTimer = 600000;
break;
@@ -418,7 +418,7 @@ public:
TalkTimer = 3000;
break;
case 2:
- me->AddUnitMovementFlag(MOVEMENTFLAG_LEVITATING);
+ me->SetLevitate(true);
me->GetMotionMaster()->MovePoint(0, FLY_X, FLY_Y, FLY_Z);
TalkTimer = 15000;
break;
diff --git a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kiljaeden.cpp b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kiljaeden.cpp
index 337eea13438..02a8de14fdf 100644
--- a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kiljaeden.cpp
+++ b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kiljaeden.cpp
@@ -660,17 +660,9 @@ public:
DoScriptText(RAND(SAY_KJ_REFLECTION1, SAY_KJ_REFLECTION2), me);
for (uint8 i = 0; i < 4; ++i)
{
- float x, y, z;
- Unit* target = NULL;
- for (uint8 i = 0; i < 6; ++i)
- {
- target = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true);
- if (!target || !target->HasAura(SPELL_VENGEANCE_OF_THE_BLUE_FLIGHT, 0))
- break;
- }
-
- if (target)
+ if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true, -SPELL_VENGEANCE_OF_THE_BLUE_FLIGHT))
{
+ float x, y, z;
target->GetPosition(x, y, z);
if (Creature* pSinisterReflection = me->SummonCreature(CREATURE_SINISTER_REFLECTION, x, y, z, 0, TEMPSUMMON_CORPSE_DESPAWN, 0))
{
@@ -1196,7 +1188,7 @@ public:
void Reset()
{
- me->AddUnitMovementFlag(MOVEMENTFLAG_LEVITATING);
+ me->SetLevitate(true);
bPointReached = true;
uiTimer = urand(500, 1000);
uiCheckTimer = 1000;
diff --git a/src/server/scripts/EasternKingdoms/ZulAman/boss_janalai.cpp b/src/server/scripts/EasternKingdoms/ZulAman/boss_janalai.cpp
index 21245209e45..dd2bef556c4 100644
--- a/src/server/scripts/EasternKingdoms/ZulAman/boss_janalai.cpp
+++ b/src/server/scripts/EasternKingdoms/ZulAman/boss_janalai.cpp
@@ -501,7 +501,7 @@ class mob_janalai_hatcher : public CreatureScript
void Reset()
{
- me->AddUnitMovementFlag(MOVEMENTFLAG_WALKING);
+ me->SetWalk(true);
side =(me->GetPositionY() < 1150);
waypoint = 0;
isHatching = false;
diff --git a/src/server/scripts/EasternKingdoms/ZulAman/boss_nalorakk.cpp b/src/server/scripts/EasternKingdoms/ZulAman/boss_nalorakk.cpp
index 954f232f786..a6b74ddf06e 100644
--- a/src/server/scripts/EasternKingdoms/ZulAman/boss_nalorakk.cpp
+++ b/src/server/scripts/EasternKingdoms/ZulAman/boss_nalorakk.cpp
@@ -136,7 +136,7 @@ class boss_nalorakk : public CreatureScript
inMove = false;
waitTimer = 0;
me->SetSpeed(MOVE_RUN, 2);
- me->RemoveUnitMovementFlag(MOVEMENTFLAG_WALKING);
+ me->SetWalk(false);
}else
{
(*me).GetMotionMaster()->MovePoint(0, NalorakkWay[7][0], NalorakkWay[7][1], NalorakkWay[7][2]);
diff --git a/src/server/scripts/EasternKingdoms/ghostlands.cpp b/src/server/scripts/EasternKingdoms/ghostlands.cpp
index 412613572f1..effc333d6f8 100644
--- a/src/server/scripts/EasternKingdoms/ghostlands.cpp
+++ b/src/server/scripts/EasternKingdoms/ghostlands.cpp
@@ -168,8 +168,10 @@ public:
me->AI()->AttackStart(Summ1);
break;
}
- case 19: me->RemoveUnitMovementFlag(MOVEMENTFLAG_WALKING); break;
- case 25: me->AddUnitMovementFlag(MOVEMENTFLAG_WALKING); break;
+ case 19: me->SetWalk(false);
+ break;
+ case 25: me->SetWalk(true);
+ break;
case 30:
if (player && player->GetTypeId() == TYPEID_PLAYER)
CAST_PLR(player)->GroupEventHappens(QUEST_ESCAPE_FROM_THE_CATACOMBS, me);
diff --git a/src/server/scripts/EasternKingdoms/hinterlands.cpp b/src/server/scripts/EasternKingdoms/hinterlands.cpp
index 7021deeae75..a66a01e00e5 100644
--- a/src/server/scripts/EasternKingdoms/hinterlands.cpp
+++ b/src/server/scripts/EasternKingdoms/hinterlands.cpp
@@ -273,7 +273,7 @@ public:
void JustSummoned(Creature* summoned)
{
- summoned->RemoveUnitMovementFlag(MOVEMENTFLAG_WALKING);
+ summoned->SetWalk(false);
summoned->GetMotionMaster()->MovePoint(0, m_afAmbushMoveTo[m_iSpawnId].m_fX, m_afAmbushMoveTo[m_iSpawnId].m_fY, m_afAmbushMoveTo[m_iSpawnId].m_fZ);
}
diff --git a/src/server/scripts/EasternKingdoms/redridge_mountains.cpp b/src/server/scripts/EasternKingdoms/redridge_mountains.cpp
index d7b00af33e8..310ecbf7b66 100644
--- a/src/server/scripts/EasternKingdoms/redridge_mountains.cpp
+++ b/src/server/scripts/EasternKingdoms/redridge_mountains.cpp
@@ -84,7 +84,7 @@ public:
return;
if (uiI >= 65 && me->GetUnitMovementFlags() == MOVEMENTFLAG_WALKING)
- me->RemoveUnitMovementFlag(MOVEMENTFLAG_WALKING);
+ me->SetWalk(false);
switch (uiI)
{
@@ -94,7 +94,7 @@ public:
uiPhase = 1;
break;
case 65:
- me->RemoveUnitMovementFlag(MOVEMENTFLAG_WALKING);
+ me->SetWalk(false);
break;
case 115:
player->AreaExploredOrEventHappens(QUEST_MISSING_IN_ACTION);
diff --git a/src/server/scripts/EasternKingdoms/searing_gorge.cpp b/src/server/scripts/EasternKingdoms/searing_gorge.cpp
deleted file mode 100644
index 74172dda743..00000000000
--- a/src/server/scripts/EasternKingdoms/searing_gorge.cpp
+++ /dev/null
@@ -1,179 +0,0 @@
-/*
- * Copyright (C) 2008-2012 TrinityCore <http://www.trinitycore.org/>
- * Copyright (C) 2006-2009 ScriptDev2 <https://scriptdev2.svn.sourceforge.net/>
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License as published by the
- * Free Software Foundation; either version 2 of the License, or (at your
- * option) any later version.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-/* ScriptData
-SDName: Searing_Gorge
-SD%Complete: 80
-SDComment: Quest support: 3377, 3441 (More accurate info on Kalaran needed). Lothos Riftwaker teleport to Molten Core.
-SDCategory: Searing Gorge
-EndScriptData */
-
-/* ContentData
-npc_kalaran_windblade
-npc_lothos_riftwaker
-npc_zamael_lunthistle
-EndContentData */
-
-#include "ScriptPCH.h"
-
-/*######
-## npc_kalaran_windblade
-######*/
-
-#define GOSSIP_HELLO_KW "Tell me what drives this vengance?"
-#define GOSSIP_SELECT_KW1 "Continue please"
-#define GOSSIP_SELECT_KW2 "Let me confer with my colleagues"
-
-class npc_kalaran_windblade : public CreatureScript
-{
-public:
- npc_kalaran_windblade() : CreatureScript("npc_kalaran_windblade") { }
-
- bool OnGossipSelect(Player* player, Creature* creature, uint32 /*uiSender*/, uint32 uiAction)
- {
- player->PlayerTalkClass->ClearMenus();
- switch (uiAction)
- {
- case GOSSIP_ACTION_INFO_DEF:
- player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_SELECT_KW1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1);
- player->SEND_GOSSIP_MENU(1954, creature->GetGUID());
- break;
- case GOSSIP_ACTION_INFO_DEF+1:
- player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_SELECT_KW2, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 2);
- player->SEND_GOSSIP_MENU(1955, creature->GetGUID());
- break;
- case GOSSIP_ACTION_INFO_DEF+2:
- player->CLOSE_GOSSIP_MENU();
- player->AreaExploredOrEventHappens(3441);
- break;
- }
- return true;
- }
-
- bool OnGossipHello(Player* player, Creature* creature)
- {
- if (creature->isQuestGiver())
- player->PrepareQuestMenu(creature->GetGUID());
-
- if (player->GetQuestStatus(3441) == QUEST_STATUS_INCOMPLETE)
- player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_HELLO_KW, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF);
-
- player->SEND_GOSSIP_MENU(player->GetGossipTextId(creature), creature->GetGUID());
-
- return true;
- }
-
-};
-
-/*######
-## npc_lothos_riftwaker
-######*/
-
-#define GOSSIP_HELLO_LR "Teleport me to the Molten Core"
-
-class npc_lothos_riftwaker : public CreatureScript
-{
-public:
- npc_lothos_riftwaker() : CreatureScript("npc_lothos_riftwaker") { }
-
- bool OnGossipSelect(Player* player, Creature* /*creature*/, uint32 /*uiSender*/, uint32 uiAction)
- {
- player->PlayerTalkClass->ClearMenus();
- if (uiAction == GOSSIP_ACTION_INFO_DEF + 1)
- {
- player->CLOSE_GOSSIP_MENU();
- player->TeleportTo(409, 1096, -467, -104.6f, 3.64f);
- }
-
- return true;
- }
-
- bool OnGossipHello(Player* player, Creature* creature)
- {
- if (creature->isQuestGiver())
- player->PrepareQuestMenu(creature->GetGUID());
-
- if (player->GetQuestRewardStatus(7487) || player->GetQuestRewardStatus(7848))
- player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_HELLO_LR, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1);
-
- player->SEND_GOSSIP_MENU(player->GetGossipTextId(creature), creature->GetGUID());
-
- return true;
- }
-
-};
-
-/*######
-## npc_zamael_lunthistle
-######*/
-
-#define GOSSIP_HELLO_ZL "Tell me your story"
-#define GOSSIP_SELECT_ZL1 "Please continue..."
-#define GOSSIP_SELECT_ZL2 "Goodbye"
-
-class npc_zamael_lunthistle : public CreatureScript
-{
-public:
- npc_zamael_lunthistle() : CreatureScript("npc_zamael_lunthistle") { }
-
- bool OnGossipSelect(Player* player, Creature* creature, uint32 /*uiSender*/, uint32 uiAction)
- {
- player->PlayerTalkClass->ClearMenus();
- switch (uiAction)
- {
- case GOSSIP_ACTION_INFO_DEF:
- player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_SELECT_ZL1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1);
- player->SEND_GOSSIP_MENU(1921, creature->GetGUID());
- break;
- case GOSSIP_ACTION_INFO_DEF+1:
- player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_SELECT_ZL2, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 2);
- player->SEND_GOSSIP_MENU(1922, creature->GetGUID());
- break;
- case GOSSIP_ACTION_INFO_DEF+2:
- player->CLOSE_GOSSIP_MENU();
- player->AreaExploredOrEventHappens(3377);
- break;
- }
- return true;
- }
-
- bool OnGossipHello(Player* player, Creature* creature)
- {
- if (creature->isQuestGiver())
- player->PrepareQuestMenu(creature->GetGUID());
-
- if (player->GetQuestStatus(3377) == QUEST_STATUS_INCOMPLETE)
- player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_HELLO_ZL, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF);
-
- player->SEND_GOSSIP_MENU(1920, creature->GetGUID());
-
- return true;
- }
-
-};
-
-/*######
-##
-######*/
-
-void AddSC_searing_gorge()
-{
- new npc_kalaran_windblade();
- new npc_lothos_riftwaker();
- new npc_zamael_lunthistle();
-}
diff --git a/src/server/scripts/EasternKingdoms/stormwind_city.cpp b/src/server/scripts/EasternKingdoms/stormwind_city.cpp
index a4eca1950f8..26267497aa1 100644
--- a/src/server/scripts/EasternKingdoms/stormwind_city.cpp
+++ b/src/server/scripts/EasternKingdoms/stormwind_city.cpp
@@ -391,7 +391,7 @@ public:
{
npc_marzon_silent_bladeAI(Creature* creature) : ScriptedAI(creature)
{
- me->AddUnitMovementFlag(MOVEMENTFLAG_WALKING);
+ me->SetWalk(true);
}
void Reset()
diff --git a/src/server/scripts/EasternKingdoms/undercity.cpp b/src/server/scripts/EasternKingdoms/undercity.cpp
index fe9c40e6dbd..1724572f796 100644
--- a/src/server/scripts/EasternKingdoms/undercity.cpp
+++ b/src/server/scripts/EasternKingdoms/undercity.cpp
@@ -114,7 +114,7 @@ public:
summoned->CastSpell(target, SPELL_RIBBON_OF_SOULS, false);
}
- summoned->AddUnitMovementFlag(MOVEMENTFLAG_LEVITATING);
+ summoned->SetLevitate(true);
targetGUID = summoned->GetGUID();
}
}
@@ -185,7 +185,7 @@ public:
{
if (EventMove_Timer <= diff)
{
- me->AddUnitMovementFlag(MOVEMENTFLAG_LEVITATING);
+ me->SetLevitate(true);
me->MonsterMoveWithSpeed(me->GetPositionX(), me->GetPositionY(), HIGHBORNE_LOC_Y_NEW, me->GetDistance(me->GetPositionX(), me->GetPositionY(), HIGHBORNE_LOC_Y_NEW) / (5000 * 0.001f));
me->SetPosition(me->GetPositionX(), me->GetPositionY(), HIGHBORNE_LOC_Y_NEW, me->GetOrientation());
EventMove = false;
diff --git a/src/server/scripts/EasternKingdoms/western_plaguelands.cpp b/src/server/scripts/EasternKingdoms/western_plaguelands.cpp
index a04a94f73b1..4ec8dbb647b 100644
--- a/src/server/scripts/EasternKingdoms/western_plaguelands.cpp
+++ b/src/server/scripts/EasternKingdoms/western_plaguelands.cpp
@@ -359,7 +359,7 @@ public:
break;
case 23:
Ughost = me->SummonCreature(NPC_GHOST_UTHER, 971.86f, -1825.42f, 81.99f, 0.0f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 30000);
- Ughost->AddUnitMovementFlag(MOVEMENTFLAG_LEVITATING);
+ Ughost->SetLevitate(true);
DoScriptText(SAY_WP_4, Ughost, me);
m_uiChatTimer = 4000;
break;
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjalAI.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjalAI.cpp
index 107c9e8f2f9..8a0ea30ca6a 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjalAI.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjalAI.cpp
@@ -492,7 +492,7 @@ void hyjalAI::SummonCreature(uint32 entry, float Base[4][3])
// Increment Enemy Count to be used in World States and instance script
++EnemyCount;
- creature->RemoveUnitMovementFlag(MOVEMENTFLAG_WALKING);
+ creature->SetWalk(false);
creature->setActive(true);
switch (entry)
{
@@ -1014,7 +1014,7 @@ void hyjalAI::WaypointReached(uint32 i)
if ((*itr) && (*itr)->isAlive() && (*itr) != me && (*itr)->GetEntry() != JAINA)
{
if (!(*itr)->IsWithinDist(me, 60))
- (*itr)->RemoveUnitMovementFlag(MOVEMENTFLAG_WALKING);
+ (*itr)->SetWalk(false);
float x, y, z;
(*itr)->SetDefaultMovementType(IDLE_MOTION_TYPE);
(*itr)->GetMotionMaster()->Initialize();
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjal_trash.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjal_trash.cpp
index c94cb874bfa..ecc6b865b3d 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjal_trash.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/hyjal_trash.cpp
@@ -459,7 +459,7 @@ public:
{
trigger->SetVisible(false);
trigger->setFaction(me->getFaction());
- trigger->AddUnitMovementFlag(MOVEMENTFLAG_LEVITATING);
+ trigger->SetLevitate(true);
trigger->CastSpell(me, SPELL_METEOR, true);
}
me->GetMotionMaster()->Clear();
@@ -1176,7 +1176,7 @@ public:
{
FrostBreathTimer = 5000;
MoveTimer = 0;
- me->AddUnitMovementFlag(MOVEMENTFLAG_LEVITATING);
+ me->SetLevitate(true);
}
void WaypointReached(uint32 i)
@@ -1298,7 +1298,7 @@ public:
Zpos = 10.0f;
StrikeTimer = 2000+rand()%5000;
MoveTimer = 0;
- me->AddUnitMovementFlag(MOVEMENTFLAG_LEVITATING);
+ me->SetLevitate(true);
}
void WaypointReached(uint32 i)
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/culling_of_stratholme.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/culling_of_stratholme.cpp
index 9518abd1635..e891f00ea36 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/culling_of_stratholme.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/CullingOfStratholme/culling_of_stratholme.cpp
@@ -591,11 +591,11 @@ public:
}
//After waypoint 0
case 1:
- me->RemoveUnitMovementFlag(MOVEMENTFLAG_WALKING);
+ me->SetWalk(false);
if (Unit* pUther = me->SummonCreature(NPC_UTHER, 1794.357f, 1272.183f, 140.558f, 1.37f, TEMPSUMMON_DEAD_DESPAWN, 180000))
{
uiUtherGUID = pUther->GetGUID();
- pUther->RemoveUnitMovementFlag(MOVEMENTFLAG_WALKING);
+ pUther->SetWalk(false);
pUther->GetMotionMaster()->MovePoint(0, 1897.018f, 1287.487f, 143.481f);
pUther->SetTarget(me->GetGUID());
me->SetTarget(uiUtherGUID);
@@ -680,7 +680,7 @@ public:
case 17:
if (Creature* pUther = Unit::GetCreature(*me, uiUtherGUID))
{
- pUther->AddUnitMovementFlag(MOVEMENTFLAG_WALKING);
+ pUther->SetWalk(true);
pUther->GetMotionMaster()->MovePoint(0, 1794.357f, 1272.183f, 140.558f);
}
JumpToNextStep(1000);
@@ -689,7 +689,7 @@ public:
if (Creature* pJaina = Unit::GetCreature(*me, uiJainaGUID))
{
me->SetTarget(uiJainaGUID);
- pJaina->AddUnitMovementFlag(MOVEMENTFLAG_WALKING);
+ pJaina->SetWalk(true);
pJaina->GetMotionMaster()->MovePoint(0, 1794.357f, 1272.183f, 140.558f);
}
JumpToNextStep(1000);
@@ -755,7 +755,7 @@ public:
if (Creature* pCityman = Unit::GetCreature(*me, uiCitymenGUID[0]))
{
pCityman->SetTarget(me->GetGUID());
- pCityman->AddUnitMovementFlag(MOVEMENTFLAG_WALKING);
+ pCityman->SetWalk(true);
pCityman->GetMotionMaster()->MovePoint(0, 2088.625f, 1279.191f, 140.743f);
}
JumpToNextStep(2000);
@@ -929,7 +929,7 @@ public:
if (Unit* pBoss = me->SummonCreature(uiBossID, 2232.19f, 1331.933f, 126.662f, 3.15f, TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, 900000))
{
uiBossGUID = pBoss->GetGUID();
- pBoss->AddUnitMovementFlag(MOVEMENTFLAG_WALKING);
+ pBoss->SetWalk(true);
pBoss->GetMotionMaster()->MovePoint(0, 2194.110f, 1332.00f, 130.00f);
}
}
diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/old_hillsbrad.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/old_hillsbrad.cpp
index aa57b3d9499..f5745f0f894 100644
--- a/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/old_hillsbrad.cpp
+++ b/src/server/scripts/Kalimdor/CavernsOfTime/EscapeFromDurnholdeKeep/old_hillsbrad.cpp
@@ -401,7 +401,7 @@ public:
SetRun();
break;
case 91:
- me->AddUnitMovementFlag(MOVEMENTFLAG_WALKING);
+ me->SetWalk(true);
SetRun(false);
break;
case 93:
diff --git a/src/server/scripts/Kalimdor/ZulFarrak/instance_zulfarrak.cpp b/src/server/scripts/Kalimdor/ZulFarrak/instance_zulfarrak.cpp
index 33a2ce73e21..da29c911c9f 100644
--- a/src/server/scripts/Kalimdor/ZulFarrak/instance_zulfarrak.cpp
+++ b/src/server/scripts/Kalimdor/ZulFarrak/instance_zulfarrak.cpp
@@ -301,7 +301,7 @@ public:
{
if (npc->isAlive())
{
- npc->AddUnitMovementFlag(MOVEMENTFLAG_WALKING);
+ npc->SetWalk(true);
npc->GetMotionMaster()->MovePoint(1, x, y, z);
npc->SetHomePosition(x, y, z, o);
}
diff --git a/src/server/scripts/Kalimdor/ZulFarrak/zulfarrak.cpp b/src/server/scripts/Kalimdor/ZulFarrak/zulfarrak.cpp
index 61fe526407c..98de619c127 100644
--- a/src/server/scripts/Kalimdor/ZulFarrak/zulfarrak.cpp
+++ b/src/server/scripts/Kalimdor/ZulFarrak/zulfarrak.cpp
@@ -204,7 +204,7 @@ void initBlyCrewMember(InstanceScript* instance, uint32 entry, float x, float y,
if (Creature* crew = instance->instance->GetCreature(instance->GetData64(entry)))
{
crew->SetReactState(REACT_AGGRESSIVE);
- crew->AddUnitMovementFlag(MOVEMENTFLAG_WALKING);
+ crew->SetWalk(true);
crew->SetHomePosition(x, y, z, 0);
crew->GetMotionMaster()->MovePoint(1, x, y, z);
crew->setFaction(FACTION_FREED);
diff --git a/src/server/scripts/Kalimdor/dustwallow_marsh.cpp b/src/server/scripts/Kalimdor/dustwallow_marsh.cpp
index eede1aa069a..1a6ba36bbb1 100644
--- a/src/server/scripts/Kalimdor/dustwallow_marsh.cpp
+++ b/src/server/scripts/Kalimdor/dustwallow_marsh.cpp
@@ -640,7 +640,7 @@ public:
case 37:
DoScriptText(SAY_QUEST_COMPLETE, me, player);
me->SetSpeed(MOVE_RUN, 1.2f, true);
- me->RemoveUnitMovementFlag(MOVEMENTFLAG_WALKING);
+ me->SetWalk(false);
if (player && player->GetQuestStatus(QUEST_STINKYS_ESCAPE_H))
player->GroupEventHappens(QUEST_STINKYS_ESCAPE_H, me);
if (player && player->GetQuestStatus(QUEST_STINKYS_ESCAPE_A))
diff --git a/src/server/scripts/Kalimdor/silithus.cpp b/src/server/scripts/Kalimdor/silithus.cpp
index fac56021c3a..71cc92da438 100644
--- a/src/server/scripts/Kalimdor/silithus.cpp
+++ b/src/server/scripts/Kalimdor/silithus.cpp
@@ -576,7 +576,7 @@ public:
break;
case 10:
Merithra->HandleEmoteCommand(EMOTE_ONESHOT_LIFTOFF);
- Merithra->AddUnitMovementFlag(MOVEMENTFLAG_LEVITATING);
+ Merithra->SetLevitate(true);
Merithra->GetMotionMaster()->MoveCharge(-8065, 1530, 6.61f, 3);
break;
case 11:
@@ -603,7 +603,7 @@ public:
break;
case 18:
Arygos->HandleEmoteCommand(EMOTE_ONESHOT_LIFTOFF);
- Arygos->AddUnitMovementFlag(MOVEMENTFLAG_LEVITATING);
+ Arygos->SetLevitate(true);
Arygos->GetMotionMaster()->MoveCharge(-8065, 1530, 6.61f, 42);
break;
case 19:
@@ -630,7 +630,7 @@ public:
break;
case 26:
Caelestrasz->HandleEmoteCommand(254);
- Caelestrasz->AddUnitMovementFlag(MOVEMENTFLAG_LEVITATING);
+ Caelestrasz->SetLevitate(true);
Caelestrasz->GetMotionMaster()->MoveCharge(-8065, 1530, 7.61f, 4);
break;
case 27:
@@ -769,7 +769,7 @@ public:
break;
case 63:
me->HandleEmoteCommand(254);
- me->AddUnitMovementFlag(MOVEMENTFLAG_LEVITATING);
+ me->SetLevitate(true);
break;
case 64:
me->GetMotionMaster()->MoveCharge(-8000, 1400, 150, 9);
diff --git a/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_prince_taldaram.cpp b/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_prince_taldaram.cpp
index 0f4b046f7d5..636be5e29be 100644
--- a/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_prince_taldaram.cpp
+++ b/src/server/scripts/Northrend/AzjolNerub/Ahnkahet/boss_prince_taldaram.cpp
@@ -389,8 +389,10 @@ public:
bool OnGossipHello(Player* /*player*/, GameObject* pGO)
{
InstanceScript* instance = pGO->GetInstanceScript();
+ if (!instance)
+ return true;
- Creature* pPrinceTaldaram = Unit::GetCreature(*pGO, instance ? instance->GetData64(DATA_PRINCE_TALDARAM) : 0);
+ Creature* pPrinceTaldaram = Unit::GetCreature(*pGO, instance->GetData64(DATA_PRINCE_TALDARAM));
if (pPrinceTaldaram && pPrinceTaldaram->isAlive())
{
// maybe these are hacks :(
diff --git a/src/server/scripts/Northrend/ChamberOfAspects/ObsidianSanctum/boss_sartharion.cpp b/src/server/scripts/Northrend/ChamberOfAspects/ObsidianSanctum/boss_sartharion.cpp
index 3e9d8144c19..547544fb754 100644
--- a/src/server/scripts/Northrend/ChamberOfAspects/ObsidianSanctum/boss_sartharion.cpp
+++ b/src/server/scripts/Northrend/ChamberOfAspects/ObsidianSanctum/boss_sartharion.cpp
@@ -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);
diff --git a/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_saviana_ragefire.cpp b/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_saviana_ragefire.cpp
index 78810e27b05..03a04648793 100644
--- a/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_saviana_ragefire.cpp
+++ b/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_saviana_ragefire.cpp
@@ -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);
diff --git a/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/ruby_sanctum.cpp b/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/ruby_sanctum.cpp
index cfbbb79c5f6..19ae66b6a60 100644
--- a/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/ruby_sanctum.cpp
+++ b/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/ruby_sanctum.cpp
@@ -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);
diff --git a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_argent_challenge.cpp b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_argent_challenge.cpp
index d5695a0f39d..19ed96e8885 100644
--- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_argent_challenge.cpp
+++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_argent_challenge.cpp
@@ -62,7 +62,7 @@ class OrientationCheck : public std::unary_function<Unit*, bool>
explicit OrientationCheck(Unit* _caster) : caster(_caster) { }
bool operator() (Unit* unit)
{
- return !unit->isInFront(caster, 40.0f, 2.5f);
+ return !unit->isInFront(caster, 2.5f) || !unit->IsWithinDist(caster, 40.0f);
}
private:
diff --git a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_grand_champions.cpp b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_grand_champions.cpp
index 9fcfcfa47e5..7c82454ba87 100644
--- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_grand_champions.cpp
+++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_grand_champions.cpp
@@ -208,7 +208,7 @@ public:
switch (i)
{
case 2:
- if ((instance && uiWaypointPath == 3) || uiWaypointPath == 2)
+ if (instance && (uiWaypointPath == 3 || uiWaypointPath == 2))
instance->SetData(DATA_MOVEMENT_DONE, instance->GetData(DATA_MOVEMENT_DONE)+1);
break;
case 3:
diff --git a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_twin_valkyr.cpp b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_twin_valkyr.cpp
index 242b2f2f0ea..0e604566276 100755
--- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_twin_valkyr.cpp
+++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/boss_twin_valkyr.cpp
@@ -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();
diff --git a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/trial_of_the_crusader.cpp b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/trial_of_the_crusader.cpp
index 3831e4824ad..28110d883c6 100755
--- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/trial_of_the_crusader.cpp
+++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheCrusader/trial_of_the_crusader.cpp
@@ -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));
diff --git a/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_forgemaster_garfrost.cpp b/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_forgemaster_garfrost.cpp
index 0f9495d4928..64609efd7ff 100644
--- a/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_forgemaster_garfrost.cpp
+++ b/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_forgemaster_garfrost.cpp
@@ -27,7 +27,7 @@ enum Yells
SAY_PHASE2 = -1658005,
SAY_PHASE3 = -1658006,
- SAY_TYRANNUS_DEATH = -1659007,
+ SAY_TYRANNUS_DEATH = -1658007,
};
enum Spells
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_blood_prince_council.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_blood_prince_council.cpp
index 70b07c61e79..8ee0ef02cbd 100644
--- a/src/server/scripts/Northrend/IcecrownCitadel/boss_blood_prince_council.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_blood_prince_council.cpp
@@ -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);
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_blood_queen_lana_thel.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_blood_queen_lana_thel.cpp
index 79a577f6591..5eeb941d9aa 100644
--- a/src/server/scripts/Northrend/IcecrownCitadel/boss_blood_queen_lana_thel.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_blood_queen_lana_thel.cpp
@@ -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();
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_deathbringer_saurfang.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_deathbringer_saurfang.cpp
index 3c795187f43..5177f65f670 100755
--- a/src/server/scripts/Northrend/IcecrownCitadel/boss_deathbringer_saurfang.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_deathbringer_saurfang.cpp
@@ -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]);
}
}
@@ -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;
@@ -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]);
}
}
@@ -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:
@@ -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]);
}
}
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_professor_putricide.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_professor_putricide.cpp
index 8623fcfde81..44bc40d08bd 100755
--- a/src/server/scripts/Northrend/IcecrownCitadel/boss_professor_putricide.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_professor_putricide.cpp
@@ -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);
}
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_sindragosa.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_sindragosa.cpp
index 1d9c3c14897..a544f2f4710 100644
--- a/src/server/scripts/Northrend/IcecrownCitadel/boss_sindragosa.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_sindragosa.cpp
@@ -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);
}
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_the_lich_king.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_the_lich_king.cpp
index fbed870eb19..7ca371d1c82 100644
--- a/src/server/scripts/Northrend/IcecrownCitadel/boss_the_lich_king.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_the_lich_king.cpp
@@ -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();
}
@@ -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);
@@ -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;
@@ -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:
diff --git a/src/server/scripts/Northrend/Naxxramas/boss_four_horsemen.cpp b/src/server/scripts/Northrend/Naxxramas/boss_four_horsemen.cpp
index 47151ef6d80..05206102762 100644
--- a/src/server/scripts/Northrend/Naxxramas/boss_four_horsemen.cpp
+++ b/src/server/scripts/Northrend/Naxxramas/boss_four_horsemen.cpp
@@ -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)
diff --git a/src/server/scripts/Northrend/Naxxramas/boss_sapphiron.cpp b/src/server/scripts/Northrend/Naxxramas/boss_sapphiron.cpp
index 16b1e7ac996..63f7c653c5a 100644
--- a/src/server/scripts/Northrend/Naxxramas/boss_sapphiron.cpp
+++ b/src/server/scripts/Northrend/Naxxramas/boss_sapphiron.cpp
@@ -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;
diff --git a/src/server/scripts/Northrend/Nexus/EyeOfEternity/boss_malygos.cpp b/src/server/scripts/Northrend/Nexus/EyeOfEternity/boss_malygos.cpp
index 437d9980af3..64060464d7c 100644
--- a/src/server/scripts/Northrend/Nexus/EyeOfEternity/boss_malygos.cpp
+++ b/src/server/scripts/Northrend/Nexus/EyeOfEternity/boss_malygos.cpp
@@ -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());
diff --git a/src/server/scripts/Northrend/Nexus/Oculus/boss_varos.cpp b/src/server/scripts/Northrend/Nexus/Oculus/boss_varos.cpp
index 8852338c362..187dbed6901 100644
--- a/src/server/scripts/Northrend/Nexus/Oculus/boss_varos.cpp
+++ b/src/server/scripts/Northrend/Nexus/Oculus/boss_varos.cpp
@@ -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();
}
diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_assembly_of_iron.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_assembly_of_iron.cpp
index eadc524348b..1671953aba1 100644
--- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_assembly_of_iron.cpp
+++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_assembly_of_iron.cpp
@@ -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());
diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_flame_leviathan.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_flame_leviathan.cpp
index da46d016e91..c4f973726bc 100644
--- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_flame_leviathan.cpp
+++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_flame_leviathan.cpp
@@ -1736,25 +1736,29 @@ class spell_vehicle_throw_passenger : public SpellScriptLoader
if (Vehicle* vehicle = GetCaster()->GetVehicleKit())
if (Unit* passenger = vehicle->GetPassenger(damage - 1))
{
- std::list<Unit*> unitList;
// use 99 because it is 3d search
- SearchAreaTarget(unitList, 99, PUSH_DST_CENTER, SPELL_TARGETS_ENTRY, NPC_SEAT);
+ std::list<WorldObject*> targetList;
+ Trinity::WorldObjectSpellAreaTargetCheck check(99, GetTargetDest(), GetCaster(), GetCaster(), GetSpellInfo(), TARGET_CHECK_DEFAULT, NULL);
+ Trinity::WorldObjectListSearcher<Trinity::WorldObjectSpellAreaTargetCheck> searcher(GetCaster(), targetList, check);
+ GetCaster()->GetMap()->VisitAll(GetCaster()->m_positionX, GetCaster()->m_positionY, 99, searcher);
float minDist = 99 * 99;
Unit* target = NULL;
- for (std::list<Unit*>::iterator itr = unitList.begin(); itr != unitList.end(); ++itr)
+ for (std::list<WorldObject*>::iterator itr = targetList.begin(); itr != targetList.end(); ++itr)
{
- if (Vehicle* seat = (*itr)->GetVehicleKit())
- if (!seat->GetPassenger(0))
- if (Unit* device = seat->GetPassenger(2))
- if (!device->GetCurrentSpell(CURRENT_CHANNELED_SPELL))
- {
- float dist = (*itr)->GetExactDistSq(targets.GetDst());
- if (dist < minDist)
- {
- minDist = dist;
- target = (*itr);
- }
- }
+ if (Unit* unit = (*itr)->ToUnit())
+ if (unit->GetEntry() == NPC_SEAT)
+ if (Vehicle* seat = unit->GetVehicleKit())
+ if (!seat->GetPassenger(0))
+ if (Unit* device = seat->GetPassenger(2))
+ if (!device->GetCurrentSpell(CURRENT_CHANNELED_SPELL))
+ {
+ float dist = unit->GetExactDistSq(targets.GetDst());
+ if (dist < minDist)
+ {
+ minDist = dist;
+ target = unit;
+ }
+ }
}
if (target && target->IsWithinDist2d(targets.GetDst(), GetSpellInfo()->Effects[effIndex].CalcRadius() * 2)) // now we use *2 because the location of the seat is not correct
passenger->EnterVehicle(target, 0);
diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_kologarn.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_kologarn.cpp
index a156e6ef08b..d5034e4827e 100644
--- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_kologarn.cpp
+++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_kologarn.cpp
@@ -485,6 +485,8 @@ class spell_ulduar_squeezed_lifeless : public SpellScriptLoader
if (!GetHitPlayer() || !GetHitPlayer()->GetVehicle())
return;
+ //! Proper exit position does not work currently,
+ //! See documentation in void Unit::ExitVehicle(Position const* exitPosition)
Position pos;
pos.m_positionX = 1756.25f + irand(-3, 3);
pos.m_positionY = -8.3f + irand(-3, 3);
diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_razorscale.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_razorscale.cpp
index 45f9a1fa012..7ad859e3e8d 100644
--- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_razorscale.cpp
+++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_razorscale.cpp
@@ -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();
}
diff --git a/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_skadi.cpp b/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_skadi.cpp
index d5cd79b25f1..dd3557071cd 100644
--- a/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_skadi.cpp
+++ b/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_skadi.cpp
@@ -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);
}
diff --git a/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_svala.cpp b/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_svala.cpp
index 915ead98bb7..a4289b2eb06 100644
--- a/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_svala.cpp
+++ b/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_svala.cpp
@@ -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);
@@ -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]);
}
}
@@ -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;
diff --git a/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_ymiron.cpp b/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_ymiron.cpp
index 29d6278124f..35bbb98fd77 100644
--- a/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_ymiron.cpp
+++ b/src/server/scripts/Northrend/UtgardeKeep/UtgardePinnacle/boss_ymiron.cpp
@@ -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;
diff --git a/src/server/scripts/Northrend/VioletHold/violet_hold.cpp b/src/server/scripts/Northrend/VioletHold/violet_hold.cpp
index 8b77cb250da..d9e8798b179 100644
--- a/src/server/scripts/Northrend/VioletHold/violet_hold.cpp
+++ b/src/server/scripts/Northrend/VioletHold/violet_hold.cpp
@@ -363,7 +363,7 @@ public:
{
if (Creature* pGuard = *itr)
{
- pGuard->RemoveUnitMovementFlag(MOVEMENTFLAG_WALKING);
+ pGuard->SetWalk(false);
pGuard->GetMotionMaster()->MovePoint(0, MovePosition);
}
}
diff --git a/src/server/scripts/Northrend/borean_tundra.cpp b/src/server/scripts/Northrend/borean_tundra.cpp
index 11fb0933b9b..a8fcd6139da 100644
--- a/src/server/scripts/Northrend/borean_tundra.cpp
+++ b/src/server/scripts/Northrend/borean_tundra.cpp
@@ -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)
diff --git a/src/server/scripts/Northrend/grizzly_hills.cpp b/src/server/scripts/Northrend/grizzly_hills.cpp
index ccb31c869a4..fdebe3b7ab1 100644
--- a/src/server/scripts/Northrend/grizzly_hills.cpp
+++ b/src/server/scripts/Northrend/grizzly_hills.cpp
@@ -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);
diff --git a/src/server/scripts/Northrend/howling_fjord.cpp b/src/server/scripts/Northrend/howling_fjord.cpp
index 3c44fa0eb44..5e4b7dafdb4 100644
--- a/src/server/scripts/Northrend/howling_fjord.cpp
+++ b/src/server/scripts/Northrend/howling_fjord.cpp
@@ -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;
diff --git a/src/server/scripts/Northrend/zuldrak.cpp b/src/server/scripts/Northrend/zuldrak.cpp
index 0af82345dce..1bf04bc624c 100644
--- a/src/server/scripts/Northrend/zuldrak.cpp
+++ b/src/server/scripts/Northrend/zuldrak.cpp
@@ -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;
diff --git a/src/server/scripts/Outland/BlackTemple/boss_illidan.cpp b/src/server/scripts/Outland/BlackTemple/boss_illidan.cpp
index 58f0e10c950..b0a42614ee3 100644
--- a/src/server/scripts/Outland/BlackTemple/boss_illidan.cpp
+++ b/src/server/scripts/Outland/BlackTemple/boss_illidan.cpp
@@ -750,7 +750,7 @@ public:
if (!Trigger) return;
Trigger->SetSpeed(MOVE_WALK, 3);
- Trigger->AddUnitMovementFlag(MOVEMENTFLAG_WALKING);
+ Trigger->SetWalk(true);
Trigger->GetMotionMaster()->MovePoint(0, final.x, final.y, final.z);
// Trigger->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
@@ -867,7 +867,7 @@ public:
Timer[EVENT_FLIGHT_SEQUENCE] = 2000;
break;
case 9: // land
- me->RemoveUnitMovementFlag(MOVEMENTFLAG_LEVITATING);
+ me->SetLevitate(false);
me->StopMoving();
me->HandleEmoteCommand(EMOTE_ONESHOT_LAND);
for (uint8 i = 0; i < 2; ++i)
@@ -1537,7 +1537,7 @@ public:
void BeginWalk()
{
- me->RemoveUnitMovementFlag(MOVEMENTFLAG_WALKING);
+ me->SetWalk(false);
me->SetSpeed(MOVE_RUN, 1.0f);
me->GetMotionMaster()->MovePoint(0, AkamaWP[WalkCount].x, AkamaWP[WalkCount].y, AkamaWP[WalkCount].z);
}
@@ -1869,7 +1869,7 @@ void boss_illidan_stormrage::boss_illidan_stormrageAI::Reset()
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
SetEquipmentSlots(false, EQUIP_UNEQUIP, EQUIP_UNEQUIP, EQUIP_NO_CHANGE);
- me->RemoveUnitMovementFlag(MOVEMENTFLAG_LEVITATING);
+ me->SetLevitate(false);
me->setActive(false);
Summons.DespawnAll();
}
@@ -1932,7 +1932,7 @@ void boss_illidan_stormrage::boss_illidan_stormrageAI::HandleTalkSequence()
// Equip our warglaives!
SetEquipmentSlots(false, EQUIP_ID_MAIN_HAND, EQUIP_ID_OFF_HAND, EQUIP_NO_CHANGE);
me->SetByteValue(UNIT_FIELD_BYTES_2, 0, SHEATH_STATE_MELEE);
- me->RemoveUnitMovementFlag(MOVEMENTFLAG_WALKING);
+ me->SetWalk(false);
break;
case 9:
if (GETCRE(Akama, AkamaGUID))
diff --git a/src/server/scripts/Outland/BlackTemple/boss_shade_of_akama.cpp b/src/server/scripts/Outland/BlackTemple/boss_shade_of_akama.cpp
index 5ca3189ebca..08b188f7301 100644
--- a/src/server/scripts/Outland/BlackTemple/boss_shade_of_akama.cpp
+++ b/src/server/scripts/Outland/BlackTemple/boss_shade_of_akama.cpp
@@ -354,7 +354,7 @@ public:
if (Sorcerer)
{
CAST_AI(mob_ashtongue_sorcerer::mob_ashtongue_sorcererAI, Sorcerer->AI())->ShadeGUID = me->GetGUID();
- Sorcerer->RemoveUnitMovementFlag(MOVEMENTFLAG_WALKING);
+ Sorcerer->SetWalk(false);
Sorcerer->GetMotionMaster()->MovePoint(0, me->GetPositionX(), me->GetPositionY(), me->GetPositionZ());
Sorcerer->SetTarget(me->GetGUID());
Sorcerers.push_back(Sorcerer->GetGUID());
@@ -369,7 +369,7 @@ public:
Creature* Spawn = me->SummonCreature(spawnEntries[i], X, Y, Z_SPAWN, 0, TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 25000);
if (Spawn)
{
- Spawn->RemoveUnitMovementFlag(MOVEMENTFLAG_WALKING);
+ Spawn->SetWalk(false);
Spawn->GetMotionMaster()->MovePoint(0, AGGRO_X, AGGRO_Y, AGGRO_Z);
Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 1);
Spawn->AI()->AttackStart(target);
@@ -430,7 +430,7 @@ public:
Creature* Defender = me->SummonCreature(CREATURE_DEFENDER, SpawnLocations[ran].x, SpawnLocations[ran].y, Z_SPAWN, 0, TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 25000);
if (Defender)
{
- Defender->RemoveUnitMovementFlag(MOVEMENTFLAG_WALKING);
+ Defender->SetWalk(false);
bool move = true;
if (AkamaGUID)
{
@@ -760,7 +760,7 @@ public:
{
ShadeHasDied = true;
WayPointId = 0;
- me->AddUnitMovementFlag(MOVEMENTFLAG_WALKING);
+ me->SetWalk(true);
me->GetMotionMaster()->MovePoint(WayPointId, AkamaWP[0].x, AkamaWP[0].y, AkamaWP[0].z);
}
if (Shade && Shade->isAlive())
diff --git a/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_lady_vashj.cpp b/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_lady_vashj.cpp
index 33ce04e45e3..2db259744df 100644
--- a/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_lady_vashj.cpp
+++ b/src/server/scripts/Outland/CoilfangReservoir/SerpentShrine/boss_lady_vashj.cpp
@@ -644,7 +644,7 @@ public:
if (move <= diff)
{
- me->AddUnitMovementFlag(MOVEMENTFLAG_WALKING);
+ me->SetWalk(true);
if (phase == 1)
me->GetMotionMaster()->MovePoint(0, x, y, z);
if (phase == 1 && me->IsWithinDist3d(x, y, z, 0.1f))
@@ -779,7 +779,7 @@ public:
void Reset()
{
- me->AddUnitMovementFlag(MOVEMENTFLAG_LEVITATING);
+ me->SetLevitate(true);
me->setFaction(14);
movement_timer = 0;
ToxicSpore_Timer = 5000;
diff --git a/src/server/scripts/Outland/HellfireCitadel/HellfireRamparts/boss_vazruden_the_herald.cpp b/src/server/scripts/Outland/HellfireCitadel/HellfireRamparts/boss_vazruden_the_herald.cpp
index ecea5e6abb4..4f422da35ad 100644
--- a/src/server/scripts/Outland/HellfireCitadel/HellfireRamparts/boss_vazruden_the_herald.cpp
+++ b/src/server/scripts/Outland/HellfireCitadel/HellfireRamparts/boss_vazruden_the_herald.cpp
@@ -145,8 +145,8 @@ class boss_nazan : public CreatureScript
flight = false;
BellowingRoar_Timer = 6000;
ConeOfFire_Timer = 12000;
- me->RemoveUnitMovementFlag(MOVEMENTFLAG_LEVITATING);
- me->AddUnitMovementFlag(MOVEMENTFLAG_WALKING);
+ me->SetLevitate(false);
+ me->SetWalk(true);
me->GetMotionMaster()->Clear();
if (Unit* victim = SelectTarget(SELECT_TARGET_NEAREST, 0))
me->AI()->AttackStart(victim);
@@ -374,7 +374,7 @@ class boss_vazruden_the_herald : public CreatureScript
if (summoned->GetEntry() == ENTRY_NAZAN)
{
CAST_AI(boss_nazan::boss_nazanAI, summoned->AI())->VazrudenGUID = VazrudenGUID;
- summoned->AddUnitMovementFlag(MOVEMENTFLAG_LEVITATING);
+ summoned->SetLevitate(true);
summoned->SetSpeed(MOVE_FLIGHT, 2.5f);
if (victim)
AttackStartNoMove(victim);
diff --git a/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/boss_warchief_kargath_bladefist.cpp b/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/boss_warchief_kargath_bladefist.cpp
index 3f07552441b..12e28d42a67 100644
--- a/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/boss_warchief_kargath_bladefist.cpp
+++ b/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/boss_warchief_kargath_bladefist.cpp
@@ -95,7 +95,7 @@ class boss_warchief_kargath_bladefist : public CreatureScript
removeAdds();
me->SetSpeed(MOVE_RUN, 2);
- me->RemoveUnitMovementFlag(MOVEMENTFLAG_WALKING);
+ me->SetWalk(false);
summoned = 2;
InBlade = false;
diff --git a/src/server/scripts/Outland/nagrand.cpp b/src/server/scripts/Outland/nagrand.cpp
index 668db2efcbb..f1aaf82cb67 100644
--- a/src/server/scripts/Outland/nagrand.cpp
+++ b/src/server/scripts/Outland/nagrand.cpp
@@ -258,7 +258,7 @@ public:
if (summoned->isTotem())
return;
- summoned->RemoveUnitMovementFlag(MOVEMENTFLAG_WALKING);
+ summoned->SetWalk(false);
summoned->GetMotionMaster()->MovePoint(0, me->GetPositionX(), me->GetPositionY(), me->GetPositionZ());
summoned->AI()->AttackStart(me);
@@ -603,7 +603,7 @@ public:
if (summoned->isTotem())
return;
- summoned->RemoveUnitMovementFlag(MOVEMENTFLAG_WALKING);
+ summoned->SetWalk(false);
summoned->GetMotionMaster()->MovePoint(0, me->GetPositionX(), me->GetPositionY(), me->GetPositionZ());
summoned->AI()->AttackStart(me);
}
diff --git a/src/server/scripts/Outland/shadowmoon_valley.cpp b/src/server/scripts/Outland/shadowmoon_valley.cpp
index 19c4754c4fd..6acd9bf6c99 100644
--- a/src/server/scripts/Outland/shadowmoon_valley.cpp
+++ b/src/server/scripts/Outland/shadowmoon_valley.cpp
@@ -224,7 +224,7 @@ public:
me->setFaction(FACTION_DEFAULT);
FlyTimer = 10000;
- me->RemoveUnitMovementFlag(MOVEMENTFLAG_LEVITATING);
+ me->SetLevitate(false);
me->SetVisible(true);
}
@@ -271,7 +271,7 @@ public:
PlayerGUID = 0;
}
me->SetVisible(false);
- me->RemoveUnitMovementFlag(MOVEMENTFLAG_LEVITATING);
+ me->SetLevitate(false);
me->DealDamage(me, me->GetHealth(), NULL, DIRECT_DAMAGE, SPELL_SCHOOL_MASK_NORMAL, NULL, false);
me->RemoveCorpse();
}
@@ -309,7 +309,7 @@ public:
pos.m_positionZ += 25;
}
- me->AddUnitMovementFlag(MOVEMENTFLAG_LEVITATING);
+ me->SetLevitate(true);
me->GetMotionMaster()->MovePoint(1, pos);
}
}
@@ -366,7 +366,7 @@ public:
float x, y, z;
caster->GetClosePoint(x, y, z, me->GetObjectSize());
- me->RemoveUnitMovementFlag(MOVEMENTFLAG_WALKING);
+ me->SetWalk(false);
me->GetMotionMaster()->MovePoint(1, x, y, z);
}
}
@@ -815,7 +815,7 @@ public:
case 19: DoScriptText(LORD_ILLIDAN_SAY_7, Illi); return 5000; break;
case 20:
Illi->HandleEmoteCommand(EMOTE_ONESHOT_LIFTOFF);
- Illi->AddUnitMovementFlag(MOVEMENTFLAG_LEVITATING);
+ Illi->SetLevitate(true);
return 500; break;
case 21: DoScriptText(OVERLORD_SAY_5, me); return 500; break;
case 22:
diff --git a/src/server/scripts/Outland/terokkar_forest.cpp b/src/server/scripts/Outland/terokkar_forest.cpp
index 043b74b6924..5eb88e6bfb6 100644
--- a/src/server/scripts/Outland/terokkar_forest.cpp
+++ b/src/server/scripts/Outland/terokkar_forest.cpp
@@ -497,7 +497,8 @@ public:
me->SetInFront(player); break;
case 30: me->HandleEmoteCommand(EMOTE_ONESHOT_WAVE); break;
case 31: DoCast(me, SPELL_CAT);
- me->RemoveUnitMovementFlag(MOVEMENTFLAG_WALKING); break;
+ me->SetWalk(false);
+ break;
}
}
diff --git a/src/server/scripts/Spells/spell_dk.cpp b/src/server/scripts/Spells/spell_dk.cpp
index 92fae4e1299..eb42b377128 100644
--- a/src/server/scripts/Spells/spell_dk.cpp
+++ b/src/server/scripts/Spells/spell_dk.cpp
@@ -736,6 +736,7 @@ class spell_dk_death_coil : public SpellScriptLoader
int32 damage = GetEffectValue();
Unit* caster = GetCaster();
if (Unit* target = GetHitUnit())
+ {
if (caster->IsFriendlyTo(target))
{
int32 bp = int32(damage * 1.5f);
@@ -743,6 +744,7 @@ class spell_dk_death_coil : public SpellScriptLoader
}
else
caster->CastCustomSpell(target, SPELL_DEATH_COIL_DAMAGE, &damage, NULL, NULL, true);
+ }
}
void Register()
@@ -770,9 +772,7 @@ class spell_dk_death_grip : public SpellScriptLoader
void HandleDummy(SpellEffIndex effIndex)
{
int32 damage = GetEffectValue();
- Spell* baseSpell = GetSpell();
Position pos;
- Unit* caster = GetCaster();
if (Unit* target = GetHitUnit())
{
GetSummonPosition(effIndex, pos, 0.0f, 0);
diff --git a/src/server/scripts/Spells/spell_generic.cpp b/src/server/scripts/Spells/spell_generic.cpp
index ec82dbc0e57..db33a9e0332 100644
--- a/src/server/scripts/Spells/spell_generic.cpp
+++ b/src/server/scripts/Spells/spell_generic.cpp
@@ -196,7 +196,7 @@ class spell_gen_cannibalize : public SpellScriptLoader
float max_range = GetSpellInfo()->GetMaxRange(false);
WorldObject* result = NULL;
// search for nearby enemy corpse in range
- Trinity::AnyDeadUnitSpellTargetInRangeCheck check(caster, max_range, GetSpellInfo(), TARGET_SELECT_CHECK_ENEMY);
+ Trinity::AnyDeadUnitSpellTargetInRangeCheck check(caster, max_range, GetSpellInfo(), TARGET_CHECK_ENEMY);
Trinity::WorldObjectSearcher<Trinity::AnyDeadUnitSpellTargetInRangeCheck> searcher(caster, result, check);
caster->GetMap()->VisitFirstFound(caster->m_positionX, caster->m_positionY, max_range, searcher);
if (!result)
@@ -1084,7 +1084,7 @@ class spell_gen_seaforium_blast : public SpellScriptLoader
// but in effect handling OriginalCaster can become NULL
if (Unit* originalCaster = GetOriginalCaster())
if (GameObject* go = GetHitGObj())
- if (GetHitGObj()->GetGOInfo()->type == GAMEOBJECT_TYPE_DESTRUCTIBLE_BUILDING)
+ if (go->GetGOInfo()->type == GAMEOBJECT_TYPE_DESTRUCTIBLE_BUILDING)
originalCaster->CastSpell(originalCaster, SPELL_PLANT_CHARGES_CREDIT_ACHIEVEMENT, true);
}
diff --git a/src/server/scripts/Spells/spell_hunter.cpp b/src/server/scripts/Spells/spell_hunter.cpp
index dd9bfd90a0b..855af75cd83 100644
--- a/src/server/scripts/Spells/spell_hunter.cpp
+++ b/src/server/scripts/Spells/spell_hunter.cpp
@@ -532,7 +532,7 @@ class spell_hun_pet_carrion_feeder : public SpellScriptLoader
float max_range = GetSpellInfo()->GetMaxRange(false);
WorldObject* result = NULL;
// search for nearby enemy corpse in range
- Trinity::AnyDeadUnitSpellTargetInRangeCheck check(caster, max_range, GetSpellInfo(), TARGET_SELECT_CHECK_ENEMY);
+ Trinity::AnyDeadUnitSpellTargetInRangeCheck check(caster, max_range, GetSpellInfo(), TARGET_CHECK_ENEMY);
Trinity::WorldObjectSearcher<Trinity::AnyDeadUnitSpellTargetInRangeCheck> searcher(caster, result, check);
caster->GetMap()->VisitFirstFound(caster->m_positionX, caster->m_positionY, max_range, searcher);
if (!result)
diff --git a/src/server/scripts/Spells/spell_item.cpp b/src/server/scripts/Spells/spell_item.cpp
index 4e7b195621a..079221a97e8 100644
--- a/src/server/scripts/Spells/spell_item.cpp
+++ b/src/server/scripts/Spells/spell_item.cpp
@@ -221,10 +221,12 @@ class spell_item_gnomish_death_ray : public SpellScriptLoader
{
Unit* caster = GetCaster();
if (Unit* target = GetHitUnit())
+ {
if (urand(0, 99) < 15)
caster->CastSpell(caster, SPELL_GNOMISH_DEATH_RAY_SELF, true, NULL); // failure
else
caster->CastSpell(target, SPELL_GNOMISH_DEATH_RAY_TARGET, true, NULL);
+ }
}
void Register()
@@ -1290,10 +1292,12 @@ class spell_item_nigh_invulnerability : public SpellScriptLoader
{
Unit* caster = GetCaster();
if (Item* castItem = GetCastItem())
+ {
if (roll_chance_i(86)) // Nigh-Invulnerability - success
caster->CastSpell(caster, SPELL_NIGH_INVULNERABILITY, true, castItem);
else // Complete Vulnerability - backfire in 14% casts
caster->CastSpell(caster, SPELL_COMPLETE_VULNERABILITY, true, castItem);
+ }
}
void Register()
@@ -1988,6 +1992,34 @@ class spell_item_refocus : public SpellScriptLoader
}
};
+class spell_item_muisek_vessel : public SpellScriptLoader
+{
+ public:
+ spell_item_muisek_vessel() : SpellScriptLoader("spell_item_muisek_vessel") { }
+
+ class spell_item_muisek_vessel_SpellScript : public SpellScript
+ {
+ PrepareSpellScript(spell_item_muisek_vessel_SpellScript);
+
+ void HandleDummy(SpellEffIndex /*effIndex*/)
+ {
+ if (Creature* target = GetHitCreature())
+ if (target->isDead())
+ target->ForcedDespawn();
+ }
+
+ void Register()
+ {
+ OnEffectHitTarget += SpellEffectFn(spell_item_muisek_vessel_SpellScript::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
+ }
+ };
+
+ SpellScript* GetSpellScript() const
+ {
+ return new spell_item_muisek_vessel_SpellScript();
+ }
+};
+
void AddSC_item_spell_scripts()
{
// 23074 Arcanite Dragonling
@@ -2039,4 +2071,5 @@ void AddSC_item_spell_scripts()
new spell_item_unusual_compass();
new spell_item_uded();
new spell_item_chicken_cover();
+ new spell_item_muisek_vessel();
}
diff --git a/src/server/scripts/Spells/spell_priest.cpp b/src/server/scripts/Spells/spell_priest.cpp
index 70027ca9fd3..b012fe5f183 100644
--- a/src/server/scripts/Spells/spell_priest.cpp
+++ b/src/server/scripts/Spells/spell_priest.cpp
@@ -255,7 +255,7 @@ class spell_pri_reflective_shield_trigger : public SpellScriptLoader
if (dmgInfo.GetAttacker() == target)
return;
- if (Unit* caster = GetCaster())
+ if (GetCaster())
if (AuraEffect* talentAurEff = target->GetAuraEffectOfRankedSpell(PRIEST_SPELL_REFLECTIVE_SHIELD_R1, EFFECT_0))
{
int32 bp = CalculatePctN(absorbAmount, talentAurEff->GetAmount());
diff --git a/src/server/scripts/Spells/spell_quest.cpp b/src/server/scripts/Spells/spell_quest.cpp
index a581980bf8e..278abcc0c0b 100644
--- a/src/server/scripts/Spells/spell_quest.cpp
+++ b/src/server/scripts/Spells/spell_quest.cpp
@@ -1065,6 +1065,42 @@ class spell_q9452_cast_net: public SpellScriptLoader
}
};
+#define SAY_1 "Sons of Hodir! I humbly present to you..."
+#define SAY_2 "The Helm of Hodir!"
+#define NPC_KILLCREDIT 30210 // Hodir's Helm KC Bunny
+
+class spell_q12987_read_pronouncement : public SpellScriptLoader
+{
+public:
+ spell_q12987_read_pronouncement() : SpellScriptLoader("spell_q12987_read_pronouncement") { }
+
+ class spell_q12987_read_pronouncement_AuraScript : public AuraScript
+ {
+ PrepareAuraScript(spell_q12987_read_pronouncement_AuraScript);
+
+ void OnApply(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/)
+ {
+ // player must cast kill credit and do emote text, according to sniff
+ if (Player* target = GetTarget()->ToPlayer())
+ {
+ target->MonsterWhisper(SAY_1, target->GetGUID(), true);
+ target->KilledMonsterCredit(NPC_KILLCREDIT, 0);
+ target->MonsterWhisper(SAY_2, target->GetGUID(), true);
+ }
+ }
+
+ void Register()
+ {
+ AfterEffectApply += AuraEffectApplyFn(spell_q12987_read_pronouncement_AuraScript::OnApply, EFFECT_0, SPELL_AURA_NONE, AURA_EFFECT_HANDLE_REAL);
+ }
+ };
+
+ AuraScript* GetAuraScript() const
+ {
+ return new spell_q12987_read_pronouncement_AuraScript();
+ }
+};
+
void AddSC_quest_spell_scripts()
{
new spell_q55_sacred_cleansing();
@@ -1090,4 +1126,5 @@ void AddSC_quest_spell_scripts()
new spell_q13280_13283_plant_battle_standard();
new spell_q14112_14145_chum_the_water();
new spell_q9452_cast_net();
+ new spell_q12987_read_pronouncement();
}
diff --git a/src/server/scripts/Spells/spell_warlock.cpp b/src/server/scripts/Spells/spell_warlock.cpp
index 1bb531be4c8..b1aff706db0 100644
--- a/src/server/scripts/Spells/spell_warlock.cpp
+++ b/src/server/scripts/Spells/spell_warlock.cpp
@@ -325,12 +325,14 @@ class spell_warl_soulshatter : public SpellScriptLoader
{
Unit* caster = GetCaster();
if (Unit* target = GetHitUnit())
+ {
if (target->CanHaveThreatList() && target->getThreatManager().getThreat(caster) > 0.0f)
{
sLog->outString("THREATREDUCTION");
caster->CastSpell(target, SPELL_SOULSHATTER, true);
} else
- sLog->outString("can have threat? %b . threat number? %f ",target->CanHaveThreatList(),target->getThreatManager().getThreat(caster));
+ sLog->outString("can have threat? %u . threat number? %f ",target->CanHaveThreatList(),target->getThreatManager().getThreat(caster));
+ }
}
void Register()
diff --git a/src/server/scripts/World/boss_emerald_dragons.cpp b/src/server/scripts/World/boss_emerald_dragons.cpp
index 9f652e7a859..a844e500ce5 100644
--- a/src/server/scripts/World/boss_emerald_dragons.cpp
+++ b/src/server/scripts/World/boss_emerald_dragons.cpp
@@ -198,7 +198,7 @@ class npc_dream_fog : public CreatureScript
me->GetMotionMaster()->MoveRandom(25.0f);
}
// Seeping fog movement is slow enough for a player to be able to walk backwards and still outpace it
- me->AddUnitMovementFlag(MOVEMENTFLAG_WALKING);
+ me->SetWalk(true);
me->SetSpeed(MOVE_WALK, 0.75f);
}
else
diff --git a/src/server/scripts/World/npcs_special.cpp b/src/server/scripts/World/npcs_special.cpp
index 1e1e34431a2..8513eae5876 100644
--- a/src/server/scripts/World/npcs_special.cpp
+++ b/src/server/scripts/World/npcs_special.cpp
@@ -137,8 +137,8 @@ public:
if (!spawnedTemplate)
{
- SpawnAssoc = NULL;
sLog->outErrorDb("TCSR: Creature template entry %u does not exist in DB, which is required by npc_air_force_bots", SpawnAssoc->spawnedCreatureEntry);
+ SpawnAssoc = NULL;
return;
}
}
@@ -421,7 +421,7 @@ public:
float x, y, z;
me->GetPosition(x, y, z);
me->Relocate(x, y, z + 0.94f);
- me->AddUnitMovementFlag(MOVEMENTFLAG_LEVITATING);
+ me->SetLevitate(true);
me->HandleEmoteCommand(EMOTE_ONESHOT_DANCE);
WorldPacket data; //send update position to client
me->BuildHeartBeatMsg(&data);
@@ -764,7 +764,7 @@ public:
DoScriptText(RAND(SAY_DOC1, SAY_DOC2, SAY_DOC3), me);
uint32 mobId = me->GetEntry();
- me->RemoveUnitMovementFlag(MOVEMENTFLAG_WALKING);
+ me->SetWalk(false);
switch (mobId)
{