ModernUO/Projects/UOContent/Mobiles/Abilities/BloodBathAttack.cs

49 lines
1.5 KiB
C#

using System;
namespace Server.Mobiles;
public class BloodBathAttack : MonsterAbilitySingleTargetDoT
{
public override MonsterAbilityType AbilityType => MonsterAbilityType.BloodBath;
public override MonsterAbilityTrigger AbilityTrigger => MonsterAbilityTrigger.GiveMeleeDamage;
public override TimeSpan MinDelay => TimeSpan.FromSeconds(1.0);
public override TimeSpan MaxDelay => TimeSpan.FromSeconds(1.0);
protected override int GetCount(BaseCreature source, Mobile defender) => 5;
protected override void EffectTick(BaseCreature source, Mobile defender, ref TimeSpan nextDelay)
{
if (defender.Alive)
{
defender.Damage(2, source);
}
else
{
RemoveEffect(source, defender);
}
}
public override double ChanceToTrigger => 0.1;
protected override void OnBeforeTarget(MonsterAbilityTrigger trigger, BaseCreature source, Mobile defender)
{
if (RemoveEffect(source, defender))
{
defender.SendLocalizedMessage(1070825); // The creature continues to rage!
}
else
{
defender.SendLocalizedMessage(1070826); // The creature goes into a rage, inflicting heavy damage!
}
}
protected override void EndEffect(BaseCreature source, Mobile defender)
{
}
protected override void OnEffectExpired(BaseCreature source, Mobile defender)
{
defender.SendLocalizedMessage(1070824); // The creature's rage subsides.
}
}