using System.Text; using Content.Shared.Stacks; using Robust.Shared.Prototypes; namespace Content.Shared._CP14.Currency; public partial class CP14SharedCurrencySystem : EntitySystem { public static readonly KeyValuePair CP = new("CP14CopperCoin1", 1); public static readonly KeyValuePair SP = new("CP14SilverCoin1", 10); public static readonly KeyValuePair GP = new("CP14GoldCoin1", 100); public static readonly KeyValuePair PP = new("CP14PlatinumCoin1", 1000); public string GetCurrencyPrettyString(int currency) { var total = currency; if (total <= 0) return string.Empty; var gp = total / 100; total %= 100; var sp = total / 10; total %= 10; var cp = total; var sb = new StringBuilder(); if (gp > 0) sb.Append( " " + Loc.GetString("cp14-currency-examine-gp", ("coin", gp))); if (sp > 0) sb.Append( " " + Loc.GetString("cp14-currency-examine-sp", ("coin", sp))); if (cp > 0) sb.Append( " " + Loc.GetString("cp14-currency-examine-cp", ("coin", cp))); return sb.ToString(); } public int GetTotalCurrency(EntityUid uid) { var ev = new CP14GetCurrencyEvent(); RaiseLocalEvent(uid, ev); return (int)(ev.Currency * ev.Multiplier); } } public sealed class CP14GetCurrencyEvent : EntityEventArgs { public int Currency; public float Multiplier; public CP14GetCurrencyEvent(int cur = 0, int mult = 1) { Currency = cur; Multiplier = mult; } }