Overwrite
Complete Overwrite of the Folder with the free shard. ServUO 57.3 has been added.
This commit is contained in:
87
Scripts/Services/UltimaStore/SystemConfig.cs
Normal file
87
Scripts/Services/UltimaStore/SystemConfig.cs
Normal 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;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user