feat(Core/Misc): implement ObjectGuid class (port from TC) (#4885)

This commit is contained in:
UltraNix
2021-04-25 22:18:03 +02:00
committed by GitHub
parent 91081f4ad8
commit f4c226423d
568 changed files with 10655 additions and 11019 deletions

View File

@@ -50,7 +50,7 @@ public:
}
EventMap events;
uint64 focusGUID;
ObjectGuid focusGUID;
void EnterEvadeMode() override
{
@@ -61,7 +61,7 @@ public:
void Reset() override
{
events.Reset();
focusGUID = 0;
focusGUID.Clear();
me->SetControlled(false, UNIT_STATE_ROOT);
}

View File

@@ -21,14 +21,12 @@ public:
instance_sethekk_halls_InstanceMapScript(Map* map) : InstanceScript(map) {}
uint32 AnzuEncounter;
uint64 m_uiIkissDoorGUID;
uint64 _talonKingsCofferGUID;
ObjectGuid m_uiIkissDoorGUID;
ObjectGuid _talonKingsCofferGUID;
void Initialize() override
{
AnzuEncounter = NOT_STARTED;
m_uiIkissDoorGUID = 0;
_talonKingsCofferGUID = 0;
}
void OnCreatureCreate(Creature* creature) override

View File

@@ -53,7 +53,7 @@ public:
me->RemoveAurasDueToSpell(SPELL_BANISH);
Talk(SAY_INTRO);
Start(true, false, 0, nullptr, false, true);
Start(true, false, ObjectGuid::Empty, nullptr, false, true);
isBanished = false;
}
@@ -70,7 +70,7 @@ public:
me->CastSpell(me, SPELL_BANISH, true);
}
else
Start(true, false, 0, nullptr, false, true);
Start(true, false, ObjectGuid::Empty, nullptr, false, true);
}
}

View File

@@ -208,16 +208,15 @@ public:
{
npc_voidtravelerAI(Creature* creature) : ScriptedAI(creature)
{
VorpilGUID = 0;
moveTimer = 1000;
sacrificed = false;
}
uint64 VorpilGUID;
ObjectGuid VorpilGUID;
uint32 moveTimer;
bool sacrificed;
void SetGUID(uint64 guid, int32) override
void SetGUID(ObjectGuid guid, int32) override
{
VorpilGUID = guid;
}

View File

@@ -22,9 +22,9 @@ public:
uint32 m_auiEncounter[MAX_ENCOUNTER];
uint64 m_uiHellmawGUID;
uint64 m_uiRefectoryDoorGUID;
uint64 m_uiScreamingHallDoorGUID;
ObjectGuid m_uiHellmawGUID;
ObjectGuid m_uiRefectoryDoorGUID;
ObjectGuid m_uiScreamingHallDoorGUID;
uint32 m_uiFelOverseerCount;
@@ -32,10 +32,6 @@ public:
{
memset(&m_auiEncounter, 0, sizeof(m_auiEncounter));
m_uiHellmawGUID = 0;
m_uiRefectoryDoorGUID = 0;
m_uiScreamingHallDoorGUID = 0;
m_uiFelOverseerCount = 0;
}

View File

@@ -223,7 +223,7 @@ public:
{
BossAI::EnterEvadeMode();
if (Creature* akama = ObjectAccessor::GetCreature(*me, instance->GetData64(NPC_AKAMA)))
if (Creature* akama = ObjectAccessor::GetCreature(*me, instance->GetGuidData(NPC_AKAMA)))
akama->AI()->EnterEvadeMode();
}
@@ -395,7 +395,7 @@ public:
switch (events2.ExecuteEvent())
{
case EVENT_SUMMON_MINIONS2:
if (Creature* akama = ObjectAccessor::GetCreature(*me, instance->GetData64(NPC_AKAMA)))
if (Creature* akama = ObjectAccessor::GetCreature(*me, instance->GetGuidData(NPC_AKAMA)))
akama->AI()->DoAction(ACTION_FIGHT_MINIONS);
break;
case EVENT_PHASE_2_EYE_BEAM_START:
@@ -432,7 +432,7 @@ public:
maiev->AI()->Talk(SAY_MAIEV_SHADOWSONG_ILLIDAN3);
}
if (Creature* akama = ObjectAccessor::GetCreature(*me, instance->GetData64(NPC_AKAMA)))
if (Creature* akama = ObjectAccessor::GetCreature(*me, instance->GetGuidData(NPC_AKAMA)))
{
akama->AI()->DoAction(ACTION_ILLIDAN_DEAD);
akama->SetTarget(me->GetGUID());
@@ -554,7 +554,7 @@ public:
Talk(SAY_ILLIDAN_TAKEOFF);
me->SendMeleeAttackStop(me->GetVictim());
me->SetTarget(0);
me->SetTarget();
me->GetMotionMaster()->Clear();
me->StopMovingOnCurrentPos();
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
@@ -912,40 +912,40 @@ public:
SetEscortPaused(false);
break;
case EVENT_AKAMA_SCENE_20:
if (Creature* illidan = ObjectAccessor::GetCreature(*me, instance->GetData64(NPC_ILLIDAN_STORMRAGE)))
if (Creature* illidan = ObjectAccessor::GetCreature(*me, instance->GetGuidData(NPC_ILLIDAN_STORMRAGE)))
illidan->SetStandState(UNIT_STAND_STATE_STAND);
break;
case EVENT_AKAMA_SCENE_21:
me->SetFacingTo(M_PI);
break;
case EVENT_AKAMA_SCENE_22:
if (Creature* illidan = ObjectAccessor::GetCreature(*me, instance->GetData64(NPC_ILLIDAN_STORMRAGE)))
if (Creature* illidan = ObjectAccessor::GetCreature(*me, instance->GetGuidData(NPC_ILLIDAN_STORMRAGE)))
illidan->AI()->Talk(SAY_ILLIDAN_AKAMA1);
break;
case EVENT_AKAMA_SCENE_23:
Talk(SAY_AKAMA_ILLIDAN1);
break;
case EVENT_AKAMA_SCENE_24:
if (Creature* illidan = ObjectAccessor::GetCreature(*me, instance->GetData64(NPC_ILLIDAN_STORMRAGE)))
if (Creature* illidan = ObjectAccessor::GetCreature(*me, instance->GetGuidData(NPC_ILLIDAN_STORMRAGE)))
illidan->AI()->Talk(SAY_ILLIDAN_AKAMA2);
break;
case EVENT_AKAMA_SCENE_25:
Talk(SAY_AKAMA_ILLIDAN2);
break;
case EVENT_AKAMA_SCENE_26:
if (Creature* illidan = ObjectAccessor::GetCreature(*me, instance->GetData64(NPC_ILLIDAN_STORMRAGE)))
if (Creature* illidan = ObjectAccessor::GetCreature(*me, instance->GetGuidData(NPC_ILLIDAN_STORMRAGE)))
illidan->AI()->Talk(SAY_ILLIDAN_AKAMA3);
break;
case EVENT_AKAMA_SCENE_27:
if (Creature* illidan = ObjectAccessor::GetCreature(*me, instance->GetData64(NPC_ILLIDAN_STORMRAGE)))
if (Creature* illidan = ObjectAccessor::GetCreature(*me, instance->GetGuidData(NPC_ILLIDAN_STORMRAGE)))
illidan->LoadEquipment(1, true);
break;
case EVENT_AKAMA_SCENE_28:
if (Creature* illidan = ObjectAccessor::GetCreature(*me, instance->GetData64(NPC_ILLIDAN_STORMRAGE)))
if (Creature* illidan = ObjectAccessor::GetCreature(*me, instance->GetGuidData(NPC_ILLIDAN_STORMRAGE)))
illidan->HandleEmoteCommand(EMOTE_ONESHOT_TALK_NO_SHEATHE);
break;
case EVENT_AKAMA_SCENE_29:
if (Creature* illidan = ObjectAccessor::GetCreature(*me, instance->GetData64(NPC_ILLIDAN_STORMRAGE)))
if (Creature* illidan = ObjectAccessor::GetCreature(*me, instance->GetGuidData(NPC_ILLIDAN_STORMRAGE)))
{
illidan->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_IMMUNE_TO_NPC);
illidan->SetInCombatWithZone();

View File

@@ -285,7 +285,7 @@ public:
return;
me->m_Events.AddEvent(new SuckBackEvent(*me, ACTION_ESSENCE_OF_SUFFERING), me->m_Events.CalculateTime(1500));
me->SetTarget(0);
me->SetTarget();
me->SetFacingTo(M_PI / 2.0f);
}
@@ -396,7 +396,7 @@ public:
return;
me->m_Events.AddEvent(new SuckBackEvent(*me, ACTION_ESSENCE_OF_DESIRE), me->m_Events.CalculateTime(1500));
me->SetTarget(0);
me->SetTarget();
me->SetFacingTo(M_PI / 2.0f);
}
@@ -483,11 +483,11 @@ public:
boss_essence_of_angerAI(Creature* creature) : ScriptedAI(creature) { }
EventMap events;
uint64 targetGUID;
ObjectGuid targetGUID;
void Reset() override
{
targetGUID = 0;
targetGUID.Clear();
events.Reset();
}
@@ -552,7 +552,7 @@ public:
case EVENT_ANGER_SEETHE:
if (Unit* victim = me->GetVictim())
{
uint64 victimGUID = victim->GetGUID();
ObjectGuid victimGUID = victim->GetGUID();
if (targetGUID && targetGUID != victimGUID)
me->CastSpell(me, SPELL_SEETHE, false);
// victim can be lost

View File

@@ -137,7 +137,7 @@ public:
summonsGenerator.DoAction(ACTION_DESPAWN_ALL);
summonsChanneler.DespawnAll();
me->CastSpell(me, SPELL_SHADE_OF_AKAMA_TRIGGER, true);
if (Creature* akama = ObjectAccessor::GetCreature(*me, instance->GetData64(NPC_AKAMA_SHADE)))
if (Creature* akama = ObjectAccessor::GetCreature(*me, instance->GetGuidData(NPC_AKAMA_SHADE)))
{
akama->SetHomePosition(*akama);
akama->AI()->DoAction(ACTION_SHADE_DIED);
@@ -184,7 +184,7 @@ public:
summonsGenerator.Respawn();
ChannelersAction(ACTION_CHANNELERS_START_CHANNEL);
if (Creature* akama = ObjectAccessor::GetCreature(*me, instance->GetData64(NPC_AKAMA_SHADE)))
if (Creature* akama = ObjectAccessor::GetCreature(*me, instance->GetGuidData(NPC_AKAMA_SHADE)))
akama->Respawn(true);
break;
}
@@ -194,7 +194,7 @@ public:
summonsChanneler.Respawn();
ChannelersAction(ACTION_CHANNELERS_START_CHANNEL);
if (Creature* akama = ObjectAccessor::GetCreature(*me, instance->GetData64(NPC_AKAMA_SHADE)))
if (Creature* akama = ObjectAccessor::GetCreature(*me, instance->GetGuidData(NPC_AKAMA_SHADE)))
akama->Respawn(true);
break;
}
@@ -314,7 +314,7 @@ public:
void JustDied(Unit* /*killer*/) override
{
if (Creature* shade = ObjectAccessor::GetCreature(*me, instance->GetData64(NPC_SHADE_OF_AKAMA)))
if (Creature* shade = ObjectAccessor::GetCreature(*me, instance->GetGuidData(NPC_SHADE_OF_AKAMA)))
shade->AI()->DoAction(ACTION_AKAMA_DIED);
}
@@ -345,7 +345,7 @@ public:
break;
case EVENT_AKAMA_START_CHANNEL:
me->CastSpell(me, SPELL_AKAMA_SOUL_CHANNEL, false);
if (Creature* shade = ObjectAccessor::GetCreature(*me, instance->GetData64(NPC_SHADE_OF_AKAMA)))
if (Creature* shade = ObjectAccessor::GetCreature(*me, instance->GetGuidData(NPC_SHADE_OF_AKAMA)))
{
shade->AI()->AttackStart(me);
shade->GetMotionMaster()->Clear();
@@ -467,7 +467,7 @@ public:
}
summon->SetInCombatWithZone();
if (Unit* akama = ObjectAccessor::GetCreature(*me, instance->GetData64(NPC_AKAMA_SHADE)))
if (Unit* akama = ObjectAccessor::GetCreature(*me, instance->GetGuidData(NPC_AKAMA_SHADE)))
{
summon->AddThreat(akama, 500.0f);
summon->AI()->AttackStart(akama);

View File

@@ -100,7 +100,7 @@ struct HammerOfJusticeSelector : public acore::unary_function<Unit*, bool>
class VerasEnvenom : public BasicEvent
{
public:
VerasEnvenom(Unit& owner, uint64 targetGUID) : _owner(owner), _targetGUID(targetGUID) { }
VerasEnvenom(Unit& owner, ObjectGuid targetGUID) : _owner(owner), _targetGUID(targetGUID) { }
bool Execute(uint64 /*eventTime*/, uint32 /*updateTime*/) override
{
@@ -116,7 +116,7 @@ public:
private:
Unit& _owner;
uint64 _targetGUID;
ObjectGuid _targetGUID;
};
class boss_illidari_council : public CreatureScript
@@ -133,10 +133,9 @@ public:
{
boss_illidari_councilAI(Creature* creature) : BossAI(creature, DATA_ILLIDARI_COUNCIL)
{
memset(councilGUIDs, 0, sizeof(councilGUIDs));
}
uint64 councilGUIDs[4];
ObjectGuid councilGUIDs[4];
void Reset() override
{
@@ -155,10 +154,10 @@ public:
if (!me->isActiveObject() && param == ACTION_START_ENCOUNTER)
{
me->setActive(true);
councilGUIDs[0] = instance->GetData64(NPC_GATHIOS_THE_SHATTERER);
councilGUIDs[1] = instance->GetData64(NPC_HIGH_NETHERMANCER_ZEREVOR);
councilGUIDs[2] = instance->GetData64(NPC_LADY_MALANDE);
councilGUIDs[3] = instance->GetData64(NPC_VERAS_DARKSHADOW);
councilGUIDs[0] = instance->GetGuidData(NPC_GATHIOS_THE_SHATTERER);
councilGUIDs[1] = instance->GetGuidData(NPC_HIGH_NETHERMANCER_ZEREVOR);
councilGUIDs[2] = instance->GetGuidData(NPC_LADY_MALANDE);
councilGUIDs[3] = instance->GetGuidData(NPC_VERAS_DARKSHADOW);
bool spoken = false;
for (uint8 i = 0; i < 4; ++i)
@@ -226,7 +225,7 @@ struct boss_illidari_council_memberAI : public ScriptedAI
void EnterEvadeMode() override
{
me->SetOwnerGUID(0);
me->SetOwnerGUID(ObjectGuid::Empty);
ScriptedAI::EnterEvadeMode();
}
@@ -251,13 +250,13 @@ struct boss_illidari_council_memberAI : public ScriptedAI
void JustDied(Unit*) override
{
Talk(SAY_COUNCIL_DEATH);
if (Creature* council = ObjectAccessor::GetCreature(*me, instance->GetData64(NPC_ILLIDARI_COUNCIL)))
if (Creature* council = ObjectAccessor::GetCreature(*me, instance->GetGuidData(NPC_ILLIDARI_COUNCIL)))
council->GetAI()->DoAction(ACTION_END_ENCOUNTER);
}
void EnterCombat(Unit* /*who*/) override
{
if (Creature* council = ObjectAccessor::GetCreature(*me, instance->GetData64(NPC_ILLIDARI_COUNCIL)))
if (Creature* council = ObjectAccessor::GetCreature(*me, instance->GetGuidData(NPC_ILLIDARI_COUNCIL)))
council->GetAI()->DoAction(ACTION_START_ENCOUNTER);
}
};
@@ -279,14 +278,14 @@ public:
Creature* SelectCouncilMember()
{
if (roll_chance_i(50))
return ObjectAccessor::GetCreature(*me, instance->GetData64(NPC_LADY_MALANDE));
return ObjectAccessor::GetCreature(*me, instance->GetGuidData(NPC_LADY_MALANDE));
if (roll_chance_i(20))
if (Creature* veras = ObjectAccessor::GetCreature(*me, instance->GetData64(NPC_VERAS_DARKSHADOW)))
if (Creature* veras = ObjectAccessor::GetCreature(*me, instance->GetGuidData(NPC_VERAS_DARKSHADOW)))
if (!veras->HasAura(SPELL_VANISH))
return veras;
return ObjectAccessor::GetCreature(*me, instance->GetData64(RAND(NPC_GATHIOS_THE_SHATTERER, NPC_HIGH_NETHERMANCER_ZEREVOR)));
return ObjectAccessor::GetCreature(*me, instance->GetGuidData(RAND(NPC_GATHIOS_THE_SHATTERER, NPC_HIGH_NETHERMANCER_ZEREVOR)));
}
void EnterCombat(Unit* who) override
@@ -538,7 +537,7 @@ public:
break;
case EVENT_SPELL_ENRAGE:
DoResetThreat();
if (Creature* council = ObjectAccessor::GetCreature(*me, instance->GetData64(NPC_ILLIDARI_COUNCIL)))
if (Creature* council = ObjectAccessor::GetCreature(*me, instance->GetGuidData(NPC_ILLIDARI_COUNCIL)))
council->GetAI()->DoAction(ACTION_ENRAGE);
break;
}

View File

@@ -39,18 +39,7 @@ public:
SetBossNumber(MAX_ENCOUNTERS);
LoadDoorData(doorData);
ShadeOfAkamaGUID = 0;
AkamaShadeGUID = 0;
TeronGorefiendGUID = 0;
ReliquaryGUID = 0;
ashtongueGUIDs.clear();
GathiosTheShattererGUID = 0;
HighNethermancerZerevorGUID = 0;
LadyMalandeGUID = 0;
VerasDarkshadowGUID = 0;
IllidariCouncilGUID = 0;
AkamaGUID = 0;
IllidanStormrageGUID = 0;
}
void OnCreatureCreate(Creature* creature) override
@@ -164,7 +153,7 @@ public:
}
}
uint64 GetData64(uint32 type) const override
ObjectGuid GetGuidData(uint32 type) const override
{
switch (type)
{
@@ -188,7 +177,7 @@ public:
return IllidanStormrageGUID;
}
return 0;
return ObjectGuid::Empty;
}
bool SetBossState(uint32 type, EncounterState state) override
@@ -198,8 +187,8 @@ public:
if (type == DATA_SHADE_OF_AKAMA && state == DONE)
{
for (std::list<uint64>::const_iterator itr = ashtongueGUIDs.begin(); itr != ashtongueGUIDs.end(); ++itr)
if (Creature* ashtongue = instance->GetCreature(*itr))
for (ObjectGuid const guid : ashtongueGUIDs)
if (Creature* ashtongue = instance->GetCreature(guid))
ashtongue->setFaction(FACTION_ASHTONGUE);
}
else if (type == DATA_ILLIDARI_COUNCIL && state == DONE)
@@ -255,18 +244,18 @@ public:
}
protected:
uint64 ShadeOfAkamaGUID;
uint64 AkamaShadeGUID;
uint64 TeronGorefiendGUID;
uint64 ReliquaryGUID;
std::list<uint64> ashtongueGUIDs;
uint64 GathiosTheShattererGUID;
uint64 HighNethermancerZerevorGUID;
uint64 LadyMalandeGUID;
uint64 VerasDarkshadowGUID;
uint64 IllidariCouncilGUID;
uint64 AkamaGUID;
uint64 IllidanStormrageGUID;
ObjectGuid ShadeOfAkamaGUID;
ObjectGuid AkamaShadeGUID;
ObjectGuid TeronGorefiendGUID;
ObjectGuid ReliquaryGUID;
GuidList ashtongueGUIDs;
ObjectGuid GathiosTheShattererGUID;
ObjectGuid HighNethermancerZerevorGUID;
ObjectGuid LadyMalandeGUID;
ObjectGuid VerasDarkshadowGUID;
ObjectGuid IllidariCouncilGUID;
ObjectGuid AkamaGUID;
ObjectGuid IllidanStormrageGUID;
};
InstanceScript* GetInstanceScript(InstanceMap* map) const override
@@ -304,8 +293,8 @@ public:
void HandleEffectRemove(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/)
{
for (std::set<uint64>::const_iterator itr = _turtleSet.begin(); itr != _turtleSet.end(); ++itr)
if (Creature* turtle = ObjectAccessor::GetCreature(*GetUnitOwner(), *itr))
for (ObjectGuid const guid : _turtleSet)
if (Creature* turtle = ObjectAccessor::GetCreature(*GetUnitOwner(), guid))
{
turtle->TauntFadeOut(GetUnitOwner());
turtle->AddThreat(GetUnitOwner(), -10000000.0f);
@@ -319,7 +308,7 @@ public:
}
private:
std::set<uint64> _turtleSet;
GuidSet _turtleSet;
};
AuraScript* GetAuraScript() const override

View File

@@ -75,7 +75,7 @@ public:
bool Execute(uint64 /*execTime*/, uint32 /*diff*/) override
{
if (InstanceScript* instance = _owner->GetInstanceScript())
if (Creature* vashj = ObjectAccessor::GetCreature(*_owner, instance->GetData64(NPC_LADY_VASHJ)))
if (Creature* vashj = ObjectAccessor::GetCreature(*_owner, instance->GetGuidData(NPC_LADY_VASHJ)))
_owner->GetMotionMaster()->MoveFollow(vashj, 3.0f, vashj->GetAngle(_owner), MOTION_SLOT_CONTROLLED);
return true;
}
@@ -363,7 +363,7 @@ public:
if (CheckTimer <= diff)
{
// check if vashj is death
Unit* Vashj = ObjectAccessor::GetUnit(*me, instance->GetData64(DATA_LADYVASHJ));
Unit* Vashj = ObjectAccessor::GetUnit(*me, instance->GetGuidData(DATA_LADYVASHJ));
if (!Vashj || !Vashj->IsAlive() || CAST_AI(boss_lady_vashj::boss_lady_vashjAI, Vashj->ToCreature()->AI())->Phase != 3)
{
// remove

View File

@@ -273,7 +273,7 @@ public:
{
}
uint64 ownerGUID;
ObjectGuid ownerGUID;
EventMap events;
void EnterEvadeMode() override
@@ -428,7 +428,7 @@ public:
{
if (GetTargetApplication()->GetRemoveMode() != AURA_REMOVE_BY_DEFAULT)
if (InstanceScript* instance = GetUnitOwner()->GetInstanceScript())
if (Creature* leotheras = ObjectAccessor::GetCreature(*GetUnitOwner(), instance->GetData64(NPC_LEOTHERAS_THE_BLIND)))
if (Creature* leotheras = ObjectAccessor::GetCreature(*GetUnitOwner(), instance->GetGuidData(NPC_LEOTHERAS_THE_BLIND)))
leotheras->CastSpell(GetUnitOwner(), SPELL_CONSUMING_MADNESS, true);
}

View File

@@ -137,7 +137,7 @@ public:
me->CastSpell(me, SPELL_SPOUT_VISUAL, TRIGGERED_IGNORE_SET_FACING);
me->SetReactState(REACT_PASSIVE);
me->SetFacingToObject(me->GetVictim());
me->SetTarget(0);
me->SetTarget();
events.ScheduleEvent(EVENT_SPELL_SPOUT, 60000);
events.RescheduleEvent(EVENT_SPELL_WHIRL, 18000);
events.RescheduleEvent(EVENT_SPELL_GEYSER, 25000);
@@ -205,7 +205,7 @@ public:
if (roll_chance_i(instance->GetBossState(DATA_THE_LURKER_BELOW) != DONE ? 25 : 0) && !instance->IsEncounterInProgress())
{
player->CastSpell(player, SPELL_LURKER_SPAWN_TRIGGER, true);
if (Creature* lurker = ObjectAccessor::GetCreature(*go, instance->GetData64(NPC_THE_LURKER_BELOW)))
if (Creature* lurker = ObjectAccessor::GetCreature(*go, instance->GetGuidData(NPC_THE_LURKER_BELOW)))
lurker->AI()->DoAction(ACTION_START_EVENT);
return true;
}

View File

@@ -32,11 +32,7 @@ public:
SetBossNumber(MAX_ENCOUNTERS);
LoadDoorData(doorData);
LadyVashjGUID = 0;
memset(&ShieldGeneratorGUID, 0, sizeof(ShieldGeneratorGUID));
AliveKeepersCount = 0;
LeotherasTheBlindGUID = 0;
LurkerBelowGUID = 0;
}
bool SetBossState(uint32 type, EncounterState state) override
@@ -115,7 +111,7 @@ public:
}
}
uint64 GetData64(uint32 identifier) const override
ObjectGuid GetGuidData(uint32 identifier) const override
{
switch (identifier)
{
@@ -126,7 +122,8 @@ public:
case NPC_LADY_VASHJ:
return LadyVashjGUID;
}
return 0;
return ObjectGuid::Empty;
}
void SetData(uint32 type, uint32 /*data*/) override
@@ -207,10 +204,10 @@ public:
}
private:
uint64 LadyVashjGUID;
uint64 ShieldGeneratorGUID[4];
uint64 LurkerBelowGUID;
uint64 LeotherasTheBlindGUID;
ObjectGuid LadyVashjGUID;
ObjectGuid ShieldGeneratorGUID[4];
ObjectGuid LurkerBelowGUID;
ObjectGuid LeotherasTheBlindGUID;
int32 AliveKeepersCount;
};

View File

@@ -81,7 +81,7 @@ public:
SetCombatMovement(false);
SetEquipmentSlots(false, 54806, EQUIP_UNEQUIP, EQUIP_UNEQUIP);
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
InvokerGUID = 0;
InvokerGUID.Clear();
events.Reset();
events.RescheduleEvent(EVENT_EMERGE, 12000);
events.RescheduleEvent(EVENT_INVOKER_SAY_1, 1000);
@@ -90,7 +90,7 @@ public:
EventMap events;
SummonList summons;
uint64 InvokerGUID;
ObjectGuid InvokerGUID;
void StartPhase1()
{

View File

@@ -77,7 +77,7 @@ public:
LumaGUID = creature->GetGUID();
break;
case NPC_EARTHEN_RING_FLAMECALLER:
SetData64(counter, creature->GetGUID());
SetGuidData(counter, creature->GetGUID());
++counter;
break;
default:
@@ -85,7 +85,7 @@ public:
}
}
void SetData64(uint32 data, uint64 guid) override
void SetGuidData(uint32 data, ObjectGuid guid) override
{
switch (data)
{
@@ -103,7 +103,7 @@ public:
}
}
uint64 GetData64(uint32 type) const override
ObjectGuid GetGuidData(uint32 type) const override
{
switch (type)
{
@@ -136,17 +136,18 @@ public:
default:
break;
}
return 0;
return ObjectGuid::Empty;
}
protected:
uint64 AhuneGUID;
uint64 AhuneBunnyGUID;
uint64 FrozenCoreGUID;
uint64 LumaGUID;
uint64 FlameCallerGUIDs[3];
uint64 BonfireBunnyGUIDs[3];
uint64 BeamBunnyGUIDs[3];
ObjectGuid AhuneGUID;
ObjectGuid AhuneBunnyGUID;
ObjectGuid FrozenCoreGUID;
ObjectGuid LumaGUID;
ObjectGuid FlameCallerGUIDs[3];
ObjectGuid BonfireBunnyGUIDs[3];
ObjectGuid BeamBunnyGUIDs[3];
uint8 counter;
};

View File

@@ -157,14 +157,14 @@ public:
}
uint32 repairTimer;
uint64 bossGUID;
ObjectGuid bossGUID;
void Reset() override
{
repairTimer = 0;
bossGUID = 0;
bossGUID.Clear();
if (InstanceScript* instance = me->GetInstanceScript())
bossGUID = instance->GetData64(TYPE_MEKGINEER_STEAMRIGGER);
bossGUID = instance->GetGuidData(TYPE_MEKGINEER_STEAMRIGGER);
}
void MoveInLineOfSight(Unit* /*who*/) override {}

View File

@@ -51,19 +51,14 @@ public:
uint32 m_auiEncounter[MAX_ENCOUNTER];
uint64 MekgineerGUID;
uint64 MainChambersDoor;
uint64 AccessPanelHydro;
uint64 AccessPanelMek;
ObjectGuid MekgineerGUID;
ObjectGuid MainChambersDoor;
ObjectGuid AccessPanelHydro;
ObjectGuid AccessPanelMek;
void Initialize() override
{
memset(&m_auiEncounter, 0, sizeof(m_auiEncounter));
MekgineerGUID = 0;
MainChambersDoor = 0;
AccessPanelHydro = 0;
AccessPanelMek = 0;
}
bool IsEncounterInProgress() const override
@@ -92,21 +87,21 @@ public:
case GO_MAIN_CHAMBERS_DOOR:
MainChambersDoor = go->GetGUID();
if (GetData(TYPE_HYDROMANCER_THESPIA) == SPECIAL && GetData(TYPE_MEKGINEER_STEAMRIGGER) == SPECIAL)
HandleGameObject(0, true, go);
HandleGameObject(ObjectGuid::Empty, true, go);
break;
case GO_ACCESS_PANEL_HYDRO:
AccessPanelHydro = go->GetGUID();
if (GetData(TYPE_HYDROMANCER_THESPIA) == DONE)
go->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
else if (GetData(TYPE_HYDROMANCER_THESPIA) == SPECIAL)
HandleGameObject(0, true, go);
HandleGameObject(ObjectGuid::Empty, true, go);
break;
case GO_ACCESS_PANEL_MEK:
AccessPanelMek = go->GetGUID();
if (GetData(TYPE_MEKGINEER_STEAMRIGGER) == DONE)
go->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
else if (GetData(TYPE_MEKGINEER_STEAMRIGGER) == SPECIAL)
HandleGameObject(0, true, go);
HandleGameObject(ObjectGuid::Empty, true, go);
break;
}
}
@@ -164,11 +159,12 @@ public:
return 0;
}
uint64 GetData64(uint32 data) const override
ObjectGuid GetGuidData(uint32 data) const override
{
if (data == TYPE_MEKGINEER_STEAMRIGGER)
return MekgineerGUID;
return 0;
return ObjectGuid::Empty;
}
std::string GetSaveData() override

View File

@@ -55,13 +55,13 @@ public:
EventMap events;
SummonList summons;
uint64 lTarget;
ObjectGuid lTarget;
void Reset() override
{
events.Reset();
summons.DespawnAll();
lTarget = 0;
lTarget.Clear();
}
void EnterCombat(Unit*) override
@@ -142,7 +142,7 @@ public:
if (Unit* target = ObjectAccessor::GetUnit(*me, lTarget))
{
if (!target->HasAura(SPELL_LEVITATE))
lTarget = 0;
lTarget.Clear();
else
{
target->CastSpell(target, SPELL_MAGNETIC_PULL, true);
@@ -154,11 +154,11 @@ public:
if (Unit* target = ObjectAccessor::GetUnit(*me, lTarget))
{
if (!target->HasAura(SPELL_LEVITATE))
lTarget = 0;
lTarget.Clear();
else
{
target->AddAura(SPELL_SUSPENSION, target);
lTarget = 0;
lTarget.Clear();
}
}
break;

View File

@@ -35,7 +35,6 @@ public:
LoadDoorData(doorData);
LoadMinionData(minionData);
_maulgarGUID = 0;
_addsKilled = 0;
}
@@ -160,7 +159,7 @@ public:
protected:
uint32 _addsKilled;
uint64 _maulgarGUID;
ObjectGuid _maulgarGUID;
};
InstanceScript* GetInstanceScript(InstanceMap* map) const override

View File

@@ -98,8 +98,8 @@ public:
{
if (instance)
{
instance->HandleGameObject(instance->GetData64(DATA_DOOR4), true);
instance->HandleGameObject(instance->GetData64(DATA_DOOR5), true);
instance->HandleGameObject(instance->GetGuidData(DATA_DOOR4), true);
instance->HandleGameObject(instance->GetGuidData(DATA_DOOR5), true);
instance->SetData(DATA_BROGGOK, DONE);
}
}
@@ -139,7 +139,7 @@ public:
{
if (InstanceScript* instance = go->GetInstanceScript())
if (instance->GetData(DATA_BROGGOK) != DONE && instance->GetData(DATA_BROGGOK) != IN_PROGRESS)
if (Creature* broggok = ObjectAccessor::GetCreature(*go, instance->GetData64(DATA_BROGGOK)))
if (Creature* broggok = ObjectAccessor::GetCreature(*go, instance->GetGuidData(DATA_BROGGOK)))
{
instance->SetData(DATA_BROGGOK, IN_PROGRESS);
broggok->AI()->DoAction(ACTION_PREPARE_BROGGOK);

View File

@@ -63,12 +63,11 @@ public:
boss_kelidan_the_breakerAI(Creature* creature) : ScriptedAI(creature)
{
instance = creature->GetInstanceScript();
memset(&channelers, 0, sizeof(channelers));
}
InstanceScript* instance;
EventMap events;
uint64 channelers[5];
ObjectGuid channelers[5];
uint32 checkTimer;
bool addYell;
@@ -172,7 +171,7 @@ public:
if (!channeler)
channeler = me->SummonCreature(NPC_CHANNELER, ShadowmoonChannelers[i][0], ShadowmoonChannelers[i][1], ShadowmoonChannelers[i][2], ShadowmoonChannelers[i][3], TEMPSUMMON_CORPSE_TIMED_DESPAWN, 300000);
channelers[i] = channeler ? channeler->GetGUID() : 0;
channelers[i] = channeler ? channeler->GetGUID() : ObjectGuid::Empty;
}
}
@@ -184,8 +183,8 @@ public:
// Xinef: load grid with start doors
me->GetMap()->LoadGrid(0, -111.0f);
instance->SetData(DATA_KELIDAN, DONE);
instance->HandleGameObject(instance->GetData64(DATA_DOOR1), true);
instance->HandleGameObject(instance->GetData64(DATA_DOOR6), true);
instance->HandleGameObject(instance->GetGuidData(DATA_DOOR1), true);
instance->HandleGameObject(instance->GetGuidData(DATA_DOOR6), true);
}
}
@@ -288,7 +287,7 @@ public:
Creature* GetKelidan()
{
if (me->GetInstanceScript())
return ObjectAccessor::GetCreature(*me, me->GetInstanceScript()->GetData64(DATA_KELIDAN));
return ObjectAccessor::GetCreature(*me, me->GetInstanceScript()->GetGuidData(DATA_KELIDAN));
return nullptr;
}

View File

@@ -47,7 +47,7 @@ public:
return;
instance->SetData(DATA_THE_MAKER, NOT_STARTED);
instance->HandleGameObject(instance->GetData64(DATA_DOOR2), true);
instance->HandleGameObject(instance->GetGuidData(DATA_DOOR2), true);
}
void EnterCombat(Unit* /*who*/) override
@@ -62,7 +62,7 @@ public:
return;
instance->SetData(DATA_THE_MAKER, IN_PROGRESS);
instance->HandleGameObject(instance->GetData64(DATA_DOOR2), false);
instance->HandleGameObject(instance->GetGuidData(DATA_DOOR2), false);
}
void KilledUnit(Unit* victim) override
@@ -79,8 +79,8 @@ public:
return;
instance->SetData(DATA_THE_MAKER, DONE);
instance->HandleGameObject(instance->GetData64(DATA_DOOR2), true);
instance->HandleGameObject(instance->GetData64(DATA_DOOR3), true);
instance->HandleGameObject(instance->GetGuidData(DATA_DOOR2), true);
instance->HandleGameObject(instance->GetGuidData(DATA_DOOR3), true);
}
void UpdateAI(uint32 diff) override

View File

@@ -17,28 +17,20 @@ public:
instance_blood_furnace_InstanceMapScript(Map* map) : InstanceScript(map) {}
uint32 _auiEncounter[MAX_ENCOUNTER];
uint64 _bossGUIDs[3];
uint64 _doorGUIDs[6];
uint64 _prisonGUIDs[4];
ObjectGuid _bossGUIDs[3];
ObjectGuid _doorGUIDs[6];
ObjectGuid _prisonGUIDs[4];
std::set<uint64> _prisonersCell[4];
GuidSet _prisonersCell[4];
uint8 _prisonerCounter[4];
uint64 _broggokLeverGUID;
ObjectGuid _broggokLeverGUID;
void Initialize() override
{
memset(&_auiEncounter, 0, sizeof(_auiEncounter));
memset(&_bossGUIDs, 0, sizeof(_bossGUIDs));
memset(&_doorGUIDs, 0, sizeof(_doorGUIDs));
memset(&_prisonGUIDs, 0, sizeof(_prisonGUIDs));
memset(&_prisonerCounter, 0, sizeof(_prisonerCounter));
for (uint8 i = 0; i < 4; ++i)
_prisonersCell[i].clear();
_broggokLeverGUID = 0;
}
void OnCreatureCreate(Creature* creature) override
@@ -102,7 +94,7 @@ public:
_broggokLeverGUID = go->GetGUID(); //Broggok lever
}
uint64 GetData64(uint32 data) const override
ObjectGuid GetGuidData(uint32 data) const override
{
switch (data)
{
@@ -125,7 +117,8 @@ public:
case DATA_PRISON_CELL4:
return _prisonGUIDs[data - DATA_PRISON_CELL1];
}
return 0;
return ObjectGuid::Empty;
}
void SetData(uint32 type, uint32 data) override
@@ -223,10 +216,10 @@ public:
}
}
void ResetPrisoners(std::set<uint64> prisoners)
void ResetPrisoners(GuidSet prisoners)
{
for (std::set<uint64>::iterator i = prisoners.begin(); i != prisoners.end(); ++i)
if (Creature* prisoner = instance->GetCreature(*i))
for (ObjectGuid guid : prisoners)
if (Creature* prisoner = instance->GetCreature(guid))
ResetPrisoner(prisoner);
}
@@ -274,7 +267,7 @@ public:
}
}
void PrisonerDied(uint64 guid)
void PrisonerDied(ObjectGuid guid)
{
if (_prisonersCell[0].find(guid) != _prisonersCell[0].end() && --_prisonerCounter[0] <= 0)
ActivateCell(DATA_PRISON_CELL2);
@@ -299,16 +292,16 @@ public:
break;
case DATA_DOOR5:
HandleGameObject(_doorGUIDs[4], true);
if (Creature* broggok = instance->GetCreature(GetData64(DATA_BROGGOK)))
if (Creature* broggok = instance->GetCreature(GetGuidData(DATA_BROGGOK)))
broggok->AI()->DoAction(ACTION_ACTIVATE_BROGGOK);
break;
}
}
void ActivatePrisoners(std::set<uint64> prisoners)
void ActivatePrisoners(GuidSet prisoners)
{
for (std::set<uint64>::iterator i = prisoners.begin(); i != prisoners.end(); ++i)
if (Creature* prisoner = instance->GetCreature(*i))
for (ObjectGuid guid : prisoners)
if (Creature* prisoner = instance->GetCreature(guid))
{
prisoner->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_IMMUNE_TO_NPC | UNIT_FLAG_NON_ATTACKABLE);
prisoner->SetInCombatWithZone();

View File

@@ -52,7 +52,7 @@ public:
{
Talk(SAY_WIPE);
BossAI::Reset();
_targetGUID = 0;
_targetGUID.Clear();
}
void EnterCombat(Unit* who) override
@@ -139,7 +139,7 @@ public:
me->GetMotionMaster()->MoveChase(me->GetVictim());
if (Unit* target = ObjectAccessor::GetUnit(*me, _targetGUID))
me->CastSpell(target, SPELL_SHADOW_WHIP, false);
_targetGUID = 0;
_targetGUID.Clear();
break;
}
@@ -160,7 +160,7 @@ public:
}
private:
uint64 _targetGUID;
ObjectGuid _targetGUID;
};
CreatureAI* GetAI(Creature* creature) const override

View File

@@ -18,7 +18,6 @@ public:
void Initialize() override
{
SetBossNumber(MAX_ENCOUNTERS);
felIronChestGUID = 0;
}
void OnGameObjectCreate(GameObject* go) override
@@ -74,7 +73,7 @@ public:
}
protected:
uint64 felIronChestGUID;
ObjectGuid felIronChestGUID;
};
InstanceScript* GetInstanceScript(InstanceMap* map) const override

View File

@@ -69,7 +69,7 @@ enum Events
class DealDebrisDamage : public BasicEvent
{
public:
DealDebrisDamage(Creature& creature, uint64 targetGUID) : _owner(creature), _targetGUID(targetGUID) { }
DealDebrisDamage(Creature& creature, ObjectGuid targetGUID) : _owner(creature), _targetGUID(targetGUID) { }
bool Execute(uint64 /*eventTime*/, uint32 /*updateTime*/) override
{
@@ -80,7 +80,7 @@ public:
private:
Creature& _owner;
uint64 _targetGUID;
ObjectGuid _targetGUID;
};
class boss_magtheridon : public CreatureScript

View File

@@ -37,7 +37,6 @@ public:
_wardersSet.clear();
_cubesSet.clear();
_columnSet.clear();
_magtheridonGUID = 0;
}
void OnCreatureCreate(Creature* creature) override
@@ -119,8 +118,8 @@ public:
{
if (state == IN_PROGRESS)
{
for (std::set<uint64>::const_iterator itr = _wardersSet.begin(); itr != _wardersSet.end(); ++itr)
if (Creature* warder = instance->GetCreature(*itr))
for (ObjectGuid const guid : _wardersSet)
if (Creature* warder = instance->GetCreature(guid))
if (warder->IsAlive())
{
warder->InterruptNonMeleeSpells(true);
@@ -129,8 +128,8 @@ public:
}
else
{
for (std::set<uint64>::const_iterator itr = _cubesSet.begin(); itr != _cubesSet.end(); ++itr)
if (GameObject* cube = instance->GetGameObject(*itr))
for (ObjectGuid const guid : _cubesSet)
if (GameObject* cube = instance->GetGameObject(guid))
cube->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
if (state == NOT_STARTED)
@@ -150,13 +149,13 @@ public:
magtheridon->SetInCombatWithZone();
break;
case DATA_ACTIVATE_CUBES:
for (std::set<uint64>::const_iterator itr = _cubesSet.begin(); itr != _cubesSet.end(); ++itr)
if (GameObject* cube = instance->GetGameObject(*itr))
for (ObjectGuid const guid : _cubesSet)
if (GameObject* cube = instance->GetGameObject(guid))
cube->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
break;
case DATA_COLLAPSE:
for (std::set<uint64>::const_iterator itr = _columnSet.begin(); itr != _columnSet.end(); ++itr)
if (GameObject* column = instance->GetGameObject(*itr))
for (ObjectGuid const guid : _columnSet)
if (GameObject* column = instance->GetGameObject(guid))
column->SetGoState(GOState(data));
break;
}
@@ -206,10 +205,10 @@ public:
}
private:
uint64 _magtheridonGUID;
std::set<uint64> _wardersSet;
std::set<uint64> _cubesSet;
std::set<uint64> _columnSet;
ObjectGuid _magtheridonGUID;
GuidSet _wardersSet;
GuidSet _cubesSet;
GuidSet _columnSet;
};
InstanceScript* GetInstanceScript(InstanceMap* map) const override

View File

@@ -56,7 +56,7 @@ public:
{
BossAI::InitializeAI();
if (instance)
if (Creature* executioner = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_EXECUTIONER)))
if (Creature* executioner = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_EXECUTIONER)))
executioner->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
}
@@ -66,7 +66,7 @@ public:
_JustDied();
if (instance)
if (Creature* executioner = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_EXECUTIONER)))
if (Creature* executioner = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_EXECUTIONER)))
executioner->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
}

View File

@@ -24,12 +24,7 @@ public:
void Initialize() override
{
SetBossNumber(ENCOUNTER_COUNT);
nethekurseDoor1GUID = 0;
nethekurseDoor2GUID = 0;
warchiefKargathGUID = 0;
executionerGUID = 0;
memset(&prisonerGUID, 0, sizeof(prisonerGUID));
TeamIdInInstance = TEAM_NEUTRAL;
RescueTimer = 100 * MINUTE * IN_MILLISECONDS;
}
@@ -47,12 +42,12 @@ public:
case GO_GRAND_WARLOCK_CHAMBER_DOOR_1:
nethekurseDoor1GUID = go->GetGUID();
if (GetBossState(DATA_NETHEKURSE) == DONE)
HandleGameObject(0, true, go);
HandleGameObject(ObjectGuid::Empty, true, go);
break;
case GO_GRAND_WARLOCK_CHAMBER_DOOR_2:
nethekurseDoor2GUID = go->GetGUID();
if (GetBossState(DATA_NETHEKURSE) == DONE)
HandleGameObject(0, true, go);
HandleGameObject(ObjectGuid::Empty, true, go);
break;
}
}
@@ -132,7 +127,7 @@ public:
}
}
uint64 GetData64(uint32 data) const override
ObjectGuid GetGuidData(uint32 data) const override
{
switch (data)
{
@@ -143,7 +138,8 @@ public:
case DATA_EXECUTIONER:
return executionerGUID;
}
return 0;
return ObjectGuid::Empty;
}
void Update(uint32 diff) override
@@ -223,12 +219,12 @@ public:
}
protected:
uint64 warchiefKargathGUID;
uint64 nethekurseDoor1GUID;
uint64 nethekurseDoor2GUID;
ObjectGuid warchiefKargathGUID;
ObjectGuid nethekurseDoor1GUID;
ObjectGuid nethekurseDoor2GUID;
uint64 executionerGUID;
uint64 prisonerGUID[3];
ObjectGuid executionerGUID;
ObjectGuid prisonerGUID[3];
uint32 RescueTimer;
TeamId TeamIdInInstance;
};

View File

@@ -395,7 +395,7 @@ public:
{
PreventHitEffect(effIndex);
if (InstanceScript* instance = GetCaster()->GetInstanceScript())
if (Creature* alar = ObjectAccessor::GetCreature(*GetCaster(), instance->GetData64(NPC_ALAR)))
if (Creature* alar = ObjectAccessor::GetCreature(*GetCaster(), instance->GetGuidData(NPC_ALAR)))
Unit::DealDamage(GetCaster(), alar, alar->CountPctFromMaxHealth(2));
}

View File

@@ -182,7 +182,7 @@ public:
void PrepareAdvisors()
{
for (uint8 i = DATA_KAEL_ADVISOR1; i <= DATA_KAEL_ADVISOR4; ++i)
if (Creature* advisor = ObjectAccessor::GetCreature(*me, instance->GetData64(i)))
if (Creature* advisor = ObjectAccessor::GetCreature(*me, instance->GetGuidData(i)))
{
advisor->Respawn(true);
advisor->StopMovingOnCurrentPos();
@@ -198,7 +198,7 @@ public:
{
for (SummonList::const_iterator i = summons.begin(); i != summons.end(); ++i)
if (Creature* summon = ObjectAccessor::GetCreature(*me, *i))
if (summon->GetDBTableGUIDLow())
if (summon->GetSpawnId())
{
summon->SetReactState(REACT_PASSIVE);
summon->setDeathState(JUST_RESPAWNED);
@@ -209,11 +209,11 @@ public:
void SetRoomState(GOState state)
{
if (GameObject* window = ObjectAccessor::GetGameObject(*me, instance->GetData64(GO_BRIDGE_WINDOW)))
if (GameObject* window = ObjectAccessor::GetGameObject(*me, instance->GetGuidData(GO_BRIDGE_WINDOW)))
window->SetGoState(state);
if (GameObject* window = ObjectAccessor::GetGameObject(*me, instance->GetData64(GO_KAEL_STATUE_RIGHT)))
if (GameObject* window = ObjectAccessor::GetGameObject(*me, instance->GetGuidData(GO_KAEL_STATUE_RIGHT)))
window->SetGoState(state);
if (GameObject* window = ObjectAccessor::GetGameObject(*me, instance->GetData64(GO_KAEL_STATUE_LEFT)))
if (GameObject* window = ObjectAccessor::GetGameObject(*me, instance->GetGuidData(GO_KAEL_STATUE_LEFT)))
window->SetGoState(state);
}
@@ -273,11 +273,11 @@ public:
if (phase == PHASE_FINAL)
return;
if (summon->GetDBTableGUIDLow() && phase == PHASE_ALL_ADVISORS)
if (summon->GetSpawnId() && phase == PHASE_ALL_ADVISORS)
{
for (SummonList::const_iterator i = summons.begin(); i != summons.end(); ++i)
if (Creature* summon = ObjectAccessor::GetCreature(*me, *i))
if (summon->GetDBTableGUIDLow() && summon->IsAlive())
if (summon->GetSpawnId() && summon->IsAlive())
return;
events2.ScheduleEvent(EVENT_PREFIGHT_PHASE71, 2000);
@@ -434,7 +434,7 @@ public:
for (SummonList::const_iterator i = summons.begin(); i != summons.end(); ++i)
{
if (Creature* summon = ObjectAccessor::GetCreature(*me, *i))
if (!summon->GetDBTableGUIDLow())
if (!summon->GetSpawnId())
{
summon->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE | UNIT_FLAG_NON_ATTACKABLE);
summon->SetInCombatWithZone();
@@ -456,7 +456,7 @@ public:
case EVENT_PREFIGHT_PHASE63:
for (SummonList::const_iterator i = summons.begin(); i != summons.end(); ++i)
if (Creature* summon = ObjectAccessor::GetCreature(*me, *i))
if (summon->GetDBTableGUIDLow())
if (summon->GetSpawnId())
{
summon->SetReactState(REACT_AGGRESSIVE);
summon->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
@@ -486,19 +486,19 @@ public:
events.ScheduleEvent(EVENT_CHECK_HEALTH, 1000);
break;
case EVENT_SCENE_1:
me->SetTarget(0);
me->SetTarget();
me->SetFacingTo(M_PI);
me->SetWalk(true);
Talk(SAY_PHASE5_NUTS);
break;
case EVENT_SCENE_2:
me->SetTarget(0);
me->SetTarget();
me->CastSpell(me, SPELL_KAEL_EXPLODES1, true);
me->CastSpell(me, SPELL_KAEL_GAINING_POWER, false);
me->SetDisableGravity(true);
break;
case EVENT_SCENE_3:
me->SetTarget(0);
me->SetTarget();
for (uint8 i = 0; i < 2; ++i)
if (Creature* trigger = me->SummonCreature(WORLD_TRIGGER, triggersPos[i], TEMPSUMMON_TIMED_DESPAWN, 60000))
trigger->CastSpell(me, SPELL_NETHERBEAM1 + i, false);
@@ -506,7 +506,7 @@ public:
me->CastSpell(me, SPELL_GROW, true);
break;
case EVENT_SCENE_4:
me->SetTarget(0);
me->SetTarget();
me->CastSpell(me, SPELL_GROW, true);
me->CastSpell(me, SPELL_KAEL_EXPLODES2, true);
me->CastSpell(me, SPELL_NETHERBEAM_AURA1, true);
@@ -515,7 +515,7 @@ public:
trigger->CastSpell(me, SPELL_NETHERBEAM1 + i, false);
break;
case EVENT_SCENE_5:
me->SetTarget(0);
me->SetTarget();
me->CastSpell(me, SPELL_GROW, true);
me->CastSpell(me, SPELL_KAEL_EXPLODES3, true);
me->CastSpell(me, SPELL_NETHERBEAM_AURA2, true);
@@ -676,7 +676,7 @@ public:
events.ScheduleEvent(EVENT_SPELL_NETHER_VAPOR, 0);
me->CastSpell(me, SPELL_SHOCK_BARRIER, false);
me->CastSpell(me, SPELL_GRAVITY_LAPSE, false);
me->SetTarget(0);
me->SetTarget();
me->GetMotionMaster()->Clear();
me->StopMoving();
Talk(SAY_GRAVITYLAPSE);
@@ -723,7 +723,7 @@ public:
{
if (GetCaster()->GetTypeId() == TYPEID_UNIT)
if (InstanceScript* instance = GetCaster()->GetInstanceScript())
if (Creature* kael = ObjectAccessor::GetCreature(*GetCaster(), instance->GetData64(NPC_KAELTHAS)))
if (Creature* kael = ObjectAccessor::GetCreature(*GetCaster(), instance->GetGuidData(NPC_KAELTHAS)))
kael->AI()->SummonedCreatureDies(GetCaster()->ToCreature(), nullptr);
return true;
}

View File

@@ -15,28 +15,19 @@ public:
{
instance_the_eye_InstanceMapScript(Map* map) : InstanceScript(map) {}
uint64 ThaladredTheDarkenerGUID;
uint64 LordSanguinarGUID;
uint64 GrandAstromancerCapernianGUID;
uint64 MasterEngineerTelonicusGUID;
uint64 AlarGUID;
uint64 KaelthasGUID;
uint64 BridgeWindowGUID;
uint64 KaelStateRightGUID;
uint64 KaelStateLeftGUID;
ObjectGuid ThaladredTheDarkenerGUID;
ObjectGuid LordSanguinarGUID;
ObjectGuid GrandAstromancerCapernianGUID;
ObjectGuid MasterEngineerTelonicusGUID;
ObjectGuid AlarGUID;
ObjectGuid KaelthasGUID;
ObjectGuid BridgeWindowGUID;
ObjectGuid KaelStateRightGUID;
ObjectGuid KaelStateLeftGUID;
void Initialize() override
{
SetBossNumber(MAX_ENCOUNTER);
AlarGUID = 0;
KaelthasGUID = 0;
ThaladredTheDarkenerGUID = 0;
LordSanguinarGUID = 0;
GrandAstromancerCapernianGUID = 0;
MasterEngineerTelonicusGUID = 0;
BridgeWindowGUID = 0;
KaelStateRightGUID = 0;
KaelStateLeftGUID = 0;
}
void OnCreatureCreate(Creature* creature) override
@@ -80,7 +71,7 @@ public:
}
}
uint64 GetData64(uint32 identifier) const override
ObjectGuid GetGuidData(uint32 identifier) const override
{
switch (identifier)
{
@@ -103,7 +94,8 @@ public:
case DATA_KAEL_ADVISOR4:
return MasterEngineerTelonicusGUID;
}
return 0;
return ObjectGuid::Empty;
}
std::string GetSaveData() override

View File

@@ -26,7 +26,6 @@ public:
SetBossNumber(MAX_ENCOUNTER);
LoadDoorData(doorData);
_pathaleonGUID = 0;
_passageEncounter = 0;
_passageTimer = 0;
_passageGUIDs.clear();
@@ -237,10 +236,10 @@ public:
}
private:
uint64 _pathaleonGUID;
ObjectGuid _pathaleonGUID;
uint32 _passageTimer;
uint32 _passageEncounter;
std::set<uint64> _passageGUIDs;
GuidSet _passageGUIDs;
};
InstanceScript* GetInstanceScript(InstanceMap* map) const override

View File

@@ -356,13 +356,13 @@ public:
me->RemoveFlag(UNIT_DYNAMIC_FLAGS, UNIT_DYNFLAG_DEAD);
me->RemoveFlag(UNIT_FIELD_FLAGS_2, UNIT_FLAG2_FEIGN_DEATH);
me->CastSpell((Unit*)nullptr, SPELL_TARGET_OMEGA, false);
instance->HandleGameObject(instance->GetData64(DATA_WARDENS_SHIELD), true);
instance->HandleGameObject(instance->GetGuidData(DATA_WARDENS_SHIELD), true);
instance->SetBossState(DATA_WARDEN_MELLICHAR, NOT_STARTED);
}
void DamageTaken(Unit* attacker, uint32& damage, DamageEffectType, SpellSchoolMask) override
{
if (attacker && IS_PLAYER_GUID(attacker->GetCharmerOrOwnerOrOwnGUID()) && damage > 0 && !me->isActiveObject())
if (attacker && attacker->GetCharmerOrOwnerOrOwnGUID().IsPlayer() && damage > 0 && !me->isActiveObject())
{
me->setActive(true);
me->InterruptNonMeleeSpells(false);
@@ -418,7 +418,7 @@ public:
events.ScheduleEvent(EVENT_WARDEN_INTRO2, 1400);
break;
case EVENT_WARDEN_INTRO2:
instance->HandleGameObject(instance->GetData64(DATA_WARDENS_SHIELD), false);
instance->HandleGameObject(instance->GetGuidData(DATA_WARDENS_SHIELD), false);
events.ScheduleEvent(EVENT_WARDEN_INTRO3, 20000);
break;
case EVENT_WARDEN_INTRO3:
@@ -537,7 +537,7 @@ public:
events.ScheduleEvent(EVENT_WARDEN_INTRO28, 5000);
break;
case EVENT_WARDEN_INTRO28:
instance->HandleGameObject(instance->GetData64(DATA_WARDENS_SHIELD), true);
instance->HandleGameObject(instance->GetGuidData(DATA_WARDENS_SHIELD), true);
if (Creature* creature = summons.GetCreatureWithEntry(NPC_HARBINGER_SKYRISS))
creature->CastSpell((Unit*)nullptr, SPELL_MIND_REND, false);
events.ScheduleEvent(EVENT_WARDEN_INTRO29, 4000);

View File

@@ -68,7 +68,7 @@ public:
_JustDied();
Talk(SAY_DEATH);
if (Creature* soccothrates = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_SOCCOTHRATES)))
if (Creature* soccothrates = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_SOCCOTHRATES)))
if (soccothrates->IsAlive() && !soccothrates->IsInCombat())
soccothrates->AI()->SetData(1, 1);
}
@@ -137,14 +137,14 @@ public:
events.ScheduleEvent(EVENT_SHADOW_WAVE, urand(11000, 16000));
break;
case EVENT_ME_FIRST:
if (Creature* soccothrates = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_SOCCOTHRATES)))
if (Creature* soccothrates = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_SOCCOTHRATES)))
if (soccothrates->IsAlive() && !soccothrates->IsInCombat())
soccothrates->AI()->Talk(SAY_AGGRO_DALLIAH_FIRST);
break;
case EVENT_CHECK_HEALTH:
if (HealthBelowPct(25))
{
if (Creature* soccothrates = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_SOCCOTHRATES)))
if (Creature* soccothrates = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_SOCCOTHRATES)))
soccothrates->AI()->Talk(SAY_DALLIAH_25_PERCENT);
break;
}

View File

@@ -89,7 +89,7 @@ public:
_JustDied();
Talk(SAY_DEATH);
if (Creature* dalliah = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_DALLIAH)))
if (Creature* dalliah = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_DALLIAH)))
if (dalliah->IsAlive() && !dalliah->IsInCombat())
dalliah->AI()->SetData(1, 1);
}
@@ -133,7 +133,7 @@ public:
switch (events2.ExecuteEvent())
{
case EVENT_PREFIGHT_1:
if (Creature* dalliah = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_DALLIAH)))
if (Creature* dalliah = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_DALLIAH)))
dalliah->AI()->Talk(SAY_DALLIAH_CONVO_1);
events2.ScheduleEvent(EVENT_PREFIGHT_2, 3000);
break;
@@ -142,7 +142,7 @@ public:
events2.ScheduleEvent(EVENT_PREFIGHT_3, 3000);
break;
case EVENT_PREFIGHT_3:
if (Creature* dalliah = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_DALLIAH)))
if (Creature* dalliah = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_DALLIAH)))
dalliah->AI()->Talk(SAY_DALLIAH_CONVO_2);
events2.ScheduleEvent(EVENT_PREFIGHT_4, 6000);
break;
@@ -151,7 +151,7 @@ public:
events2.ScheduleEvent(EVENT_PREFIGHT_5, 2000);
break;
case EVENT_PREFIGHT_5:
if (Creature* dalliah = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_DALLIAH)))
if (Creature* dalliah = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_DALLIAH)))
dalliah->AI()->Talk(SAY_DALLIAH_CONVO_3);
events2.ScheduleEvent(EVENT_PREFIGHT_6, 3000);
break;
@@ -160,7 +160,7 @@ public:
events2.ScheduleEvent(EVENT_PREFIGHT_7, 2000);
break;
case EVENT_PREFIGHT_7:
if (Creature* dalliah = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_DALLIAH)))
if (Creature* dalliah = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_DALLIAH)))
dalliah->GetMotionMaster()->MovePoint(0, 118.6048f, 96.84852f, 22.44115f);
events2.ScheduleEvent(EVENT_PREFIGHT_8, 4000);
break;
@@ -169,7 +169,7 @@ public:
events2.ScheduleEvent(EVENT_PREFIGHT_9, 4000);
break;
case EVENT_PREFIGHT_9:
if (Creature* dalliah = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_DALLIAH)))
if (Creature* dalliah = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_DALLIAH)))
{
dalliah->SetFacingToObject(me);
dalliah->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC | UNIT_FLAG_IMMUNE_TO_NPC);
@@ -217,14 +217,14 @@ public:
me->CastSpell(me, SPELL_FELFIRE, true);
break;
case EVENT_ME_FIRST:
if (Creature* dalliah = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_DALLIAH)))
if (Creature* dalliah = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_DALLIAH)))
if (dalliah->IsAlive() && !dalliah->IsInCombat())
dalliah->AI()->Talk(SAY_AGGRO_SOCCOTHRATES_FIRST);
break;
case EVENT_CHECK_HEALTH:
if (HealthBelowPct(25))
{
if (Creature* dalliah = ObjectAccessor::GetCreature(*me, instance->GetData64(DATA_DALLIAH)))
if (Creature* dalliah = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_DALLIAH)))
dalliah->AI()->Talk(SAY_SOCCOTHRATES_25_PERCENT);
break;
}

View File

@@ -24,13 +24,6 @@ public:
{
SetBossNumber(MAX_ENCOUTER);
LoadDoorData(doorData);
DalliahGUID = 0;
SoccothratesGUID = 0;
MellicharGUID = 0;
WardensShieldGUID = 0;
memset(StasisPodGUIDs, 0, 5 * sizeof(uint64));
}
void OnCreatureCreate(Creature* creature) override
@@ -115,7 +108,7 @@ public:
return 0;
}
uint64 GetData64(uint32 data) const override
ObjectGuid GetGuidData(uint32 data) const override
{
switch (data)
{
@@ -126,7 +119,8 @@ public:
case DATA_WARDENS_SHIELD:
return WardensShieldGUID;
}
return 0;
return ObjectGuid::Empty;
}
bool SetBossState(uint32 type, EncounterState state) override
@@ -191,11 +185,11 @@ public:
}
protected:
uint64 DalliahGUID;
uint64 SoccothratesGUID;
uint64 StasisPodGUIDs[5];
uint64 MellicharGUID;
uint64 WardensShieldGUID;
ObjectGuid DalliahGUID;
ObjectGuid SoccothratesGUID;
ObjectGuid StasisPodGUIDs[5];
ObjectGuid MellicharGUID;
ObjectGuid WardensShieldGUID;
};
InstanceScript* GetInstanceScript(InstanceMap* map) const override

View File

@@ -105,8 +105,8 @@ public:
void HandleEffectRemove(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/)
{
for (std::set<uint64>::const_iterator itr = _falconSet.begin(); itr != _falconSet.end(); ++itr)
if (Creature* falcon = ObjectAccessor::GetCreature(*GetUnitOwner(), *itr))
for (ObjectGuid const guid : _falconSet)
if (Creature* falcon = ObjectAccessor::GetCreature(*GetUnitOwner(), guid))
{
falcon->TauntFadeOut(GetUnitOwner());
falcon->AddThreat(GetUnitOwner(), -10000000.0f);
@@ -120,7 +120,7 @@ public:
}
private:
std::set<uint64> _falconSet;
GuidSet _falconSet;
};
AuraScript* GetAuraScript() const override

View File

@@ -81,7 +81,7 @@ public:
void MoveInLineOfSight(Unit* who) override
{
if (who && who->GetTypeId() == TYPEID_PLAYER && me->IsValidAttackTarget(who))
if (who->HasAura(SPELL_MARK_DEATH, 0) && !who->HasAura(27827)) // Spirit of Redemption
if (who->HasAura(SPELL_MARK_DEATH) && !who->HasAura(27827)) // Spirit of Redemption
who->CastSpell(who, SPELL_AURA_DEATH, 1);
}

View File

@@ -64,8 +64,8 @@ public:
EventMap events;
bool PartyTime;
uint64 PlayerGUID;
uint64 CannonGUID;
ObjectGuid PlayerGUID;
ObjectGuid CannonGUID;
uint8 count;
void Reset() override
@@ -77,8 +77,8 @@ public:
void Initialize()
{
PartyTime = false;
PlayerGUID = 0;
CannonGUID = 0;
PlayerGUID.Clear();
CannonGUID.Clear();
count = 0;
}
@@ -106,9 +106,9 @@ public:
if (Player* player = ObjectAccessor::GetPlayer(*me, PlayerGUID))
{
if (GetClosestCreatureWithEntry(me, NPC_SOUTH_GATE, 200.0f))
player->KilledMonsterCredit(NPC_SOUTH_GATE_CREDIT, TRIGGERED_NONE);
player->KilledMonsterCredit(NPC_SOUTH_GATE_CREDIT);
else if (GetClosestCreatureWithEntry(me, NPC_NORTH_GATE, 200.0f))
player->KilledMonsterCredit(NPC_NORTH_GATE_CREDIT, TRIGGERED_NONE);
player->KilledMonsterCredit(NPC_NORTH_GATE_CREDIT);
// complete quest part
if (Creature* bunny = GetClosestCreatureWithEntry(me, NPC_EXPLOSION_BUNNY, 200.0f))
bunny->CastSpell(nullptr, SPELL_EXPLOSION, TRIGGERED_NONE);
@@ -560,7 +560,7 @@ public:
uint8 gameLevel;
uint8 fails;
uint8 gameTicks;
uint64 playerGUID;
ObjectGuid playerGUID;
uint32 clusterIds[SIMON_MAX_COLORS];
float zCoordCorrection;
float searchDistance;
@@ -670,7 +670,7 @@ public:
}
// Used for getting involved player guid. Parameter id is used for defining if is a large(Monument) or small(Relic) node
void SetGUID(uint64 guid, int32 id) override
void SetGUID(ObjectGuid guid, int32 id) override
{
me->SetCanFly(true);
@@ -1073,7 +1073,7 @@ public:
{
npc_oscillating_frequency_scanner_master_bunnyAI(Creature* creature) : ScriptedAI(creature)
{
playerGuid = 0;
playerGuid.Clear();
timer = 500;
}
@@ -1112,7 +1112,7 @@ public:
}
private:
uint64 playerGuid;
ObjectGuid playerGuid;
uint32 timer;
};

View File

@@ -336,7 +336,7 @@ public:
void Reset() override
{
checkTimer = 5000; //check for creature every 5 sec
helboarGUID = 0;
helboarGUID.Clear();
}
void MovementInform(uint32 type, uint32 id) override
@@ -378,7 +378,7 @@ public:
private:
uint32 checkTimer;
uint64 helboarGUID;
ObjectGuid helboarGUID;
};
CreatureAI* GetAI(Creature* creature) const override

View File

@@ -287,7 +287,7 @@ public:
{
corki->GetMotionMaster()->MovePoint(1, go->GetPositionX() + 5, go->GetPositionY(), go->GetPositionZ());
if (player)
player->KilledMonsterCredit(NPC_CORKI_CREDIT_1, 0);
player->KilledMonsterCredit(NPC_CORKI_CREDIT_1);
}
}
@@ -297,7 +297,7 @@ public:
{
corki->GetMotionMaster()->MovePoint(1, go->GetPositionX() - 5, go->GetPositionY(), go->GetPositionZ());
if (player)
player->KilledMonsterCredit(NPC_CORKI_2, 0);
player->KilledMonsterCredit(NPC_CORKI_2);
}
}
@@ -307,7 +307,7 @@ public:
{
corki->GetMotionMaster()->MovePoint(1, go->GetPositionX() + 4, go->GetPositionY(), go->GetPositionZ());
if (player)
player->KilledMonsterCredit(NPC_CORKI_CREDIT_3, 0);
player->KilledMonsterCredit(NPC_CORKI_CREDIT_3);
}
}
@@ -425,7 +425,7 @@ public:
uint32 HealTimer;
uint32 FrostShockTimer;
void SetGUID(uint64 guid, int32 /*questId*/) override
void SetGUID(ObjectGuid guid, int32 /*questId*/) override
{
me->SetStandState(UNIT_STAND_STATE_STAND);
Start(true, false, guid);
@@ -583,7 +583,7 @@ public:
if (Creature* prisoner = go->FindNearestCreature(NPC_MAGHAR_PRISONER, 5.0f))
{
player->KilledMonsterCredit(NPC_MAGHAR_PRISONER, 0);
player->KilledMonsterCredit(NPC_MAGHAR_PRISONER);
prisoner->AI()->Talk(SAY_FREE, player);
prisoner->DespawnOrUnsummon(6000);

View File

@@ -1040,8 +1040,7 @@ public:
_events.ScheduleEvent(EVENT_SPELL_BURNING_LIGHT, 4000);
break;
case EVENT_SPELL_CONSECRATION:
if (me->FindNearestCreature(me->GetVictim()->GetGUID(), 10.0f, true))
me->CastSpell(me, CONSECRATION, false);
me->CastSpell(me->GetVictim(), CONSECRATION, false);
_events.ScheduleEvent(EVENT_SPELL_CONSECRATION, 14000);
break;
}
@@ -1098,8 +1097,8 @@ public:
{
if (!summons.empty())
{
for (std::list<uint64>::iterator itr = summons.begin(); itr != summons.end(); ++itr)
if (Creature* cr = ObjectAccessor::GetCreature(*me, *itr))
for (ObjectGuid guid : summons)
if (Creature* cr = ObjectAccessor::GetCreature(*me, guid))
{
float x, y, z, o;
cr->GetRespawnPosition(x, y, z, &o);
@@ -1126,7 +1125,7 @@ public:
npc_escortAI::MoveInLineOfSight(who);
}
void SetGUID(uint64 playerGUID, int32 type) override
void SetGUID(ObjectGuid playerGUID, int32 type) override
{
if (type == DATA_START_ENCOUNTER)
{
@@ -1175,7 +1174,7 @@ public:
void SummonsAction(Unit* who)
{
float i = 0;
for (std::list<uint64>::iterator itr = summons.begin(); itr != summons.end(); ++itr, i += 1.0f)
for (GuidList::iterator itr = summons.begin(); itr != summons.end(); ++itr, i += 1.0f)
if (Creature* cr = ObjectAccessor::GetCreature(*me, *itr))
{
if (who == nullptr)
@@ -1280,7 +1279,7 @@ public:
if (uiAction == GOSSIP_ACTION_INFO_DEF + 1)
{
creature->AI()->SetGUID(player->GetGUID(), DATA_START_ENCOUNTER);
player->KilledMonsterCredit(creature->GetEntry(), 0);
player->KilledMonsterCredit(creature->GetEntry());
}
else if (uiAction == GOSSIP_ACTION_INFO_DEF + 2)
{
@@ -1363,9 +1362,9 @@ public:
{
npc_commander_dawnforgeAI(Creature* creature) : ScriptedAI(creature) { }
uint64 PlayerGUID;
uint64 ardonisGUID;
uint64 pathaleonGUID;
ObjectGuid PlayerGUID;
ObjectGuid ardonisGUID;
ObjectGuid pathaleonGUID;
uint32 Phase;
uint32 PhaseSubphase;
@@ -1374,9 +1373,9 @@ public:
void Reset() override
{
PlayerGUID = 0;
ardonisGUID = 0;
pathaleonGUID = 0;
PlayerGUID.Clear();
ardonisGUID.Clear();
pathaleonGUID.Clear();
Phase = 1;
PhaseSubphase = 0;
@@ -1698,7 +1697,7 @@ public:
bool Drained;
uint8 WeakPercent;
uint64 PlayerGUID;
ObjectGuid PlayerGUID;
uint32 ManaBurnTimer;
@@ -1709,7 +1708,7 @@ public:
Drained = false;
WeakPercent = 25 + (rand() % 16); // 25-40
PlayerGUID = 0;
PlayerGUID.Clear();
ManaBurnTimer = 5000 + (rand() % 3 * 1000); // 5-8 sec cd

View File

@@ -70,7 +70,7 @@ public:
}
go->SetLootState(GO_JUST_DEACTIVATED);
charmer->KilledMonsterCredit(21959, 0);
charmer->KilledMonsterCredit(21959);
}
}
@@ -99,7 +99,7 @@ public:
{
if (Player* player = GetTarget()->ToPlayer())
{
player->KilledMonsterCredit(21502, 0);
player->KilledMonsterCredit(21502);
player->SetControlled(false, UNIT_STATE_STUNNED);
}
}
@@ -197,7 +197,7 @@ public:
private:
EventMap events;
uint64 infernalGUID;
ObjectGuid infernalGUID;
float ground;
};
@@ -259,7 +259,7 @@ public:
}
private:
uint64 casterGUID;
ObjectGuid casterGUID;
};
CreatureAI* GetAI(Creature* creature) const override
@@ -301,7 +301,7 @@ public:
{
npc_mature_netherwing_drakeAI(Creature* creature) : ScriptedAI(creature) { }
uint64 uiPlayerGUID;
ObjectGuid uiPlayerGUID;
bool bCanEat;
bool bIsEating;
@@ -311,7 +311,7 @@ public:
void Reset() override
{
uiPlayerGUID = 0;
uiPlayerGUID.Clear();
bCanEat = false;
bIsEating = false;
@@ -380,7 +380,7 @@ public:
if (Player* player = ObjectAccessor::GetPlayer(*me, uiPlayerGUID))
{
player->KilledMonsterCredit(NPC_EVENT_PINGER, 0);
player->KilledMonsterCredit(NPC_EVENT_PINGER);
if (GameObject* go = player->FindNearestGameObject(GO_CARCASS, 10))
go->Delete();
@@ -444,12 +444,12 @@ public:
{
npc_enslaved_netherwing_drakeAI(Creature* creature) : ScriptedAI(creature)
{
PlayerGUID = 0;
PlayerGUID.Clear();
Tapped = false;
Reset();
}
uint64 PlayerGUID;
ObjectGuid PlayerGUID;
uint32 FlyTimer;
bool Tapped;
@@ -590,13 +590,13 @@ public:
npc_dragonmaw_peonAI(Creature* creature) : ScriptedAI(creature) { }
EventMap events;
uint64 PlayerGUID;
ObjectGuid PlayerGUID;
bool Tapped;
void Reset() override
{
events.Reset();
PlayerGUID = 0;
PlayerGUID.Clear();
Tapped = false;
}
@@ -639,7 +639,7 @@ public:
{
Player* player = ObjectAccessor::GetPlayer(*me, PlayerGUID);
if (player && player->GetQuestStatus(QUEST_A_SLOW_DEATH) == QUEST_STATUS_INCOMPLETE)
player->KilledMonsterCredit(DRAGONMAW_PEON_KILL_CREDIT, 0);
player->KilledMonsterCredit(DRAGONMAW_PEON_KILL_CREDIT);
}
}
@@ -1089,8 +1089,8 @@ public:
uint8 AnimationCount;
uint64 LordIllidanGUID;
uint64 AggroTargetGUID;
ObjectGuid LordIllidanGUID;
ObjectGuid AggroTargetGUID;
bool Timers;
@@ -1098,13 +1098,13 @@ public:
{
AnimationTimer = 4000;
AnimationCount = 0;
LordIllidanGUID = 0;
AggroTargetGUID = 0;
LordIllidanGUID.Clear();
AggroTargetGUID.Clear();
Timers = false;
me->AddUnitState(UNIT_STATE_ROOT);
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
me->SetTarget(0);
me->SetTarget();
}
void EnterCombat(Unit* /*who*/) override { }
@@ -1245,7 +1245,7 @@ public:
{
npc_lord_illidan_stormrageAI(Creature* creature) : ScriptedAI(creature) { }
uint64 PlayerGUID;
ObjectGuid PlayerGUID;
uint32 WaveTimer;
uint32 AnnounceTimer;
@@ -1259,7 +1259,7 @@ public:
void Reset() override
{
PlayerGUID = 0;
PlayerGUID.Clear();
WaveTimer = 10000;
AnnounceTimer = 7000;
@@ -1390,13 +1390,13 @@ public:
{
npc_illidari_spawnAI(Creature* creature) : ScriptedAI(creature) { }
uint64 LordIllidanGUID;
ObjectGuid LordIllidanGUID;
uint32 SpellTimer1, SpellTimer2, SpellTimer3;
bool Timers;
void Reset() override
{
LordIllidanGUID = 0;
LordIllidanGUID.Clear();
Timers = false;
}
@@ -1706,7 +1706,7 @@ public:
if (Unit* owner = totemOspirits->GetOwner())
if (Player* player = owner->ToPlayer())
player->KilledMonsterCredit(credit, 0);
player->KilledMonsterCredit(credit);
DoCast(totemOspirits, SPELL_SOUL_CAPTURED);
}
}
@@ -1739,7 +1739,7 @@ public:
void Reset() override
{
tapped = false;
tuberGUID = 0;
tuberGUID.Clear();
resetTimer = 60000;
}
@@ -1794,7 +1794,7 @@ public:
}
private:
bool tapped;
uint64 tuberGUID;
ObjectGuid tuberGUID;
uint32 resetTimer;
};

View File

@@ -54,7 +54,7 @@ public:
if (creature->AI()->GetData(1))
{
creature->CastSpell(player, SPELL_MARK_OF_BITE, true);
player->KilledMonsterCredit(creature->GetEntry(), 0);
player->KilledMonsterCredit(creature->GetEntry());
creature->DespawnOrUnsummon(1000);
}
else