* Adds `RaceFlag` to the `Race` object. This is `1 << RaceIndex` * Replaces `RequiredRace` with `RequiredRaces` for items. * Adds convenience flags for `RequiredRaces` ```cs public const int AllowAllRaces = 0x7; // Race.Human.RaceFlag | Race.Elf.RaceFlag | Race.Gargoyle.RaceFlag public const int AllowHumanOrElves = 0x3; // Race.Human.RaceFlag | Race.Elf.RaceFlag public const int AllowElvesOnly = 0x2; // Race.Elf.RaceFlag public const int AllowGargoylesOnly = 0x4; // Race.Gargoyle.RaceFlag ``` * Example usage on an item: ```cs public override int RequiredRaces => Race.AllowHumanOrElves; ``` * Adds Wood and Stone armor material types * Updates Woodland armor to Wood * Adds proper messaging for race restrictions * Adds gargoyle only for object properties * Adds `CheckRace` functions for validating if a race or mobile can use the item: ```cs bool CheckRace(Race race); bool CheckRace(Mobile from, bool message = true); ```
26 lines
989 B
C#
26 lines
989 B
C#
namespace Server.Items
|
|
{
|
|
[Serializable(0, false)]
|
|
[Flippable(0x457E, 0x457F)]
|
|
public partial class GargishLeatherWingArmor : BaseArmor
|
|
{
|
|
[Constructible]
|
|
public GargishLeatherWingArmor() : base(0x457E) => Weight = 2.0;
|
|
|
|
public override int RequiredRaces => Race.AllowGargoylesOnly;
|
|
public override int PhysicalResistance => 0;
|
|
public override int FireResistance => 0;
|
|
public override int ColdResistance => 0;
|
|
public override int PoisonResistance => 0;
|
|
public override int EnergyResistance => 0;
|
|
|
|
public override int AosStrReq => 10;
|
|
public override int OldStrReq => 10;
|
|
public override int ArmorBase => 0;
|
|
|
|
public override ArmorMaterialType MaterialType => ArmorMaterialType.Leather;
|
|
public override CraftResource DefaultResource => CraftResource.RegularLeather;
|
|
|
|
public override ArmorMeditationAllowance DefMedAllowance => ArmorMeditationAllowance.All;
|
|
}
|
|
}
|