public Weapon(string name, MH.WeaponClass weaponClass, int rawDamage, int affinity, int elemDamage, MH.ElementType elemType, MH.SharpnessType sharpness, MH.SharpnessType sharpnessPlusOne) { Name = name; WeaponClass = weaponClass; RawDamage = rawDamage; Affinity = affinity; ElementDamage = elemDamage; ElementType = elemType; Sharpness = MH.SharpnessType.Green; SharpnessPlusOne = MH.SharpnessType.Green; if ((weaponClass == MH.WeaponClass.Bow || weaponClass == MH.WeaponClass.LightBowGun || weaponClass == MH.WeaponClass.HeavyBoxGun) == false) { Sharpness = sharpness; SharpnessPlusOne = sharpnessPlusOne; } }
public static Weapon LoadWeapon(XmlElement node) { MH.WeaponClass weaponClass; if (Enum.TryParse(node.Name, out weaponClass) == false) { return(null); } var attr = node.Attributes["Name"]; if (attr == null) { return(null); } var weaponName = attr.Value.Trim(); if (weaponName.Length == 0) { return(null); } attr = node.Attributes["Raw"]; if (attr == null) { return(null); } uint rawDamage; if (uint.TryParse(attr.Value.Trim(), out rawDamage) == false) { return(null); } uint elemDamage = 0; attr = node.Attributes["Element"]; if (attr != null) { if (uint.TryParse(attr.Value.Trim(), out elemDamage) == false) { return(null); } } int affinity = 0; attr = node.Attributes["Affinity"]; if (attr != null) { if (int.TryParse(attr.Value.Trim(), out affinity) == false) { return(null); } } MH.ElementType elementType = MH.ElementType.None; attr = node.Attributes["ElementType"]; if (attr != null) { if (Enum.TryParse(attr.Value.Trim(), out elementType) == false) { return(null); } } MH.SharpnessType sharpness = MH.SharpnessType.Green; MH.SharpnessType sharpnessPlusOne = MH.SharpnessType.Green; attr = node.Attributes["Sharpness"]; if (attr != null) { if (Enum.TryParse(attr.Value.Trim(), out sharpness) == false) { return(null); } } attr = node.Attributes["SharpnessPlusOne"]; if (attr != null) { if (Enum.TryParse(attr.Value.Trim(), out sharpnessPlusOne) == false) { return(null); } } else { sharpnessPlusOne = sharpness; } return(new Weapon(weaponName, weaponClass, (int)rawDamage, affinity, (int)elemDamage, elementType, sharpness, sharpnessPlusOne)); }