aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2011-06-26 11:45:29 +0200
committerShauren <shauren.trinity@gmail.com>2011-06-26 11:45:29 +0200
commit2b1039d0e1e78e85a19185208e125b2a2473778c (patch)
tree32a776007b653a933e9111cdaf67b1dae5345f5c /src
parent6667277a165efaaa7115b33367ab0fb74d899ed8 (diff)
Scripts/Icecrown Citadel
* Removed spellmgr hacks for Boiling Blood * Removed obsolete effect from Resistant Skin causing them to lose the aura when hit by shadow spell
Diffstat (limited to 'src')
-rwxr-xr-xsrc/server/game/Spells/SpellMgr.cpp9
-rwxr-xr-xsrc/server/scripts/Northrend/IcecrownCitadel/boss_deathbringer_saurfang.cpp42
2 files changed, 42 insertions, 9 deletions
diff --git a/src/server/game/Spells/SpellMgr.cpp b/src/server/game/Spells/SpellMgr.cpp
index d6a447bd75f..2ba9ca36528 100755
--- a/src/server/game/Spells/SpellMgr.cpp
+++ b/src/server/game/Spells/SpellMgr.cpp
@@ -4125,12 +4125,9 @@ void SpellMgr::LoadSpellCustomAttr()
spellInfo->EffectRadiusIndex[0] = 12; // 100yd
++count;
break;
- case 72385: // Boiling Blood (Deathbringer Saurfang)
- case 72441: // Boiling Blood (Deathbringer Saurfang)
- case 72442: // Boiling Blood (Deathbringer Saurfang)
- case 72443: // Boiling Blood (Deathbringer Saurfang)
- spellInfo->EffectImplicitTargetA[0] = TARGET_UNIT_TARGET_ENEMY;
- spellInfo->EffectImplicitTargetB[0] = 0;
+ case 72723: // Resistant Skin (Deathbringer Saurfang adds)
+ // this spell initially granted Shadow damage immunity, however it was removed but the data was left in client
+ spellInfo->Effect[2] = 0;
++count;
break;
case 70460: // Coldflame Jets (Traps after Saurfang)
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_deathbringer_saurfang.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_deathbringer_saurfang.cpp
index 96bfb17e5d4..6fc60bdba09 100755
--- a/src/server/scripts/Northrend/IcecrownCitadel/boss_deathbringer_saurfang.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_deathbringer_saurfang.cpp
@@ -450,7 +450,7 @@ class boss_deathbringer_saurfang : public CreatureScript
// select at range only
Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 1, -10.0f, true);
if (!target)
- target = SelectTarget(SELECT_TARGET_RANDOM, 1, 10.0f, true); // noone? select melee
+ target = SelectTarget(SELECT_TARGET_RANDOM, 1, 0.0f, true); // noone? select melee
if (target)
DoCast(target, SPELL_BLOOD_NOVA_TRIGGER);
events.ScheduleEvent(EVENT_BLOOD_NOVA, urand(20000, 25000), 0, PHASE_COMBAT);
@@ -461,8 +461,7 @@ class boss_deathbringer_saurfang : public CreatureScript
events.ScheduleEvent(EVENT_RUNE_OF_BLOOD, urand(20000, 25000), 0, PHASE_COMBAT);
break;
case EVENT_BOILING_BLOOD:
- if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 1, 0.0f, true, -BOILING_BLOOD_HELPER))
- DoCast(target, SPELL_BOILING_BLOOD);
+ DoCast(me, SPELL_BOILING_BLOOD);
events.ScheduleEvent(EVENT_BOILING_BLOOD, urand(15000, 20000), 0, PHASE_COMBAT);
break;
case EVENT_BERSERK:
@@ -1222,6 +1221,42 @@ class spell_deathbringer_blood_nova_targeting : public SpellScriptLoader
}
};
+class spell_deathbringer_boiling_blood : public SpellScriptLoader
+{
+ public:
+ spell_deathbringer_boiling_blood() : SpellScriptLoader("spell_deathbringer_boiling_blood") { }
+
+ class spell_deathbringer_boiling_blood_SpellScript : public SpellScript
+ {
+ PrepareSpellScript(spell_deathbringer_boiling_blood_SpellScript);
+
+ bool Load()
+ {
+ return GetCaster()->GetTypeId() == TYPEID_UNIT;
+ }
+
+ void FilterTargets(std::list<Unit*>& unitList)
+ {
+ unitList.remove(GetCaster()->getVictim());
+ std::list<Unit*>::iterator itr = unitList.begin();
+ std::advance(itr, urand(0, unitList.size() - 1));
+ Unit* target = *itr;
+ unitList.clear();
+ unitList.push_back(target);
+ }
+
+ void Register()
+ {
+ OnUnitTargetSelect += SpellUnitTargetFn(spell_deathbringer_boiling_blood_SpellScript::FilterTargets, EFFECT_0, TARGET_UNIT_AREA_ENEMY_SRC);
+ }
+ };
+
+ SpellScript* GetSpellScript() const
+ {
+ return new spell_deathbringer_boiling_blood_SpellScript();
+ }
+};
+
class achievement_ive_gone_and_made_a_mess : public AchievementCriteriaScript
{
public:
@@ -1250,5 +1285,6 @@ void AddSC_boss_deathbringer_saurfang()
new spell_deathbringer_rune_of_blood();
new spell_deathbringer_blood_nova();
new spell_deathbringer_blood_nova_targeting();
+ new spell_deathbringer_boiling_blood();
new achievement_ive_gone_and_made_a_mess();
}