mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-16 07:30:42 +01:00
Boss/Script: Add Crazed Apothecary to Apothecary Hummel encounter
Closes #19520 Closes #24176
This commit is contained in:
@@ -70,7 +70,9 @@ enum ApothecaryEvents
|
||||
EVENT_PERFUME_SPRAY,
|
||||
EVENT_COLOGNE_SPRAY,
|
||||
EVENT_CALL_BAXTER,
|
||||
EVENT_CALL_FRYE
|
||||
EVENT_CALL_FRYE,
|
||||
EVENT_CALL_CRAZED_APOTHECARY,
|
||||
EVENT_CRAZED_APOTHECARY
|
||||
};
|
||||
|
||||
enum ApothecaryMisc
|
||||
@@ -220,8 +222,9 @@ class boss_apothecary_hummel : public CreatureScript
|
||||
events.ScheduleEvent(EVENT_CALL_FRYE, 14s);
|
||||
events.ScheduleEvent(EVENT_PERFUME_SPRAY, Milliseconds(3640));
|
||||
events.ScheduleEvent(EVENT_CHAIN_REACTION, 15s);
|
||||
events.ScheduleEvent(EVENT_CALL_CRAZED_APOTHECARY, 15s);
|
||||
events.ScheduleEvent(EVENT_CRAZED_APOTHECARY, 15s);
|
||||
|
||||
Talk(SAY_SUMMON_ADDS);
|
||||
std::vector<Creature*> trashs;
|
||||
me->GetCreatureListWithEntryInGrid(trashs, NPC_CROWN_APOTHECARY);
|
||||
for (Creature* crea : trashs)
|
||||
@@ -244,6 +247,13 @@ class boss_apothecary_hummel : public CreatureScript
|
||||
summons.DoAction(ACTION_START_FIGHT, pred);
|
||||
break;
|
||||
}
|
||||
case EVENT_CALL_CRAZED_APOTHECARY:
|
||||
Talk(SAY_SUMMON_ADDS);
|
||||
break;
|
||||
case EVENT_CRAZED_APOTHECARY:
|
||||
instance->SetData(DATA_SPAWN_VALENTINE_ADDS, 0);
|
||||
events.Repeat(Seconds(4), Seconds(6));
|
||||
break;
|
||||
case EVENT_PERFUME_SPRAY:
|
||||
DoCastVictim(SPELL_PERFUME_SPRAY);
|
||||
events.Repeat(Milliseconds(3640));
|
||||
|
||||
@@ -40,24 +40,10 @@ enum Yells
|
||||
SAY_ARCHMAGE = 0
|
||||
};
|
||||
|
||||
enum Creatures
|
||||
{
|
||||
NPC_ASH = 3850,
|
||||
NPC_ADA = 3849,
|
||||
NPC_ARCHMAGE_ARUGAL = 4275,
|
||||
NPC_ARUGAL_VOIDWALKER = 4627
|
||||
};
|
||||
|
||||
enum GameObjects
|
||||
{
|
||||
GO_COURTYARD_DOOR = 18895, //door to open when talking to NPC's
|
||||
GO_SORCERER_DOOR = 18972, //door to open when Fenrus the Devourer
|
||||
GO_ARUGAL_DOOR = 18971 //door to open when Wolf Master Nandos
|
||||
};
|
||||
|
||||
enum Spells
|
||||
{
|
||||
SPELL_ASHCROMBE_TELEPORT = 15742
|
||||
SPELL_ASHCROMBE_TELEPORT = 15742,
|
||||
SPELL_SUMMON_VALENTINE_ADD = 68610
|
||||
};
|
||||
|
||||
const Position SpawnLocation[] =
|
||||
@@ -68,6 +54,7 @@ const Position SpawnLocation[] =
|
||||
{-140.794f, 2178.037f, 128.448f, 4.090f},
|
||||
{-138.640f, 2170.159f, 136.577f, 2.737f}
|
||||
};
|
||||
|
||||
class instance_shadowfang_keep : public InstanceMapScript
|
||||
{
|
||||
public:
|
||||
@@ -107,9 +94,20 @@ public:
|
||||
{
|
||||
switch (creature->GetEntry())
|
||||
{
|
||||
case NPC_ASH: uiAshGUID = creature->GetGUID(); break;
|
||||
case NPC_ADA: uiAdaGUID = creature->GetGUID(); break;
|
||||
case NPC_ARCHMAGE_ARUGAL: uiArchmageArugalGUID = creature->GetGUID(); break;
|
||||
case NPC_ASH:
|
||||
uiAshGUID = creature->GetGUID();
|
||||
break;
|
||||
case NPC_ADA:
|
||||
uiAdaGUID = creature->GetGUID();
|
||||
break;
|
||||
case NPC_ARCHMAGE_ARUGAL:
|
||||
uiArchmageArugalGUID = creature->GetGUID();
|
||||
break;
|
||||
case NPC_DND_CRAZED_APOTHECARY_GENERATOR:
|
||||
_crazedApothecaryGeneratorGUIDs.push_back(creature->GetGUID());
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -179,6 +177,15 @@ public:
|
||||
DoUseDoorOrButton(DoorArugalGUID);
|
||||
m_auiEncounter[3] = data;
|
||||
break;
|
||||
case DATA_SPAWN_VALENTINE_ADDS:
|
||||
for (ObjectGuid guid : _crazedApothecaryGeneratorGUIDs)
|
||||
{
|
||||
if (Creature* generator = instance->GetCreature(guid))
|
||||
generator->CastSpell(nullptr, SPELL_SUMMON_VALENTINE_ADD);
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
if (data == DONE)
|
||||
@@ -279,6 +286,9 @@ public:
|
||||
} else uiTimer -= uiDiff;
|
||||
}
|
||||
}
|
||||
|
||||
private:
|
||||
GuidVector _crazedApothecaryGeneratorGUIDs;
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
@@ -56,11 +56,6 @@ enum Spells
|
||||
SPELL_DARK_OFFERING = 7154
|
||||
};
|
||||
|
||||
enum Creatures
|
||||
{
|
||||
NPC_ASH = 3850
|
||||
};
|
||||
|
||||
class npc_shadowfang_prisoner : public CreatureScript
|
||||
{
|
||||
public:
|
||||
|
||||
@@ -30,7 +30,24 @@ enum SKDataTypes
|
||||
TYPE_FENRUS = 3,
|
||||
TYPE_NANDOS = 4,
|
||||
BOSS_ARUGAL = 5,
|
||||
DATA_APOTHECARY_HUMMEL = 6
|
||||
DATA_APOTHECARY_HUMMEL = 6,
|
||||
DATA_SPAWN_VALENTINE_ADDS = 7
|
||||
};
|
||||
|
||||
enum SKCreatures
|
||||
{
|
||||
NPC_ASH = 3850,
|
||||
NPC_ADA = 3849,
|
||||
NPC_ARCHMAGE_ARUGAL = 4275,
|
||||
NPC_ARUGAL_VOIDWALKER = 4627,
|
||||
NPC_DND_CRAZED_APOTHECARY_GENERATOR = 36212
|
||||
};
|
||||
|
||||
enum SKGameObjects
|
||||
{
|
||||
GO_COURTYARD_DOOR = 18895, //door to open when talking to NPC's
|
||||
GO_SORCERER_DOOR = 18972, //door to open when Fenrus the Devourer
|
||||
GO_ARUGAL_DOOR = 18971 //door to open when Wolf Master Nandos
|
||||
};
|
||||
|
||||
template <class AI, class T>
|
||||
|
||||
Reference in New Issue
Block a user