Scripts/Icecrown Citadel
* Fixed Mutated Abomination for Professor Putricide * Tweaked a bit Bone Storm damage formula and fixed its damage (fix by Havenard)
This commit is contained in:
@@ -193,9 +193,9 @@ class boss_lord_marrowgar : public CreatureScript
|
||||
case EVENT_BONE_STORM_MOVE:
|
||||
{
|
||||
events.ScheduleEvent(EVENT_BONE_STORM_MOVE, _boneStormDuration/3);
|
||||
Unit* unit = SelectTarget(SELECT_TARGET_RANDOM, 1);
|
||||
Unit* unit = SelectTarget(SELECT_TARGET_RANDOM, 0, NonTankTargetSelector(me));
|
||||
if (!unit)
|
||||
unit = SelectTarget(SELECT_TARGET_RANDOM, 0);
|
||||
unit = SelectTarget(SELECT_TARGET_RANDOM, 0, 0.0f, true);
|
||||
if (unit)
|
||||
me->GetMotionMaster()->MovePoint(POINT_TARGET_BONESTORM_PLAYER, unit->GetPositionX(), unit->GetPositionY(), unit->GetPositionZ());
|
||||
break;
|
||||
@@ -564,14 +564,14 @@ class spell_marrowgar_bone_storm : public SpellScriptLoader
|
||||
{
|
||||
PrepareSpellScript(spell_marrowgar_bone_storm_SpellScript);
|
||||
|
||||
void RecalculateDamage(SpellEffIndex /*effIndex*/)
|
||||
void RecalculateDamage()
|
||||
{
|
||||
SetHitDamage(int32(GetHitDamage() / sqrtf(logf(GetHitUnit()->GetExactDist2d(GetCaster())))));
|
||||
SetHitDamage(int32(GetHitDamage() / std::max(sqrtf(GetHitUnit()->GetExactDist2d(GetCaster())), 1.0f)));
|
||||
}
|
||||
|
||||
void Register()
|
||||
{
|
||||
OnEffectHitTarget += SpellEffectFn(spell_marrowgar_bone_storm_SpellScript::RecalculateDamage, EFFECT_0, SPELL_EFFECT_SCHOOL_DAMAGE);
|
||||
OnHit += SpellHitFn(spell_marrowgar_bone_storm_SpellScript::RecalculateDamage);
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@@ -525,7 +525,7 @@ class boss_professor_putricide : public CreatureScript
|
||||
EnterEvadeMode();
|
||||
break;
|
||||
case EVENT_FESTERGUT_GOO:
|
||||
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 1, 0.0f, true))
|
||||
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, NonTankTargetSelector(me)))
|
||||
DoCast(target, SPELL_MALLABLE_GOO_H, true); // triggered, to skip LoS check
|
||||
events.ScheduleEvent(EVENT_FESTERGUT_GOO, urand(15000, 20000), 0, PHASE_FESTERGUT);
|
||||
break;
|
||||
@@ -534,7 +534,7 @@ class boss_professor_putricide : public CreatureScript
|
||||
EnterEvadeMode();
|
||||
break;
|
||||
case EVENT_ROTFACE_VILE_GAS:
|
||||
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 1, 0.0f, true))
|
||||
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, NonTankTargetSelector(me)))
|
||||
DoCast(target, SPELL_VILE_GAS_H, true); // triggered, to skip LoS check
|
||||
events.ScheduleEvent(EVENT_ROTFACE_VILE_GAS, urand(15000, 20000), 0, PHASE_ROTFACE);
|
||||
break;
|
||||
@@ -601,7 +601,7 @@ class boss_professor_putricide : public CreatureScript
|
||||
events.ScheduleEvent(EVENT_CHOKING_GAS_BOMB, urand(35000, 40000));
|
||||
break;
|
||||
case EVENT_UNBOUND_PLAGUE:
|
||||
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 1, 0.0f, true))
|
||||
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, NonTankTargetSelector(me)))
|
||||
{
|
||||
me->CastCustomSpell(SPELL_UNBOUND_PLAGUE, SPELLVALUE_BASE_POINT0, 775, target);
|
||||
DoCast(target, SPELL_UNBOUND_PLAGUE_SEARCHER);
|
||||
@@ -1341,18 +1341,18 @@ class spell_putricide_mutated_transformation : public SpellScriptLoader
|
||||
if (!summon || !summon->IsVehicle())
|
||||
return;
|
||||
|
||||
caster->CastSpell(summon, SPELL_MUTATED_TRANSFORMATION_NAME, true);
|
||||
summon->CastSpell(summon, SPELL_ABOMINATION_VEHICLE_POWER_DRAIN, true);
|
||||
summon->CastSpell(summon, SPELL_MUTATED_TRANSFORMATION_DAMAGE, true);
|
||||
caster->CastSpell(summon, SPELL_MUTATED_TRANSFORMATION_NAME, true);
|
||||
|
||||
caster->EnterVehicle(summon, 0);
|
||||
caster->EnterVehicle(summon, 0); // VEHICLE_SPELL_RIDE_HARDCODED is used according to sniff, this is ok
|
||||
summon->SetCreatorGUID(caster->GetGUID());
|
||||
putricide->AI()->JustSummoned(summon);
|
||||
}
|
||||
|
||||
void Register()
|
||||
{
|
||||
OnEffectHitTarget += SpellEffectFn(spell_putricide_mutated_transformation_SpellScript::HandleSummon, EFFECT_0, SPELL_EFFECT_SUMMON);
|
||||
OnEffectHit += SpellEffectFn(spell_putricide_mutated_transformation_SpellScript::HandleSummon, EFFECT_0, SPELL_EFFECT_SUMMON);
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user