diff options
Diffstat (limited to 'src')
4 files changed, 71 insertions, 0 deletions
diff --git a/src/bindings/scripts/CMakeLists.txt b/src/bindings/scripts/CMakeLists.txt index ad161de89a0..ad920fd6dbd 100644 --- a/src/bindings/scripts/CMakeLists.txt +++ b/src/bindings/scripts/CMakeLists.txt @@ -212,6 +212,7 @@ SET(trinityscript_LIB_SRCS scripts/kalimdor/caverns_of_time/culling_of_stratholme/boss_epoch.cpp scripts/kalimdor/caverns_of_time/culling_of_stratholme/boss_mal_ganis.cpp scripts/kalimdor/caverns_of_time/culling_of_stratholme/boss_salramm.cpp + scripts/kalimdor/caverns_of_time/culling_of_stratholme/boss_infinite.cpp scripts/kalimdor/caverns_of_time/culling_of_stratholme/def_culling_of_stratholme.h scripts/kalimdor/caverns_of_time/dark_portal/def_dark_portal.h scripts/kalimdor/caverns_of_time/dark_portal/instance_dark_portal.cpp diff --git a/src/bindings/scripts/VC80/80ScriptDev2.vcproj b/src/bindings/scripts/VC80/80ScriptDev2.vcproj index f20af7e153f..13db80a4d2b 100644 --- a/src/bindings/scripts/VC80/80ScriptDev2.vcproj +++ b/src/bindings/scripts/VC80/80ScriptDev2.vcproj @@ -1256,6 +1256,10 @@ RelativePath="..\scripts\kalimdor\caverns_of_time\culling_of_stratholme\boss_salramm.cpp" > </File> + <File + RelativePath="..\scripts\kalimdor\caverns_of_time\culling_of_stratholme\boss_infinite.cpp" + > + </File> <File RelativePath="..\scripts\kalimdor\caverns_of_time\culling_of_stratholme\def_culling_of_stratholme.h" > diff --git a/src/bindings/scripts/VC90/90ScriptDev2.vcproj b/src/bindings/scripts/VC90/90ScriptDev2.vcproj index 20ffc11f3a0..61ea4e0729c 100644 --- a/src/bindings/scripts/VC90/90ScriptDev2.vcproj +++ b/src/bindings/scripts/VC90/90ScriptDev2.vcproj @@ -1341,6 +1341,10 @@ RelativePath="..\scripts\kalimdor\caverns_of_time\culling_of_stratholme\boss_salramm.cpp" > </File> + <File + RelativePath="..\scripts\kalimdor\caverns_of_time\culling_of_stratholme\boss_infinite.cpp" + > + </File> <File RelativePath="..\scripts\kalimdor\caverns_of_time\culling_of_stratholme\def_culling_of_stratholme.h" > diff --git a/src/bindings/scripts/scripts/kalimdor/caverns_of_time/culling_of_stratholme/boss_infinite.cpp b/src/bindings/scripts/scripts/kalimdor/caverns_of_time/culling_of_stratholme/boss_infinite.cpp new file mode 100644 index 00000000000..f59d499f2ac --- /dev/null +++ b/src/bindings/scripts/scripts/kalimdor/caverns_of_time/culling_of_stratholme/boss_infinite.cpp @@ -0,0 +1,62 @@ +#include "precompiled.h" +#include "def_culling_of_stratholme.h" + +enum Spells +{ + SPELL_CORRUPTING_BLIGHT = 60588, + SPELL_VOID_STRIKE = 60590 +}; + +struct TRINITY_DLL_DECL boss_infiniteAI : public ScriptedAI +{ + boss_infiniteAI(Creature *c) : ScriptedAI(c) + { + pInstance = c->GetInstanceData(); + } + + ScriptedInstance* pInstance; + + void Reset() + { + if (pInstance) + pInstance->SetData(DATA_INFINITE_EVENT, NOT_STARTED); + } + + void EnterCombat(Unit* who) + { + if (pInstance) + pInstance->SetData(DATA_INFINITE_EVENT, IN_PROGRESS); + } + + void AttackStart(Unit* who) {} + void MoveInLineOfSight(Unit* who) {} + void UpdateAI(const uint32 diff) + { + //Return since we have no target + if (!UpdateVictim()) + return; + + DoMeleeAttackIfReady(); + } + + void JustDied(Unit* killer) + { + if (pInstance) + pInstance->SetData(DATA_INFINITE_EVENT, DONE); + } +}; + +CreatureAI* GetAI_boss_infinite(Creature* pCreature) +{ + return new boss_infiniteAI (pCreature); +} + +void AddSC_infinite_epoch() +{ + Script *newscript; + + newscript = new Script; + newscript->Name = "boss_infinite"; + newscript->GetAI = &GetAI_boss_infinite; + newscript->RegisterSelf(); +}
\ No newline at end of file |