diff options
-rw-r--r-- | src/bindings/scripts/CMakeLists.txt | 1 | ||||
-rw-r--r-- | src/bindings/scripts/scripts/kalimdor/blackfathom_depths/boss_gelihast.cpp | 85 |
2 files changed, 86 insertions, 0 deletions
diff --git a/src/bindings/scripts/CMakeLists.txt b/src/bindings/scripts/CMakeLists.txt index a73f5290ce7..ef7b959a4ae 100644 --- a/src/bindings/scripts/CMakeLists.txt +++ b/src/bindings/scripts/CMakeLists.txt @@ -206,6 +206,7 @@ SET(trinityscript_LIB_SRCS scripts/examples/example_escort.cpp scripts/examples/example_gossip_codebox.cpp scripts/examples/example_misc.cpp + scripts/kalimdor/blackfathom_depths/boss_gelihast.cpp scripts/kalimdor/blackfathom_depths/instance_blackfathom_deeps.cpp scripts/kalimdor/blackfathom_depths/blackfathom_deeps.cpp scripts/kalimdor/blackfathom_depths/blackfathom_deeps.h diff --git a/src/bindings/scripts/scripts/kalimdor/blackfathom_depths/boss_gelihast.cpp b/src/bindings/scripts/scripts/kalimdor/blackfathom_depths/boss_gelihast.cpp new file mode 100644 index 00000000000..29d79314e83 --- /dev/null +++ b/src/bindings/scripts/scripts/kalimdor/blackfathom_depths/boss_gelihast.cpp @@ -0,0 +1,85 @@ +/* +* Copyright (C) 2008-2009 Trinity <http://www.trinitycore.org/> +* +* This program is free software; you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation; either version 2 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program; if not, write to the Free Software +* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +*/ + +#include "precompiled.h" +#include "blackfathom_deeps.h" + +enum Spells +{ + SPELL_NET = 6533 +}; + +struct TRINITY_DLL_DECL boss_gelihastAI : public ScriptedAI +{ + boss_gelihastAI(Creature *c) : ScriptedAI(c) + { + pInstance = c->GetInstanceData(); + } + + uint32 uiNetTimer; + + ScriptedInstance *pInstance; + + void Reset() + { + uiNetTimer = urand(2000,4000); + if (pInstance) + pInstance->SetData(TYPE_GELIHAST, NOT_STARTED); + } + + void EnterCombat(Unit* who) + { + if (pInstance) + pInstance->SetData(TYPE_GELIHAST, IN_PROGRESS); + } + + void JustDied(Unit* killer) + { + if (pInstance) + pInstance->SetData(TYPE_GELIHAST, DONE); + } + + void UpdateAI(const uint32 diff) + { + if (!UpdateVictim()) + return; + + if (uiNetTimer < diff) + { + DoCastVictim(SPELL_NET); + uiNetTimer = urand(4000,7000); + } else uiNetTimer -= diff; + + DoMeleeAttackIfReady(); + } +}; + +CreatureAI* GetAI_boss_gelihast(Creature* pCreature) +{ + return new boss_gelihastAI (pCreature); +} + +void AddSC_boss_gelihast() +{ + Script *newscript; + + newscript = new Script; + newscript->Name = "boss_gelihast"; + newscript->GetAI = &GetAI_boss_gelihast; + newscript->RegisterSelf(); +}
\ No newline at end of file |