diff options
author | ModoX <moardox@gmail.com> | 2021-11-05 22:51:30 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-11-05 22:51:30 +0100 |
commit | faa182cb3bd4e37e1b4fc4a56e07710c558d70f3 (patch) | |
tree | 38b51ba0da68fabc356fcc880092c832e32a5a5f | |
parent | 5eb74cf5ed6433f660ba9387049a2f3e74126988 (diff) |
Scripts/Mechagnomes: Added areatrigger teleporter from Mechagon City to Stormwind (#27237)
-rw-r--r-- | sql/updates/world/master/2021_11_05_00_world.sql | 10 | ||||
-rw-r--r-- | src/server/scripts/World/areatrigger_scripts.cpp | 24 |
2 files changed, 34 insertions, 0 deletions
diff --git a/sql/updates/world/master/2021_11_05_00_world.sql b/sql/updates/world/master/2021_11_05_00_world.sql new file mode 100644 index 00000000000..78b29601007 --- /dev/null +++ b/sql/updates/world/master/2021_11_05_00_world.sql @@ -0,0 +1,10 @@ +-- +SET @ATID := 6; +SET @ATGUID := 6; +DELETE FROM `areatrigger_template` WHERE `IsServerSide`=1 AND `Id`=@ATID+0; +INSERT INTO `areatrigger_template` (`Id`, `IsServerSide`, `Type`, `Flags`, `Data0`, `Data1`, `Data2`, `Data3`, `Data4`, `Data5`, `ScriptName`, `VerifiedBuild`) VALUES +(@ATID+0, 1, 4, 0, 0.5, 0.5, 3, 3, 0, 0, 'areatrigger_stormwind_teleport_unit', 0); + +DELETE FROM `areatrigger` WHERE `SpawnId`=@ATGUID+0; +INSERT INTO `areatrigger` (`SpawnId`, `AreaTriggerId`, `IsServerSide`, `MapId`, `PosX`, `PosY`, `PosZ`, `Orientation`, `PhaseUseFlags`, `PhaseId`, `PhaseGroup`, `Shape`, `ShapeData0`, `ShapeData1`, `ShapeData2`, `ShapeData3`, `ShapeData4`, `ShapeData5`, `Comment`) VALUES +(@ATGUID+0, @ATID+0, 1, 2268, 729.515625, 609.68231201171875, -238.236251831054687, 2.836383819580078125, 0, 0, 0, 4, 0.5, 0.5, 3, 3, 0, 0, 'Mechagon City - Teleporter to Stormwind'); diff --git a/src/server/scripts/World/areatrigger_scripts.cpp b/src/server/scripts/World/areatrigger_scripts.cpp index ed78160b499..dcde8ef2c7c 100644 --- a/src/server/scripts/World/areatrigger_scripts.cpp +++ b/src/server/scripts/World/areatrigger_scripts.cpp @@ -35,6 +35,7 @@ at_area_52_entrance EndContentData */ #include "ScriptMgr.h" +#include "AreaTriggerAI.h" #include "DB2Structure.h" #include "GameObject.h" #include "GameTime.h" @@ -427,6 +428,28 @@ private: ObjectGuid stormforgedEradictorGUID; }; +struct areatrigger_stormwind_teleport_unit : AreaTriggerAI +{ + enum MiscIds + { + SPELL_DUST_IN_THE_STORMWIND = 312593, + + NPC_KILL_CREDIT_TELEPORT_STORMWIND = 160561 + }; + + areatrigger_stormwind_teleport_unit(AreaTrigger* areatrigger) : AreaTriggerAI(areatrigger) { } + + void OnUnitEnter(Unit* unit) override + { + Player* player = unit->ToPlayer(); + if (!player) + return; + + player->CastSpell(unit, SPELL_DUST_IN_THE_STORMWIND); + player->KilledMonsterCredit(NPC_KILL_CREDIT_TELEPORT_STORMWIND); + } +}; + void AddSC_areatrigger_scripts() { new AreaTrigger_at_coilfang_waterfall(); @@ -438,4 +461,5 @@ void AddSC_areatrigger_scripts() new AreaTrigger_at_brewfest(); new AreaTrigger_at_area_52_entrance(); new AreaTrigger_at_frostgrips_hollow(); + RegisterAreaTriggerAI(areatrigger_stormwind_teleport_unit); } |