Пример #1
0
        public virtual Item MundaneCloneInto(Item target)
        {
            if (target == null)
            {
                throw new ArgumentException("Clone target cannot be null");
            }

            target.Attributes = Attributes.ToArray();
            target.Contents.AddRange(Contents);
            target.ItemType  = ItemType;
            target.Name      = Name;
            target.BaseNames = BaseNames.ToArray();

            if (target is Weapon)
            {
                target.Quantity = Quantity != 1 ? Quantity : target.Quantity;
            }
            else
            {
                target.Quantity = Quantity;
            }

            foreach (var trait in Traits)
            {
                target.Traits.Add(trait);
            }

            return(target);
        }