aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/server/game/Accounts/RBAC.h2
-rw-r--r--src/server/game/Globals/ObjectMgr.cpp1
-rw-r--r--src/server/game/Handlers/GroupHandler.cpp39
-rw-r--r--src/server/game/OutdoorPvP/OutdoorPvP.cpp6
-rw-r--r--src/server/game/Spells/Spell.cpp1
-rw-r--r--src/server/game/Spells/SpellEffects.cpp39
-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
21 files changed, 105 insertions, 111 deletions
diff --git a/src/server/game/Accounts/RBAC.h b/src/server/game/Accounts/RBAC.h
index 35024fc4152..b97ea196a0a 100644
--- a/src/server/game/Accounts/RBAC.h
+++ b/src/server/game/Accounts/RBAC.h
@@ -119,6 +119,8 @@ class RBACObject
RBACObject(uint32 id = 0, std::string const& name = ""):
_id(id), _name(name) { }
+ virtual ~RBACObject() { }
+
/// Gets the Name of the Object
std::string const& GetName() const { return _name; }
/// Gets the Id of the Object
diff --git a/src/server/game/Globals/ObjectMgr.cpp b/src/server/game/Globals/ObjectMgr.cpp
index 306ccc08492..33003de4e6d 100644
--- a/src/server/game/Globals/ObjectMgr.cpp
+++ b/src/server/game/Globals/ObjectMgr.cpp
@@ -6977,6 +6977,7 @@ void ObjectMgr::LoadPointsOfInterest()
uint32 point_id = fields[0].GetUInt32();
PointOfInterest POI;
+ POI.entry = point_id;
POI.x = fields[1].GetFloat();
POI.y = fields[2].GetFloat();
POI.icon = fields[3].GetUInt32();
diff --git a/src/server/game/Handlers/GroupHandler.cpp b/src/server/game/Handlers/GroupHandler.cpp
index ff4387a3a70..27ef4960f79 100644
--- a/src/server/game/Handlers/GroupHandler.cpp
+++ b/src/server/game/Handlers/GroupHandler.cpp
@@ -729,33 +729,28 @@ void WorldSession::BuildPartyMemberStatsChangedPacket(Player* player, WorldPacke
if (mask & GROUP_UPDATE_FLAG_STATUS)
{
- if (player)
- {
- uint16 playerStatus = MEMBER_STATUS_ONLINE;
- if (player->IsPvP())
- playerStatus |= MEMBER_STATUS_PVP;
+ uint16 playerStatus = MEMBER_STATUS_ONLINE;
+ if (player->IsPvP())
+ playerStatus |= MEMBER_STATUS_PVP;
- if (!player->IsAlive())
- {
- if (player->HasFlag(PLAYER_FLAGS, PLAYER_FLAGS_GHOST))
- playerStatus |= MEMBER_STATUS_GHOST;
- else
- playerStatus |= MEMBER_STATUS_DEAD;
- }
+ if (!player->IsAlive())
+ {
+ if (player->HasFlag(PLAYER_FLAGS, PLAYER_FLAGS_GHOST))
+ playerStatus |= MEMBER_STATUS_GHOST;
+ else
+ playerStatus |= MEMBER_STATUS_DEAD;
+ }
- if (player->HasByteFlag(UNIT_FIELD_BYTES_2, 1, UNIT_BYTE2_FLAG_FFA_PVP))
- playerStatus |= MEMBER_STATUS_PVP_FFA;
+ if (player->HasByteFlag(UNIT_FIELD_BYTES_2, 1, UNIT_BYTE2_FLAG_FFA_PVP))
+ playerStatus |= MEMBER_STATUS_PVP_FFA;
- if (player->isAFK())
- playerStatus |= MEMBER_STATUS_AFK;
+ if (player->isAFK())
+ playerStatus |= MEMBER_STATUS_AFK;
- if (player->isDND())
- playerStatus |= MEMBER_STATUS_DND;
+ if (player->isDND())
+ playerStatus |= MEMBER_STATUS_DND;
- *data << uint16(playerStatus);
- }
- else
- *data << uint16(MEMBER_STATUS_OFFLINE);
+ *data << uint16(playerStatus);
}
if (mask & GROUP_UPDATE_FLAG_CUR_HP)
diff --git a/src/server/game/OutdoorPvP/OutdoorPvP.cpp b/src/server/game/OutdoorPvP/OutdoorPvP.cpp
index 30308c12630..73b5399fa89 100644
--- a/src/server/game/OutdoorPvP/OutdoorPvP.cpp
+++ b/src/server/game/OutdoorPvP/OutdoorPvP.cpp
@@ -453,18 +453,14 @@ void OutdoorPvP::HandleKill(Player* killer, Unit* killed)
// creature kills must be notified, even if not inside objective / not outdoor pvp active
// player kills only count if active and inside objective
if ((groupGuy->IsOutdoorPvPActive() && IsInsideObjective(groupGuy)) || killed->GetTypeId() == TYPEID_UNIT)
- {
HandleKillImpl(groupGuy, killed);
- }
}
}
else
{
// creature kills must be notified, even if not inside objective / not outdoor pvp active
- if (killer && ((killer->IsOutdoorPvPActive() && IsInsideObjective(killer)) || killed->GetTypeId() == TYPEID_UNIT))
- {
+ if ((killer->IsOutdoorPvPActive() && IsInsideObjective(killer)) || killed->GetTypeId() == TYPEID_UNIT)
HandleKillImpl(killer, killed);
- }
}
}
diff --git a/src/server/game/Spells/Spell.cpp b/src/server/game/Spells/Spell.cpp
index 24a9ab76377..13a6cffeb12 100644
--- a/src/server/game/Spells/Spell.cpp
+++ b/src/server/game/Spells/Spell.cpp
@@ -3120,6 +3120,7 @@ void Spell::cancel()
CancelGlobalCooldown();
if (m_caster->GetTypeId() == TYPEID_PLAYER)
m_caster->ToPlayer()->RestoreSpellMods(this);
+ // no break
case SPELL_STATE_DELAYED:
SendInterrupted(0);
SendCastResult(SPELL_FAILED_INTERRUPTED);
diff --git a/src/server/game/Spells/SpellEffects.cpp b/src/server/game/Spells/SpellEffects.cpp
index 38d31a89e86..e054c91ccc9 100644
--- a/src/server/game/Spells/SpellEffects.cpp
+++ b/src/server/game/Spells/SpellEffects.cpp
@@ -4214,6 +4214,7 @@ void Spell::EffectScriptEffect(SpellEffIndex effIndex)
m_caster->CastSpell(unitTarget, spellId2, true);
return;
}
+ break;
}
case SPELLFAMILY_DEATHKNIGHT:
{
@@ -4650,25 +4651,11 @@ void Spell::EffectSummonObject(SpellEffIndex effIndex)
return;
uint32 go_id = m_spellInfo->Effects[effIndex].MiscValue;
+ uint8 slot = m_spellInfo->Effects[effIndex].Effect - SPELL_EFFECT_SUMMON_OBJECT_SLOT1;
- uint8 slot = 0;
- switch (m_spellInfo->Effects[effIndex].Effect)
- {
- case SPELL_EFFECT_SUMMON_OBJECT_SLOT1: slot = 0; break;
- case SPELL_EFFECT_SUMMON_OBJECT_SLOT2: slot = 1; break;
- case SPELL_EFFECT_SUMMON_OBJECT_SLOT3: slot = 2; break;
- case SPELL_EFFECT_SUMMON_OBJECT_SLOT4: slot = 3; break;
- default: return;
- }
-
- uint64 guid = m_caster->m_ObjectSlot[slot];
- if (guid != 0)
+ if (uint64 guid = m_caster->m_ObjectSlot[slot])
{
- GameObject* obj = NULL;
- if (m_caster)
- obj = m_caster->GetMap()->GetGameObject(guid);
-
- if (obj)
+ if (GameObject* obj = m_caster->GetMap()->GetGameObject(guid))
{
// Recast case - null spell id to make auras not be removed on object remove from world
if (m_spellInfo->Id == obj->GetSpellId())
@@ -4678,7 +4665,7 @@ void Spell::EffectSummonObject(SpellEffIndex effIndex)
m_caster->m_ObjectSlot[slot] = 0;
}
- GameObject* pGameObj = new GameObject;
+ GameObject* go = new GameObject();
float x, y, z;
// If dest location if present
@@ -4689,24 +4676,24 @@ void Spell::EffectSummonObject(SpellEffIndex effIndex)
m_caster->GetClosePoint(x, y, z, DEFAULT_WORLD_OBJECT_SIZE);
Map* map = m_caster->GetMap();
- if (!pGameObj->Create(sObjectMgr->GenerateLowGuid(HIGHGUID_GAMEOBJECT), go_id, map,
+ if (!go->Create(sObjectMgr->GenerateLowGuid(HIGHGUID_GAMEOBJECT), go_id, map,
m_caster->GetPhaseMask(), x, y, z, m_caster->GetOrientation(), 0.0f, 0.0f, 0.0f, 0.0f, 0, GO_STATE_READY))
{
- delete pGameObj;
+ delete go;
return;
}
//pGameObj->SetUInt32Value(GAMEOBJECT_LEVEL, m_caster->getLevel());
int32 duration = m_spellInfo->GetDuration();
- pGameObj->SetRespawnTime(duration > 0 ? duration/IN_MILLISECONDS : 0);
- pGameObj->SetSpellId(m_spellInfo->Id);
- m_caster->AddGameObject(pGameObj);
+ go->SetRespawnTime(duration > 0 ? duration/IN_MILLISECONDS : 0);
+ go->SetSpellId(m_spellInfo->Id);
+ m_caster->AddGameObject(go);
- ExecuteLogEffectSummonObject(effIndex, pGameObj);
+ ExecuteLogEffectSummonObject(effIndex, go);
- map->AddToMap(pGameObj);
+ map->AddToMap(go);
- m_caster->m_ObjectSlot[slot] = pGameObj->GetGUID();
+ m_caster->m_ObjectSlot[slot] = go->GetGUID();
}
void Spell::EffectResurrect(SpellEffIndex effIndex)
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);