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. } } }