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,87 @@
using System;
using Server.Engines.Points;
namespace Server.Engines.UOStore
{
public enum CurrencyType
{
None,
Sovereigns,
Gold,
PointsSystem,
Custom
}
public delegate int CustomCurrencyHandler(Mobile m, int consume);
public static class Configuration
{
public static bool Enabled { get; set; }
public static Expansion Expansion { get; set; }
public static string Website { get; set; }
/// <summary>
/// A hook to allow handling of custom currencies.
/// This implementation should be treated as such;
/// If 'consume' is less than zero, return the currency total.
/// Else deduct from the currency total, return the amount consumed.
/// </summary>
public static CustomCurrencyHandler ResolveCurrency { get; set; }
public static CurrencyType CurrencyImpl { get; set; }
public static string CurrencyName { get; set; }
public static bool CurrencyDisplay { get; set; }
public static PointsType PointsImpl { get; set; }
public static double CostMultiplier { get; set; }
public static int CartCapacity { get; set; }
static Configuration()
{
Enabled = Config.Get("Store.Enabled", true);
Expansion = Config.GetEnum("Store.Expansion", Expansion.TOL);
Website = Config.Get("Store.Website", "https://uo.com/ultima-store/");
ResolveCurrency = Config.GetDelegate("Store.ResolveCurrency", (CustomCurrencyHandler)null);
CurrencyImpl = Config.GetEnum("Store.CurrencyImpl", CurrencyType.Sovereigns);
CurrencyName = Config.Get("Store.CurrencyName", "Sovereigns");
CurrencyDisplay = Config.Get("Store.CurrencyDisplay", true);
PointsImpl = Config.GetEnum("Store.PointsImpl", PointsType.None);
CostMultiplier = Config.Get("Store.CostMultiplier", 1.0);
CartCapacity = Config.Get("Store.CartCapacity", 10);
}
public static int GetCustomCurrency(Mobile m)
{
if (ResolveCurrency != null)
{
return ResolveCurrency(m, -1);
}
m.SendMessage(1174, "Currency is not set up for this system. Contact a shard administrator.");
Utility.WriteConsoleColor(ConsoleColor.Red, "[Ultima Store]: No custom currency method has been implemented.");
return 0;
}
public static int DeductCustomCurrecy(Mobile m, int amount)
{
if (ResolveCurrency != null)
{
return ResolveCurrency(m, amount);
}
m.SendMessage(1174, "Currency is not set up for this system. Contact a shard administrator.");
Utility.WriteConsoleColor(ConsoleColor.Red, "[Ultima Store]: No custom currency deduction method has been implemented.");
return 0;
}
}
}