Scripts/Icecrown Citadel: Added Blood Prince Council script
Scripts/Icecrown Citadel: Festergut will not cast Vile Gas on melee targets if there are at least 3 (25 man: 8) ranged targets Scripts/Icecrown Citadel: Festergut and Rotface gates will close with delay (when Putricide reaches the balcony) Scripts/Icecrown Citadel: Replaced ASSERT(instance) with code disabling the AI if not inside instance Core/Spells: Fixed TARGET_DEST_TARGET_RANDOM usage Core/Scripts: Extended DamageDealt in AI to accept damage type as 3rd parameter Scripts/Quests: Fixed quest "Unholy Infusion" (24749) --HG-- branch : trunk
This commit is contained in:
@@ -94,7 +94,7 @@ class CreatureAI : public UnitAI
|
||||
virtual void EnterCombat(Unit* /*enemy*/) {}
|
||||
|
||||
// Called at any Damage to any victim (before damage apply)
|
||||
virtual void DamageDealt(Unit * /*done_to*/, uint32 & /*damage*/) { }
|
||||
virtual void DamageDealt(Unit * /*done_to*/, uint32 & /*damage*/, DamageEffectType /*damagetype*/) { }
|
||||
|
||||
// Called at any Damage from any attacker (before damage apply)
|
||||
// Note: it for recalculation damage or special reaction at damage
|
||||
|
||||
@@ -98,7 +98,7 @@ void SmartAI::SpellHitTarget(Unit* /*target*/, const SpellEntry* /*pSpell*/)
|
||||
{
|
||||
}
|
||||
|
||||
void SmartAI::DamageTaken(Unit* /*done_by*/, uint32& /*damage*/)
|
||||
void SmartAI::DamageTaken(Unit* /*done_by*/, uint32& /*damage*/, DamageEffectType /*damagetype*/)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
@@ -289,7 +289,7 @@ class SmartAI : public CreatureAI
|
||||
void SpellHitTarget(Unit* target, const SpellEntry*);
|
||||
|
||||
// Called at any Damage from any attacker (before damage apply)
|
||||
void DamageTaken(Unit* done_by, uint32& damage);
|
||||
void DamageTaken(Unit* done_by, uint32& damage, DamageEffectType damagetype);
|
||||
|
||||
// Called when the creature receives heal
|
||||
void HealReceived(Unit* done_by, uint32& addhealth);
|
||||
|
||||
@@ -549,7 +549,7 @@ uint32 Unit::DealDamage(Unit *pVictim, uint32 damage, CleanDamage const* cleanDa
|
||||
pVictim->ToCreature()->AI()->DamageTaken(this, damage);
|
||||
|
||||
if (GetTypeId() == TYPEID_UNIT && this->ToCreature()->IsAIEnabled)
|
||||
this->ToCreature()->AI()->DamageDealt(pVictim, damage);
|
||||
this->ToCreature()->AI()->DamageDealt(pVictim, damage, damagetype);
|
||||
|
||||
if (damagetype != NODAMAGE)
|
||||
{
|
||||
@@ -7930,6 +7930,13 @@ bool Unit::HandleAuraProc(Unit * pVictim, uint32 damage, Aura * triggeredByAura,
|
||||
RemoveAuraFromStack(71564);
|
||||
*handled = true;
|
||||
break;
|
||||
case 71756:
|
||||
case 72782:
|
||||
case 72783:
|
||||
case 72784:
|
||||
RemoveAuraFromStack(dummySpell->Id);
|
||||
*handled = true;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case SPELLFAMILY_PALADIN:
|
||||
|
||||
@@ -5259,7 +5259,6 @@ void ObjectMgr::ValidateSpellScripts()
|
||||
SpellEntry const * spellEntry = sSpellStore.LookupEntry(itr->first);
|
||||
std::vector<std::pair<SpellScriptLoader *, SpellScriptsMap::iterator> > SpellScriptLoaders;
|
||||
sScriptMgr.CreateSpellScriptLoaders(itr->first, SpellScriptLoaders);
|
||||
SpellScriptsMap::iterator bitr;
|
||||
itr = mSpellScripts.upper_bound(itr->first);
|
||||
|
||||
for (std::vector<std::pair<SpellScriptLoader *, SpellScriptsMap::iterator> >::iterator sitr = SpellScriptLoaders.begin(); sitr != SpellScriptLoaders.end(); ++sitr)
|
||||
|
||||
@@ -448,6 +448,7 @@ void AddSC_boss_deathbringer_saurfang();
|
||||
void AddSC_boss_festergut();
|
||||
void AddSC_boss_rotface();
|
||||
void AddSC_boss_professor_putricide();
|
||||
void AddSC_boss_blood_prince_council();
|
||||
void AddSC_icecrown_citadel_teleport();
|
||||
void AddSC_instance_icecrown_citadel();
|
||||
|
||||
@@ -1108,6 +1109,7 @@ void AddNorthrendScripts()
|
||||
AddSC_boss_festergut();
|
||||
AddSC_boss_rotface();
|
||||
AddSC_boss_professor_putricide();
|
||||
AddSC_boss_blood_prince_council();
|
||||
AddSC_icecrown_citadel_teleport();
|
||||
AddSC_instance_icecrown_citadel();
|
||||
|
||||
|
||||
@@ -2245,9 +2245,16 @@ void AuraEffect::TriggerSpell(Unit * target, Unit * caster) const
|
||||
return;
|
||||
}
|
||||
// Tear of Azzinoth Summon Channel - it's not really supposed to do anything,and this only prevents the console spam
|
||||
case 39857: triggerSpellId = 39856; break;
|
||||
case 39857:
|
||||
triggerSpellId = 39856;
|
||||
break;
|
||||
// Personalized Weather
|
||||
case 46736: triggerSpellId = 46737; break;
|
||||
case 46736:
|
||||
triggerSpellId = 46737;
|
||||
break;
|
||||
// Ball of Flames Visual
|
||||
case 71706:
|
||||
return;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -2207,7 +2207,7 @@ void Spell::SelectEffectTargets(uint32 i, uint32 cur)
|
||||
dist = (float)target->GetSpellRadiusForTarget(target, sSpellRadiusStore.LookupEntry(m_spellInfo->EffectRadiusIndex[i]));
|
||||
if (dist < objSize)
|
||||
dist = objSize;
|
||||
else if (cur == TARGET_DEST_CASTER_RANDOM)
|
||||
else if (cur == TARGET_DEST_TARGET_RANDOM)
|
||||
dist = objSize + (dist - objSize) * (float)rand_norm();
|
||||
|
||||
switch(cur)
|
||||
|
||||
@@ -3928,6 +3928,13 @@ void SpellMgr::LoadSpellCustomAttr()
|
||||
spellInfo->EffectImplicitTargetB[0] = TARGET_UNIT_TARGET_ENEMY;
|
||||
count++;
|
||||
break;
|
||||
case 71708: // Empowered Flare
|
||||
case 72785: // Empowered Flare
|
||||
case 72786: // Empowered Flare
|
||||
case 72787: // Empowered Flare
|
||||
spellInfo->AttributesEx3 |= SPELL_ATTR_EX3_NO_DONE_BONUS;
|
||||
count++;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user