Example #1
0
        public override void OnSpeech(SpeechEventArgs e)
        {
            base.OnSpeech(e);

            Mobile from = e.Mobile;
            Item   sign = m_House.Sign;

            bool isOwner   = m_House.IsOwner(from);
            bool isCoOwner = isOwner || m_House.IsCoOwner(from);
            bool isFriend  = isCoOwner || m_House.IsFriend(from);

            if (!isFriend)
            {
                return;
            }

            if (!from.Alive)
            {
                return;
            }

            if (Core.ML && Insensitive.Equals(e.Speech, "I wish to resize my house"))
            {
                if (from.Map != sign.Map || !from.InRange(sign, 0))
                {
                    from.SendLocalizedMessage(500295);                   // you are too far away to do that.
                }
                else if (DateTime.Now <= m_House.BuiltOn.AddHours(1))
                {
                    from.SendLocalizedMessage(1080178);                       // You must wait one hour between each house demolition.
                }
                else if (isOwner)
                {
                    from.CloseGump(typeof(ConfirmHouseResize));
                    from.CloseGump(typeof(HouseGumpAOS));
                    from.SendGump(new ConfirmHouseResize(from, m_House));
                }
                else
                {
                    from.SendLocalizedMessage(501320);                       // Only the house owner may do this.
                }
            }

            if (!m_House.IsInside(from) || !m_House.IsActive)
            {
                return;
            }
            else if (e.HasKeyword(0x33))                 // remove thyself
            {
                if (isFriend)
                {
                    from.SendLocalizedMessage(501326);                       // Target the individual to eject from this house.
                    from.Target = new HouseKickTarget(m_House);
                }
                else
                {
                    from.SendLocalizedMessage(502094);                       // You must be in your house to do this.
                }
            }
            else if (e.HasKeyword(0x34))                 // I ban thee
            {
                if (!isFriend)
                {
                    from.SendLocalizedMessage(502094);                       // You must be in your house to do this.
                }
                else if (!m_House.Public && m_House.IsAosRules)
                {
                    from.SendLocalizedMessage(1062521);                       // You cannot ban someone from a private house.  Revoke their access instead.
                }
                else
                {
                    from.SendLocalizedMessage(501325);                       // Target the individual to ban from this house.
                    from.Target = new HouseBanTarget(true, m_House);
                }
            }
            else if (e.HasKeyword(0x23))                 // I wish to lock this down
            {
                if (isCoOwner)
                {
                    from.SendLocalizedMessage(502097);                       // Lock what down?
                    from.Target = new LockdownTarget(false, m_House);
                }
                else if (isFriend)
                {
                    from.SendLocalizedMessage(1010587);                       // You are not a co-owner of this house.
                }
                else
                {
                    from.SendLocalizedMessage(502094);                       // You must be in your house to do this.
                }
            }
            else if (e.HasKeyword(0x24))                 // I wish to release this
            {
                if (isCoOwner)
                {
                    from.SendLocalizedMessage(502100);                       // Choose the item you wish to release
                    from.Target = new LockdownTarget(true, m_House);
                }
                else if (isFriend)
                {
                    from.SendLocalizedMessage(1010587);                       // You are not a co-owner of this house.
                }
                else
                {
                    from.SendLocalizedMessage(502094);                       // You must be in your house to do this.
                }
            }
            else if (e.HasKeyword(0x25))                 // I wish to secure this
            {
                if (isOwner)
                {
                    from.SendLocalizedMessage(502103);                       // Choose the item you wish to secure
                    from.Target = new  SecureTarget(false, m_House);
                }
                else
                {
                    from.SendLocalizedMessage(502094);                       // You must be in your house to do this.
                }
            }
            else if (e.HasKeyword(0x26))                 // I wish to unsecure this
            {
                if (isOwner)
                {
                    from.SendLocalizedMessage(502106);                       // Choose the item you wish to unsecure
                    from.Target = new  SecureTarget(true, m_House);
                }
                else
                {
                    from.SendLocalizedMessage(502094);                       // You must be in your house to do this.
                }
            }
            else if (e.HasKeyword(0x27))                 // I wish to place a strongbox
            {
                if (isOwner)
                {
                    from.SendLocalizedMessage(502109);                       // Owners do not get a strongbox of their own.
                }
                else if (isCoOwner)
                {
                    m_House.AddStrongBox(from);
                }
                else if (isFriend)
                {
                    from.SendLocalizedMessage(1010587);                       // You are not a co-owner of this house.
                }
                else
                {
                    from.SendLocalizedMessage(502094);                       // You must be in your house to do this.
                }
            }
            else if (e.HasKeyword(0x28))                 // trash barrel
            {
                if (isCoOwner)
                {
                    m_House.AddTrashBarrel(from);
                }
                else if (isFriend)
                {
                    from.SendLocalizedMessage(1010587);                       // You are not a co-owner of this house.
                }
                else
                {
                    from.SendLocalizedMessage(502094);                       // You must be in your house to do this.
                }
            }
        }
Example #2
0
        // emulate house region if there is a house here
        public override void OnSpeech(SpeechEventArgs e)
        {
            //plasma: add base call in as was preventing players calling the guards!
            base.OnSpeech(e);

            if (m_Controller.IsHouseRegion == true)
            {
                BaseHouse house = BaseHouse.FindHouseAt(e.Mobile);
                if (house != null)
                {
                    Mobile from = e.Mobile;

                    if (!from.Alive || !house.IsInside(from))
                    {
                        return;
                    }

                    bool isOwner   = house.IsOwner(from);
                    bool isCoOwner = isOwner || house.IsCoOwner(from);
                    bool isFriend  = isCoOwner || house.IsFriend(from);

                    if (!isFriend)
                    {
                        return;
                    }

                    if (e.HasKeyword(0x33))                     // remove thyself
                    {
                        if (isFriend)
                        {
                            from.SendLocalizedMessage(501326);                             // Target the individual to eject from this house.
                            from.Target = new HouseKickTarget(house);
                        }
                        else
                        {
                            from.SendLocalizedMessage(502094);                             // You must be in your house to do this.
                        }
                    }
                    else if (e.Speech.ToLower() == "i wish to make this decorative")                     // i wish to make this decorative
                    {
                        if (!isFriend)
                        {
                            from.SendLocalizedMessage(502094);                             // You must be in your house to do this.
                        }
                        else
                        {
                            from.SendMessage("Make what decorative?");                             //
                            from.Target = new HouseDecoTarget(true, house);
                        }
                    }
                    else if (e.Speech.ToLower() == "i wish to make this functional")                     // i wish to make this functional
                    {
                        if (!isFriend)
                        {
                            from.SendLocalizedMessage(502094);                             // You must be in your house to do this.
                        }
                        else
                        {
                            from.SendMessage("Make what functional?");                             //
                            from.Target = new HouseDecoTarget(false, house);
                        }
                    }
                    else if (e.HasKeyword(0x34))                     // I ban thee
                    {
                        if (!isFriend)
                        {
                            from.SendLocalizedMessage(502094);                             // You must be in your house to do this.
                        }
                        //Adam: no AOS rules here

                        /*else if ( !house.Public && house.IsAosRules )
                         * {
                         *      from.SendLocalizedMessage( 1062521 ); // You cannot ban someone from a private house.  Revoke their access instead.
                         * }*/
                        else
                        {
                            from.SendLocalizedMessage(501325);                             // Target the individual to ban from this house.
                            from.Target = new HouseBanTarget(true, house);
                        }
                    }
                    else if (e.HasKeyword(0x23))                     // I wish to lock this down
                    {
                        if (isCoOwner)
                        {
                            from.SendLocalizedMessage(502097);                             // Lock what down?
                            from.Target = new LockdownTarget(false, house);
                        }
                        else if (isFriend)
                        {
                            from.SendLocalizedMessage(1010587);                             // You are not a co-owner of this house.
                        }
                        else
                        {
                            from.SendLocalizedMessage(502094);                             // You must be in your house to do this.
                        }
                    }
                    else if (e.HasKeyword(0x24))                     // I wish to release this
                    {
                        if (isCoOwner)
                        {
                            from.SendLocalizedMessage(502100);                             // Choose the item you wish to release
                            from.Target = new LockdownTarget(true, house);
                        }
                        else if (isFriend)
                        {
                            from.SendLocalizedMessage(1010587);                             // You are not a co-owner of this house.
                        }
                        else
                        {
                            from.SendLocalizedMessage(502094);                             // You must be in your house to do this.
                        }
                    }
                    else if (e.HasKeyword(0x25))                     // I wish to secure this
                    {
                        if (isCoOwner)
                        {
                            from.SendLocalizedMessage(502103);                             // Choose the item you wish to secure
                            from.Target = new SecureTarget(false, house);
                        }
                        else
                        {
                            from.SendLocalizedMessage(502094);                             // You must be in your house to do this.
                        }
                    }
                    else if (e.HasKeyword(0x26))                     // I wish to unsecure this
                    {
                        if (isOwner)
                        {
                            from.SendLocalizedMessage(502106);                             // Choose the item you wish to unsecure
                            from.Target = new SecureTarget(true, house);
                        }
                        else
                        {
                            from.SendLocalizedMessage(502094);                             // You must be in your house to do this.
                        }
                    }
                    else if (e.HasKeyword(0x27))                     // I wish to place a strong box
                    {
                        if (isOwner)
                        {
                            from.SendLocalizedMessage(502109);                             // Owners do not get a strongbox of their own.
                        }
                        else if (isFriend)
                        {
                            house.AddStrongBox(from);
                        }
                        else if (isFriend)
                        {
                            from.SendLocalizedMessage(1010587);                             // You are not a co-owner of this house.
                        }
                        else
                        {
                            from.SendLocalizedMessage(502094);                             // You must be in your house to do this.
                        }
                    }

                    /* weaver: disallowed trash barrel placement by command
                     *
                     * else if ( e.HasKeyword( 0x28 ) ) // I wish to place a trash barrel
                     * {
                     *      if ( isCoOwner )
                     *      {
                     *              house.AddTrashBarrel( from );
                     *      }
                     *      else if ( isFriend )
                     *      {
                     *              from.SendLocalizedMessage( 1010587 ); // You are not a co-owner of this house.
                     *      }
                     *      else
                     *      {
                     *              from.SendLocalizedMessage( 502094 ); // You must be in your house to do this.
                     *      }
                     * }
                     */

                    else if (e.Speech.ToLower() == "i wish to place my guild stone")                     // I wish to place a guild stone
                    {
                        if (isCoOwner)
                        {
                            // ask the playermobile to deal with this item request
                            Item item = from.RequestItem(typeof(Server.Items.Guildstone));
                            if (item == null)
                            {
                                from.SendMessage("You do not seem to have one of those.");
                            }
                            else
                            {                                   // ask the player mobile to place this guild stone
                                from.ProcessItem(item);
                            }
                        }
                        else if (isFriend)
                        {
                            from.SendLocalizedMessage(1010587);                             // You are not a co-owner of this house.
                        }
                        else
                        {
                            from.SendLocalizedMessage(502094);                             // You must be in your house to do this.
                        }
                    }
                }
            }
        }
        public override void OnSpeech(SpeechEventArgs e)
        {
            Mobile from = e.Mobile;

            if (!from.Alive || !m_House.IsInside(from) || !m_House.IsActive)
            {
                return;
            }

            bool isOwner   = m_House.IsOwner(from);
            bool isCoOwner = isOwner || m_House.IsCoOwner(from);
            bool isFriend  = isCoOwner || m_House.IsFriend(from);

            if (!isFriend)
            {
                return;
            }

            if (e.HasKeyword(0x33))                 // remove thyself
            {
                if (isFriend)
                {
                    from.SendLocalizedMessage(501326);                       // Target the individual to eject from this house.
                    from.Target = new HouseKickTarget(m_House);
                }
                else
                {
                    from.SendLocalizedMessage(502094);                       // You must be in your house to do this.
                }
            }
            else if (e.HasKeyword(0x34))                 // I ban thee
            {
                if (!isFriend)
                {
                    from.SendLocalizedMessage(502094);                       // You must be in your house to do this.
                }
                else if (!m_House.Public && m_House.IsAosRules)
                {
                    from.SendLocalizedMessage(1062521);                       // You cannot ban someone from a private house.  Revoke their access instead.
                }
                else
                {
                    from.SendLocalizedMessage(501325);                       // Target the individual to ban from this house.
                    from.Target = new HouseBanTarget(true, m_House);
                }
            }
            else if (e.HasKeyword(0x23))                 // I wish to lock this down
            {
                if (isCoOwner)
                {
                    from.SendLocalizedMessage(502097);                       // Lock what down?
                    from.Target = new LockdownTarget(false, m_House);
                }
                else if (isFriend)
                {
                    from.SendLocalizedMessage(1010587);                       // You are not a co-owner of this house.
                }
                else
                {
                    from.SendLocalizedMessage(502094);                       // You must be in your house to do this.
                }
            }
            else if (e.HasKeyword(0x24))                 // I wish to release this
            {
                if (isCoOwner)
                {
                    from.SendLocalizedMessage(502100);                       // Choose the item you wish to release
                    from.Target = new LockdownTarget(true, m_House);
                }
                else if (isFriend)
                {
                    from.SendLocalizedMessage(1010587);                       // You are not a co-owner of this house.
                }
                else
                {
                    from.SendLocalizedMessage(502094);                       // You must be in your house to do this.
                }
            }
            else if (e.HasKeyword(0x25))                 // I wish to secure this
            {
                if (isOwner)
                {
                    from.SendLocalizedMessage(502103);                       // Choose the item you wish to secure
                    from.Target = new SecureTarget(false, m_House);
                }
                else
                {
                    from.SendLocalizedMessage(502094);                       // You must be in your house to do this.
                }
            }
            else if (e.HasKeyword(0x26))                 // I wish to unsecure this
            {
                if (isOwner)
                {
                    from.SendLocalizedMessage(502106);                       // Choose the item you wish to unsecure
                    from.Target = new SecureTarget(true, m_House);
                }
                else
                {
                    from.SendLocalizedMessage(502094);                       // You must be in your house to do this.
                }
            }
            else if (e.HasKeyword(0x27))                 // I wish to place a strong box
            {
                if (isOwner)
                {
                    from.SendLocalizedMessage(502109);                       // Owners do not get a strongbox of their own.
                }
                else if (isCoOwner)
                {
                    m_House.AddStrongBox(from);
                }
                else if (isFriend)
                {
                    from.SendLocalizedMessage(1010587);                       // You are not a co-owner of this house.
                }
                else
                {
                    from.SendLocalizedMessage(502094);                       // You must be in your house to do this.
                }
            }
            else if (e.HasKeyword(0x28))
            {
                if (isCoOwner)
                {
                    m_House.AddTrashBarrel(from);
                }
                else if (isFriend)
                {
                    from.SendLocalizedMessage(1010587);                       // You are not a co-owner of this house.
                }
                else
                {
                    from.SendLocalizedMessage(502094);                       // You must be in your house to do this.
                }
            }
        }