Scripts/Trial of the Crusader:

1) Fix Leeching Swarm damage and create spell difficulty links to code. Closes  issue #4909 .
2) Fix Valkyr's Touch. Closes  issue #4553 .
3) Fix Permafrost aura difficulty check.
4) Reduce Slime Pool damage range.
5) Avoid Shaman Champion Heroism spam using 5 minutes (CD) as timer.
6) Fix many spell target selection to only select players (no more totens or pets).
7) Fix Anub'arak Spike being able to receibe the permafrost aura in order to cast spike fail, hopefully.
This commit is contained in:
John Holiver
2010-12-31 06:01:01 +01:00
committed by leak
parent d747b8063b
commit 3a053c6cd3
10 changed files with 47 additions and 28 deletions
+1
View File
@@ -1255,6 +1255,7 @@ class Unit : public WorldObject
inline bool HealthAbovePct(int32 pct) const { return GetHealth() * (uint64)100 > GetMaxHealth() * (uint64)pct; }
inline float GetHealthPct() const { return GetMaxHealth() ? 100.f * GetHealth() / GetMaxHealth() : 0.0f; }
inline uint32 CountPctFromMaxHealth(int32 pct) const { return CalculatePctN(GetMaxHealth(), pct); }
inline uint32 CountPctFromCurHealth(int32 pct) const { return CalculatePctN(GetHealth(), pct); }
void SetHealth(uint32 val);
void SetMaxHealth(uint32 val);
@@ -2362,16 +2362,23 @@ void AuraEffect::TriggerSpell(Unit * target, Unit * caster) const
case 65920:
case 65922:
case 65923:
if (caster->HasAura(66193))
{
if (Unit *permafrostCaster = caster->GetAura(66193)->GetCaster())
Unit *permafrostCaster = NULL;
if (caster->HasAura(66193)) permafrostCaster = caster->GetAura(66193)->GetCaster();
if (caster->HasAura(67855)) permafrostCaster = caster->GetAura(67855)->GetCaster();
if (caster->HasAura(67856)) permafrostCaster = caster->GetAura(67856)->GetCaster();
if (caster->HasAura(67857)) permafrostCaster = caster->GetAura(67857)->GetCaster();
if (permafrostCaster)
{
if (Creature *permafrostCasterAsCreature = permafrostCaster->ToCreature())
permafrostCasterAsCreature->ForcedDespawn(3000);
caster->CastSpell(caster, 66181, false);
caster->RemoveAllAuras();
if (Creature *casterAsCreature = caster->ToCreature())
casterAsCreature->DisappearAndDie();
caster->CastSpell(caster, 66181, false);
caster->RemoveAllAuras();
if (Creature *casterAsCreature = caster->ToCreature())
casterAsCreature->DisappearAndDie();
}
}
break;
// Mana Tide
@@ -2387,7 +2394,7 @@ void AuraEffect::TriggerSpell(Unit * target, Unit * caster) const
case 54362:
// Slime Pool (Dreadscale & Acidmaw)
case 66882:
target->CastCustomSpell(triggerSpellId, SPELLVALUE_RADIUS_MOD, (int32)((((float)m_tickNumber / 60) * 0.9f + 0.1f) * 10000), NULL, true, NULL, this);
target->CastCustomSpell(triggerSpellId, SPELLVALUE_RADIUS_MOD, (int32)((((float)m_tickNumber / 60) * 0.9f + 0.1f) * 10000 * 2 / 3), NULL, true, NULL, this);
return;
// Beacon of Light
case 53563: