feat: Adds ability groups, DOT abilities, and combat abilities (#1264)

- [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
This commit is contained in:
Kamron Batman 2022-11-23 12:33:27 -08:00 • committed by GitHub
parent df9a58dd49
commit 520f15e46c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
62 changed files with 644 additions and 546 deletions

View file

@ -0,0 +1,22 @@
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);
}