Scripts/LCT: reworked High Prophet Barim encounter

* modernized code style
* corrected behaivior of Blaze of the Heaven
* improved Plague of Age's spread reliability so it wont target already infected players
This commit is contained in:
Ovahlord committed 2021-01-18 18:15:41 +01:00
1 parent ef4e3c675b
commit 38b4485e09
4 files changed
+637 -682

No files matched your search

@@ -0,0 +1,8 @@
UPDATE `creature_template` SET `ScriptName`= 'npc_barim_phoenix_summoner', `AIName`='' WHERE `entry` IN (48904, 43926);
UPDATE `creature_template` SET `speed_run`= 0.42857, `RegenHealth`= 0 WHERE `entry` IN (43934, 48954);
DELETE FROM `smart_scripts` WHERE `entryorguid` IN (48904, 43926) AND `source_type`= 0;
DELETE FROM `spell_script_names` WHERE `ScriptName` IN
('spell_barim_repentance_stun');
INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES
(81947, 'spell_barim_repentance_stun');
File diff suppressed because it is too large. Load diff
@@ -117,7 +117,10 @@ class instance_lost_city_of_the_tolvir : public InstanceMapScript
creature->setActive(true);
break;
case NPC_REPENTANCE:
repenteanceGUIDs.push_back(creature->GetGUID());
case NPC_SOUL_FRAGMENT:
if (Creature* barim = GetCreature(DATA_HIGH_PROPHET_BARIM))
if (barim->IsAIEnabled)
barim->AI()->JustSummoned(creature);
break;
case NPC_TOLVIR_LAND_MINE:
if (Creature* husam = GetCreature(DATA_GENERAL_HUSAM))
@@ -169,10 +172,6 @@ class instance_lost_city_of_the_tolvir : public InstanceMapScript
else if (state == FAIL)
events.ScheduleEvent(EVENT_SPAWN_AUGH, Seconds(30));
break;
case DATA_HIGH_PROPHET_BARIM:
if (state == FAIL)
repenteanceGUIDs.clear();
[[fallthrough]];
case DATA_GENERAL_HUSAM:
case DATA_LOCKMAW_AND_AUGH:
if (state == DONE && IsSiamatEnabled())
@@ -237,11 +236,6 @@ class instance_lost_city_of_the_tolvir : public InstanceMapScript
break;
}
break;
case DATA_REPENTEANCE_ENDED:
for (ObjectGuid guid : repenteanceGUIDs)
if (Creature* repenteance = instance->GetCreature(guid))
repenteance->AI()->DoAction(ACTION_PULL_BACK);
break;
default:
break;
}
@@ -296,7 +290,6 @@ class instance_lost_city_of_the_tolvir : public InstanceMapScript
EventMap events;
bool heroicAughSpawned;
GuidVector addStalkerGUIDs;
GuidVector repenteanceGUIDs;
};
InstanceScript* GetInstanceScript(InstanceMap* map) const override
@@ -39,46 +39,48 @@ enum LCTDataTypes
DATA_SIAMAT_PLATFORM = 6,
DATA_BLAZE_OF_THE_HEAVENS = 7,
DATA_HARBINGER_OF_DARKNESS = 8,
DATA_REPENTEANCE_ENDED = 9,
DATA_LOCKMAW_COMBAT_ASSISTANCE = 10,
DATA_SERVANT_OF_SIAMAT_1 = 11,
DATA_SERVANT_OF_SIAMAT_2 = 12,
DATA_SERVANT_OF_SIAMAT_3 = 13,
DATA_LOCKMAW_COMBAT_ASSISTANCE = 9,
DATA_SERVANT_OF_SIAMAT_1 = 10,
DATA_SERVANT_OF_SIAMAT_2 = 11,
DATA_SERVANT_OF_SIAMAT_3 = 12
};
enum LCTCreatureIds
{
// Bosses
BOSS_GENERAL_HUSAM = 44577,
BOSS_LOCKMAW = 43614,
BOSS_AUGH = 49045,
BOSS_HIGH_PROPHET_BARIM = 43612,
BOSS_SIAMAT = 44819,
BOSS_GENERAL_HUSAM = 44577,
BOSS_LOCKMAW = 43614,
BOSS_AUGH = 49045,
BOSS_HIGH_PROPHET_BARIM = 43612,
BOSS_SIAMAT = 44819,
// Encounter related creatures
/*General Husam*/
NPC_BAD_INTENTIONS_TARGET = 44586,
NPC_SHOCKWAVE_STALKER = 44711,
NPC_SHOCKWAVE_VISUAL = 44712,
NPC_TOLVIR_LAND_MINE = 44840,
NPC_BAD_INTENTIONS_TARGET = 44586,
NPC_SHOCKWAVE_STALKER = 44711,
NPC_SHOCKWAVE_VISUAL = 44712,
NPC_TOLVIR_LAND_MINE = 44840,
NPC_REPENTANCE = 43817,
NPC_BLAZE_OF_THE_HEAVENS = 48906,
NPC_BLAZE_OF_THE_HEAVENS_FIRE = 48907,
NPC_SOUL_FRAGMENT = 43934,
NPC_HARBINGER_OF_DARKNESS = 43927,
NPC_DUST_FLAIL_FRONT_STALKER = 43655,
NPC_ADD_STALKER = 45124,
NPC_AUGH_DART = 45379,
NPC_SERVANT_OF_SIAMAT_1 = 45259,
NPC_SERVANT_OF_SIAMAT_2 = 45268,
NPC_SERVANT_OF_SIAMAT_3 = 45269,
NPC_MINION_OF_SIAMAT = 44704,
NPC_MINION_OF_SIAMAT_STORM = 44713,
NPC_CLOUD_BURST = 44541,
/*High Prophet Barom*/
NPC_REPENTANCE = 43817,
NPC_BLAZE_OF_THE_HEAVENS = 48906,
NPC_BLAZE_OF_THE_HEAVENS_FIRE = 48907,
NPC_BLAZE_OF_THE_HEAVENS_SUMMONER = 48904,
NPC_SOUL_FRAGMENT = 43934,
NPC_HARBINGER_OF_DARKNESS = 43927,
NPC_DUST_FLAIL_FRONT_STALKER = 43655,
NPC_ADD_STALKER = 45124,
NPC_AUGH_DART = 45379,
NPC_SERVANT_OF_SIAMAT_1 = 45259,
NPC_SERVANT_OF_SIAMAT_2 = 45268,
NPC_SERVANT_OF_SIAMAT_3 = 45269,
NPC_MINION_OF_SIAMAT = 44704,
NPC_MINION_OF_SIAMAT_STORM = 44713,
NPC_CLOUD_BURST = 44541,
// Misc
NPC_WIND_TUNNEL = 48092
NPC_WIND_TUNNEL = 48092
};
enum LCTGameObjectIds