chore(Scripts/SSC): Move Vashj summons to the new format (#21042)

This commit is contained in:
Andrew
2024-12-26 05:51:02 -03:00
committed by GitHub
parent 59f79b5a3c
commit aa24f50a03
@@ -64,6 +64,15 @@ BossBoundaryData const boundaries =
{ DATA_LADY_VASHJ, new CircleBoundary(Position(29.99f, -922.409f), 83.65f) } { DATA_LADY_VASHJ, new CircleBoundary(Position(29.99f, -922.409f), 83.65f) }
}; };
ObjectData const summonData[] =
{
{ NPC_ENCHANTED_ELEMENTAL, DATA_LADY_VASHJ },
{ NPC_COILFANG_ELITE, DATA_LADY_VASHJ },
{ NPC_COILFANG_STRIDER, DATA_LADY_VASHJ },
{ NPC_TAINTED_ELEMENTAL, DATA_LADY_VASHJ },
{ 0, 0 }
};
class instance_serpent_shrine : public InstanceMapScript class instance_serpent_shrine : public InstanceMapScript
{ {
public: public:
@@ -81,6 +90,7 @@ public:
LoadObjectData(creatureData, gameObjectData); LoadObjectData(creatureData, gameObjectData);
LoadMinionData(minionData); LoadMinionData(minionData);
LoadBossBoundaries(boundaries); LoadBossBoundaries(boundaries);
LoadSummonData(summonData);
_aliveKeepersCount = 0; _aliveKeepersCount = 0;
} }
@@ -125,13 +135,6 @@ public:
case NPC_CYCLONE_KARATHRESS: case NPC_CYCLONE_KARATHRESS:
creature->GetMotionMaster()->MoveRandom(50.0f); creature->GetMotionMaster()->MoveRandom(50.0f);
break; break;
case NPC_ENCHANTED_ELEMENTAL:
case NPC_COILFANG_ELITE:
case NPC_COILFANG_STRIDER:
case NPC_TAINTED_ELEMENTAL:
if (Creature* vashj = GetCreature(DATA_LADY_VASHJ))
vashj->AI()->JustSummoned(creature);
break;
case NPC_SEER_OLUM: case NPC_SEER_OLUM:
creature->RemoveNpcFlag(UNIT_NPC_FLAG_GOSSIP); creature->RemoveNpcFlag(UNIT_NPC_FLAG_GOSSIP);
creature->RemoveNpcFlag(UNIT_NPC_FLAG_QUESTGIVER); creature->RemoveNpcFlag(UNIT_NPC_FLAG_QUESTGIVER);
@@ -148,15 +151,11 @@ public:
{ {
case DATA_PLATFORM_KEEPER_RESPAWNED: case DATA_PLATFORM_KEEPER_RESPAWNED:
if (_aliveKeepersCount < MAX_KEEPER_COUNT) if (_aliveKeepersCount < MAX_KEEPER_COUNT)
{
++_aliveKeepersCount; ++_aliveKeepersCount;
}
break; break;
case DATA_PLATFORM_KEEPER_DIED: case DATA_PLATFORM_KEEPER_DIED:
if (_aliveKeepersCount > MIN_KEEPER_COUNT) if (_aliveKeepersCount > MIN_KEEPER_COUNT)
{
--_aliveKeepersCount; --_aliveKeepersCount;
}
break; break;
case DATA_BRIDGE_ACTIVATED: case DATA_BRIDGE_ACTIVATED:
SetBossState(DATA_BRIDGE_EMERGED, NOT_STARTED); SetBossState(DATA_BRIDGE_EMERGED, NOT_STARTED);