chore(Scripts/Hyjal): Clean up unsafe calls and code style (#19004)

* chore(Scripts/Hyjal): Clean up unsafe calls and code style

* another one
This commit is contained in:
Andrew
2024-06-03 20:33:07 -03:00
committed by GitHub
parent 8ee980e4ba
commit 218dce417e

View File

@@ -220,41 +220,41 @@ public:
{ {
switch (creature->GetEntry()) switch (creature->GetEntry())
{ {
case NPC_NECRO: case NPC_NECRO:
case NPC_ABOMI: case NPC_ABOMI:
case NPC_GHOUL: case NPC_GHOUL:
case NPC_BANSH: case NPC_BANSH:
case NPC_CRYPT: case NPC_CRYPT:
case NPC_GARGO: case NPC_GARGO:
case NPC_FROST: case NPC_FROST:
case NPC_INFER: case NPC_INFER:
case NPC_STALK: case NPC_STALK:
if (unit->ToCreature()->IsSummon()) if (creature->IsSummon())
{
if (_bossWave)
{ {
DoUpdateWorldState(WORLD_STATE_ENEMYCOUNT, --trash); // Update the instance wave count on new trash death if (_bossWave)
_encounterNPCs.erase(unit->ToCreature()->GetGUID()); // Used for despawning on wipe {
DoUpdateWorldState(WORLD_STATE_ENEMYCOUNT, --trash); // Update the instance wave count on new trash death
_encounterNPCs.erase(creature->GetGUID()); // Used for despawning on wipe
if (trash == 0) // It can reach negatives if trash spawned after a retreat are killed, it shouldn't affect anything. Also happens on retail if (trash == 0) // It can reach negatives if trash spawned after a retreat are killed, it shouldn't affect anything. Also happens on retail
SetData(DATA_SPAWN_WAVES, 1); SetData(DATA_SPAWN_WAVES, 1);
}
} }
} break;
break; case NPC_TOWERING_INFERNAL:
case NPC_TOWERING_INFERNAL: case NPC_LESSER_DOOMGUARD:
case NPC_LESSER_DOOMGUARD: _summonedNPCs.erase(creature->GetGUID());
_summonedNPCs.erase(unit->ToCreature()->GetGUID()); break;
break; case NPC_WINTERCHILL:
case NPC_WINTERCHILL: case NPC_ANETHERON:
case NPC_ANETHERON: case NPC_KAZROGAL:
case NPC_KAZROGAL: case NPC_AZGALOR:
case NPC_AZGALOR: if (Creature* jaina = GetCreature(DATA_JAINA))
if (Creature* jaina = GetCreature(DATA_JAINA)) jaina->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
jaina->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); if (Creature* thrall = GetCreature(DATA_THRALL))
if (Creature* thrall = GetCreature(DATA_THRALL)) thrall->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
thrall->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); SetData(DATA_RESET_WAVES, 1);
SetData(DATA_RESET_WAVES, 1); break;
break;
} }
} }
} }
@@ -268,19 +268,23 @@ public:
_retreat = DATA_ALLIANCE_RETREAT; _retreat = DATA_ALLIANCE_RETREAT;
// Spawn Ancient Gems // Spawn Ancient Gems
for (ObjectGuid const& guid : _ancientGemAlliance) for (ObjectGuid const& guid : _ancientGemAlliance)
instance->GetGameObject(guid)->Respawn(); if (GameObject* gem = instance->GetGameObject(guid))
gem->Respawn();
// Move all alliance NPCs near Jaina (only happens in this base, not Horde's) // Move all alliance NPCs near Jaina (only happens in this base, not Horde's)
if (Creature* jaina = GetCreature(DATA_JAINA)) if (Creature* jaina = GetCreature(DATA_JAINA))
{ {
for (ObjectGuid const& guid : _baseAlliance) for (ObjectGuid const& guid : _baseAlliance)
{ {
if (instance->GetCreature(guid) && instance->GetCreature(guid)->IsAlive()) if (Creature* creature = instance->GetCreature(guid))
{ {
float x, y, z; if (creature->IsAlive())
jaina->GetNearPoint(instance->GetCreature(guid), x, y, z, 10.f, 0, jaina->GetAngle(instance->GetCreature(guid))); {
instance->GetCreature(guid)->SetWalk(true); float x, y, z;
instance->GetCreature(guid)->GetMotionMaster()->MovePoint(1, x, y, z); jaina->GetNearPoint(creature, x, y, z, 10.f, 0, jaina->GetAngle(creature));
creature->SetWalk(true);
creature->GetMotionMaster()->MovePoint(1, x, y, z);
}
} }
} }
} }
@@ -296,7 +300,10 @@ public:
_scheduler.Schedule(30s, [this](TaskContext) _scheduler.Schedule(30s, [this](TaskContext)
{ {
for (ObjectGuid const& guid : _roaringFlameAlliance) for (ObjectGuid const& guid : _roaringFlameAlliance)
instance->GetGameObject(guid)->Respawn(); {
if (GameObject* flame = instance->GetGameObject(guid))
flame->Respawn();
}
}); });
}); });
@@ -309,18 +316,24 @@ public:
_bossWave = 0; _bossWave = 0;
_retreat = DATA_HORDE_RETREAT; _retreat = DATA_HORDE_RETREAT;
for (ObjectGuid const& guid : _ancientGemHorde) for (ObjectGuid const& guid : _ancientGemHorde)
instance->GetGameObject(guid)->Respawn(); {
if (GameObject* gem = instance->GetGameObject(guid))
gem->Respawn();
}
if (Creature* jaina = GetCreature(DATA_JAINA)) if (Creature* jaina = GetCreature(DATA_JAINA))
{ {
for (ObjectGuid const& guid : _baseHorde) for (ObjectGuid const& guid : _baseHorde)
{ {
if (instance->GetCreature(guid) && instance->GetCreature(guid)->IsAlive()) if (Creature* creature = instance->GetCreature(guid))
{ {
float x, y, z; if (creature->IsAlive())
jaina->GetNearPoint(instance->GetCreature(guid), x, y, z, 10.f, 0, jaina->GetAngle(instance->GetCreature(guid))); {
instance->GetCreature(guid)->SetWalk(true); float x, y, z;
instance->GetCreature(guid)->GetMotionMaster()->MovePoint(1, x, y, z); jaina->GetNearPoint(creature, x, y, z, 10.f, 0, jaina->GetAngle(creature));
creature->SetWalk(true);
creature->GetMotionMaster()->MovePoint(1, x, y, z);
}
} }
} }
} }
@@ -334,7 +347,8 @@ public:
_scheduler.Schedule(30s, [this](TaskContext) _scheduler.Schedule(30s, [this](TaskContext)
{ {
for (ObjectGuid const& guid : _roaringFlameHorde) for (ObjectGuid const& guid : _roaringFlameHorde)
instance->GetGameObject(guid)->Respawn(); if (GameObject* flame = instance->GetGameObject(guid))
flame->Respawn();
}); });
}); });
@@ -466,7 +480,8 @@ public:
if (Creature* creature = instance->GetCreature(guid)) if (Creature* creature = instance->GetCreature(guid))
creature->DespawnOrUnsummon(); creature->DespawnOrUnsummon();
GetCreature(DATA_ARCHIMONDE)->DespawnOrUnsummon(); if (Creature* archimonde = GetCreature(DATA_ARCHIMONDE))
archimonde->DespawnOrUnsummon();
_scheduler.Schedule(300s, [this](TaskContext) _scheduler.Schedule(300s, [this](TaskContext)
{ {