* 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); ```
45 lines
1.2 KiB
C#
45 lines
1.2 KiB
C#
namespace Server.Items
|
|
{
|
|
public class FeyLeggings : ChainLegs
|
|
{
|
|
[Constructible]
|
|
public FeyLeggings()
|
|
{
|
|
Attributes.BonusHits = 6;
|
|
Attributes.DefendChance = 20;
|
|
|
|
ArmorAttributes.MageArmor = 1;
|
|
}
|
|
|
|
public FeyLeggings(Serial serial) : base(serial)
|
|
{
|
|
}
|
|
|
|
public override int LabelNumber => 1075041; // Fey Leggings
|
|
|
|
public override int BasePhysicalResistance => 12;
|
|
public override int BaseFireResistance => 8;
|
|
public override int BaseColdResistance => 7;
|
|
public override int BasePoisonResistance => 4;
|
|
public override int BaseEnergyResistance => 19;
|
|
|
|
public override int InitMinHits => 255;
|
|
public override int InitMaxHits => 255;
|
|
|
|
public override int RequiredRaces => Race.AllowElvesOnly;
|
|
|
|
public override void Serialize(IGenericWriter writer)
|
|
{
|
|
base.Serialize(writer);
|
|
|
|
writer.WriteEncodedInt(0); // version
|
|
}
|
|
|
|
public override void Deserialize(IGenericReader reader)
|
|
{
|
|
base.Deserialize(reader);
|
|
|
|
var version = reader.ReadEncodedInt();
|
|
}
|
|
}
|
|
}
|