Core/Scripts: Fixed build of boss_* scripts

This commit is contained in:
Shauren committed 2014-09-15 22:07:11 +02:00
1 parent 6ce0a3107d
commit a3d8f1d879
88 files changed
+453 -508

No files matched your search

@@ -107,8 +107,8 @@ public:
if (!bFirstTime)
instance->SetBossState(DATA_JEDOGA_SHADOWSEEKER, FAIL);
instance->SetGuidData(DATA_PL_JEDOGA_TARGET, 0);
instance->SetGuidData(DATA_ADD_JEDOGA_OPFER, 0);
instance->SetGuidData(DATA_PL_JEDOGA_TARGET, ObjectGuid::Empty);
instance->SetGuidData(DATA_ADD_JEDOGA_OPFER, ObjectGuid::Empty);
instance->SetData(DATA_JEDOGA_RESET_INITIANDS, 0);
MoveUp();
@@ -248,13 +248,14 @@ public:
void OpferRufen()
{
uint64 opfer = instance->GetGuidData(DATA_ADD_JEDOGA_INITIAND);
ObjectGuid opfer = instance->GetGuidData(DATA_ADD_JEDOGA_INITIAND);
if (opfer)
{
Talk(TEXT_SACRIFICE_1);
instance->SetGuidData(DATA_ADD_JEDOGA_OPFER, opfer);
} else
}
else
bCanDown = true;
}
@@ -389,7 +390,7 @@ public:
boss->AI()->DoAction(ACTION_INITIAND_KILLED);
}
instance->SetGuidData(DATA_ADD_JEDOGA_OPFER, 0);
instance->SetGuidData(DATA_ADD_JEDOGA_OPFER, ObjectGuid::Empty);
bWalking = false;
}
@@ -88,16 +88,14 @@ class boss_prince_taldaram : public CreatureScript
boss_prince_taldaramAI(Creature* creature) : BossAI(creature, DATA_PRINCE_TALDARAM)
{
me->SetDisableGravity(true);
_flameSphereTargetGUID = 0;
_embraceTargetGUID = 0;
_embraceTakenDamage = 0;
}
void Reset() override
{
_Reset();
_flameSphereTargetGUID = 0;
_embraceTargetGUID = 0;
_flameSphereTargetGUID.Clear();
_embraceTargetGUID.Clear();
_embraceTakenDamage = 0;
}
@@ -194,7 +192,7 @@ class boss_prince_taldaram : public CreatureScript
events.ScheduleEvent(EVENT_FEEDING, 20000);
break;
case EVENT_FEEDING:
_embraceTargetGUID = 0;
_embraceTargetGUID.Clear();
break;
default:
break;
@@ -213,7 +211,7 @@ class boss_prince_taldaram : public CreatureScript
_embraceTakenDamage += damage;
if (_embraceTakenDamage > DUNGEON_MODE<uint32>(DATA_EMBRACE_DMG, H_DATA_EMBRACE_DMG))
{
_embraceTargetGUID = 0;
_embraceTargetGUID.Clear();
me->CastStop();
}
}
@@ -231,7 +229,7 @@ class boss_prince_taldaram : public CreatureScript
return;
if (victim->GetGUID() == _embraceTargetGUID)
_embraceTargetGUID = 0;
_embraceTargetGUID.Clear();
Talk(SAY_SLAY);
}
@@ -267,8 +265,8 @@ class boss_prince_taldaram : public CreatureScript
}
private:
uint64 _flameSphereTargetGUID;
uint64 _embraceTargetGUID;
ObjectGuid _flameSphereTargetGUID;
ObjectGuid _embraceTargetGUID;
uint32 _embraceTakenDamage;
};
@@ -288,7 +286,6 @@ class npc_prince_taldaram_flame_sphere : public CreatureScript
{
npc_prince_taldaram_flame_sphereAI(Creature* creature) : ScriptedAI(creature)
{
_flameSphereTargetGUID = 0;
}
void Reset() override
@@ -296,7 +293,7 @@ class npc_prince_taldaram_flame_sphere : public CreatureScript
DoCast(me, SPELL_FLAME_SPHERE_SPAWN_EFFECT, true);
DoCast(me, SPELL_FLAME_SPHERE_VISUAL, true);
_flameSphereTargetGUID = 0;
_flameSphereTargetGUID.Clear();
_events.Reset();
_events.ScheduleEvent(EVENT_START_MOVE, 3 * IN_MILLISECONDS);
_events.ScheduleEvent(EVENT_DESPAWN, 13 * IN_MILLISECONDS);
@@ -1116,7 +1116,7 @@ class npc_combustion_consumption : public CreatureScript
struct npc_combustion_consumptionAI : public ScriptedAI
{
npc_combustion_consumptionAI(Creature* creature) : ScriptedAI(creature),
_instance(creature->GetInstanceScript()), _summonerGuid(0)
_instance(creature->GetInstanceScript())
{
SetCombatMovement(false);
@@ -1171,7 +1171,7 @@ class npc_combustion_consumption : public CreatureScript
InstanceScript* _instance;
uint32 _explosionSpell;
uint32 _damageSpell;
uint64 _summonerGuid;
ObjectGuid _summonerGuid;
};
CreatureAI* GetAI(Creature* creature) const override
@@ -1394,7 +1394,7 @@ class spell_halion_combustion_consumption : public SpellScriptLoader
return;
if (GetTarget()->HasAura(_markSpell))
GetTarget()->RemoveAurasDueToSpell(_markSpell, 0, 0, AURA_REMOVE_BY_EXPIRE);
GetTarget()->RemoveAurasDueToSpell(_markSpell, ObjectGuid::Empty, 0, AURA_REMOVE_BY_EXPIRE);
}
void OnApply(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/)
@@ -1455,7 +1455,7 @@ class spell_halion_marks : public SpellScriptLoader
if (Unit* dispelledUnit = GetUnitOwner())
if (dispelledUnit->HasAura(_removeSpellId))
dispelledUnit->RemoveAurasDueToSpell(_removeSpellId, 0, 0, AURA_REMOVE_BY_EXPIRE);
dispelledUnit->RemoveAurasDueToSpell(_removeSpellId, ObjectGuid::Empty, 0, AURA_REMOVE_BY_EXPIRE);
}
void OnRemove(AuraEffect const* aurEff, AuraEffectHandleModes /*mode*/)
@@ -1558,7 +1558,7 @@ class spell_halion_twilight_realm_handlers : public SpellScriptLoader
if (!target)
return;
target->RemoveAurasDueToSpell(_beforeHitSpellId, 0, 0, AURA_REMOVE_BY_ENEMY_SPELL);
target->RemoveAurasDueToSpell(_beforeHitSpellId, ObjectGuid::Empty, 0, AURA_REMOVE_BY_ENEMY_SPELL);
if (InstanceScript* instance = target->GetInstanceScript())
instance->SendEncounterUnit(ENCOUNTER_FRAME_UNK7);
}
@@ -208,7 +208,7 @@ public:
}
if (uiType <= 3)
Start(false, true, 0, NULL);
Start(false, true);
}
void WaypointReached(uint32 waypointId) override
@@ -769,7 +769,7 @@ public:
uiMultiShotTimer = 0;
uiLightningArrowsTimer = 7000;
uiTargetGUID = 0;
uiTargetGUID.Clear();
bShoot = false;
}
@@ -783,7 +783,7 @@ public:
uint32 uiMultiShotTimer;
uint32 uiLightningArrowsTimer;
uint64 uiTargetGUID;
ObjectGuid uiTargetGUID;
bool bShoot;
bool bDone;
@@ -483,7 +483,7 @@ class boss_toc_champion_controller : public CreatureScript
SummonChampions((Team)uiData);
break;
case 1:
for (std::list<uint64>::iterator i = _summons.begin(); i != _summons.end(); ++i)
for (SummonList::iterator i = _summons.begin(); i != _summons.end(); ++i)
{
if (Creature* temp = ObjectAccessor::GetCreature(*me, *i))
{
@@ -294,7 +294,6 @@ class npc_snobold_vassal : public CreatureScript
{
npc_snobold_vassalAI(Creature* creature) : ScriptedAI(creature)
{
_targetGUID = 0;
_targetDied = false;
_instance = creature->GetInstanceScript();
_instance->SetData(DATA_SNOBOLD_COUNT, INCREASE);
@@ -305,7 +304,7 @@ class npc_snobold_vassal : public CreatureScript
_events.ScheduleEvent(EVENT_BATTER, 5*IN_MILLISECONDS);
_events.ScheduleEvent(EVENT_HEAD_CRACK, 25*IN_MILLISECONDS);
_targetGUID = 0;
_targetGUID.Clear();
_targetDied = false;
//Workaround for Snobold
@@ -442,7 +441,7 @@ class npc_snobold_vassal : public CreatureScript
private:
EventMap _events;
InstanceScript* _instance;
uint64 _targetGUID;
ObjectGuid _targetGUID;
bool _targetDied;
};
@@ -877,7 +876,7 @@ class boss_icehowl : public CreatureScript
_movementStarted = false;
_movementFinish = false;
_trampleCast = false;
_trampleTargetGUID = 0;
_trampleTargetGUID.Clear();
_trampleTargetX = 0;
_trampleTargetY = 0;
_trampleTargetZ = 0;
@@ -1077,7 +1076,7 @@ class boss_icehowl : public CreatureScript
if (Player* target = ObjectAccessor::GetPlayer(*me, _trampleTargetGUID))
Talk(EMOTE_TRAMPLE_START, target);
me->GetMotionMaster()->MoveCharge(_trampleTargetX, _trampleTargetY, _trampleTargetZ, 42, 1);
me->SetTarget(0);
me->SetTarget(ObjectGuid::Empty);
_stage = 5;
break;
case 5:
@@ -1134,7 +1133,7 @@ class boss_icehowl : public CreatureScript
private:
float _trampleTargetX, _trampleTargetY, _trampleTargetZ;
uint64 _trampleTargetGUID;
ObjectGuid _trampleTargetGUID;
bool _movementStarted;
bool _movementFinish;
bool _trampleCast;
@@ -216,7 +216,7 @@ public:
void SetSummonerStatus(bool active)
{
for (uint8 i = 0; i < 4; i++)
if (uint64 guid = instance->GetGuidData(summoners[i].data))
if (ObjectGuid guid = instance->GetGuidData(summoners[i].data))
if (Creature* crystalChannelTarget = ObjectAccessor::GetCreature(*me, guid))
{
if (active)
@@ -229,7 +229,7 @@ public:
void SetCrystalsStatus(bool active)
{
for (uint8 i = 0; i < 4; i++)
if (uint64 guid = instance->GetGuidData(DATA_NOVOS_CRYSTAL_1 + i))
if (ObjectGuid guid = instance->GetGuidData(DATA_NOVOS_CRYSTAL_1 + i))
if (GameObject* crystal = ObjectAccessor::GetGameObject(*me, guid))
SetCrystalStatus(crystal, active);
}
@@ -249,7 +249,7 @@ public:
void CrystalHandlerDied()
{
for (uint8 i = 0; i < 4; i++)
if (uint64 guid = instance->GetGuidData(DATA_NOVOS_CRYSTAL_1 + i))
if (ObjectGuid guid = instance->GetGuidData(DATA_NOVOS_CRYSTAL_1 + i))
if (GameObject* crystal = ObjectAccessor::GetGameObject(*me, guid))
if (crystal->GetGoState() == GO_STATE_ACTIVE)
{
@@ -266,7 +266,7 @@ public:
if (IsHeroic())
events.ScheduleEvent(EVENT_SUMMON_MINIONS, 15000);
}
else if (uint64 guid = instance->GetGuidData(DATA_NOVOS_SUMMONER_4))
else if (ObjectGuid guid = instance->GetGuidData(DATA_NOVOS_SUMMONER_4))
if (Creature* crystalChannelTarget = ObjectAccessor::GetCreature(*me, guid))
crystalChannelTarget->AI()->SetData(SPELL_SUMMON_CRYSTAL_HANDLER, 15000);
}
@@ -330,7 +330,7 @@ public:
void JustSummoned(Creature* summon) override
{
if (InstanceScript* instance = me->GetInstanceScript())
if (uint64 guid = instance->GetGuidData(DATA_NOVOS))
if (ObjectGuid guid = instance->GetGuidData(DATA_NOVOS))
if (Creature* novos = ObjectAccessor::GetCreature(*me, guid))
novos->AI()->JustSummoned(summon);
@@ -293,8 +293,8 @@ class boss_krick : public CreatureScript
void Initialize()
{
_phase = PHASE_COMBAT;
_outroNpcGUID = 0;
_tyrannusGUID = 0;
_outroNpcGUID.Clear();
_tyrannusGUID.Clear();
}
void Reset() override
@@ -494,8 +494,8 @@ class boss_krick : public CreatureScript
EventMap _events;
KrickPhase _phase;
uint64 _outroNpcGUID;
uint64 _tyrannusGUID;
ObjectGuid _outroNpcGUID;
ObjectGuid _tyrannusGUID;
};
CreatureAI* GetAI(Creature* creature) const override
@@ -299,7 +299,7 @@ class boss_rimefang : public CreatureScript
void Initialize()
{
_currentWaypoint = 0;
_hoarfrostTargetGUID = 0;
_hoarfrostTargetGUID.Clear();
}
void Reset() override
@@ -366,7 +366,7 @@ class boss_rimefang : public CreatureScript
if (Unit* target = ObjectAccessor::GetUnit(*me, _hoarfrostTargetGUID))
{
DoCast(target, SPELL_HOARFROST);
_hoarfrostTargetGUID = 0;
_hoarfrostTargetGUID.Clear();
}
break;
default:
@@ -377,7 +377,7 @@ class boss_rimefang : public CreatureScript
private:
Vehicle* _vehicle;
uint64 _hoarfrostTargetGUID;
ObjectGuid _hoarfrostTargetGUID;
EventMap _events;
uint8 _currentWaypoint;
};
@@ -391,7 +391,7 @@ class boss_rimefang : public CreatureScript
class player_overlord_brandAI : public PlayerAI
{
public:
player_overlord_brandAI(Player* player, uint64 casterGUID) : PlayerAI(player), _tyrannusGUID(casterGUID) { }
player_overlord_brandAI(Player* player, ObjectGuid casterGUID) : PlayerAI(player), _tyrannusGUID(casterGUID) { }
void DamageDealt(Unit* /*victim*/, uint32& damage, DamageEffectType /*damageType*/) override
{
@@ -409,7 +409,7 @@ class player_overlord_brandAI : public PlayerAI
void UpdateAI(uint32 /*diff*/) override { }
private:
uint64 _tyrannusGUID;
ObjectGuid _tyrannusGUID;
};
class spell_tyrannus_overlord_brand : public SpellScriptLoader
@@ -104,7 +104,7 @@ public:
uint32 uiImpalingChargeTimer;
uint32 uiStompTimer;
uint32 uiTransformationTimer;
std::list<uint64> impaledList;
GuidList impaledList;
uint8 shareTheLove;
CombatPhase Phase;
@@ -247,10 +247,10 @@ public:
}
// 5 UNIQUE party members
void CheckAchievement(uint64 guid)
void CheckAchievement(ObjectGuid guid)
{
bool playerExists = false;
for (std::list<uint64>::iterator itr = impaledList.begin(); itr != impaledList.end(); ++itr)
for (GuidList::iterator itr = impaledList.begin(); itr != impaledList.end(); ++itr)
if (guid != *itr)
playerExists = true;
@@ -103,7 +103,7 @@ public:
uint8 uiPhase;
std::set<uint64> lWrappedPlayers;
GuidSet lWrappedPlayers;
SummonList lSummons;
InstanceScript* instance;
@@ -205,7 +205,7 @@ public:
lWrappedPlayers.insert(guid);
}
bool WasWrapped(uint64 guid)
bool WasWrapped(ObjectGuid guid)
{
return lWrappedPlayers.count(guid) != 0;
}
@@ -88,7 +88,6 @@ class boss_festergut : public CreatureScript
{
_maxInoculatedStack = 0;
_inhaleCounter = 0;
_gasDummyGUID = 0;
}
void Reset() override
@@ -279,7 +278,7 @@ class boss_festergut : public CreatureScript
}
private:
uint64 _gasDummyGUID;
ObjectGuid _gasDummyGUID;
uint32 _maxInoculatedStack;
uint32 _inhaleCounter;
};
@@ -383,7 +383,9 @@ public:
void ResetSlots(uint32 team)
{
_transport = NULL;
memset(_controlledSlots, 0, sizeof(uint64)* MAX_SLOTS);
for (uint32 i = 0; i < MAX_SLOTS; ++i)
_controlledSlots[i].Clear();
memset(_respawnCooldowns, 0, sizeof(time_t)* MAX_SLOTS);
_spawnPoint = team == HORDE ? &OrgrimsHammerAddsSpawnPos : &SkybreakerAddsSpawnPos;
_slotInfo = team == HORDE ? OrgrimsHammerSlotInfo : SkybreakerSlotInfo;
@@ -422,7 +424,7 @@ public:
void ClearSlot(PassengerSlots slot)
{
_controlledSlots[slot] = 0;
_controlledSlots[slot].Clear();
_respawnCooldowns[slot] = time(NULL) + _slotInfo[slot].Cooldown;
}
@@ -448,7 +450,7 @@ private:
}
Transport* _transport;
uint64 _controlledSlots[MAX_SLOTS];
ObjectGuid _controlledSlots[MAX_SLOTS];
time_t _respawnCooldowns[MAX_SLOTS];
Position const* _spawnPoint;
SlotInfo const* _slotInfo;
@@ -482,7 +484,7 @@ private:
class ResetEncounterEvent : public BasicEvent
{
public:
ResetEncounterEvent(Unit* caster, uint32 spellId, uint64 otherTransport) : _caster(caster), _spellId(spellId), _otherTransport(otherTransport) { }
ResetEncounterEvent(Unit* caster, uint32 spellId, ObjectGuid otherTransport) : _caster(caster), _spellId(spellId), _otherTransport(otherTransport) { }
bool Execute(uint64, uint32) override
{
@@ -498,7 +500,7 @@ public:
private:
Unit* _caster;
uint32 _spellId;
uint64 _otherTransport;
ObjectGuid _otherTransport;
};
class BattleExperienceEvent : public BasicEvent
@@ -801,7 +803,7 @@ class npc_gunship : public CreatureScript
if (id != ACTION_SHIP_VISITS)
return;
std::map<uint64, uint32>::iterator itr = _shipVisits.find(guid);
std::map<ObjectGuid, uint32>::iterator itr = _shipVisits.find(guid);
if (itr == _shipVisits.end())
_shipVisits[guid] = 1;
else
@@ -814,7 +816,7 @@ class npc_gunship : public CreatureScript
return 0;
uint32 max = 0;
for (std::map<uint64, uint32>::const_iterator itr = _shipVisits.begin(); itr != _shipVisits.end(); ++itr)
for (std::map<ObjectGuid, uint32>::const_iterator itr = _shipVisits.begin(); itr != _shipVisits.end(); ++itr)
max = std::max(max, itr->second);
return max;
@@ -822,7 +824,7 @@ class npc_gunship : public CreatureScript
private:
uint32 _teamInInstance;
std::map<uint64, uint32> _shipVisits;
std::map<ObjectGuid, uint32> _shipVisits;
bool _summonedFirstMage;
bool _died;
};
@@ -224,8 +224,8 @@ class boss_lady_deathwhisper : public CreatureScript
void Initialize()
{
_waveCounter = 0;
_nextVengefulShadeTargetGUID = 0;
_darnavanGUID = 0;
_nextVengefulShadeTargetGUID.Clear();
_darnavanGUID.Clear();
}
void Reset() override
@@ -329,10 +329,10 @@ class boss_lady_deathwhisper : public CreatureScript
{
for (GroupReference* itr = group->GetFirstMember(); itr != NULL; itr = itr->next())
if (Player* member = itr->GetSource())
member->KilledMonsterCredit(NPC_DARNAVAN_CREDIT, 0);
member->KilledMonsterCredit(NPC_DARNAVAN_CREDIT);
}
else
owner->KilledMonsterCredit(NPC_DARNAVAN_CREDIT, 0);
owner->KilledMonsterCredit(NPC_DARNAVAN_CREDIT);
}
}
}
@@ -349,7 +349,7 @@ class boss_lady_deathwhisper : public CreatureScript
if (Creature* darnavan = ObjectAccessor::GetCreature(*me, _darnavanGUID))
{
darnavan->DespawnOrUnsummon();
_darnavanGUID = 0;
_darnavanGUID.Clear();
}
}
@@ -396,7 +396,7 @@ class boss_lady_deathwhisper : public CreatureScript
if (summon->GetEntry() == NPC_VENGEFUL_SHADE)
{
target = ObjectAccessor::GetUnit(*me, _nextVengefulShadeTargetGUID); // Vengeful Shade
_nextVengefulShadeTargetGUID = 0;
_nextVengefulShadeTargetGUID.Clear();
}
else
target = SelectTarget(SELECT_TARGET_RANDOM); // Wave adds
@@ -568,7 +568,7 @@ class boss_lady_deathwhisper : public CreatureScript
if (_reanimationQueue.empty())
return;
uint64 cultistGUID = _reanimationQueue.front();
ObjectGuid cultistGUID = _reanimationQueue.front();
Creature* cultist = ObjectAccessor::GetCreature(*me, cultistGUID);
_reanimationQueue.pop_front();
if (!cultist)
@@ -615,9 +615,9 @@ class boss_lady_deathwhisper : public CreatureScript
}
private:
uint64 _nextVengefulShadeTargetGUID;
uint64 _darnavanGUID;
std::deque<uint64> _reanimationQueue;
ObjectGuid _nextVengefulShadeTargetGUID;
ObjectGuid _darnavanGUID;
GuidDeque _reanimationQueue;
uint32 _waveCounter;
uint8 const _dominateMindCount;
bool _introDone;
@@ -133,7 +133,6 @@ class boss_lord_marrowgar : public CreatureScript
_coldflameLastPos.Relocate(creature);
_introDone = false;
_boneSlice = false;
_coldflameTarget = 0;
}
void Reset() override
@@ -211,7 +210,7 @@ class boss_lord_marrowgar : public CreatureScript
break;
case EVENT_COLDFLAME:
_coldflameLastPos.Relocate(me);
_coldflameTarget = 0LL;
_coldflameTarget.Clear();
if (!me->HasAura(SPELL_BONE_STORM))
DoCastAOE(SPELL_COLDFLAME_NORMAL);
else
@@ -307,7 +306,7 @@ class boss_lord_marrowgar : public CreatureScript
}
}
return 0LL;
return ObjectGuid::Empty;
}
void SetGUID(ObjectGuid guid, int32 type /*= 0 */) override
@@ -333,8 +332,8 @@ class boss_lord_marrowgar : public CreatureScript
private:
Position _coldflameLastPos;
std::vector<uint64> _boneSpikeImmune;
uint64 _coldflameTarget;
GuidVector _boneSpikeImmune;
ObjectGuid _coldflameTarget;
uint32 _boneStormDuration;
float _baseSpeed;
bool _introDone;
@@ -174,7 +174,7 @@ class AbominationDespawner
public:
explicit AbominationDespawner(Unit* owner) : _owner(owner) { }
bool operator()(uint64 guid)
bool operator()(ObjectGuid guid)
{
if (Unit* summon = ObjectAccessor::GetUnit(*_owner, guid))
{
@@ -702,7 +702,7 @@ class boss_professor_putricide : public CreatureScript
events.SetPhase(newPhase);
}
uint64 _oozeFloodDummyGUIDs[4];
ObjectGuid _oozeFloodDummyGUIDs[4];
Phases _phase; // external of EventMap because event phase gets reset on evade
float const _baseSpeed;
uint8 _oozeFloodStage;
@@ -469,7 +469,7 @@ class spell_rotface_ooze_flood : public SpellScriptLoader
return;
triggers.sort(Trinity::ObjectDistanceOrderPred(GetHitUnit()));
GetHitUnit()->CastSpell(triggers.back(), uint32(GetEffectValue()), false, NULL, NULL, GetOriginalCaster() ? GetOriginalCaster()->GetGUID() : 0);
GetHitUnit()->CastSpell(triggers.back(), uint32(GetEffectValue()), false, NULL, NULL, GetOriginalCaster() ? GetOriginalCaster()->GetGUID() : ObjectGuid::Empty);
}
void FilterTargets(std::list<WorldObject*>& targets)
@@ -182,7 +182,7 @@ class FrostwyrmLandEvent : public BasicEvent
class FrostBombExplosion : public BasicEvent
{
public:
FrostBombExplosion(Creature* owner, uint64 sindragosaGUID) : _owner(owner), _sindragosaGUID(sindragosaGUID) { }
FrostBombExplosion(Creature* owner, ObjectGuid sindragosaGUID) : _owner(owner), _sindragosaGUID(sindragosaGUID) { }
bool Execute(uint64 /*eventTime*/, uint32 /*updateTime*/)
{
@@ -193,7 +193,7 @@ class FrostBombExplosion : public BasicEvent
private:
Creature* _owner;
uint64 _sindragosaGUID;
ObjectGuid _sindragosaGUID;
};
class FrostBeaconSelector
@@ -563,7 +563,6 @@ class npc_ice_tomb : public CreatureScript
{
npc_ice_tombAI(Creature* creature) : ScriptedAI(creature)
{
_trappedPlayerGUID = 0;
_existenceCheckTimer = 0;
SetCombatMovement(false);
}
@@ -595,7 +594,7 @@ class npc_ice_tomb : public CreatureScript
if (Player* player = ObjectAccessor::GetPlayer(*me, _trappedPlayerGUID))
{
_trappedPlayerGUID = 0;
_trappedPlayerGUID.Clear();
player->RemoveAurasDueToSpell(SPELL_ICE_TOMB_DAMAGE);
player->RemoveAurasDueToSpell(SPELL_ASPHYXIATION);
}
@@ -623,7 +622,7 @@ class npc_ice_tomb : public CreatureScript
}
private:
uint64 _trappedPlayerGUID;
ObjectGuid _trappedPlayerGUID;
uint32 _existenceCheckTimer;
};
@@ -1433,7 +1433,7 @@ class npc_valkyr_shadowguard : public CreatureScript
struct npc_valkyr_shadowguardAI : public ScriptedAI
{
npc_valkyr_shadowguardAI(Creature* creature) : ScriptedAI(creature),
_grabbedPlayer(0), _instance(creature->GetInstanceScript())
_instance(creature->GetInstanceScript())
{
}
@@ -1563,7 +1563,7 @@ class npc_valkyr_shadowguard : public CreatureScript
private:
EventMap _events;
Position _dropPoint;
uint64 _grabbedPlayer;
ObjectGuid _grabbedPlayer;
InstanceScript* _instance;
};
@@ -1640,7 +1640,7 @@ class npc_strangulate_vehicle : public CreatureScript
else
{
summoner->CastSpell(summoner, SPELL_HARVEST_SOULS_TELEPORT, true);
summoner->RemoveAurasDueToSpell(HARVEST_SOUL, 0, 0, AURA_REMOVE_BY_EXPIRE);
summoner->RemoveAurasDueToSpell(HARVEST_SOUL, ObjectGuid::Empty, 0, AURA_REMOVE_BY_EXPIRE);
}
}
}
@@ -175,7 +175,7 @@ struct ManaVoidSelector : public std::unary_function<Unit*, bool>
class DelayedCastEvent : public BasicEvent
{
public:
DelayedCastEvent(Creature* trigger, uint32 spellId, uint64 originalCaster, uint32 despawnTime) : _trigger(trigger), _originalCaster(originalCaster), _spellId(spellId), _despawnTime(despawnTime)
DelayedCastEvent(Creature* trigger, uint32 spellId, ObjectGuid originalCaster, uint32 despawnTime) : _trigger(trigger), _originalCaster(originalCaster), _spellId(spellId), _despawnTime(despawnTime)
{
}
@@ -189,7 +189,7 @@ class DelayedCastEvent : public BasicEvent
private:
Creature* _trigger;
uint64 _originalCaster;
ObjectGuid _originalCaster;
uint32 _spellId;
uint32 _despawnTime;
};
@@ -742,7 +742,7 @@ class npc_risen_archmage : public CreatureScript
void JustSummoned(Creature* summon) override
{
if (summon->GetEntry() == NPC_COLUMN_OF_FROST)
summon->m_Events.AddEvent(new DelayedCastEvent(summon, SPELL_COLUMN_OF_FROST_DAMAGE, 0, 8000), summon->m_Events.CalculateTime(2000));
summon->m_Events.AddEvent(new DelayedCastEvent(summon, SPELL_COLUMN_OF_FROST_DAMAGE, ObjectGuid::Empty, 8000), summon->m_Events.CalculateTime(2000));
else if (summon->GetEntry() == NPC_MANA_VOID)
summon->DespawnOrUnsummon(36000);
}
@@ -106,7 +106,7 @@ public:
void Initialize()
{
uiEventStarterGUID = 0;
uiEventStarterGUID.Clear();
nextWP = 0;
punishTimer = 2000;
nextMovementStarted = false;
@@ -118,7 +118,7 @@ public:
}
Horsemen id;
uint64 uiEventStarterGUID;
ObjectGuid uiEventStarterGUID;
uint8 nextWP;
uint32 punishTimer;
bool caster;
@@ -182,8 +182,8 @@ class boss_gothik : public CreatureScript
bool phaseTwo;
bool thirtyPercentReached;
std::vector<uint64> LiveTriggerGUID;
std::vector<uint64> DeadTriggerGUID;
GuidVector LiveTriggerGUID;
GuidVector DeadTriggerGUID;
void Reset() override
{
@@ -135,7 +135,7 @@ public:
me->NearTeleportTo(x, y, z, o - (float(M_PI) / 2));
me->GetMotionMaster()->Clear();
me->GetMotionMaster()->MoveIdle();
me->SetTarget(0);
me->SetTarget(ObjectGuid::Empty);
DoCastAOE(SPELL_PLAGUE_CLOUD);
events.ScheduleEvent(EVENT_PHASE, 45000);
events.ScheduleEvent(EVENT_ERUPT, 8000);
@@ -285,13 +285,13 @@ public:
uint8 nAbomination;
uint8 nWeaver;
std::map<uint64, float> chained;
std::map<ObjectGuid, float> chained;
SummonList spawns; // adds spawn by the trigger. kept in separated list (i.e. not in summons)
void ResetPlayerScale()
{
std::map<uint64, float>::const_iterator itr;
std::map<ObjectGuid, float>::const_iterator itr;
for (itr = chained.begin(); itr != chained.end(); ++itr)
{
if (Player* charmed = ObjectAccessor::GetPlayer(*me, itr->first))
@@ -495,7 +495,7 @@ public:
}
case EVENT_CHAINED_SPELL:
{
std::map<uint64, float>::iterator itr;
std::map<ObjectGuid, float>::iterator itr;
for (itr = chained.begin(); itr != chained.end();)
{
if (Unit* player = ObjectAccessor::GetPlayer(*me, itr->first))
@@ -503,7 +503,7 @@ public:
if (!player->IsCharmed())
{
player->SetObjectScale(itr->second);
std::map<uint64, float>::iterator next = itr;
std::map<ObjectGuid, float>::iterator next = itr;
++next;
chained.erase(itr);
itr = next;
@@ -80,7 +80,7 @@ enum Misc
MAX_FROST_RESISTANCE = 100
};
typedef std::map<uint64, uint64> IceBlockMap;
typedef std::map<ObjectGuid, ObjectGuid> IceBlockMap;
class boss_sapphiron : public CreatureScript
{
@@ -313,7 +313,7 @@ class boss_sapphiron : public CreatureScript
{
std::vector<Unit*>::const_iterator itr = targets.begin();
advance(itr, rand32() % targets.size());
_iceblocks.insert(std::make_pair((*itr)->GetGUID(), 0));
_iceblocks.insert(std::make_pair((*itr)->GetGUID(), ObjectGuid::Empty));
DoCast(*itr, SPELL_ICEBOLT);
--_iceboltCount;
}
@@ -354,9 +354,10 @@ public:
_summonDeaths = 0;
_preparingPulsesChecker = 0;
_arcaneOverloadGUID = 0;
_lastHitByArcaneBarrageGUID = 0;
memset(_surgeTargetGUID, 0, sizeof(_surgeTargetGUID));
_arcaneOverloadGUID.Clear();
_lastHitByArcaneBarrageGUID.Clear();
for (ObjectGuid& guid : _surgeTargetGUID)
guid.Clear();
_killSpamFilter = false;
_canAttack = false;
@@ -424,7 +425,7 @@ public:
else if (type == DATA_LAST_TARGET_BARRAGE_GUID)
return _lastHitByArcaneBarrageGUID;
return 0;
return ObjectGuid::Empty;
}
void SetGUID(ObjectGuid guid, int32 type) override
@@ -441,6 +442,7 @@ public:
break;
case DATA_LAST_TARGET_BARRAGE_GUID:
_lastHitByArcaneBarrageGUID = guid;
break;
}
}
@@ -1030,9 +1032,9 @@ public:
uint8 _phase; // Counter for phases used with a getter.
uint8 _summonDeaths; // Keeps count of arcane trash.
uint8 _preparingPulsesChecker; // In retail they use 2 preparing pulses with 7 sec CD, after they pass 2 seconds.
uint64 _arcaneOverloadGUID; // Last Arcane Overload summoned to know to which should visual be cast to (the purple ball, not bubble).
uint64 _lastHitByArcaneBarrageGUID; // Last hit player by Arcane Barrage, will be removed if targets > 1.
uint64 _surgeTargetGUID[3]; // All these three are used to keep current tagets to which warning should be sent.
ObjectGuid _arcaneOverloadGUID; // Last Arcane Overload summoned to know to which should visual be cast to (the purple ball, not bubble).
ObjectGuid _lastHitByArcaneBarrageGUID; // Last hit player by Arcane Barrage, will be removed if targets > 1.
ObjectGuid _surgeTargetGUID[3]; // All these three are used to keep current tagets to which warning should be sent.
bool _killSpamFilter; // Prevent text spamming on killed player by helping implement a CD.
bool _canAttack; // Used to control attacking (Move Chase not being applied after Stop Attack, only few times should act like this).
@@ -73,8 +73,8 @@ public:
InstanceScript* instance;
std::list<uint64> intenseColdList;
uint64 auiContainmentSphereGUIDs[DATA_CONTAINMENT_SPHERES];
GuidList intenseColdList;
ObjectGuid auiContainmentSphereGUIDs[DATA_CONTAINMENT_SPHERES];
uint32 uiCrystalfireBreathTimer;
uint32 uiCrystalChainsCrystalizeTimer;
uint32 uiTailSweepTimer;
@@ -271,9 +271,9 @@ class achievement_intense_cold : public AchievementCriteriaScript
if (!target)
return false;
std::list<uint64> intenseColdList = ENSURE_AI(boss_keristrasza::boss_keristraszaAI, target->ToCreature()->AI())->intenseColdList;
GuidList intenseColdList = ENSURE_AI(boss_keristrasza::boss_keristraszaAI, target->ToCreature()->AI())->intenseColdList;
if (!intenseColdList.empty())
for (std::list<uint64>::iterator itr = intenseColdList.begin(); itr != intenseColdList.end(); ++itr)
for (GuidList::iterator itr = intenseColdList.begin(); itr != intenseColdList.end(); ++itr)
if (player->GetGUID() == *itr)
return false;
@@ -77,9 +77,9 @@ public:
InstanceScript* instance;
uint64 uiFireMagusGUID;
uint64 uiFrostMagusGUID;
uint64 uiArcaneMagusGUID;
ObjectGuid uiFireMagusGUID;
ObjectGuid uiFrostMagusGUID;
ObjectGuid uiArcaneMagusGUID;
bool bFireMagusDead;
bool bFrostMagusDead;
@@ -105,9 +105,9 @@ public:
uiGravityWellTimer = 15*IN_MILLISECONDS;
uiCooldown = 0;
uiFireMagusGUID = 0;
uiFrostMagusGUID = 0;
uiArcaneMagusGUID = 0;
uiFireMagusGUID.Clear();
uiFrostMagusGUID.Clear();
uiArcaneMagusGUID.Clear();
for (uint8 n = 0; n < 3; ++n)
time[n] = 0;
@@ -163,7 +163,7 @@ public:
return 0;
}
uint64 SplitPersonality(uint32 entry)
ObjectGuid SplitPersonality(uint32 entry)
{
if (Creature* Summoned = me->SummonCreature(entry, me->GetPositionX(), me->GetPositionY(), me->GetPositionZ(), me->GetOrientation(), TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 1*IN_MILLISECONDS))
{
@@ -189,7 +189,7 @@ public:
Summoned->AI()->AttackStart(target);
return Summoned->GetGUID();
}
return 0;
return ObjectGuid::Empty;
}
void SummonedCreatureDespawn(Creature* summon) override
@@ -246,9 +246,9 @@ public:
Phase = 2;
if (Phase == 3)
Phase = 4;
uiFireMagusGUID = 0;
uiFrostMagusGUID = 0;
uiArcaneMagusGUID = 0;
uiFireMagusGUID.Clear();
uiFrostMagusGUID.Clear();
uiArcaneMagusGUID.Clear();
bIsWaitingToAppear = true;
uiIsWaitingToAppearTimer = 4*IN_MILLISECONDS;
Talk(SAY_MERGE);
@@ -175,7 +175,7 @@ class npc_azure_ring_captain : public CreatureScript
void Reset() override
{
targetGUID = 0;
targetGUID.Clear();
me->SetWalk(true);
//! HACK: Creature's can't have MOVEMENTFLAG_FLYING
@@ -232,7 +232,7 @@ class npc_azure_ring_captain : public CreatureScript
}
private:
uint64 targetGUID;
ObjectGuid targetGUID;
InstanceScript* instance;
};
@@ -162,7 +162,7 @@ public:
Position pos = me->GetPosition();
for (uint64 guid : lSparkList)
for (ObjectGuid guid : lSparkList)
{
if (Creature* pSpark = ObjectAccessor::GetCreature(*me, guid))
{
@@ -83,7 +83,7 @@ public:
InstanceScript* instance;
std::list<uint64> m_lGolemGUIDList;
GuidList m_lGolemGUIDList;
bool m_bHasTemper;
bool m_bIsStriking;
@@ -158,7 +158,7 @@ public:
if (m_lGolemGUIDList.empty())
return;
for (uint64 guid : m_lGolemGUIDList)
for (ObjectGuid guid : m_lGolemGUIDList)
{
if (Creature* temp = ObjectAccessor::GetCreature(*me, guid))
if (temp->IsAlive())
@@ -173,7 +173,7 @@ public:
if (m_lGolemGUIDList.empty())
return;
for (uint64 guid : m_lGolemGUIDList)
for (ObjectGuid guid : m_lGolemGUIDList)
{
if (Creature* temp = ObjectAccessor::GetCreature(*me, guid))
{
@@ -266,7 +266,7 @@ class boss_flame_leviathan : public CreatureScript
_Reset();
//resets shutdown counter to 0. 2 or 4 depending on raid mode
Shutdown = 0;
_pursueTarget = 0;
_pursueTarget.Clear();
me->SetReactState(REACT_DEFENSIVE);
}
@@ -550,7 +550,7 @@ class boss_flame_leviathan : public CreatureScript
}
}
uint64 _pursueTarget;
ObjectGuid _pursueTarget;
};
CreatureAI* GetAI(Creature* creature) const override
@@ -978,7 +978,7 @@ public:
npc_escortAI::UpdateAI(diff);
if (!HasEscortState(STATE_ESCORT_ESCORTING))
Start(false, true, 0, NULL, false, true);
Start(false, true, ObjectGuid::Empty, NULL, false, true);
else
{
if (infernoTimer <= diff)
@@ -226,7 +226,6 @@ class npc_iron_roots : public CreatureScript
me->ApplySpellImmune(0, IMMUNITY_ID, 49560, true); // Death Grip
me->setFaction(14);
me->SetReactState(REACT_PASSIVE);
summonerGUID = 0;
}
void IsSummonedBy(Unit* summoner) override
@@ -251,7 +250,7 @@ class npc_iron_roots : public CreatureScript
}
private:
uint64 summonerGUID;
ObjectGuid summonerGUID;
};
CreatureAI* GetAI(Creature* creature) const override
@@ -269,7 +268,7 @@ class boss_freya : public CreatureScript
{
boss_freyaAI(Creature* creature) : BossAI(creature, BOSS_FREYA) { }
uint64 ElementalGUID[3][2];
ObjectGuid ElementalGUID[3][2];
uint32 deforestation[6][2];
uint32 elementalTimer[2];
@@ -294,7 +293,7 @@ class boss_freya : public CreatureScript
for (uint8 i = 0; i < 3; ++i)
for (uint8 n = 0; n < 2; ++n)
ElementalGUID[i][n] = 0;
ElementalGUID[i][n].Clear();
for (uint8 i = 0; i < 6; ++i)
for (uint8 n = 0; n < 2; ++n)
deforestation[i][n] = 0;
@@ -1544,17 +1543,17 @@ class spell_freya_attuned_to_nature_dose_reduction : public SpellScriptLoader
case SPELL_ATTUNED_TO_NATURE_2_DOSE_REDUCTION:
if (target->HasAura(GetEffectValue()))
for (uint8 n = 0; n < 2; ++n)
target->RemoveAuraFromStack(GetEffectValue(), 0, AURA_REMOVE_BY_DEFAULT);
target->RemoveAuraFromStack(GetEffectValue());
break;
case SPELL_ATTUNED_TO_NATURE_10_DOSE_REDUCTION:
if (target->HasAura(GetEffectValue()))
for (uint8 n = 0; n < 10; ++n)
target->RemoveAuraFromStack(GetEffectValue(), 0, AURA_REMOVE_BY_DEFAULT);
target->RemoveAuraFromStack(GetEffectValue());
break;
case SPELL_ATTUNED_TO_NATURE_25_DOSE_REDUCTION:
if (target->HasAura(GetEffectValue()))
for (uint8 n = 0; n < 25; ++n)
target->RemoveAuraFromStack(GetEffectValue(), 0, AURA_REMOVE_BY_DEFAULT);
target->RemoveAuraFromStack(GetEffectValue());
break;
default:
break;
@@ -188,12 +188,12 @@ class npc_flash_freeze : public CreatureScript
InstanceScript* instance;
uint64 targetGUID;
ObjectGuid targetGUID;
uint32 checkDespawnTimer;
void Reset() override
{
targetGUID = 0;
targetGUID.Clear();
checkDespawnTimer = 1000;
}
@@ -254,12 +254,11 @@ class npc_ice_block : public CreatureScript
instance = me->GetInstanceScript();
me->SetDisplayId(me->GetCreatureTemplate()->Modelid2);
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_DISABLE_MOVE | UNIT_FLAG_STUNNED | UNIT_FLAG_PACIFIED);
targetGUID = 0;
}
InstanceScript* instance;
uint64 targetGUID;
ObjectGuid targetGUID;
void IsSummonedBy(Unit* summoner) override
{
@@ -966,7 +965,7 @@ class spell_biting_cold : public SpellScriptLoader
}
private:
typedef std::list< std::pair<uint64, uint8> > TargetList;
typedef std::list<std::pair<ObjectGuid, uint8>> TargetList;
TargetList listOfTargets;
};
@@ -140,7 +140,7 @@ class boss_ignis : public CreatureScript
events.ScheduleEvent(EVENT_CONSTRUCT, 15000);
events.ScheduleEvent(EVENT_END_POT, 40000);
events.ScheduleEvent(EVENT_BERSERK, 480000);
_slagPotGUID = 0;
_slagPotGUID.Clear();
_shattered = false;
_firstConstructKill = 0;
instance->DoStartTimedAchievement(ACHIEVEMENT_TIMED_TYPE_EVENT, ACHIEVEMENT_IGNIS_START_EVENT);
@@ -245,7 +245,7 @@ class boss_ignis : public CreatureScript
{
slagPotTarget->ExitVehicle();
slagPotTarget = NULL;
_slagPotGUID = 0;
_slagPotGUID.Clear();
events.CancelEvent(EVENT_END_POT);
}
break;
@@ -276,7 +276,7 @@ class boss_ignis : public CreatureScript
}
private:
uint64 _slagPotGUID;
ObjectGuid _slagPotGUID;
Vehicle* _vehicle;
time_t _firstConstructKill;
bool _shattered;
@@ -370,7 +370,6 @@ class npc_scorch_ground : public CreatureScript
}
void MoveInLineOfSight(Unit* who) override
{
if (!_heat)
{
@@ -389,7 +388,7 @@ class npc_scorch_ground : public CreatureScript
{
_heat = false;
DoCast(me, SPELL_GROUND);
_constructGUID = 0;
_constructGUID.Clear();
_heatTimer = 0;
}
@@ -412,7 +411,7 @@ class npc_scorch_ground : public CreatureScript
}
private:
uint64 _constructGUID;
ObjectGuid _constructGUID;
uint32 _heatTimer;
bool _heat;
};
@@ -115,7 +115,7 @@ class boss_kologarn : public CreatureScript
Vehicle* vehicle;
bool left, right;
uint64 eyebeamTarget;
ObjectGuid eyebeamTarget;
void EnterCombat(Unit* /*who*/) override
{
@@ -139,7 +139,7 @@ class boss_kologarn : public CreatureScript
{
_Reset();
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
eyebeamTarget = 0;
eyebeamTarget.Clear();
}
void JustDied(Unit* /*killer*/) override
@@ -339,7 +339,7 @@ class spell_ulduar_rubble_summon : public SpellScriptLoader
if (!caster)
return;
uint64 originalCaster = caster->GetInstanceScript() ? caster->GetInstanceScript()->GetGuidData(BOSS_KOLOGARN) : 0;
ObjectGuid originalCaster = caster->GetInstanceScript() ? caster->GetInstanceScript()->GetGuidData(BOSS_KOLOGARN) : ObjectGuid::Empty;
uint32 spellId = GetEffectValue();
for (uint8 i = 0; i < 5; ++i)
caster->CastSpell(caster, spellId, true, NULL, NULL, originalCaster);
@@ -592,14 +592,14 @@ class npc_expedition_commander : public CreatureScript
struct npc_expedition_commanderAI : public ScriptedAI
{
npc_expedition_commanderAI(Creature* creature) : ScriptedAI(creature)
npc_expedition_commanderAI(Creature* creature) : ScriptedAI(creature), summons(creature)
{
instance = me->GetInstanceScript();
Greet = false;
}
InstanceScript* instance;
std::list<uint64> summons;
SummonList summons;
bool Greet;
uint32 AttackStartTimer;
@@ -612,7 +612,7 @@ class npc_expedition_commander : public CreatureScript
AttackStartTimer = 0;
Phase = 0;
Greet = false;
summons.clear();
summons.DespawnAll();
}
void MoveInLineOfSight(Unit* who) override
@@ -627,7 +627,7 @@ class npc_expedition_commander : public CreatureScript
void JustSummoned(Creature* summoned) override
{
summons.push_back(summoned->GetGUID());
summons.Summon(summoned);
}
void DoAction(int32 action) override
@@ -638,7 +638,7 @@ class npc_expedition_commander : public CreatureScript
Talk(SAY_GROUND_PHASE);
break;
case ACTION_COMMANDER_RESET:
summons.clear();
summons.DespawnAll();
me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
break;
}
@@ -652,7 +652,7 @@ class npc_expedition_commander : public CreatureScript
{
case 1:
instance->SetBossState(BOSS_RAZORSCALE, IN_PROGRESS);
summons.clear();
summons.DespawnAll();
AttackStartTimer = 1000;
Phase = 2;
break;
@@ -666,23 +666,23 @@ class boss_sara : public CreatureScript
{
boss_saraAI(Creature* creature) : ScriptedAI(creature), _instance(creature->GetInstanceScript()) { }
uint64 GetLinkedPlayerGUID(uint64 guid) const
ObjectGuid GetLinkedPlayerGUID(ObjectGuid guid) const
{
std::map<uint64, uint64>::const_iterator itr = _linkData.find(guid);
std::map<ObjectGuid, ObjectGuid>::const_iterator itr = _linkData.find(guid);
if (itr != _linkData.end())
return itr->second;
return 0;
return ObjectGuid::Empty;
}
void SetLinkBetween(uint64 player1, uint64 player2)
void SetLinkBetween(ObjectGuid player1, ObjectGuid player2)
{
_linkData[player1] = player2;
_linkData[player2] = player1;
}
// called once for each target on aura remove
void RemoveLinkFrom(uint64 player1)
void RemoveLinkFrom(ObjectGuid player1)
{
_linkData.erase(player1);
}
@@ -870,7 +870,7 @@ class boss_sara : public CreatureScript
private:
EventMap _events;
InstanceScript* _instance;
std::map<uint64, uint64> _linkData;
std::map<ObjectGuid, ObjectGuid> _linkData;
};
CreatureAI* GetAI(Creature* creature) const override
@@ -2782,7 +2782,7 @@ class spell_yogg_saron_induce_madness : public SpellScriptLoader // 64059
if (Unit* target = GetHitUnit())
{
target->CastSpell(target, SPELL_TELEPORT_BACK_TO_MAIN_ROOM);
target->RemoveAurasDueToSpell(SPELL_SANITY, 0, 0, AURA_REMOVE_BY_ENEMY_SPELL);
target->RemoveAurasDueToSpell(SPELL_SANITY, ObjectGuid::Empty, 0, AURA_REMOVE_BY_ENEMY_SPELL);
target->RemoveAurasDueToSpell(uint32(GetEffectValue()));
}
}
@@ -170,13 +170,11 @@ public:
boss_skadiAI(Creature* creature) : ScriptedAI(creature), Summons(me)
{
instance = creature->GetInstanceScript();
m_uiGraufGUID = 0;
}
InstanceScript* instance;
SummonList Summons;
uint64 m_uiGraufGUID;
std::vector<uint64> triggersGUID;
ObjectGuid m_uiGraufGUID;
uint32 m_uiCrushTimer;
uint32 m_uiPoisonedSpearTimer;
@@ -192,8 +190,6 @@ public:
void Reset() override
{
triggersGUID.clear();
m_uiCrushTimer = 8000;
m_uiPoisonedSpearTimer = 10000;
m_uiWhirlwindTimer = 20000;
@@ -266,7 +262,7 @@ public:
void SummonedCreatureDespawn(Creature* summoned) override
{
if (summoned->GetEntry() == NPC_GRAUF)
m_uiGraufGUID = 0;
m_uiGraufGUID.Clear();
Summons.Despawn(summoned);
}
@@ -153,9 +153,9 @@ class boss_svala : public CreatureScript
me->SetDisableGravity(events.IsInPhase(NORMAL));
_arthasGUID = 0;
_arthasGUID.Clear();
instance->SetGuidData(DATA_SACRIFICED_PLAYER, 0);
instance->SetGuidData(DATA_SACRIFICED_PLAYER, ObjectGuid::Empty);
}
void EnterCombat(Unit* /*who*/) override
@@ -181,7 +181,7 @@ class boss_svala : public CreatureScript
events.SetPhase(INTRO);
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
if (GameObject* mirror = ObjectAccessor::GetGameObject(*me, DATA_UTGARDE_MIRROR))
if (GameObject* mirror = ObjectAccessor::GetGameObject(*me, instance->GetGuidData(DATA_UTGARDE_MIRROR)))
mirror->SetGoState(GO_STATE_READY);
if (Creature* arthas = me->SummonCreature(NPC_ARTHAS, ArthasPos, TEMPSUMMON_MANUAL_DESPAWN))
@@ -324,12 +324,12 @@ class boss_svala : public CreatureScript
break;
}
case EVENT_INTRO_DESPAWN_ARTHAS:
if (GameObject* mirror = ObjectAccessor::GetGameObject(*me, DATA_UTGARDE_MIRROR))
if (GameObject* mirror = ObjectAccessor::GetGameObject(*me, instance->GetGuidData(DATA_UTGARDE_MIRROR)))
mirror->SetGoState(GO_STATE_ACTIVE);
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
if (Creature* arthas = ObjectAccessor::GetCreature(*me, _arthasGUID))
arthas->DespawnOrUnsummon();
_arthasGUID = 0;
_arthasGUID.Clear();
events.SetPhase(NORMAL);
_introCompleted = true;
events.ScheduleEvent(EVENT_SINISTER_STRIKE, 7 * IN_MILLISECONDS, 0, NORMAL);
@@ -378,7 +378,7 @@ class boss_svala : public CreatureScript
}
private:
uint64 _arthasGUID;
ObjectGuid _arthasGUID;
bool _sacrificed;
bool _introCompleted;
};
@@ -138,8 +138,8 @@ public:
uint32 m_uiHealthAmountModifier;
uint32 m_uiHealthAmountMultipler;
uint64 m_uiActivedCreatureGUID;
uint64 m_uiOrbGUID;
ObjectGuid m_uiActivedCreatureGUID;
ObjectGuid m_uiOrbGUID;
void Reset() override
{
@@ -167,8 +167,8 @@ public:
m_uiHealthAmountModifier = 1;
m_uiHealthAmountMultipler = DUNGEON_MODE(20, 25);
m_uiActivedCreatureGUID = 0;
m_uiOrbGUID = 0;
m_uiActivedCreatureGUID.Clear();
m_uiOrbGUID.Clear();
}
void EnterCombat(Unit* /*who*/) override
@@ -361,13 +361,13 @@ public:
Talk(SAY_SLAY);
}
void DespawnBoatGhosts(uint64& m_uiCreatureGUID)
void DespawnBoatGhosts(ObjectGuid& m_uiCreatureGUID)
{
if (m_uiCreatureGUID)
if (Creature* temp = ObjectAccessor::GetCreature(*me, m_uiCreatureGUID))
temp->DisappearAndDie();
m_uiCreatureGUID = 0;
m_uiCreatureGUID.Clear();
}
};
@@ -101,7 +101,7 @@ class boss_emalon : public CreatureScript
{
if (!summons.empty())
{
for (std::list<uint64>::const_iterator itr = summons.begin(); itr != summons.end(); ++itr)
for (SummonList::const_iterator itr = summons.begin(); itr != summons.end(); ++itr)
{
Creature* minion = ObjectAccessor::GetCreature(*me, *itr);
if (minion && minion->IsAlive() && !minion->GetVictim() && minion->AI())
@@ -166,7 +166,7 @@ public:
if (uiChainHealTimer <= diff)
{
if (uint64 TargetGUID = GetChainHealTargetGUID())
if (ObjectGuid TargetGUID = GetChainHealTargetGUID())
{
if (Creature* target = ObjectAccessor::GetCreature(*me, TargetGUID))
DoCast(target, SPELL_CHAIN_HEAL);
@@ -224,7 +224,7 @@ public:
Talk(SAY_SLAY);
}
uint64 GetChainHealTargetGUID()
ObjectGuid GetChainHealTargetGUID()
{
if (HealthBelowPct(85))
return me->GetGUID();
@@ -237,7 +237,7 @@ public:
if (pGuard2 && pGuard2->IsAlive() && !pGuard2->HealthAbovePct(75))
return pGuard2->GetGUID();
return 0;
return ObjectGuid::Empty;
}
};
@@ -221,7 +221,7 @@ public:
{
if (!bIsExploded)
{
if (!me->HasAura(SPELL_PROTECTIVE_BUBBLE, 0))
if (!me->HasAura(SPELL_PROTECTIVE_BUBBLE))
{
Talk(SAY_SHATTER);
DoCast(me, SPELL_WATER_BLAST);
@@ -241,7 +241,7 @@ public:
bool bIsWaterElementsAlive = false;
if (!m_waterElements.empty())
{
for (std::list<uint64>::const_iterator itr = m_waterElements.begin(); itr != m_waterElements.end(); ++itr)
for (SummonList::const_iterator itr = m_waterElements.begin(); itr != m_waterElements.end(); ++itr)
if (Creature* temp = ObjectAccessor::GetCreature(*me, *itr))
if (temp->IsAlive())
{