aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDiscover- <amort11@hotmail.com>2011-12-25 00:29:15 +0100
committerDiscover- <amort11@hotmail.com>2011-12-25 00:29:15 +0100
commit8cec401f0c4c61bb69fc6353bc13e0b2c4582130 (patch)
tree5a3bd1e6244a1f266d940b02804b97dd83c72e81
parentb82eb200e80dff65f6d4c1f71d5ca3253dd59b48 (diff)
Core/Scripts: Script quest Nat's Bargain.
Closes #3140.
-rw-r--r--sql/updates/world/2011_12_24_00_world_misc.sql (renamed from sql/updates/world/2011_12_24_00_world_sai.sql)0
-rw-r--r--sql/updates/world/2011_12_25_00_world_areatrigger_scriptnames.sql3
-rw-r--r--src/server/scripts/World/areatrigger_scripts.cpp37
3 files changed, 40 insertions, 0 deletions
diff --git a/sql/updates/world/2011_12_24_00_world_sai.sql b/sql/updates/world/2011_12_24_00_world_misc.sql
index fb5816bb737..fb5816bb737 100644
--- a/sql/updates/world/2011_12_24_00_world_sai.sql
+++ b/sql/updates/world/2011_12_24_00_world_misc.sql
diff --git a/sql/updates/world/2011_12_25_00_world_areatrigger_scriptnames.sql b/sql/updates/world/2011_12_25_00_world_areatrigger_scriptnames.sql
new file mode 100644
index 00000000000..4a66326ead5
--- /dev/null
+++ b/sql/updates/world/2011_12_25_00_world_areatrigger_scriptnames.sql
@@ -0,0 +1,3 @@
+DELETE FROM `areatrigger_scripts` WHERE `entry`=4752;
+INSERT INTO `areatrigger_scripts` (`entry`,`ScriptName`) VALUES
+(4752,'at_nats_landing'); \ No newline at end of file
diff --git a/src/server/scripts/World/areatrigger_scripts.cpp b/src/server/scripts/World/areatrigger_scripts.cpp
index 517746dac55..b1d1b97f21b 100644
--- a/src/server/scripts/World/areatrigger_scripts.cpp
+++ b/src/server/scripts/World/areatrigger_scripts.cpp
@@ -29,6 +29,7 @@ at_legion_teleporter 4560 Teleporter TO Invasion Point: Cataclysm
at_stormwright_shelf q12741
at_last_rites q12019
at_sholazar_waygate q12548
+at_nats_landing q11209
EndContentData */
#include "ScriptPCH.h"
@@ -257,6 +258,41 @@ class AreaTrigger_at_sholazar_waygate : public AreaTriggerScript
}
};
+/*######
+## at_nats_landing
+######*/
+
+enum NatsLanding
+{
+ QUEST_NATS_BARGAIN = 11209,
+ SPELL_FISH_PASTE = 42644,
+ NPC_LURKING_SHARK = 23928
+};
+
+class AreaTrigger_at_nats_landing : public AreaTriggerScript
+{
+ public:
+ AreaTrigger_at_nats_landing() : AreaTriggerScript("at_nats_landing") { }
+
+ bool OnTrigger(Player* player, AreaTriggerEntry const* trigger)
+ {
+ if (!player->isAlive() || !player->HasAura(SPELL_FISH_PASTE))
+ return false;
+
+ if (player->GetQuestStatus(QUEST_NATS_BARGAIN) == QUEST_STATUS_INCOMPLETE)
+ {
+ if (!player->FindNearestCreature(NPC_LURKING_SHARK, 20.0f))
+ {
+ if (Creature* shark = player->SummonCreature(NPC_LURKING_SHARK, -4246.243f, -3922.356f, -7.488f, 5.0f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 100000))
+ shark->AI()->AttackStart(player);
+
+ return false;
+ }
+ }
+ return true;
+ }
+};
+
void AddSC_areatrigger_scripts()
{
new AreaTrigger_at_coilfang_waterfall();
@@ -265,4 +301,5 @@ void AddSC_areatrigger_scripts()
new AreaTrigger_at_scent_larkorwi();
new AreaTrigger_at_last_rites();
new AreaTrigger_at_sholazar_waygate();
+ new AreaTrigger_at_nats_landing();
}