- [X] Adds `MonsterAbilitySingleTarget` - [X] Adds `MonsterAbilitySingleTargetDoT` - [X] Adds monster ability groups with weighted abilities - [X] Adds rune corruption ability - [X] Adds poison gas counter ability - [X] Adds stun attack ability - [X] Adds throw hatchet counter ability - [X] Adds fanning fire ability - [X] Fixes destroy equipment to skip spell channel items
22 lines
708 B
C#
22 lines
708 B
C#
namespace Server.Mobiles;
|
|
|
|
public abstract class MonsterAbilitySingleTarget : MonsterAbility
|
|
{
|
|
public override void Trigger(MonsterAbilityTrigger trigger, BaseCreature source, Mobile target)
|
|
{
|
|
if (CanEffectTarget(trigger, source, target))
|
|
{
|
|
OnTarget(trigger, source, target);
|
|
}
|
|
|
|
base.Trigger(trigger, source, target);
|
|
}
|
|
|
|
protected virtual void OnTarget(MonsterAbilityTrigger trigger, BaseCreature source, Mobile defender)
|
|
{
|
|
source.DoHarmful(defender);
|
|
}
|
|
|
|
protected virtual bool CanEffectTarget(MonsterAbilityTrigger trigger, BaseCreature source, Mobile defender) =>
|
|
defender.Alive && source.CanBeHarmful(defender);
|
|
}
|