Пример #1
0
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);

            int version = reader.ReadInt();

            ItemType = (CraftableItemType)reader.ReadInt();
        }
Пример #2
0
        public static void Replace(Item oldItem, CraftableItemType type)
        {
            BaseAddon addon = oldItem is AddonComponent ? ((AddonComponent)oldItem).Addon : null;

            CraftableHouseItem item = new CraftableHouseItem(type);

            if (oldItem.Parent is Container)
            {
                ((Container)oldItem.Parent).DropItem(item);
            }
            else
            {
                BaseHouse house = BaseHouse.FindHouseAt(oldItem);

                item.MoveToWorld(oldItem.Location, oldItem.Map);

                item.IsLockedDown = oldItem.IsLockedDown;
                item.IsSecure     = oldItem.IsSecure;
                item.Movable      = oldItem.Movable;

                if (house != null)
                {
                    if (house.LockDowns.ContainsKey(oldItem))
                    {
                        house.LockDowns.Remove(oldItem);
                        house.LockDowns.Add(item, house.Owner);
                    }
                    else if (house.IsSecure(oldItem))
                    {
                        house.ReleaseSecure(house.Owner, oldItem);
                        house.AddSecure(house.Owner, item);
                    }
                    else if (addon != null)
                    {
                        if (house.Addons.ContainsKey(addon))
                        {
                            house.Addons.Remove(addon);
                        }

                        house.LockDowns.Add(item, house.Owner);
                    }
                }

                item.InvalidateProperties();
            }

            if (addon != null)
            {
                addon.Delete();
            }
            else
            {
                oldItem.Delete();
            }
        }
Пример #3
0
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);

            int version = reader.ReadInt();

            ItemType = (CraftableItemType)reader.ReadInt();

            Timer.DelayCall(TimeSpan.FromSeconds(30), () =>
            {
                CraftableHouseItem.Replace(this, ItemType);
            });
        }
Пример #4
0
        public virtual int OnCraft(int quality, bool makersMark, Mobile from, CraftSystem craftSystem, Type typeRes, ITool tool, CraftItem craftItem, int resHue)
        {
            if (craftItem != null && craftItem.Data is CraftableItemType)
            {
                ItemType = (CraftableItemType)craftItem.Data;

                Type resourceType = typeRes;

                if (resourceType == null)
                {
                    resourceType = craftItem.Resources.GetAt(0).ItemType;
                }

                Resource = CraftResources.GetFromType(resourceType);
            }

            return(quality);
        }
Пример #5
0
 public CraftableHouseAddonDeed(CraftableItemType type)
 {
 }
Пример #6
0
 public CraftableHouseItem(CraftableItemType type)
     : base(IDs[(int)type][1])
 {
     _Type = type;
 }