public static bool CharaCanEquip(short charaCode, EquipRestrict er) { //TODO contemplate support for kids switch (er) { case EquipRestrict.Unequippable: return false; case EquipRestrict.NoRestriction: return true; case EquipRestrict.Male: return CharaIsMale(charaCode); case EquipRestrict.Female: return !CharaIsMale(charaCode); case EquipRestrict.HyurMale: return charaCode == 101 || charaCode == 301; case EquipRestrict.HyurFemale: return charaCode == 201 || charaCode == 401; case EquipRestrict.ElezenMale: return charaCode == 501; case EquipRestrict.ElezenFemale: return charaCode == 601; case EquipRestrict.LalaMale: return charaCode == 1101; case EquipRestrict.LalaFemale: return charaCode == 1201; case EquipRestrict.MiqoteMale: return charaCode == 701; case EquipRestrict.MiqoteFemale: return charaCode == 801; case EquipRestrict.RoeMale: return charaCode == 901; case EquipRestrict.RoeFemale: return charaCode == 1001; case EquipRestrict.AuraMale: return charaCode == 1301; case EquipRestrict.AuraFemale: return charaCode == 1401; case EquipRestrict.Hrothgar: return charaCode == 1501; case EquipRestrict.Viera: return charaCode == 1801; default: throw new ArgumentOutOfRangeException(); } }
public static bool CharaCanEquip(short charaCode, Equipment e) { EquipRestrict er = (EquipRestrict) e.EquipRestriction; return CharaCanEquip(charaCode, er); }