ModernUO/Projects/UOContent/Items/Armor/ArmorEnums.cs
Kamron Batman 8ffd5a5bd0
fix: Updates races to properly support gargoyle equipment. (#744)
* 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);
  ```
2021-08-29 00:43:55 -07:00

64 lines
947 B
C#

namespace Server.Items
{
public enum ArmorQuality
{
Low,
Regular,
Exceptional
}
public enum ArmorDurabilityLevel
{
Regular,
Durable,
Substantial,
Massive,
Fortified,
Indestructible
}
public enum ArmorProtectionLevel
{
Regular,
Defense,
Guarding,
Hardening,
Fortification,
Invulnerability
}
public enum ArmorBodyType
{
Gorget,
Gloves,
Helmet,
Arms,
Legs,
Chest,
Shield
}
public enum ArmorMaterialType
{
Cloth,
Leather,
Studded,
Bone,
Spined,
Horned,
Barbed,
Ringmail,
Chainmail,
Plate,
Dragon,
Wood,
Stone
}
public enum ArmorMeditationAllowance
{
All,
Half,
None
}
}