aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNyeriah <sarah.trysan@live.com>2014-09-07 01:08:42 -0300
committerNyeriah <sarah.trysan@live.com>2014-09-07 01:08:42 -0300
commit2dc45fafe60c1df6bfb9bcca7c294638d0d3641b (patch)
tree21bb0edcb02d6514bf08708078be3deb06a0c9f6
parent37c5adc36f6ecd8da307ea9ace7bbd9f433fb8b9 (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.sql5
-rw-r--r--src/server/scripts/EasternKingdoms/Stratholme/stratholme.cpp36
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();
}