diff options
author | Nyeriah <sarah.trysan@live.com> | 2014-09-07 01:08:42 -0300 |
---|---|---|
committer | Nyeriah <sarah.trysan@live.com> | 2014-09-07 01:08:42 -0300 |
commit | 2dc45fafe60c1df6bfb9bcca7c294638d0d3641b (patch) | |
tree | 21bb0edcb02d6514bf08708078be3deb06a0c9f6 | |
parent | 37c5adc36f6ecd8da307ea9ace7bbd9f433fb8b9 (diff) |
Scripts/Stratholme: Move Freed Soul AI to database and a small addition
- They should follow players until they despawn
-rw-r--r-- | sql/updates/world/2014_09_07_01_world_sai.sql | 5 | ||||
-rw-r--r-- | src/server/scripts/EasternKingdoms/Stratholme/stratholme.cpp | 36 |
2 files changed, 8 insertions, 33 deletions
diff --git a/sql/updates/world/2014_09_07_01_world_sai.sql b/sql/updates/world/2014_09_07_01_world_sai.sql new file mode 100644 index 00000000000..b264087cda6 --- /dev/null +++ b/sql/updates/world/2014_09_07_01_world_sai.sql @@ -0,0 +1,5 @@ +SET @ENTRY := 11136; -- Freed Soul
+UPDATE `creature_template` SET `AIName` = 'SmartAI', `ScriptName` = '' WHERE `entry` = @ENTRY;
+DELETE FROM `smart_scripts` WHERE `entryorguid` = @ENTRY AND `source_type` = 0;
+INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES
+(@ENTRY, 0, 0, 0, 11, 0, 100, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Freed Soul - On Respawn - Say Line 0');
diff --git a/src/server/scripts/EasternKingdoms/Stratholme/stratholme.cpp b/src/server/scripts/EasternKingdoms/Stratholme/stratholme.cpp index 01ee7139ae5..889fbe8fdc9 100644 --- a/src/server/scripts/EasternKingdoms/Stratholme/stratholme.cpp +++ b/src/server/scripts/EasternKingdoms/Stratholme/stratholme.cpp @@ -81,38 +81,6 @@ public: }; /*###### -## npc_freed_soul -######*/ -enum FreedSoul -{ - SAY_ZAPPED = 0 -}; - -class npc_freed_soul : public CreatureScript -{ -public: - npc_freed_soul() : CreatureScript("npc_freed_soul") { } - - CreatureAI* GetAI(Creature* creature) const override - { - return new npc_freed_soulAI(creature); - } - - struct npc_freed_soulAI : public ScriptedAI - { - npc_freed_soulAI(Creature* creature) : ScriptedAI(creature) { } - - void Reset() override - { - Talk(SAY_ZAPPED); - } - - void EnterCombat(Unit* /*who*/) override { } - }; - -}; - -/*###### ## npc_restless_soul ######*/ @@ -181,6 +149,9 @@ public: void JustSummoned(Creature* summoned) override { summoned->CastSpell(summoned, SPELL_SOUL_FREED, false); + + if (Player* player = ObjectAccessor::GetPlayer(*me, Tagger)) + summoned->GetMotionMaster()->MoveFollow(player, 0.0f, 0.0f); } void JustDied(Unit* /*killer*/) override @@ -318,7 +289,6 @@ public: void AddSC_stratholme() { new go_gauntlet_gate(); - new npc_freed_soul(); new npc_restless_soul(); new npc_spectral_ghostly_citizen(); } |