mirror of
https://github.com/mod-playerbots/azerothcore-wotlk.git
synced 2025-11-29 17:38:24 +08:00
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:
@@ -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)
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user