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

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

            bool isOwner   = House.IsOwner(from);
            bool isCoOwner = isOwner || House.IsCoOwner(from);
            bool isFriend  = isCoOwner || 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.UtcNow <= 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, House));
                }
                else
                {
                    from.SendLocalizedMessage(501320);                     // Only the house owner may do this.
                }
            }

            if (!House.IsInside(from) || !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(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 (!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 (isOwner)
                {
                    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 strongbox
            {
                if (isOwner)
                {
                    from.SendLocalizedMessage(502109);                     // Owners do not get a strongbox of their own.
                }
                else if (isCoOwner)
                {
                    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)
                {
                    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.
                }
            }
        }