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_wp.cpp2
-rw-r--r--src/server/scripts/EasternKingdoms/BlackrockSpire/instance_blackrock_spire.cpp3
-rw-r--r--src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kiljaeden.cpp10
-rw-r--r--src/server/scripts/EasternKingdoms/ZulAman/zulaman.cpp5
-rw-r--r--src/server/scripts/Kalimdor/OnyxiasLair/instance_onyxias_lair.cpp3
-rw-r--r--src/server/scripts/Kalimdor/zone_silithus.cpp8
-rw-r--r--src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/halls_of_reflection.h2
-rw-r--r--src/server/scripts/Northrend/Gundrak/instance_gundrak.cpp1
-rw-r--r--src/server/scripts/Northrend/Nexus/Oculus/instance_oculus.cpp14
-rw-r--r--src/server/scripts/Northrend/Ulduar/Ulduar/boss_flame_leviathan.cpp16
-rw-r--r--src/server/scripts/Northrend/Ulduar/Ulduar/instance_ulduar.cpp1
-rw-r--r--src/server/scripts/Northrend/VioletHold/violet_hold.cpp51
-rw-r--r--src/server/scripts/Outland/HellfireCitadel/HellfireRamparts/instance_hellfire_ramparts.cpp3
-rw-r--r--src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/instance_shattered_halls.cpp2
-rw-r--r--src/server/scripts/World/go_scripts.cpp7
15 files changed, 70 insertions, 58 deletions
diff --git a/src/server/scripts/Commands/cs_wp.cpp b/src/server/scripts/Commands/cs_wp.cpp
index c6cfa3218ec..38c12e75e7e 100644
--- a/src/server/scripts/Commands/cs_wp.cpp
+++ b/src/server/scripts/Commands/cs_wp.cpp
@@ -796,7 +796,7 @@ public:
if (show == "info")
{
// Check if the user did specify a visual waypoint
- if (target && target->GetEntry() != VISUAL_WAYPOINT)
+ if (!target || target->GetEntry() != VISUAL_WAYPOINT)
{
handler->PSendSysMessage(LANG_WAYPOINT_VP_SELECT);
handler->SetSentErrorMessage(true);
diff --git a/src/server/scripts/EasternKingdoms/BlackrockSpire/instance_blackrock_spire.cpp b/src/server/scripts/EasternKingdoms/BlackrockSpire/instance_blackrock_spire.cpp
index b334c5c44b6..f07e426c808 100644
--- a/src/server/scripts/EasternKingdoms/BlackrockSpire/instance_blackrock_spire.cpp
+++ b/src/server/scripts/EasternKingdoms/BlackrockSpire/instance_blackrock_spire.cpp
@@ -553,7 +553,8 @@ public:
loadStream >> tmpState;
if (tmpState == IN_PROGRESS || tmpState > SPECIAL)
tmpState = NOT_STARTED;
- SetBossState(i, EncounterState(tmpState));
+
+ SetBossState(i, EncounterState(tmpState));
}
}
else
diff --git a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kiljaeden.cpp b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kiljaeden.cpp
index b994821cce9..855ed46e5cf 100644
--- a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kiljaeden.cpp
+++ b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_kiljaeden.cpp
@@ -710,12 +710,14 @@ public:
{
SpeechTimer = 0;
if (instance)
+ {
if (Creature* speechCreature = Unit::GetCreature(*me, instance->GetData64(Speeches[speechCount].creature)))
speechCreature->AI()->Talk(Speeches[speechCount].textid);
- if (speechCount == 12)
- if (Creature* pAnveena = Unit::GetCreature(*me, instance->GetData64(DATA_ANVEENA)))
- pAnveena->CastSpell(me, SPELL_SACRIFICE_OF_ANVEENA, false);
- // ChangeTimers(true, 10000); // Kil should do an emote while screaming without attacking for 10 seconds
+ if (speechCount == 12)
+ if (Creature* pAnveena = Unit::GetCreature(*me, instance->GetData64(DATA_ANVEENA)))
+ pAnveena->CastSpell(me, SPELL_SACRIFICE_OF_ANVEENA, false);
+ // ChangeTimers(true, 10000); // Kil should do an emote while screaming without attacking for 10 seconds
+ }
if (speechCount == speechPhaseEnd)
TimerIsDeactivated[TIMER_SPEECH]=true;
speechCount++;
diff --git a/src/server/scripts/EasternKingdoms/ZulAman/zulaman.cpp b/src/server/scripts/EasternKingdoms/ZulAman/zulaman.cpp
index 7dbed4ec9a2..bbc8d523cb8 100644
--- a/src/server/scripts/EasternKingdoms/ZulAman/zulaman.cpp
+++ b/src/server/scripts/EasternKingdoms/ZulAman/zulaman.cpp
@@ -272,8 +272,7 @@ class npc_harrison_jones : public CreatureScript
{
public:
- npc_harrison_jones()
- : CreatureScript("npc_harrison_jones")
+ npc_harrison_jones() : CreatureScript("npc_harrison_jones")
{
}
@@ -412,9 +411,11 @@ class npc_harrison_jones : public CreatureScript
ptarget->AI()->SetData(0, 1);
}
else
+ {
ptarget->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC);
ptarget->SetReactState(REACT_PASSIVE);
ptarget->AI()->SetData(0, 2);
+ }
}
}
}
diff --git a/src/server/scripts/Kalimdor/OnyxiasLair/instance_onyxias_lair.cpp b/src/server/scripts/Kalimdor/OnyxiasLair/instance_onyxias_lair.cpp
index ccbb4846270..eed8ab22eb1 100644
--- a/src/server/scripts/Kalimdor/OnyxiasLair/instance_onyxias_lair.cpp
+++ b/src/server/scripts/Kalimdor/OnyxiasLair/instance_onyxias_lair.cpp
@@ -274,7 +274,8 @@ public:
loadStream >> tmpState;
if (tmpState == IN_PROGRESS || tmpState > SPECIAL)
tmpState = NOT_STARTED;
- SetBossState(i, EncounterState(tmpState));
+
+ SetBossState(i, EncounterState(tmpState));
}
}
else
diff --git a/src/server/scripts/Kalimdor/zone_silithus.cpp b/src/server/scripts/Kalimdor/zone_silithus.cpp
index f20266dfb55..154f8b0f80f 100644
--- a/src/server/scripts/Kalimdor/zone_silithus.cpp
+++ b/src/server/scripts/Kalimdor/zone_silithus.cpp
@@ -530,10 +530,10 @@ public:
if (!player)
return;
- Creature* Fandral = player->FindNearestCreature(C_FANDRAL_STAGHELM, 100.0f, me);
- Creature* Arygos = player->FindNearestCreature(C_ARYGOS, 100.0f, me);
- Creature* Caelestrasz = player->FindNearestCreature(C_CAELESTRASZ, 100.0f, me);
- Creature* Merithra = player->FindNearestCreature(C_MERITHRA, 100.0f, me);
+ Creature* Fandral = player->FindNearestCreature(C_FANDRAL_STAGHELM, 100.0f);
+ Creature* Arygos = player->FindNearestCreature(C_ARYGOS, 100.0f);
+ Creature* Caelestrasz = player->FindNearestCreature(C_CAELESTRASZ, 100.0f);
+ Creature* Merithra = player->FindNearestCreature(C_MERITHRA, 100.0f);
if (!Fandral || !Arygos || !Caelestrasz || !Merithra)
return;
diff --git a/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/halls_of_reflection.h b/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/halls_of_reflection.h
index 4787a6b9fdc..c5fe115978f 100644
--- a/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/halls_of_reflection.h
+++ b/src/server/scripts/Northrend/FrozenHalls/HallsOfReflection/halls_of_reflection.h
@@ -138,7 +138,7 @@ struct boss_horAI : ScriptedAI
me->SetVisible(false);
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC|UNIT_FLAG_IMMUNE_TO_NPC);
me->SetReactState(REACT_PASSIVE);
- if (instance->GetData(DATA_WAVE_COUNT) != NOT_STARTED)
+ if (instance && instance->GetData(DATA_WAVE_COUNT) != NOT_STARTED)
instance->ProcessEvent(0, EVENT_DO_WIPE);
}
diff --git a/src/server/scripts/Northrend/Gundrak/instance_gundrak.cpp b/src/server/scripts/Northrend/Gundrak/instance_gundrak.cpp
index 9af4de8135d..681ffff46b3 100644
--- a/src/server/scripts/Northrend/Gundrak/instance_gundrak.cpp
+++ b/src/server/scripts/Northrend/Gundrak/instance_gundrak.cpp
@@ -242,6 +242,7 @@ public:
eckTheFerociousDoorBehindGUID = go->GetGUID();
if (isHeroic && m_auiEncounter[4] == DONE)
HandleGameObject(0, true, go);
+ break;
case GO_GALDARAH_DOOR1:
galDarahDoor1GUID = go->GetGUID();
if (m_auiEncounter[3] == DONE)
diff --git a/src/server/scripts/Northrend/Nexus/Oculus/instance_oculus.cpp b/src/server/scripts/Northrend/Nexus/Oculus/instance_oculus.cpp
index 4101fb7af33..d1f0105daf1 100644
--- a/src/server/scripts/Northrend/Nexus/Oculus/instance_oculus.cpp
+++ b/src/server/scripts/Northrend/Nexus/Oculus/instance_oculus.cpp
@@ -137,28 +137,36 @@ public:
case NPC_BELGARISTRASZ:
belgaristraszGUID = creature->GetGUID();
if (GetBossState(DATA_DRAKOS_EVENT) == DONE)
+ {
creature->SetWalk(true),
creature->GetMotionMaster()->MovePoint(0, 941.453f, 1044.1f, 359.967f),
creature->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
+ }
break;
case NPC_ETERNOS:
eternosGUID = creature->GetGUID();
if (GetBossState(DATA_DRAKOS_EVENT) == DONE)
+ {
creature->SetWalk(true),
creature->GetMotionMaster()->MovePoint(0, 943.202f, 1059.35f, 359.967f),
creature->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
+ }
break;
case NPC_VERDISA:
verdisaGUID = creature->GetGUID();
if (GetBossState(DATA_DRAKOS_EVENT) == DONE)
+ {
creature->SetWalk(true),
creature->GetMotionMaster()->MovePoint(0, 949.188f, 1032.91f, 359.967f),
creature->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
+ }
break;
case NPC_GREATER_WHELP:
if (GetBossState(DATA_UROM_EVENT) == DONE)
+ {
creature->SetPhaseMask(1, true);
gwhelpList.push_back(creature->GetGUID());
+ }
break;
}
}
@@ -209,9 +217,13 @@ public:
break;
case DATA_UROM_EVENT:
if (state == DONE)
+ {
if (Creature* eregos = instance->GetCreature(eregosGUID))
+ {
eregos->SetPhaseMask(1, true);
GreaterWhelps();
+ }
+ }
break;
case DATA_EREGOS_EVENT:
if (state == DONE)
@@ -288,10 +300,8 @@ public:
return;
for (std::list<uint64>::const_iterator itr = gwhelpList.begin(); itr != gwhelpList.end(); ++itr)
- {
if (Creature* gwhelp = instance->GetCreature(*itr))
gwhelp->SetPhaseMask(1, true);
- }
}
std::string GetSaveData()
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 29a07bac01c..dec27808321 100644
--- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_flame_leviathan.cpp
+++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_flame_leviathan.cpp
@@ -1154,7 +1154,7 @@ class npc_lorekeeper : public CreatureScript
bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) OVERRIDE
{
- player->PlayerTalkClass->ClearMenus();
+ player->CLOSE_GOSSIP_MENU();
InstanceScript* instance = creature->GetInstanceScript();
if (!instance)
return true;
@@ -1162,19 +1162,13 @@ class npc_lorekeeper : public CreatureScript
switch (action)
{
case GOSSIP_ACTION_INFO_DEF+1:
- if (player)
- {
- player->PrepareGossipMenu(creature);
- instance->instance->LoadGrid(364, -16); //make sure leviathan is loaded
+ player->PrepareGossipMenu(creature);
+ instance->instance->LoadGrid(364, -16); //make sure leviathan is loaded
- player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_2, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+2);
- player->SEND_GOSSIP_MENU(player->GetGossipTextId(creature), creature->GetGUID());
- }
+ player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_2, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+2);
+ player->SEND_GOSSIP_MENU(player->GetGossipTextId(creature), creature->GetGUID());
break;
case GOSSIP_ACTION_INFO_DEF+2:
- if (player)
- player->CLOSE_GOSSIP_MENU();
-
if (Creature* leviathan = instance->instance->GetCreature(instance->GetData64(BOSS_LEVIATHAN)))
{
leviathan->AI()->DoAction(ACTION_START_HARD_MODE);
diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/instance_ulduar.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/instance_ulduar.cpp
index fc5a54ffcfb..13608285b08 100644
--- a/src/server/scripts/Northrend/Ulduar/Ulduar/instance_ulduar.cpp
+++ b/src/server/scripts/Northrend/Ulduar/Ulduar/instance_ulduar.cpp
@@ -503,6 +503,7 @@ class instance_ulduar : public InstanceMapScript
case GO_MOLE_MACHINE:
if (GetBossState(BOSS_RAZORSCALE) == IN_PROGRESS)
gameObject->SetGoState(GO_STATE_ACTIVE);
+ break;
case GO_HODIR_DOOR:
HodirDoorGUID = gameObject->GetGUID();
break;
diff --git a/src/server/scripts/Northrend/VioletHold/violet_hold.cpp b/src/server/scripts/Northrend/VioletHold/violet_hold.cpp
index 0cec919737a..8a8126b0e78 100644
--- a/src/server/scripts/Northrend/VioletHold/violet_hold.cpp
+++ b/src/server/scripts/Northrend/VioletHold/violet_hold.cpp
@@ -667,14 +667,14 @@ public:
void JustSummoned(Creature* summoned) OVERRIDE
{
listOfMobs.Summon(summoned);
- if (summoned)
+ if (instance)
instance->SetData64(DATA_ADD_TRASH_MOB, summoned->GetGUID());
}
- void SummonedMobDied(Creature* summoned)
+ void SummonedCreatureDies(Creature* summoned, Unit* killer) OVERRIDE
{
listOfMobs.Despawn(summoned);
- if (summoned)
+ if (instance)
instance->SetData64(DATA_DEL_TRASH_MOB, summoned->GetGUID());
}
};
@@ -737,7 +737,7 @@ struct violet_hold_trashAI : public npc_escortAI
if (!bHasGotMovingPoints)
{
bHasGotMovingPoints = true;
- switch (portalLocationID)
+ switch (portalLocationID)
{
case 0:
for (int i=0;i<6;i++)
@@ -763,7 +763,7 @@ struct violet_hold_trashAI : public npc_escortAI
case 2:
for (int i=0;i<8;i++)
AddWaypoint(i, ThirdPortalWPs[i][0]+irand(-1, 1), ThirdPortalWPs[i][1]+irand(-1, 1), ThirdPortalWPs[i][2], 0);
- me->SetHomePosition(ThirdPortalWPs[7][0], ThirdPortalWPs[7][1], ThirdPortalWPs[7][2], 3.149439f);
+ me->SetHomePosition(ThirdPortalWPs[7][0], ThirdPortalWPs[7][1], ThirdPortalWPs[7][2], 3.149439f);
break;
case 3:
for (int i=0;i<9;i++)
@@ -1080,26 +1080,18 @@ class npc_azure_stalker : public CreatureScript
public:
npc_azure_stalker() : CreatureScript("npc_azure_stalker") { }
- CreatureAI* GetAI(Creature* creature) const OVERRIDE
- {
- return new npc_azure_stalkerAI(creature);
- }
-
struct npc_azure_stalkerAI : public violet_hold_trashAI
{
npc_azure_stalkerAI(Creature* creature) : violet_hold_trashAI(creature)
{
instance = creature->GetInstanceScript();
}
- uint32 uiBackstabTimer;
- uint32 uiTacticalBlinkTimer;
- bool TacticalBlinkCasted;
void Reset() OVERRIDE
{
- uiBackstabTimer = 1300;
- uiTacticalBlinkTimer = 8000;
- TacticalBlinkCasted =false;
+ _backstabTimer = 1300;
+ _tacticalBlinkTimer = 8000;
+ _tacticalBlinkCast =false;
}
void UpdateAI(uint32 diff) OVERRIDE
@@ -1110,33 +1102,42 @@ public:
if (!UpdateVictim())
return;
- if (!TacticalBlinkCasted)
+ if (!_tacticalBlinkCast)
{
- if (uiTacticalBlinkTimer <= diff)
+ if (_tacticalBlinkTimer <= diff)
{
Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 40, true);
if (target)
DoCast(target, SPELL_TACTICAL_BLINK);
- uiTacticalBlinkTimer = 6000;
- TacticalBlinkCasted = true;
- } else uiTacticalBlinkTimer -= diff;
+ _tacticalBlinkTimer = 6000;
+ _tacticalBlinkCast = true;
+ } else _tacticalBlinkTimer -= diff;
}
else
{
- if (uiBackstabTimer <= diff)
+ if (_backstabTimer <= diff)
{
Unit* target = SelectTarget(SELECT_TARGET_NEAREST, 0, 10, true);
DoCast(target, SPELL_BACKSTAB);
- TacticalBlinkCasted = false;
- uiBackstabTimer =1300;
- } else uiBackstabTimer -= diff;
+ _tacticalBlinkCast = false;
+ _backstabTimer =1300;
+ } else _backstabTimer -= diff;
}
DoMeleeAttackIfReady();
}
+
+ private:
+ uint32 _backstabTimer;
+ uint32 _tacticalBlinkTimer;
+ bool _tacticalBlinkCast;
};
+ CreatureAI* GetAI(Creature* creature) const OVERRIDE
+ {
+ return new npc_azure_stalkerAI(creature);
+ }
};
class npc_azure_spellbreaker : public CreatureScript
diff --git a/src/server/scripts/Outland/HellfireCitadel/HellfireRamparts/instance_hellfire_ramparts.cpp b/src/server/scripts/Outland/HellfireCitadel/HellfireRamparts/instance_hellfire_ramparts.cpp
index 12458243286..98f6f194c0f 100644
--- a/src/server/scripts/Outland/HellfireCitadel/HellfireRamparts/instance_hellfire_ramparts.cpp
+++ b/src/server/scripts/Outland/HellfireCitadel/HellfireRamparts/instance_hellfire_ramparts.cpp
@@ -106,7 +106,8 @@ class instance_ramparts : public InstanceMapScript
loadStream >> tmpState;
if (tmpState == IN_PROGRESS || tmpState > SPECIAL)
tmpState = NOT_STARTED;
- SetBossState(i, EncounterState(tmpState));
+
+ SetBossState(i, EncounterState(tmpState));
}
}
else
diff --git a/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/instance_shattered_halls.cpp b/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/instance_shattered_halls.cpp
index 362b8e729ef..1919e74e4ee 100644
--- a/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/instance_shattered_halls.cpp
+++ b/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/instance_shattered_halls.cpp
@@ -148,7 +148,7 @@ class instance_shattered_halls : public InstanceMapScript
loadStream >> tmpState;
if (tmpState == IN_PROGRESS || tmpState > SPECIAL)
tmpState = NOT_STARTED;
- SetBossState(i, EncounterState(tmpState));
+ SetBossState(i, EncounterState(tmpState));
}
}
else
diff --git a/src/server/scripts/World/go_scripts.cpp b/src/server/scripts/World/go_scripts.cpp
index 87533fbe47d..ce44cb57eef 100644
--- a/src/server/scripts/World/go_scripts.cpp
+++ b/src/server/scripts/World/go_scripts.cpp
@@ -1085,11 +1085,11 @@ public:
{
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_USE_OUTHOUSE, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1);
player->SEND_GOSSIP_MENU(GOSSIP_OUTHOUSE_VACANT, go->GetGUID());
- return true;
}
else
player->SEND_GOSSIP_MENU(GOSSIP_OUTHOUSE_INUSE, go->GetGUID());
- return true;
+
+ return true;
}
bool OnGossipSelect(Player* player, GameObject* go, uint32 /*sender*/, uint32 action) OVERRIDE
@@ -1180,8 +1180,7 @@ class go_gjalerbron_cage : public GameObjectScript
{
if (Creature* prisoner = go->FindNearestCreature(NPC_GJALERBRON_PRISONER, 5.0f))
{
- if (player)
- player->KilledMonsterCredit(NPC_GJALERBRON_PRISONER, 0);
+ player->KilledMonsterCredit(NPC_GJALERBRON_PRISONER, 0);
prisoner->AI()->Talk(SAY_FREE);
prisoner->DespawnOrUnsummon(6000);