/// <summary> /// Creates a piece of armor that's a customized version of another piece of /// armor. Any unspecified values in customization_values will default to /// the other armor's related value. /// </summary> /// <param name="other">Piece of armor used as a base to customize from.</param> /// <param name="customization_values">Armor_Values passed in to alter values of the original ("other") piece of armor.</param> public Armor(Armor other, Armor_Values customization_values) : this(other) { Customize(customization_values); }
/// <summary> /// Create a piece of armor that's a replica of another piece of armor. /// </summary> /// <param name="other">The armor to use as a standard.</param> public Armor(Armor other) : this(other.Name, other.Description, other.MoneyValue, other.IsCursed, other.Weight, new Armor_Values() { //MoneyValue = other.MoneyValue, AC = other.AC, MaxDexterityBonus = other.MaxDexBonus, ACCheckPenalty = other.ACCheckPenalty, ArcaneSpellFailureChance = other.ArcaneSpellFailureChance, MaxMovementSpeed = other.MaxMovespeed, //Weight = other.Weight, HitPoints = other.Durability, IsMasterwork = other.IsMasterwork, RoundsToDon = other.RoundsToDon, RoundsToHastilyDon = other.RoundsToDonHastily, RoundsToRemove = other.RoundsToRemove, ArmorCategory = other.ArmorCategory, IsBroken = other.IsBroken, //IsCursed = other.IsCursed, IsShield = other.IsShield, IsArmor = other.IsArmor }) { this.current_hp_p = other.RemainingDurability; foreach (Enum_Armor_Modifications mod in other.armor_modification_list_p) { this.armor_modification_list_p.Add(mod); } foreach (Enum_Shield_Modifications mod in other.shield_modification_list_p) { this.shield_modification_list_p.Add(mod); } }