diff options
| author | Discover- <amort11@hotmail.com> | 2011-12-25 00:29:15 +0100 |
|---|---|---|
| committer | Discover- <amort11@hotmail.com> | 2011-12-25 00:29:15 +0100 |
| commit | 8cec401f0c4c61bb69fc6353bc13e0b2c4582130 (patch) | |
| tree | 5a3bd1e6244a1f266d940b02804b97dd83c72e81 | |
| parent | b82eb200e80dff65f6d4c1f71d5ca3253dd59b48 (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.sql | 3 | ||||
| -rw-r--r-- | src/server/scripts/World/areatrigger_scripts.cpp | 37 |
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(); } |
