public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int version = reader.ReadInt(); m_MainContainer = reader.ReadItem() as GardenShedAddon; }
protected override void OnTarget(Mobile from, object targeted) { IPoint3D p = targeted as IPoint3D; Map map = from.Map; if (p == null || map == null || m_Deed.Deleted) { return; } if (m_Deed.IsChildOf(from.Backpack)) { BaseAddonContainer addon = m_Deed.Addon; addon.Resource = m_Deed.Resource; Spells.SpellHelper.GetSurfaceTop(ref p); BaseHouse house = null; AddonFitResult res = addon.CouldFit(p, map, from, ref house); if (res == AddonFitResult.Valid) { addon.MoveToWorld(new Point3D(p), map); } else if (res == AddonFitResult.Blocked) { from.SendLocalizedMessage(500269); // You cannot build that there. } else if (res == AddonFitResult.NotInHouse) { from.SendLocalizedMessage(500274); // You can only place this in a house that you own! } else if (res == AddonFitResult.DoorTooClose) { from.SendLocalizedMessage(500271); // You cannot build near the door. } else if (res == AddonFitResult.NoWall) { from.SendLocalizedMessage(500268); // This object needs to be mounted on something. } if (res == AddonFitResult.Valid) { m_Deed.Delete(); house.Addons[addon] = from; if (addon is GardenShedAddon) { GardenShedAddon ad = addon as GardenShedAddon; house.Addons[ad.SecondContainer] = from; } if (addon.Security) { house.AddSecure(from, addon); } } else { addon.Delete(); } } else { from.SendLocalizedMessage(1042001); // That must be in your pack for you to use it. } }
public GardenShedAddonSecond(GardenShedAddon container, bool east) : base(east ? 0x4BED : 0x4BE9) { m_MainContainer = container; }