feat: Adds Monster Abilities (#1179)

* Adds ability to create monster abilities
* Adds Fire/Cold/Chaos Breath
* Adds Grasping Claw
* Adds Summon Skeletons & Summon Undead w/ Polymorph
This commit is contained in:
Kamron Batman 2022-10-01 21:09:36 -07:00 • committed by GitHub
parent 8a2c0ead3d
commit 43e7fe29c2
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
91 changed files with 1262 additions and 977 deletions

View file

@ -39,32 +39,26 @@ namespace Server.Mobiles
ControlSlots = 1;
}
public UnholySteed(Serial serial)
: base(serial)
public UnholySteed(Serial serial) : base(serial)
{
}
public override string CorpseName => "an unholy corpse";
public override bool IsDispellable => false;
public override bool IsBondable => false;
public override bool HasBreath => true;
public override bool CanBreath => true;
public override FoodType FavoriteFood => FoodType.FruitsAndVegies | FoodType.GrainsAndHay;
private static MonsterAbility[] _abilities = { MonsterAbility.FireBreath };
public override MonsterAbility[] GetMonsterAbilities() => _abilities;
public override string ApplyNameSuffix(string suffix)
{
if (suffix.Length == 0)
{
suffix = Ethic.Evil.Definition.Adjunct.String;
}
else
{
suffix = $"{suffix} {Ethic.Evil.Definition.Adjunct.String}";
return base.ApplyNameSuffix(Ethic.Evil.Definition.Adjunct.String);
}
return base.ApplyNameSuffix(suffix);
return base.ApplyNameSuffix($"{suffix} {Ethic.Evil.Definition.Adjunct.String}");
}
public override void OnDoubleClick(Mobile from)

View file

@ -39,32 +39,26 @@ namespace Server.Mobiles
ControlSlots = 1;
}
public HolySteed(Serial serial)
: base(serial)
public HolySteed(Serial serial) : base(serial)
{
}
public override string CorpseName => "a holy corpse";
public override bool IsDispellable => false;
public override bool IsBondable => false;
public override bool HasBreath => true;
public override bool CanBreath => true;
public override FoodType FavoriteFood => FoodType.FruitsAndVegies | FoodType.GrainsAndHay;
private static MonsterAbility[] _abilities = { MonsterAbility.FireBreath };
public override MonsterAbility[] GetMonsterAbilities() => _abilities;
public override string ApplyNameSuffix(string suffix)
{
if (suffix.Length == 0)
{
suffix = Ethic.Hero.Definition.Adjunct.String;
}
else
{
suffix = $"{suffix} {Ethic.Hero.Definition.Adjunct.String}";
return base.ApplyNameSuffix(Ethic.Hero.Definition.Adjunct.String);
}
return base.ApplyNameSuffix(suffix);
return base.ApplyNameSuffix($"{suffix} {Ethic.Hero.Definition.Adjunct.String}");
}
public override void OnDoubleClick(Mobile from)