aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sql/FULL/world_scripts_full.sql1
-rw-r--r--sql/updates/7625_world_scriptname.sql1
-rw-r--r--src/game/ScriptLoader.cpp6
-rw-r--r--src/scripts/CMakeLists.txt1
-rw-r--r--src/scripts/kalimdor/zulfarrak/instance_zulfarrak.cpp58
-rw-r--r--win/VC90/game.vcproj4
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&apos;Farrak"
>
<File
+ RelativePath="..\..\src\scripts\kalimdor\zulfarrak\instance_zulfarrak.cpp"
+ >
+ </File>
+ <File
RelativePath="..\..\src\scripts\kalimdor\zulfarrak\zulfarrak.cpp"
>
</File>