CheckUse() public static method

public static CheckUse ( Server.Mobile from ) : bool
from Server.Mobile
return bool
Ejemplo n.º 1
0
            protected override void OnTarget(Mobile from, object targeted)
            {
                if (targeted is Item && InteriorDecorator.CheckUse(m_Decorator, from))
                {
                    BaseHouse house = BaseHouse.FindHouseAt(from);
                    Item      item  = (Item)targeted;

                    bool isDecorableComponent = false;

                    if (item is AddonComponent)
                    {
                        if (((AddonComponent)item).Addon.Components.Count == 1 && Core.SE)
                        {
                            isDecorableComponent = true;
                        }
                    }

                    if (house == null || !house.IsKeyOwner(from))
                    {
                        from.SendAsciiMessage("You must be in your house to do this.");                           // You must be in your house to do this.
                    }
                    else if (item.Parent != null || !house.IsInside(item))
                    {
                        from.SendAsciiMessage("That is not in your house.");                           // That is not in your house.
                    }
                    else if (item is AddonComponent && m_Decorator.Command == DecorateCommand.Up)
                    {
                        from.SendLocalizedMessage("You cannot raise it up any higher.");   // You cannot raise it up any higher.
                    }
                    else if (item is AddonComponent && m_Decorator.Command == DecorateCommand.Down)
                    {
                        from.SendLocalizedMessage("You cannot lower it down any further.");   // You cannot lower it down any further.
                    }
                    else if (item is VendorRentalContract)
                    {
                        from.SendLocalizedMessage("You cannot use the house decorator on that object.");   // You cannot use the house decorator on that object.
                    }
                    else if (item.TotalWeight + item.PileWeight > 100)
                    {
                        from.SendLocalizedMessage("That is too heavy.");   // That is too heavy.
                    }
                    else
                    {
                        switch (m_Decorator.Command)
                        {
                        case DecorateCommand.Up: Up(item, from); break;

                        case DecorateCommand.Down: Down(item, from); break;

                        case DecorateCommand.Turn: Turn(item, from); break;
                        }
                    }
                }

                from.Target = new InternalTarget(m_Decorator);
            }
Ejemplo n.º 2
0
            protected override void OnTarget(Mobile from, object targeted)
            {
                if (targeted is Item && InteriorDecorator.CheckUse(m_Decorator, from))
                {
                    BaseHouse house = BaseHouse.FindHouseAt(from);
                    Item      item  = (Item)targeted;

                    if (house == null || !house.IsCoOwner(from))
                    {
                        from.SendLocalizedMessage(502092); // You must be in your house to do this.
                    }
                    else if (item.Parent != null || !house.IsInside(item))
                    {
                        from.SendLocalizedMessage(1042270); // That is not in your house.
                    }
                    else if (item is VendorRentalContract)
                    {
                        from.SendLocalizedMessage(1062491); // You cannot use the house decorator on that object.
                    }
                    else
                    {
                        switch (m_Decorator.Command)
                        {
                        case DecorateCommand.Up:
                            Up(item, from);
                            break;

                        case DecorateCommand.Down:
                            Down(item, from);
                            break;

                        case DecorateCommand.Turn:
                            Turn(item, from);
                            break;

                        case DecorateCommand.North:
                            North(item, from, house);
                            break;

                        case DecorateCommand.East:
                            East(item, from, house);
                            break;

                        case DecorateCommand.South:
                            South(item, from, house);
                            break;

                        case DecorateCommand.West:
                            West(item, from, house);
                            break;
                        }
                    }
                }

                from.Target = new InternalTarget(m_Decorator);
            }
Ejemplo n.º 3
0
            protected override void OnTarget(Mobile from, object targeted)
            {
                if (targeted == m_Decorator)
                {
                    m_Decorator.Command = DecorateCommand.None;
                    from.SendGump(new InternalGump(m_Decorator));
                }
                else if (targeted is Item && InteriorDecorator.CheckUse(m_Decorator, from))
                {
                    var  house = HousingHelper.FindHouseAt(from);
                    Item item  = (Item)targeted;

                    if (house == null || !house.IsCoOwner(from))
                    {
                        from.SendLocalizedMessage(502092);                           // You must be in your house to do this.
                    }
                    else if (item.Parent != null || !house.IsInside(item))
                    {
                        from.SendLocalizedMessage(1042270);                           // That is not in your house.
                    }
                    else if (!house.IsLockedDown(item) && !house.IsSecure(item))
                    {
                        from.SendLocalizedMessage(1042271);                           // That is not locked down.
                    }
                    else if (item is VendorRentalContract)
                    {
                        from.SendLocalizedMessage(1062491);                           // You cannot use the house decorator on that object.
                    }
                    else if (item.TotalWeight + item.PileWeight > 100)
                    {
                        from.SendLocalizedMessage(1042272);                           // That is too heavy.
                    }
                    else
                    {
                        switch (m_Decorator.Command)
                        {
                        case DecorateCommand.Up:
                            Up(item, from);
                            break;

                        case DecorateCommand.Down:
                            Down(item, from);
                            break;

                        case DecorateCommand.Turn:
                            Turn(item, from);
                            break;
                        }
                    }
                }
            }
Ejemplo n.º 4
0
            protected override void OnTarget(Mobile from, object targeted)
            {
                if (targeted == m_Decorator)
                {
                    m_Decorator.Command = DecorateCommand.None;
                    from.SendGump(new InternalGump(m_Decorator));
                }
                else if (targeted is Item && InteriorDecorator.CheckUse(m_Decorator, from))
                {
                    BaseHouse house = BaseHouse.FindHouseAt(from);
                    Item      item  = (Item)targeted;

                    if (house == null || !house.IsCoOwner(from))
                    {
                        from.SendLocalizedMessage(502092);                           // You must be in your house to do this.
                    }
                    else if (item.Parent != null || !house.IsInside(item))
                    {
                        from.SendLocalizedMessage(1042270);                           // That is not in your house.
                    }
                    else if (!house.IsLockedDown(item) && !house.IsSecure(item) && !(item is BaseHouseDoor))
                    {
                        from.SendLocalizedMessage(1042271);                           // That is not locked down.
                    }
                    else if ((item is BaseHouseDoor) && !house.IsOwner(from))
                    {
                        from.SendMessage("Only the owner can turn doors.");
                    }
                    else if (item is BaseHouseDoor && m_Decorator.Command != DecorateCommand.Turn)
                    {
                        from.SendMessage("That can only be rotated.");
                    }
                    else if (item.TotalWeight + item.PileWeight > 100)
                    {
                        from.SendLocalizedMessage(1042272);                           // That is too heavy.
                    }
                    else
                    {
                        switch (m_Decorator.Command)
                        {
                        case DecorateCommand.Up:        Up(item, from);       break;

                        case DecorateCommand.Down:      Down(item, from);     break;

                        case DecorateCommand.Turn:      Turn(item, from);     break;
                        }
                    }
                }
            }
Ejemplo n.º 5
0
            protected override void OnTarget(Mobile from, object targeted)
            {
                if (targeted is Item && InteriorDecorator.CheckUse(this.m_Decorator, from))
                {
                    BaseHouse house = BaseHouse.FindHouseAt(from);
                    Item      item  = (Item)targeted;

                    bool isDecorableComponent = false;

                    if (item is AddonComponent || item is AddonContainerComponent || item is BaseAddonContainer)
                    {
                        object addon = null;
                        int    count = 0;

                        if (item is AddonComponent)
                        {
                            AddonComponent component = (AddonComponent)item;
                            count = component.Addon.Components.Count;
                            addon = component.Addon;
                        }
                        else if (item is AddonContainerComponent)
                        {
                            AddonContainerComponent component = (AddonContainerComponent)item;
                            count = component.Addon.Components.Count;
                            addon = component.Addon;
                        }
                        else if (item is BaseAddonContainer)
                        {
                            BaseAddonContainer container = (BaseAddonContainer)item;
                            count = container.Components.Count;
                            addon = container;
                        }

                        if (count == 1 && Core.SE)
                        {
                            isDecorableComponent = true;
                        }

                        if (this.m_Decorator.Command == DecorateCommand.Turn)
                        {
                            FlipableAddonAttribute[] attributes = (FlipableAddonAttribute[])addon.GetType().GetCustomAttributes(typeof(FlipableAddonAttribute), false);

                            if (attributes.Length > 0)
                            {
                                isDecorableComponent = true;
                            }
                        }
                    }

                    if (house == null || !house.IsCoOwner(from))
                    {
                        from.SendLocalizedMessage(502092); // You must be in your house to do this.
                    }
                    else if (item.Parent != null || !house.IsInside(item))
                    {
                        from.SendLocalizedMessage(1042270); // That is not in your house.
                    }
                    else if (!house.IsLockedDown(item) && !house.IsSecure(item) && !isDecorableComponent)
                    {
                        if (item is AddonComponent && this.m_Decorator.Command == DecorateCommand.Up)
                        {
                            from.SendLocalizedMessage(1042274); // You cannot raise it up any higher.
                        }
                        else if (item is AddonComponent && this.m_Decorator.Command == DecorateCommand.Down)
                        {
                            from.SendLocalizedMessage(1042275); // You cannot lower it down any further.
                        }
                        else
                        {
                            from.SendLocalizedMessage(1042271); // That is not locked down.
                        }
                    }
                    else if (item is VendorRentalContract)
                    {
                        from.SendLocalizedMessage(1062491); // You cannot use the house decorator on that object.
                    }

                    /*else if (item.TotalWeight + item.PileWeight > 100)
                     * {
                     *  from.SendLocalizedMessage(1042272); // That is too heavy.
                     * }*/
                    else
                    {
                        switch (this.m_Decorator.Command)
                        {
                        case DecorateCommand.Up:
                            Up(item, from);
                            break;

                        case DecorateCommand.Down:
                            Down(item, from);
                            break;

                        case DecorateCommand.Turn:
                            Turn(item, from);
                            break;
                        }
                    }
                }

                from.Target = new InternalTarget(this.m_Decorator);
            }
            protected override void OnTarget(Mobile from, object targeted)
            {
                if (targeted == m_Decorator)
                {
                    m_Decorator.Command = DecorateCommand.None;
                    from.SendGump(new InternalGump(m_Decorator));
                }
                else if (targeted is BaseCrop)
                {
                    from.SendMessage("you can not move plants using this");
                }
                else if (targeted is Item && InteriorDecorator.CheckUse(m_Decorator, from))
                {
                    BaseHouse house   = BaseHouse.FindHouseAt(from);
                    Item      item    = (Item)targeted;
                    Map       imap    = item.Map;
                    IPoint3D  p       = targeted as IPoint3D;
                    bool      isaddon = false; if (item is AddonComponent)
                    {
                        isaddon = true;
                    }
                    AddonComponent acomp = null; if (isaddon)
                    {
                        acomp = item as AddonComponent;
                    }
                    BaseAddon mainadd = null; if (isaddon)
                    {
                        mainadd = acomp.Addon;
                    }
                    bool couldfit = false;
                    if (isaddon)
                    {
                        couldfit = (mainadd.CouldFit(p, imap, from, ref house) != AddonFitResult.NotInHouse);
                    }

                    if (house == null || !house.IsCoOwner(from))
                    {
                        from.SendLocalizedMessage(502092);
                    }
                    else if (isaddon && couldfit == false)
                    {
                        from.SendMessage("That would move the item to far out of the house, or off a wall");
                    }
                    else if (item.Parent != null || !house.IsInside(item))
                    {
                        from.SendLocalizedMessage(1042270);
                    }
                    else if (!house.IsLockedDown(item) && !house.IsSecure(item) && (item.Movable))
                    {
                        from.SendLocalizedMessage(1042271);
                    }
                    else if (item is VendorRentalContract)
                    {
                        from.SendLocalizedMessage(1062491);
                    }
                    else if (item is HouseTeleporter)
                    {
                        from.SendMessage("Can not move House Teleporters!!!!");
                    }
                    else
                    {
                        switch (m_Decorator.Command)
                        {
                        case DecorateCommand.Up:                Up(item, from);       break;

                        case DecorateCommand.Down:      Down(item, from);     break;

                        case DecorateCommand.Turn:              Turn(item, from);     break;

                        case DecorateCommand.North:     North(item, from);    break;

                        case DecorateCommand.East:      East(item, from);     break;

                        case DecorateCommand.South:     South(item, from); break;

                        case DecorateCommand.West:      West(item, from);     break;
                        }
                    }
                }
            }