public override void OnResponse(NetState state, RelayInfo info)
{
if (m_House.Deleted)
return;
Mobile from = state.Mobile;
if (m_List != null && info.ButtonID == 1) // Remove now
{
if (m_House.IsOwner( from ))
{
if (m_House.InternalizedVendors.Count > 0)
{
return;
}
else if (m_House.FindGuildstone() != null)
{
from.SendLocalizedMessage(501389); // You cannot redeed a house with a guildstone inside.
return;
}
else if (m_House.PlayerVendors.Count > 0)
{
from.SendLocalizedMessage(503236); // You need to collect your vendor's belongings before moving.
return;
}
else if (m_House.VendorInventories.Count > 0)
{
from.SendLocalizedMessage(1062681); // You cannot do that that while you still have unclaimed contract vendor inventory in your house.
return;
}
Item toGive = m_House.GetDeed();
if (toGive != null)
{
Container backpack = from.Backpack;
if (backpack == null)
{
from.SendLocalizedMessage(501393); // You do not seem to have a backpack.
}
else if (backpack.TryDropItem(from, toGive, false))
{
from.SendLocalizedMessage(501391); // You place the deed in your backpack.
m_House.RemoveKeys(from);
m_House.Delete();
}
else
{
from.SendLocalizedMessage(501390); // You do not have room in your backpack for a house deed.
}
}
else
{
from.SendLocalizedMessage(501294); // Redeeding the house has failed.
}
}
else
{
from.SendLocalizedMessage(501320); // Only the house owner may do this.
}
}
int[] switches = info.Switches;
if (switches.Length > 0)
{
for (int i = 0; i < switches.Length; ++i)
{
int index = switches[i];
if (index >= 0 && index < m_Copy.Count)
m_List.Remove(m_Copy[index]);
}
if (m_List.Count > 0)
{
from.CloseGump(typeof(HouseGump));
from.CloseGump(typeof(HouseListGump));
from.CloseGump(typeof(HouseRemoveGump));
from.SendGump(new HouseRemoveGump(m_Number, m_List, m_House, m_AccountOf));
return;
}
}
from.SendGump(new HouseGump(from, m_House));
}
}