ModernUO/Projects/UOContent/Mobiles/Abilities/DrainLifeAreaAttack.cs
2022-10-02 11:36:15 -07:00

33 lines
1.1 KiB
C#

namespace Server.Mobiles;
public class DrainLifeAreaAttack : AreaEffectMonsterAbility
{
public override MonsterAbilityTrigger AbilityTrigger =>
MonsterAbilityTrigger.GiveMeleeDamage | MonsterAbilityTrigger.TakeMeleeDamage;
public override MonsterAbilityType AbilityType => MonsterAbilityType.MassDrainLife;
public override double ChanceToTrigger => 0.1;
public override int AreaRange => 2;
public virtual int MinDamage => 10;
public virtual int MaxDamage => 40;
protected virtual void DrainLife(BaseCreature source, Mobile defender)
{
var toDrain = Utility.RandomMinMax(MinDamage, MaxDamage);
source.Hits += toDrain;
source.DoHarmful(defender);
defender.Damage(toDrain, source);
}
protected override void DoEffectTarget(BaseCreature source, Mobile defender)
{
defender.FixedParticles(0x374A, 10, 15, 5013, 0x496, 0, EffectLayer.Waist);
defender.PlaySound(0x231);
defender.SendMessage("You feel the life drain out of you!");
DrainLife(source, defender);
}
}