Overwrite

Complete Overwrite of the Folder with the free shard. ServUO 57.3 has been added.
This commit is contained in:
Unstable Kitsune
2023-11-28 23:20:26 -05:00
parent 3cd54811de
commit b918192e4e
11608 changed files with 2644205 additions and 47 deletions

View File

@@ -0,0 +1,190 @@
#region References
using Server.Accounting;
using Server.Guilds;
using Server.Items;
using Server.Multis;
using Server.Network;
#endregion
namespace Server.Gumps
{
public class HouseDemolishGump : Gump
{
private readonly BaseHouse m_House;
private readonly Mobile m_Mobile;
public HouseDemolishGump(Mobile mobile, BaseHouse house)
: base(110, 100)
{
m_Mobile = mobile;
m_House = house;
mobile.CloseGump(typeof(HouseDemolishGump));
Closable = false;
AddPage(0);
AddBackground(0, 0, 420, 280, 5054);
AddImageTiled(10, 10, 400, 20, 2624);
AddAlphaRegion(10, 10, 400, 20);
AddHtmlLocalized(10, 10, 400, 20, 1060635, 30720, false, false); // <CENTER>WARNING</CENTER>
AddImageTiled(10, 40, 400, 200, 2624);
AddAlphaRegion(10, 40, 400, 200);
AddHtmlLocalized(10, 40, 400, 200, 1061795, 32512, false, true);
/* You are about to demolish your house.
* You will be refunded the house's value directly to your bank box.
* All items in the house will remain behind and can be freely picked up by anyone.
* Once the house is demolished, anyone can attempt to place a new house on the vacant land.
* This action will not un-condemn any other houses on your account, nor will it end your 7-day waiting period (if it applies to you).
* Are you sure you wish to continue?
*/
AddImageTiled(10, 250, 400, 20, 2624);
AddAlphaRegion(10, 250, 400, 20);
AddButton(10, 250, 4005, 4007, 1, GumpButtonType.Reply, 0);
AddHtmlLocalized(40, 250, 170, 20, 1011036, 32767, false, false); // OKAY
AddButton(210, 250, 4005, 4007, 0, GumpButtonType.Reply, 0);
AddHtmlLocalized(240, 250, 170, 20, 1011012, 32767, false, false); // CANCEL
}
public override void OnResponse(NetState state, RelayInfo info)
{
if (info.ButtonID == 1 && !m_House.Deleted)
{
if (m_House.IsOwner(m_Mobile))
{
if (m_House.MovingCrate != null || m_House.InternalizedVendors.Count > 0)
{
return;
}
if (!Guild.NewGuildSystem && m_House.FindGuildstone() != null)
{
m_Mobile.SendLocalizedMessage(501389); // You cannot redeed a house with a guildstone inside.
return;
}
/*
if (m_House.PlayerVendors.Count > 0)
{
m_Mobile.SendLocalizedMessage(503236); // You need to collect your vendor's belongings before moving.
return;
}
*/
if (m_House.HasRentedVendors && m_House.VendorInventories.Count > 0)
{
m_Mobile.SendLocalizedMessage(1062679);
// You cannot do that that while you still have contract vendors or unclaimed contract vendor inventory in your house.
return;
}
if (m_House.HasRentedVendors)
{
m_Mobile.SendLocalizedMessage(1062680);
// You cannot do that that while you still have contract vendors in your house.
return;
}
if (m_House.VendorInventories.Count > 0)
{
m_Mobile.SendLocalizedMessage(1062681);
// You cannot do that that while you still have unclaimed contract vendor inventory in your house.
return;
}
else if (m_House.HasActiveAuction)
{
m_Mobile.SendLocalizedMessage(1156453);
// You cannot currently take this action because you have auction safes locked down in your home. You must remove them first.
return;
}
if (m_Mobile.AccessLevel >= AccessLevel.GameMaster)
{
m_Mobile.SendMessage("You do not get a refund for your house as you are not a player");
m_House.RemoveKeys(m_Mobile);
m_House.Delete();
}
else
{
Item toGive;
if (m_House.IsAosRules)
{
if (m_House.Price > 0)
{
toGive = new BankCheck(m_House.Price);
}
else
{
toGive = m_House.GetDeed();
}
}
else
{
toGive = m_House.GetDeed();
if (toGive == null && m_House.Price > 0)
{
toGive = new BankCheck(m_House.Price);
}
}
if (AccountGold.Enabled && toGive is BankCheck)
{
var worth = ((BankCheck)toGive).Worth;
if (m_Mobile.Account != null && m_Mobile.Account.DepositGold(worth))
{
toGive.Delete();
m_Mobile.SendLocalizedMessage(1060397, worth.ToString("#,0"));
// ~1_AMOUNT~ gold has been deposited into your bank box.
m_House.RemoveKeys(m_Mobile);
m_House.Delete();
return;
}
}
if (toGive != null)
{
var box = m_Mobile.BankBox;
if (box.TryDropItem(m_Mobile, toGive, false))
{
if (toGive is BankCheck)
{
m_Mobile.SendLocalizedMessage(1060397, ((BankCheck)toGive).Worth.ToString("#,0"));
// ~1_AMOUNT~ gold has been deposited into your bank box.
}
m_House.RemoveKeys(m_Mobile);
m_House.Delete();
}
else
{
toGive.Delete();
m_Mobile.SendLocalizedMessage(500390); // Your bank box is full.
}
}
else
{
m_Mobile.SendMessage("Unable to refund house.");
}
}
}
else
{
m_Mobile.SendLocalizedMessage(501320); // Only the house owner may do this.
}
}
}
}
}