diff options
-rw-r--r-- | sql/FULL/world_scripts_full.sql | 1 | ||||
-rw-r--r-- | sql/updates/7625_world_scriptname.sql | 1 | ||||
-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 | ||||
-rw-r--r-- | win/VC90/game.vcproj | 4 |
6 files changed, 69 insertions, 2 deletions
diff --git a/sql/FULL/world_scripts_full.sql b/sql/FULL/world_scripts_full.sql index afd22c25d44..5b974f64f3c 100644 --- a/sql/FULL/world_scripts_full.sql +++ b/sql/FULL/world_scripts_full.sql @@ -1435,6 +1435,7 @@ UPDATE `creature_template` SET `ScriptName`='npc_weegli_blastfuse' WHERE `entry` UPDATE `gameobject_template` SET `ScriptName`='go_shallow_grave' WHERE `entry` IN (128308,128403); INSERT IGNORE INTO `areatrigger_scripts` (`entry`, `ScriptName`) VALUES('962','at_zumrah'); UPDATE `gameobject_template` SET `ScriptName`='go_table_theka' WHERE `entry`=142715; +UPDATE `instance_template` SET `ScriptName`='instance_zulfarrak' WHERE `map`=209; /* ZUL'GURUB */ UPDATE `instance_template` SET `script`='instance_zulgurub' WHERE `map`=309; diff --git a/sql/updates/7625_world_scriptname.sql b/sql/updates/7625_world_scriptname.sql new file mode 100644 index 00000000000..73007ac11db --- /dev/null +++ b/sql/updates/7625_world_scriptname.sql @@ -0,0 +1 @@ +UPDATE `instance_template` SET `ScriptName`='instance_zulfarrak' WHERE `map`=209; 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(); +} diff --git a/win/VC90/game.vcproj b/win/VC90/game.vcproj index 172b1cbfd8d..8f79a5e6923 100644 --- a/win/VC90/game.vcproj +++ b/win/VC90/game.vcproj @@ -3029,6 +3029,10 @@ Name="Zul'Farrak" > <File + RelativePath="..\..\src\scripts\kalimdor\zulfarrak\instance_zulfarrak.cpp" + > + </File> + <File RelativePath="..\..\src\scripts\kalimdor\zulfarrak\zulfarrak.cpp" > </File> |