Пример #1
0
        public override void OnDoubleClick(Mobile from)
        {
            PlayerMobile pm = from as PlayerMobile;

            if (pm != null)
            {
                if (pm.Map != this.Map || !pm.InRange(GetWorldLocation(), 2))
                {
                    pm.LocalOverheadMessage(MessageType.Regular, 0x3B2, 1019045);                       // I can't reach that.
                }
                else if (pm.Backpack.FindItemByType <GoldenCompass>() != null)
                {
                    pm.SendLocalizedMessage(501885);                       // You already own one of those!
                }
                else
                {
                    GoldenCompass compass = new GoldenCompass();

                    if (pm.PlaceInBackpack(compass))
                    {
                        pm.SendLocalizedMessage(1072223);                           // An item has been placed in your backpack.
                        compass.SendTimeRemainingMessage(pm);
                    }
                    else
                    {
                        compass.Delete();
                    }
                }
            }
        }
Пример #2
0
        public override void OnDoubleClick(Mobile from)
        {
            if (IsChildOf(from.Backpack))
            {
                if (from.Region != null && from.Region.IsPartOf <MazeOfDeathRegion>())
                {
                    from.LocalOverheadMessage(MessageType.Regular, 0x3B2, 1113585); // The compass' arrows flicker. You must be near the right location.
                }
                else
                {
                    from.SendLocalizedMessage(1155663); // Nothing happens.
                }
            }
            else if (RootParent == null && !Movable && !IsLockedDown && !IsSecure)
            {
                if (from.InRange(GetWorldLocation(), 3))
                {
                    if (from.Backpack != null && m_Span == 0)
                    {
                        if (from.Backpack.FindItemByType(typeof(GoldenCompass)) == null)
                        {
                            GoldenCompass gc = new GoldenCompass();

                            if (from.PlaceInBackpack(gc))
                            {
                                gc.StartTimer();
                                from.Backpack.DropItem(gc);
                                from.SendLocalizedMessage(1072223); // An item has been placed in your backpack.
                                gc.SendTimeRemainingMessage(from);
                            }
                            else
                            {
                                gc.Delete();
                            }
                        }
                        else
                        {
                            from.SendLocalizedMessage(501885); // You already own one of those!
                        }
                    }
                }
                else
                {
                    from.LocalOverheadMessage(MessageType.Regular, 0x3B2, 1019045); // I can't reach that.
                }
            }
        }
Пример #3
0
        public override void OnDoubleClick( Mobile from )
        {
            PlayerMobile pm = from as PlayerMobile;

            if ( pm != null )
            {
                if ( pm.Map != this.Map || !pm.InRange( GetWorldLocation(), 2 ) )
                    pm.LocalOverheadMessage( MessageType.Regular, 0x3B2, 1019045 ); // I can't reach that.
                else if ( pm.Backpack.FindItemByType<GoldenCompass>() != null )
                    pm.SendLocalizedMessage( 501885 ); // You already own one of those!
                else
                {
                    GoldenCompass compass = new GoldenCompass();

                    if ( pm.PlaceInBackpack( compass ) )
                    {
                        pm.SendLocalizedMessage( 1072223 ); // An item has been placed in your backpack.
                        compass.SendTimeRemainingMessage( pm );
                    }
                    else
                        compass.Delete();
                }
            }
        }