diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/game/ScriptLoader.cpp | 6 | ||||
-rw-r--r-- | src/scripts/CMakeLists.txt | 1 | ||||
-rw-r--r-- | src/scripts/kalimdor/zulfarrak/instance_zulfarrak.cpp | 58 |
3 files changed, 63 insertions, 2 deletions
diff --git a/src/game/ScriptLoader.cpp b/src/game/ScriptLoader.cpp index cd28fd10c27..e7b0a063089 100644 --- a/src/game/ScriptLoader.cpp +++ b/src/game/ScriptLoader.cpp @@ -258,7 +258,8 @@ void AddSC_mob_anubisath_sentinel(); void AddSC_instance_temple_of_ahnqiraj(); void AddSC_wailing_caverns(); //Wailing caverns void AddSC_instance_wailing_caverns(); -void AddSC_zulfarrak(); //Zul'Farrak +void AddSC_zulfarrak(); //Zul'Farrak generic +void AddSC_instance_zulfarrak(); //Zul'Farrak instance script void AddSC_ashenvale(); void AddSC_azshara(); @@ -725,7 +726,8 @@ void AddScripts() AddSC_instance_temple_of_ahnqiraj(); AddSC_wailing_caverns(); //Wailing caverns AddSC_instance_wailing_caverns(); - AddSC_zulfarrak(); //Zul'Farrak + AddSC_zulfarrak(); //Zul'Farrak generic + AddSC_instance_zulfarrak(); //Zul'Farrak instance script AddSC_ashenvale(); AddSC_azshara(); diff --git a/src/scripts/CMakeLists.txt b/src/scripts/CMakeLists.txt index 9d118443962..bd081a0128e 100644 --- a/src/scripts/CMakeLists.txt +++ b/src/scripts/CMakeLists.txt @@ -282,6 +282,7 @@ SET(scripts_STAT_SRCS kalimdor/wailing_caverns/instance_wailing_caverns.cpp kalimdor/wailing_caverns/wailing_caverns.cpp kalimdor/zulfarrak/zulfarrak.cpp + kalimdor/zulfarrak/instance_zulfarrak.cpp kalimdor/ashenvale.cpp kalimdor/azshara.cpp kalimdor/azuremyst_isle.cpp diff --git a/src/scripts/kalimdor/zulfarrak/instance_zulfarrak.cpp b/src/scripts/kalimdor/zulfarrak/instance_zulfarrak.cpp new file mode 100644 index 00000000000..af6158b2e24 --- /dev/null +++ b/src/scripts/kalimdor/zulfarrak/instance_zulfarrak.cpp @@ -0,0 +1,58 @@ + /* + * Copyright (C) 2008-2010 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 "ScriptedPch.h" + +#define NPC_GAHZRILLA 7273 + +struct instance_zulfarrak : public ScriptedInstance +{ + instance_zulfarrak(Map* pMap) : ScriptedInstance(pMap) {Initialize();} + + uint32 GahzRillaEncounter; + + void Initialize() + { + GahzRillaEncounter = NOT_STARTED; + } + + void OnCreatureCreate(Creature* pCreature, bool add) + { + if (pCreature->GetEntry() == NPC_GAHZRILLA) + { + if (GahzRillaEncounter >= IN_PROGRESS) + pCreature->DisappearAndDie(); + else + GahzRillaEncounter = IN_PROGRESS; + } + } +}; + +InstanceData* GetInstanceData_instance_zulfarrak(Map* pMap) +{ + return new instance_zulfarrak(pMap); +} + +void AddSC_instance_zulfarrak() +{ + Script *newscript; + newscript = new Script; + newscript->Name = "instance_zulfarrak"; + newscript->GetInstanceData = &GetInstanceData_instance_zulfarrak; + newscript->RegisterSelf(); +} |