aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sql/updates/world/2012_05_13_01_world_creature_text.sql14
-rwxr-xr-xsrc/server/game/Spells/Spell.cpp14
-rw-r--r--src/server/scripts/Northrend/Ulduar/Ulduar/boss_yoggsaron.cpp31
3 files changed, 48 insertions, 11 deletions
diff --git a/sql/updates/world/2012_05_13_01_world_creature_text.sql b/sql/updates/world/2012_05_13_01_world_creature_text.sql
new file mode 100644
index 00000000000..8e983fd9a73
--- /dev/null
+++ b/sql/updates/world/2012_05_13_01_world_creature_text.sql
@@ -0,0 +1,14 @@
+-- NPC talk text insert for Sara
+DELETE FROM `creature_text` WHERE `entry`=33134;
+INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`) VALUES
+(33134,0,0, 'Help me! Please get them off me!',14,0,100,0,0,15771, 'Sara YELL_PREFIGHT'),
+(33134,0,1, 'What do you want from me? Leave me alone!',14,0,100,0,0,15772, 'Sara YELL_PREFIGHT'),
+(33134,1,0, 'Yes! YES! Show them no mercy! Give no pause to your attacks!',14,0,100,0,0,15773, 'Sara YELL_COMBAT_PHASE_1'),
+(33134,1,1, 'Let hatred and rage guide your blows!',14,0,100,0,0,15774, 'Sara YELL_COMBAT_PHASE_1'),
+(33134,1,2, 'The time to strike at the head of the beast will soon be upon us! Focus your anger and hatred on his minions!',14,0,100,457,0,15775, 'Sara YELL_COMBAT_PHASE_1'),
+(33134,2,0, 'Suffocate upon your own hate!',14,0,100,0,0,15776, 'Sara YELL_COMBAT_PHASE_2'),
+(33134,2,1, 'Tremble, mortals, before the coming of the end!',14,0,100,0,0,15777, 'Sara YELL_COMBAT_PHASE_2'),
+(33134,3,0, 'Powerless to act...',14,0,100,0,0,15778, 'Sara YELL_SLAY'),
+(33134,3,1, 'Could they have been saved?',14,0,100,0,0,15779, 'YELL SAY_SLAY');
+-- remove script text
+DELETE FROM script_texts WHERE entry BETWEEN -1603319 AND -1603310;
diff --git a/src/server/game/Spells/Spell.cpp b/src/server/game/Spells/Spell.cpp
index 28b089f91cd..48aa40a0e51 100755
--- a/src/server/game/Spells/Spell.cpp
+++ b/src/server/game/Spells/Spell.cpp
@@ -3427,6 +3427,20 @@ void Spell::_handle_immediate_phase()
// process items
for (std::list<ItemTargetInfo>::iterator ihit= m_UniqueItemInfo.begin(); ihit != m_UniqueItemInfo.end(); ++ihit)
DoAllEffectOnTarget(&(*ihit));
+
+ if (!m_originalCaster)
+ return;
+ // Handle procs on cast
+ // TODO: finish new proc system:P
+ if (m_UniqueTargetInfo.empty() && m_targets.HasDst())
+ {
+ uint32 procAttacker = m_procAttacker;
+ if (!procAttacker)
+ procAttacker |= PROC_FLAG_DONE_SPELL_MAGIC_DMG_CLASS_POS;
+
+ // Proc the spells that have DEST target
+ m_originalCaster->ProcDamageAndSpell(NULL, procAttacker, 0, m_procEx | PROC_EX_NORMAL_HIT, 0, BASE_ATTACK, m_spellInfo, m_triggeredByAuraSpell);
+ }
}
void Spell::_handle_finish_phase()
diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_yoggsaron.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_yoggsaron.cpp
index 3f01f21b189..58ba125b994 100644
--- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_yoggsaron.cpp
+++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_yoggsaron.cpp
@@ -18,18 +18,27 @@
#include "ScriptMgr.h"
#include "ulduar.h"
-enum Sara_Yells
+enum Sara
{
- SAY_SARA_PREFIGHT_1 = -1603310,
- SAY_SARA_PREFIGHT_2 = -1603311,
- SAY_SARA_AGGRO_1 = -1603312,
- SAY_SARA_AGGRO_2 = -1603313,
- SAY_SARA_AGGRO_3 = -1603314,
- SAY_SARA_SLAY_1 = -1603315,
- SAY_SARA_SLAY_2 = -1603316,
- WHISP_SARA_INSANITY = -1603317,
- SAY_SARA_PHASE2_1 = -1603318,
- SAY_SARA_PHASE2_2 = -1603319,
+ // text
+ YELL_SARA_PREFIGHT = 0,
+ YELL_COMBAT_PHASE_1 = 1,
+ YELL_COMBAT_PHASE_2 = 2,
+ YELL_SLAY = 3,
+
+ // Phase 1 spells
+ SPELL_SARAS_ANGER_1 = 63147, // Target Entry 33136
+ SPELL_SARAS_ANGER_2 = 63744, // Target Entry 33136
+ SPELL_SARAS_FEVOR_1 = 63138, // Target Player
+ SPELL_SARAS_FEVOR_2 = 63747, // Target Player
+ SPELL_SARAS_BLESSING_1 = 63134, // Target Player
+ SPELL_SARAS_BLESSING_2 = 63745, // Target Self
+
+ // Phase 2 spells
+ SPELL_PHYCHOSIS = 63795, // Target Self
+ SPELL_MALADY_OF_THE_MIND = 63830, // Target Self
+ SPELL_DEATH_RAY = 63891, // Target Self
+ SPELL_BRAIN_LINK = 63802, // Target Self
};
enum YoggSaron_Yells