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

@ -73,7 +73,7 @@ namespace Server.Mobiles
AddLoot(LootPack.MedScrolls, 2);
}
private static MonsterAbility[] _abilities = { MonsterAbility.SummonLesserUndead };
private static MonsterAbility[] _abilities = { MonsterAbilities.SummonLesserUndeadCounter };
public override MonsterAbility[] GetMonsterAbilities() => _abilities;
public override void Serialize(IGenericWriter writer)

View file

@ -98,7 +98,13 @@ public class Betrayer : BaseCreature
AddLoot(LootPack.Gems, 1);
}
private static MonsterAbility[] _abilities = { MonsterAbility.ColossalBlow, MonsterAbility.PoisonGasAreaAttack };
private static MonsterAbility[] _abilities =
{
new MonsterAbilityGroup(
(1, MonsterAbilities.ColossalBlow),
(1, MonsterAbilities.PoisonGasAreaAttack)
)
};
public override MonsterAbility[] GetMonsterAbilities() => _abilities;
public override void Serialize(IGenericWriter writer)

View file

@ -49,7 +49,7 @@ namespace Server.Mobiles
public override int Meat => 1;
public override bool CanFly => true;
private static MonsterAbility[] _abilities = { MonsterAbility.FireBreath };
private static MonsterAbility[] _abilities = { MonsterAbilities.FireBreath };
public override MonsterAbility[] GetMonsterAbilities() => _abilities;
public override void GenerateLoot()

View file

@ -57,7 +57,7 @@ public class GargoyleDestroyer : BaseCreature
public override int Meat => 1;
public override bool CanFly => true;
private static MonsterAbility[] _abilities = { MonsterAbility.ThrowHatchetCounter };
private static MonsterAbility[] _abilities = { MonsterAbilities.ThrowHatchetCounter };
public override MonsterAbility[] GetMonsterAbilities() => _abilities;
public override void GenerateLoot()

View file

@ -59,7 +59,7 @@ namespace Server.Mobiles
public override Poison PoisonImmune => Poison.Lethal;
public override int TreasureMapLevel => 4;
private static MonsterAbility[] _abilities = { MonsterAbility.SummonSkeletons };
private static MonsterAbility[] _abilities = { MonsterAbilities.SummonSkeletonsCounter };
public override MonsterAbility[] GetMonsterAbilities() => _abilities;
public override void GenerateLoot()

View file

@ -54,7 +54,7 @@ namespace Server.Mobiles
AddLoot(LootPack.MedScrolls, 2);
}
private static MonsterAbility[] _abilities = { MonsterAbility.DrainLifeAreaAttack };
private static MonsterAbility[] _abilities = { MonsterAbilities.DrainLifeAreaAttack };
public override MonsterAbility[] GetMonsterAbilities() => _abilities;
public override void Serialize(IGenericWriter writer)