aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sql/updates/world/2012_05_05_03_world_sai.sql17
-rw-r--r--src/server/scripts/Northrend/FrozenHalls/PitOfSaron/pit_of_saron.cpp76
2 files changed, 17 insertions, 76 deletions
diff --git a/sql/updates/world/2012_05_05_03_world_sai.sql b/sql/updates/world/2012_05_05_03_world_sai.sql
new file mode 100644
index 00000000000..fce3b5bc957
--- /dev/null
+++ b/sql/updates/world/2012_05_05_03_world_sai.sql
@@ -0,0 +1,17 @@
+-- Wrathbone Laborer SAI
+SET @ENTRY := 36830; -- NPC entry
+SET @SPELL1 := 70302; -- Blinding Dirt
+SET @SPELL2 := 70278; -- Puncture Wound (Normal)
+SET @SPELL3 := 70279; -- Puncture Wound (Heroic)
+SET @SPELL4 := 69572; -- Shovelled! (Normal)
+SET @SPELL5 := 70280; -- Shovelled! (Heroic)
+UPDATE `creature_template` SET `unit_flags`=`unit_flags`&~256,`AIName`='SmartAI',`ScriptName`='' WHERE `entry`=@ENTRY;
+DELETE FROM `creature_ai_scripts` WHERE `creature_id`=@ENTRY;
+DELETE FROM `smart_scripts` WHERE `source_type`=0 AND `entryorguid`=@ENTRY;
+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,0,0,100,6,7000,8000,10000,11000,11,@SPELL1,0,0,0,0,0,5,0,0,0,0,0,0,0, 'Wrathbone Laborer - Combat - Cast Blinding Dirt'),
+(@ENTRY,0,1,0,0,0,100,2,8000,9000,9000,10000,11,@SPELL2,0,0,0,0,0,2,0,0,0,0,0,0,0, 'Wrathbone Laborer - Combat - Cast Puncture Wound (Normal)'),
+(@ENTRY,0,2,0,0,0,100,4,8000,9000,9000,10000,11,@SPELL3,0,0,0,0,0,2,0,0,0,0,0,0,0, 'Wrathbone Laborer - Combat - Cast Puncture Wound (Heroic)'),
+(@ENTRY,0,3,0,0,0,100,2,5000,6000,7000,8000,11,@SPELL4,0,0,0,0,0,2,0,0,0,0,0,0,0, 'Wrathbone Laborer - Combat - Cast Shovelled! (Normal)'),
+(@ENTRY,0,4,0,0,0,100,4,5000,6000,7000,8000,11,@SPELL5,0,0,0,0,0,2,0,0,0,0,0,0,0, 'Wrathbone Laborer - Combat - Cast Shovelled! (Heroic)'),
+(@ENTRY,0,5,0,1,0,100,6,1000,3000,3000,3000,5,38,0,0,0,0,0,1,0,0,0,0,0,0,0, 'Wrathbone Laborer - OOC - emote');
diff --git a/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/pit_of_saron.cpp b/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/pit_of_saron.cpp
index 70d72e52e67..b6c821ef66a 100644
--- a/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/pit_of_saron.cpp
+++ b/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/pit_of_saron.cpp
@@ -25,9 +25,6 @@ enum eSpells
SPELL_HELLFIRE = 69586,
SPELL_TACTICAL_BLINK = 69584,
SPELL_FROST_BREATH = 69527, //Iceborn Proto-Drake
- SPELL_BLINDING_DIRT = 70302, //Wrathbone Laborer
- SPELL_PUNCTURE_WOUND = 70278,
- SPELL_SHOVELLED = 69572,
SPELL_LEAPING_FACE_MAUL = 69504, // Geist Ambusher
};
@@ -36,11 +33,6 @@ enum eEvents
// Ymirjar Flamebearer
EVENT_FIREBALL = 1,
EVENT_TACTICAL_BLINK = 2,
-
- //Wrathbone Laborer
- EVENT_BLINDING_DIRT = 3,
- EVENT_PUNCTURE_WOUND = 4,
- EVENT_SHOVELLED = 5,
};
class mob_ymirjar_flamebearer : public CreatureScript
@@ -157,73 +149,6 @@ class mob_iceborn_protodrake : public CreatureScript
}
};
-class mob_wrathbone_laborer : public CreatureScript
-{
- public:
- mob_wrathbone_laborer() : CreatureScript("mob_wrathbone_laborer") { }
-
- struct mob_wrathbone_laborerAI: public ScriptedAI
- {
- mob_wrathbone_laborerAI(Creature* creature) : ScriptedAI(creature)
- {
- }
-
- void Reset()
- {
- _events.Reset();
- }
-
- void EnterCombat(Unit* /*who*/)
- {
- _events.ScheduleEvent(EVENT_BLINDING_DIRT, 8000);
- _events.ScheduleEvent(EVENT_PUNCTURE_WOUND, 9000);
- _events.ScheduleEvent(EVENT_SHOVELLED, 5000);
- }
-
- void UpdateAI(const uint32 diff)
- {
- if (!UpdateVictim())
- return;
-
- _events.Update(diff);
-
- if (me->HasUnitState(UNIT_STATE_CASTING))
- return;
-
- while (uint32 eventId = _events.ExecuteEvent())
- {
- switch (eventId)
- {
- case EVENT_BLINDING_DIRT:
- if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 1, 10.0f, true))
- DoCast(target, SPELL_BLINDING_DIRT);
- _events.RescheduleEvent(EVENT_BLINDING_DIRT, 10000);
- return;
- case EVENT_PUNCTURE_WOUND:
- DoCastVictim(SPELL_PUNCTURE_WOUND);
- _events.RescheduleEvent(EVENT_PUNCTURE_WOUND, 9000);
- return;
- case EVENT_SHOVELLED:
- if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 1, -5.0f))
- DoCast(target, SPELL_SHOVELLED);
- _events.RescheduleEvent(EVENT_SHOVELLED, 7000);
- return;
- }
- }
-
- DoMeleeAttackIfReady();
- }
-
- private:
- EventMap _events;
- };
-
- CreatureAI* GetAI(Creature* creature) const
- {
- return new mob_wrathbone_laborerAI(creature);
- }
-};
-
class mob_geist_ambusher : public CreatureScript
{
public:
@@ -310,7 +235,6 @@ class spell_trash_mob_glacial_strike : public SpellScriptLoader
void AddSC_pit_of_saron()
{
new mob_ymirjar_flamebearer();
- new mob_wrathbone_laborer();
new mob_iceborn_protodrake();
new mob_geist_ambusher();
new spell_trash_mob_glacial_strike();