diff --git a/GameServer/Managers/RandomObjectGeneration/GeneratedUniqueItem.cs b/GameServer/Managers/RandomObjectGeneration/GeneratedUniqueItem.cs index b549e83e68..b3a5c17580 100644 --- a/GameServer/Managers/RandomObjectGeneration/GeneratedUniqueItem.cs +++ b/GameServer/Managers/RandomObjectGeneration/GeneratedUniqueItem.cs @@ -184,7 +184,7 @@ public void GenerateItemQuality(int conlevel) this.Quality = Util.Random(minQuality, maxQuality); - this.Price = Money.SetAutoPrice(this.Level, this.Quality); + this.Price = WalletHelper.CalculateAutoPrice(this.Level, this.Quality); this.Price /= 8; if (this.Price <= 0) this.Price = 2; // 2c as sell price is 50% diff --git a/GameServer/Metrics/Meters/CurrencyMeterProvider.cs b/GameServer/Metrics/Meters/CurrencyMeterProvider.cs index ec3eaabfc3..616d6894d4 100644 --- a/GameServer/Metrics/Meters/CurrencyMeterProvider.cs +++ b/GameServer/Metrics/Meters/CurrencyMeterProvider.cs @@ -41,7 +41,7 @@ static bool IsPlayerActive(GameClient client) static long GetPlayerMoney(GameClient client) { - return client.Player.GetCurrentMoney(); + return client.Player.Wallet.GetMoney(); } } catch (Exception ex) diff --git a/GameServer/behaviour/Actions/GiveGoldAction.cs b/GameServer/behaviour/Actions/GiveGoldAction.cs index 79b9db0921..a4109d7b18 100644 --- a/GameServer/behaviour/Actions/GiveGoldAction.cs +++ b/GameServer/behaviour/Actions/GiveGoldAction.cs @@ -44,7 +44,7 @@ public GiveGoldAction(GameNPC defaultNPC, long p) public override void Perform(DOLEvent e, object sender, EventArgs args) { GamePlayer player = BehaviourUtils.GuessGamePlayerFromNotify(e, sender, args); - player.AddMoney(P); + player.Wallet.AddMoney(P); InventoryLogging.LogInventoryAction(NPC, player, eInventoryActionType.Quest, P); } } diff --git a/GameServer/behaviour/Actions/TakeGoldAction.cs b/GameServer/behaviour/Actions/TakeGoldAction.cs index d2fb6ad9fa..b80e3ff73e 100644 --- a/GameServer/behaviour/Actions/TakeGoldAction.cs +++ b/GameServer/behaviour/Actions/TakeGoldAction.cs @@ -44,7 +44,7 @@ public TakeGoldAction(GameNPC defaultNPC, long p) public override void Perform(DOLEvent e, object sender, EventArgs args) { GamePlayer player = BehaviourUtils.GuessGamePlayerFromNotify(e, sender, args); - player.RemoveMoney(P); + player.Wallet.RemoveMoney(P); InventoryLogging.LogInventoryAction(player, NPC, eInventoryActionType.Quest, P); } } diff --git a/GameServer/behaviour/Requirements/GoldRequirement.cs b/GameServer/behaviour/Requirements/GoldRequirement.cs index 0550b9ecc5..76275b3a76 100644 --- a/GameServer/behaviour/Requirements/GoldRequirement.cs +++ b/GameServer/behaviour/Requirements/GoldRequirement.cs @@ -72,7 +72,7 @@ public override bool Check(DOLEvent e, object sender, EventArgs args) bool result = true; GamePlayer player = BehaviourUtils.GuessGamePlayerFromNotify(e, sender, args); - result = compare(player.GetCurrentMoney(), N, Comparator); + result = compare(player.Wallet.GetMoney(), N, Comparator); return result; } diff --git a/GameServer/commands/gmcommands/GMinfo.cs b/GameServer/commands/gmcommands/GMinfo.cs index 3f8155db0b..801e19ed04 100644 --- a/GameServer/commands/gmcommands/GMinfo.cs +++ b/GameServer/commands/gmcommands/GMinfo.cs @@ -313,7 +313,7 @@ public void OnCommand(GameClient client, string[] args) info.Add(" - Model ID : " + target.Model); info.Add(" - AFK Message: " + target.TempProperties.GetProperty(GamePlayer.AFK_MESSAGE) + ""); info.Add(" "); - info.Add(" - Money : " + Money.GetString(target.GetCurrentMoney()) + "\n"); + info.Add(" - Money : " + WalletHelper.ToString(target.Wallet.GetMoney()) + "\n"); info.Add(" - XPs : " + target.Experience); info.Add(" - RPs : " + target.RealmPoints); info.Add(" - BPs : " + target.BountyPoints); @@ -355,7 +355,7 @@ public void OnCommand(GameClient client, string[] args) info.Add(" --------------------------------------"); ////////////// Inventaire ///////////// info.Add(" ----- Money:"); - info.Add(Money.GetShortString(target.GetCurrentMoney())); + info.Add(WalletHelper.ToShortString(target.Wallet.GetMoney())); info.Add(" "); info.Add(" ----- Wearing:"); @@ -638,9 +638,9 @@ public void OnCommand(GameClient client, string[] args) if (house.Rug4Color != 0) info.Add(LanguageMgr.GetTranslation(client.Account.Language, "House.SendHouseInfo.Rug4Color", Color(house.Rug4Color))); info.Add(" "); - info.Add(LanguageMgr.GetTranslation(client.Account.Language, "House.SendHouseInfo.Lockbox", Money.GetString(house.KeptMoney))); - info.Add(LanguageMgr.GetTranslation(client.Account.Language, "House.SendHouseInfo.RentalPrice", Money.GetString(HouseMgr.GetRentByModel(house.Model)))); - info.Add(LanguageMgr.GetTranslation(client.Account.Language, "House.SendHouseInfo.MaxLockbox", Money.GetString(HouseMgr.GetRentByModel(house.Model) * ServerProperties.Properties.RENT_LOCKBOX_PAYMENTS))); + info.Add(LanguageMgr.GetTranslation(client.Account.Language, "House.SendHouseInfo.Lockbox", WalletHelper.ToString(house.KeptMoney))); + info.Add(LanguageMgr.GetTranslation(client.Account.Language, "House.SendHouseInfo.RentalPrice", WalletHelper.ToString(HouseMgr.GetRentByModel(house.Model)))); + info.Add(LanguageMgr.GetTranslation(client.Account.Language, "House.SendHouseInfo.MaxLockbox", WalletHelper.ToString(HouseMgr.GetRentByModel(house.Model) * ServerProperties.Properties.RENT_LOCKBOX_PAYMENTS))); info.Add(LanguageMgr.GetTranslation(client.Account.Language, "House.SendHouseInfo.RentDueIn", due.Days, due.Hours)); #endregion House diff --git a/GameServer/commands/gmcommands/Player.cs b/GameServer/commands/gmcommands/Player.cs index f573bcef23..01db766ef3 100644 --- a/GameServer/commands/gmcommands/Player.cs +++ b/GameServer/commands/gmcommands/Player.cs @@ -642,7 +642,7 @@ public void OnCommand(GameClient client, string[] args) case "copp": { long amount = long.Parse(args[3]); - player.AddMoney(amount); + player.Wallet.AddMoney(amount); InventoryLogging.LogInventoryAction(client.Player, player, eInventoryActionType.Other, amount); client.Out.SendMessage("You gave " + player.Name + " copper successfully!", eChatType.CT_Important, eChatLoc.CL_SystemWindow); @@ -656,7 +656,7 @@ public void OnCommand(GameClient client, string[] args) case "silv": { long amount = long.Parse(args[3]) * 100; - player.AddMoney(amount); + player.Wallet.AddMoney(amount); InventoryLogging.LogInventoryAction(client.Player, player, eInventoryActionType.Other, amount); client.Out.SendMessage("You gave " + player.Name + " silver successfully!", eChatType.CT_Important, eChatLoc.CL_SystemWindow); @@ -669,7 +669,7 @@ public void OnCommand(GameClient client, string[] args) case "gold": { long amount = long.Parse(args[3]) * 100 * 100; - player.AddMoney(amount); + player.Wallet.AddMoney(amount); InventoryLogging.LogInventoryAction(client.Player, player, eInventoryActionType.Other, amount); client.Out.SendMessage("You gave " + player.Name + " gold successfully!", eChatType.CT_Important, eChatLoc.CL_SystemWindow); @@ -682,7 +682,7 @@ public void OnCommand(GameClient client, string[] args) case "plat": { long amount = long.Parse(args[3]) * 100 * 100 * 1000; - player.AddMoney(amount); + player.Wallet.AddMoney(amount); InventoryLogging.LogInventoryAction(client.Player, player, eInventoryActionType.Other, amount); client.Out.SendMessage("You gave " + player.Name + " platinum successfully!", eChatType.CT_Important, eChatLoc.CL_SystemWindow); @@ -695,7 +695,7 @@ public void OnCommand(GameClient client, string[] args) case "mith": { long amount = long.Parse(args[3]) * 100 * 100 * 1000 * 1000; - player.AddMoney(amount); + player.Wallet.AddMoney(amount); InventoryLogging.LogInventoryAction(client.Player, player, eInventoryActionType.Other, amount); client.Out.SendMessage("You gave " + player.Name + " mithril successfully!", eChatType.CT_Important, eChatLoc.CL_SystemWindow); @@ -2229,7 +2229,7 @@ private void Show_Inventory(GamePlayer player, GameClient client, string limitTy text.Add(" - Realm Level Class : " + GlobalConstants.RealmToName(player.Realm) + " " + player.Level + " " + player.CharacterClass.Name); text.Add(" "); - text.Add(Money.GetShortString(player.GetCurrentMoney())); + text.Add(WalletHelper.ToShortString(player.Wallet.GetMoney())); text.Add(" "); bool limitShown = false; @@ -2382,7 +2382,7 @@ private void Show_Info(GamePlayer player, GameClient client) text.Add(" - Master Levels : Not Started"); } text.Add(" - Craftingskill : " + player.CraftingPrimarySkill + ""); - text.Add(" - Money : " + Money.GetString(player.GetCurrentMoney()) + ""); + text.Add(" - Money : " + WalletHelper.ToString(player.Wallet.GetMoney()) + ""); text.Add(" - Model ID : " + player.Model); text.Add(" - Region OID : " + player.ObjectID); text.Add(" - AFK Message: " + player.TempProperties.GetProperty(GamePlayer.AFK_MESSAGE) + ""); diff --git a/GameServer/commands/gmcommands/item.cs b/GameServer/commands/gmcommands/item.cs index 6ce965e4b2..d58167338a 100644 --- a/GameServer/commands/gmcommands/item.cs +++ b/GameServer/commands/gmcommands/item.cs @@ -657,7 +657,7 @@ public void OnCommand(GameClient client, string[] args) client.Out.SendMessage(LanguageMgr.GetTranslation(client.Account.Language, "GMCommands.Item.Count.NoItemInSlot", slot), eChatType.CT_System, eChatLoc.CL_SystemWindow); return; } - item.Price = Money.GetMoney(0, (int)(Convert.ToInt16(args[2]) % 1000), (int)(Convert.ToInt16(args[3]) % 1000), (int)(Convert.ToByte(args[4]) % 100), (int)(Convert.ToByte(args[5]) % 100)); + item.Price = WalletHelper.ToMoney(0, (int)(Convert.ToInt16(args[2]) % 1000), (int)(Convert.ToInt16(args[3]) % 1000), (int)(Convert.ToByte(args[4]) % 100), (int)(Convert.ToByte(args[5]) % 100)); client.Out.SendInventoryItemsUpdate(new DbInventoryItem[] { item }); break; } diff --git a/GameServer/commands/playercommands/guild.cs b/GameServer/commands/playercommands/guild.cs index 02839841ba..88be1dde0c 100644 --- a/GameServer/commands/playercommands/guild.cs +++ b/GameServer/commands/playercommands/guild.cs @@ -23,7 +23,7 @@ public class GuildCommandHandler : AbstractCommandHandler, ICommandHandler { private static readonly Logging.Logger log = Logging.LoggerManager.Create(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); - public long GuildFormCost = Money.GetMoney(0, 0, 1, 0, 0); //Cost to form guild : live = 1g : (mith/plat/gold/silver/copper) + public long GuildFormCost = WalletHelper.ToMoney(0, 0, 1, 0, 0); //Cost to form guild : live = 1g : (mith/plat/gold/silver/copper) /// /// Checks if a guildname has valid characters /// @@ -119,7 +119,7 @@ protected void CreateGuild(GamePlayer player, byte response) ply.TempProperties.RemoveProperty("Guild_Consider"); } player.Group.Leader.TempProperties.RemoveProperty("Guild_Name"); - player.Group.Leader.RemoveMoney(GuildFormCost); + player.Group.Leader.Wallet.RemoveMoney(GuildFormCost); player.Out.SendMessage(LanguageMgr.GetTranslation(player.Client.Account.Language, "Scripts.Player.Guild.GuildCreated", guildname, player.Group.Leader.Name), eChatType.CT_Guild, eChatLoc.CL_SystemWindow); } } @@ -567,7 +567,7 @@ public void OnCommand(GameClient client, string[] args) client.Out.SendMessage(LanguageMgr.GetTranslation(client.Account.Language, "Scripts.Player.Guild.InfoGuild", client.Player.Guild.Name), eChatType.CT_Guild, eChatLoc.CL_SystemWindow); client.Out.SendMessage(LanguageMgr.GetTranslation(client.Account.Language, "Scripts.Player.Guild.InfoRPBPMP", client.Player.Guild.RealmPoints, client.Player.Guild.BountyPoints, client.Player.Guild.MeritPoints), eChatType.CT_Guild, eChatLoc.CL_SystemWindow); client.Out.SendMessage(LanguageMgr.GetTranslation(client.Account.Language, "Scripts.Player.Guild.InfoGuildLevel", client.Player.Guild.GuildLevel), eChatType.CT_Guild, eChatLoc.CL_SystemWindow); - client.Out.SendMessage(LanguageMgr.GetTranslation(client.Account.Language, "Scripts.Player.Guild.InfoGDuesBank", client.Player.Guild.GetGuildDuesPercent().ToString() + "%", Money.GetString(long.Parse(client.Player.Guild.GetGuildBank().ToString()))), eChatType.CT_Guild, eChatLoc.CL_SystemWindow); + client.Out.SendMessage(LanguageMgr.GetTranslation(client.Account.Language, "Scripts.Player.Guild.InfoGDuesBank", client.Player.Guild.GetGuildDuesPercent().ToString() + "%", WalletHelper.ToString(long.Parse(client.Player.Guild.GetGuildBank().ToString()))), eChatType.CT_Guild, eChatLoc.CL_SystemWindow); client.Out.SendMessage(string.Format("Current Merit Bonus: {0}", Guild.BonusTypeToName(client.Player.Guild.BonusType)), eChatType.CT_Guild, eChatLoc.CL_SystemWindow); @@ -1172,7 +1172,7 @@ public void OnCommand(GameClient client, string[] args) } #endregion #region Enoguh money to form Check - if (client.Player.Group.Leader.GetCurrentMoney() < GuildFormCost) + if (client.Player.Group.Leader.Wallet.GetMoney() < GuildFormCost) { client.Out.SendMessage("It cost 1 gold piece to create a guild", eChatType.CT_System, eChatLoc.CL_SystemWindow); return; @@ -2621,7 +2621,7 @@ public static void EmblemChange(GamePlayer player, byte reponse) player.Out.SendMessage(LanguageMgr.GetTranslation(player.Client.Account.Language, "Scripts.Player.Guild.EmblemNeedNPC"), eChatType.CT_System, eChatLoc.CL_SystemWindow); return; } - if (player.GetCurrentMoney() < GuildMgr.COST_RE_EMBLEM) //200 gold to re-emblem + if (player.Wallet.GetMoney() < GuildMgr.COST_RE_EMBLEM) //200 gold to re-emblem { player.Out.SendMessage(LanguageMgr.GetTranslation(player.Client.Account.Language, "Scripts.Player.Guild.EmblemNeedGold"), eChatType.CT_System, eChatLoc.CL_SystemWindow); return; diff --git a/GameServer/commands/playercommands/lastname.cs b/GameServer/commands/playercommands/lastname.cs index 8e79f06d97..b2d2fac171 100644 --- a/GameServer/commands/playercommands/lastname.cs +++ b/GameServer/commands/playercommands/lastname.cs @@ -36,9 +36,9 @@ public void OnCommand(GameClient client, string[] args) } /* When you don't have a lastname, change is for free, otherwise you need money */ - if (client.Player.LastName != string.Empty && client.Player.GetCurrentMoney() < Money.GetMoney(0, 0, LASTNAME_FEE, 0, 0)) + if (client.Player.LastName != string.Empty && client.Player.Wallet.GetMoney() < WalletHelper.ToMoney(0, 0, LASTNAME_FEE, 0, 0)) { - client.Out.SendMessage("Changing your last name costs " + Money.GetString(Money.GetMoney(0, 0, LASTNAME_FEE, 0, 0)) + "!", eChatType.CT_System, eChatLoc.CL_SystemWindow); + client.Out.SendMessage("Changing your last name costs " + WalletHelper.ToString(WalletHelper.ToMoney(0, 0, LASTNAME_FEE, 0, 0)) + "!", eChatType.CT_System, eChatLoc.CL_SystemWindow); return; } @@ -131,9 +131,9 @@ protected void LastNameDialogResponse(GamePlayer player, byte response) } /* Check money only if your lastname is not blank */ - if (player.LastName != string.Empty && player.GetCurrentMoney() < Money.GetMoney(0, 0, LASTNAME_FEE, 0, 0)) + if (player.LastName != string.Empty && player.Wallet.GetMoney() < WalletHelper.ToMoney(0, 0, LASTNAME_FEE, 0, 0)) { - player.Out.SendMessage("Changing your last name costs " + Money.GetString(Money.GetMoney(0, 0, LASTNAME_FEE, 0, 0)) + "!", eChatType.CT_System, eChatLoc.CL_SystemWindow); + player.Out.SendMessage("Changing your last name costs " + WalletHelper.ToString(WalletHelper.ToMoney(0, 0, LASTNAME_FEE, 0, 0)) + "!", eChatType.CT_System, eChatLoc.CL_SystemWindow); return; } @@ -146,7 +146,7 @@ protected void LastNameDialogResponse(GamePlayer player, byte response) /* Remove money only if your lastname is not blank and is different from the previous one */ if (player.LastName != string.Empty && player.LastName != NewLastName) { - player.RemoveMoney(Money.GetMoney(0, 0, LASTNAME_FEE, 0, 0), null); + player.Wallet.RemoveMoney(WalletHelper.ToMoney(0, 0, LASTNAME_FEE, 0, 0), null); InventoryLogging.LogInventoryAction(player, player.TargetObject, eInventoryActionType.Merchant, LASTNAME_FEE * 10000); } diff --git a/GameServer/commands/playercommands/respec.cs b/GameServer/commands/playercommands/respec.cs index a4ad48dc0d..2e1c3968e3 100644 --- a/GameServer/commands/playercommands/respec.cs +++ b/GameServer/commands/playercommands/respec.cs @@ -227,7 +227,7 @@ protected void RespecDialogResponse(GamePlayer player, byte response) if (player.TempProperties.GetProperty(BUY_RESPEC)) { player.TempProperties.RemoveProperty(BUY_RESPEC); - if (player.RespecCost >= 0 && player.RemoveMoney(player.RespecCost * 10000)) + if (player.RespecCost >= 0 && player.Wallet.RemoveMoney(player.RespecCost * 10000)) { InventoryLogging.LogInventoryAction(player, "(respec)", eInventoryActionType.Merchant, player.RespecCost * 10000); player.RespecAmountSingleSkill++; diff --git a/GameServer/gameobjects/CustomNPC/Blacksmith.cs b/GameServer/gameobjects/CustomNPC/Blacksmith.cs index bc218a39c5..9c5a2b1bfc 100644 --- a/GameServer/gameobjects/CustomNPC/Blacksmith.cs +++ b/GameServer/gameobjects/CustomNPC/Blacksmith.cs @@ -140,7 +140,7 @@ public override bool ReceiveItem(GameLiving source, DbInventoryItem item) // Message: It will cost {0} to repair {1}. Do you accept? player.Client.Out.SendCustomDialog(LanguageMgr.GetTranslation(player.Client.Account.Language, "GameNPC.Blacksmith.RepairCostAccept", - Money.GetString(item.RepairCost), item.GetName(0, false)), BlacksmithDialogResponse); + WalletHelper.ToString(item.RepairCost), item.GetName(0, false)), BlacksmithDialogResponse); } else { @@ -188,13 +188,13 @@ protected void BlacksmithDialogResponse(GamePlayer player, byte response) var ToRecoverCond = item.MaxCondition - item.Condition; - if (!player.RemoveMoney(item.RepairCost)) + if (!player.Wallet.RemoveMoney(item.RepairCost)) { InventoryLogging.LogInventoryAction(player, this, eInventoryActionType.Merchant, item.RepairCost); // Message: {0} says, "It costs {1} to repair {2}. You don't have that much." ChatUtil.SendSayMessage(player, "GameNPC.Blacksmith.NotEnoughMoney", GetName(0, true), - Money.GetString(item.RepairCost), + WalletHelper.ToString(item.RepairCost), item.GetName(0, false)); return; @@ -202,7 +202,7 @@ protected void BlacksmithDialogResponse(GamePlayer player, byte response) // Message: You pay {0} {1}. ChatUtil.SendSystemMessage(player, "GameNPC.Blacksmith.YouPay", GetName(0, false), - Money.GetString(item.RepairCost)); + WalletHelper.ToString(item.RepairCost)); // Items with IsNotLosingDur are not....losing DUR. if (ToRecoverCond + 1 >= item.Durability) @@ -240,7 +240,7 @@ private void AskRepairAll(GamePlayer player) if (TotalCost > 0) player.Client.Out.SendCustomDialog( - $"It will cost {Money.GetString(TotalCost)} to repair everything. Do you accept?", RepairAll); + $"It will cost {WalletHelper.ToString(TotalCost)} to repair everything. Do you accept?", RepairAll); else SayTo(player, eChatLoc.CL_PopupWindow, "All items are fully repaired already."); @@ -285,11 +285,11 @@ private void RepairAll(GamePlayer player, byte response) cost += CalculateCost(inventoryItem); } - if (!player.RemoveMoney(cost)) + if (!player.Wallet.RemoveMoney(cost)) { SayTo(player, eChatLoc.CL_PopupWindow, LanguageMgr.GetTranslation(player.Client.Account.Language, - "GameNPC.Blacksmith.NotEnoughMoney", Money.GetString(cost), "everything")); + "GameNPC.Blacksmith.NotEnoughMoney", WalletHelper.ToString(cost), "everything")); return; } @@ -297,7 +297,7 @@ private void RepairAll(GamePlayer player, byte response) InventoryLogging.LogInventoryAction(player, this, eInventoryActionType.Merchant, cost); ChatUtil.SendSystemMessage(player, "GameNPC.Blacksmith.YouPay", GetName(0, false), - Money.GetString(cost)); + WalletHelper.ToString(cost)); foreach (var inventoryItem in player.Inventory.AllItems) diff --git a/GameServer/gameobjects/CustomNPC/BuffMerchant.cs b/GameServer/gameobjects/CustomNPC/BuffMerchant.cs index 026aeb2d31..2fbf3eb42b 100644 --- a/GameServer/gameobjects/CustomNPC/BuffMerchant.cs +++ b/GameServer/gameobjects/CustomNPC/BuffMerchant.cs @@ -901,7 +901,7 @@ public override void OnPlayerBuy(GamePlayer player, int item_slot, int number) player.Out.SendMessage(message, eChatType.CT_Merchant, eChatLoc.CL_SystemWindow); } } - if (isBounty == false) //...pay with Money. + if (isBounty == false) //...pay with money. { int pagenumber = item_slot / MerchantTradeItems.MAX_ITEM_IN_TRADEWINDOWS; int slotnumber = item_slot % MerchantTradeItems.MAX_ITEM_IN_TRADEWINDOWS; @@ -920,9 +920,9 @@ public override void OnPlayerBuy(GamePlayer player, int item_slot, int number) lock (player.Inventory.Lock) { - if (player.GetCurrentMoney() < totalValue) + if (player.Wallet.GetMoney() < totalValue) { - player.Out.SendMessage(LanguageMgr.GetTranslation(player.Client.Account.Language, "GameMerchant.OnPlayerBuy.YouNeed", Money.GetString(totalValue)), eChatType.CT_System, eChatLoc.CL_SystemWindow); + player.Out.SendMessage(LanguageMgr.GetTranslation(player.Client.Account.Language, "GameMerchant.OnPlayerBuy.YouNeed", WalletHelper.ToString(totalValue)), eChatType.CT_System, eChatLoc.CL_SystemWindow); return; } @@ -935,11 +935,11 @@ public override void OnPlayerBuy(GamePlayer player, int item_slot, int number) string message; if (amountToBuy > 1) - message = LanguageMgr.GetTranslation(player.Client.Account.Language, "GameMerchant.OnPlayerBuy.BoughtPieces", amountToBuy, template.GetName(1, false), Money.GetString(totalValue)); + message = LanguageMgr.GetTranslation(player.Client.Account.Language, "GameMerchant.OnPlayerBuy.BoughtPieces", amountToBuy, template.GetName(1, false), WalletHelper.ToString(totalValue)); else - message = LanguageMgr.GetTranslation(player.Client.Account.Language, "GameMerchant.OnPlayerBuy.Bought", template.GetName(1, false), Money.GetString(totalValue)); + message = LanguageMgr.GetTranslation(player.Client.Account.Language, "GameMerchant.OnPlayerBuy.Bought", template.GetName(1, false), WalletHelper.ToString(totalValue)); - if (!player.RemoveMoney(totalValue, message, eChatType.CT_Merchant, eChatLoc.CL_SystemWindow)) + if (!player.Wallet.RemoveMoney(totalValue, message, eChatType.CT_Merchant, eChatLoc.CL_SystemWindow)) { throw new Exception("Money amount changed while adding items."); } diff --git a/GameServer/gameobjects/CustomNPC/ConsignmentMerchant.cs b/GameServer/gameobjects/CustomNPC/ConsignmentMerchant.cs index f378998c5c..3915229aad 100644 --- a/GameServer/gameobjects/CustomNPC/ConsignmentMerchant.cs +++ b/GameServer/gameobjects/CustomNPC/ConsignmentMerchant.cs @@ -458,9 +458,9 @@ protected virtual void BuyItem(GamePlayer player, bool usingMarketExplorer = fal } else { - if (player.GetCurrentMoney() < purchasePrice) + if (player.Wallet.GetMoney() < purchasePrice) { - ChatUtil.SendSystemMessage(player, "GameMerchant.OnPlayerBuy.YouNeed", Money.GetString(purchasePrice)); + ChatUtil.SendSystemMessage(player, "GameMerchant.OnPlayerBuy.YouNeed", WalletHelper.ToString(purchasePrice)); return; } } @@ -481,10 +481,10 @@ protected virtual void BuyItem(GamePlayer player, bool usingMarketExplorer = fal } else { - if (player.RemoveMoney(purchasePrice)) + if (player.Wallet.RemoveMoney(purchasePrice)) { InventoryLogging.LogInventoryAction(player, this, eInventoryActionType.Merchant, purchasePrice); - ChatUtil.SendMerchantMessage(player, "GameMerchant.OnPlayerBuy.Bought", item.GetName(1, false), Money.GetString(purchasePrice)); + ChatUtil.SendMerchantMessage(player, "GameMerchant.OnPlayerBuy.Bought", item.GetName(1, false), WalletHelper.ToString(purchasePrice)); } else return; diff --git a/GameServer/gameobjects/CustomNPC/EmblemNPC.cs b/GameServer/gameobjects/CustomNPC/EmblemNPC.cs index fea9fe55ee..7a1ac5d54d 100644 --- a/GameServer/gameobjects/CustomNPC/EmblemNPC.cs +++ b/GameServer/gameobjects/CustomNPC/EmblemNPC.cs @@ -127,7 +127,7 @@ protected void EmblemerDialogResponse(GamePlayer player, byte response) return; } - if (!player.RemoveMoney(EMBLEM_COST)) + if (!player.Wallet.RemoveMoney(EMBLEM_COST)) { InventoryLogging.LogInventoryAction(player, this, eInventoryActionType.Merchant, EMBLEM_COST); player.Out.SendMessage("You don't have enough money.", eChatType.CT_System, eChatLoc.CL_SystemWindow); diff --git a/GameServer/gameobjects/CustomNPC/Enchanter.cs b/GameServer/gameobjects/CustomNPC/Enchanter.cs index 46027cbf87..824bb11f89 100644 --- a/GameServer/gameobjects/CustomNPC/Enchanter.cs +++ b/GameServer/gameobjects/CustomNPC/Enchanter.cs @@ -118,7 +118,7 @@ public override bool ReceiveItem(GameLiving source, DbInventoryItem item) { player.TempProperties.SetProperty(ENCHANT_ITEM_WEAK, new WeakRef(item)); // Message: It will cost {0} to enchant that. Do you accept? - player.Client.Out.SendCustomDialog(LanguageMgr.GetTranslation(player.Client, "GameNPC.Enchanter.ReceiveItem.Cost", Money.GetString(CalculEnchantPrice(item))), new CustomDialogResponse(EnchanterDialogResponse)); + player.Client.Out.SendCustomDialog(LanguageMgr.GetTranslation(player.Client, "GameNPC.Enchanter.ReceiveItem.Cost", WalletHelper.ToString(CalculEnchantPrice(item))), new CustomDialogResponse(EnchanterDialogResponse)); } else // Message: {0} says, "That is already enchanted." @@ -173,14 +173,14 @@ protected void EnchanterDialogResponse(GamePlayer player, byte response) long Fee = CalculEnchantPrice(item); - if (player.GetCurrentMoney() < Fee) + if (player.Wallet.GetMoney() < Fee) { // Message: {0} says, "It costs {1} to enchant {2}. You don't have that much." ChatUtil.SendSayMessage(player, "GameNPC.Enchanter.Response.NotEnoughMoney", GetName(0, true), - Money.GetString(Fee), + WalletHelper.ToString(Fee), item.GetName(0, false)); - //SayTo(player, eChatLoc.CL_SystemWindow, LanguageMgr.GetTranslation(player.Client.Account.Language, "GameNPC.Enchanter.Response.NotEnoughMoney", Money.GetString(Fee))); + //SayTo(player, eChatLoc.CL_SystemWindow, LanguageMgr.GetTranslation(player.Client.Account.Language, "GameNPC.Enchanter.Response.NotEnoughMoney", WalletHelper.GetString(Fee))); return; } if (item.Level < 50) @@ -195,10 +195,10 @@ protected void EnchanterDialogResponse(GamePlayer player, byte response) // Message: You give {0} {1}. ChatUtil.SendSayMessage(player, "GameNPC.Enchanter.Response.YouGive", GetName(0, true), - Money.GetString(Fee)); + WalletHelper.ToString(Fee)); //player.Out.SendMessage(LanguageMgr.GetTranslation(player.Client.Account.Language, "GameNPC.Enchanter.Response.YouGive", - //GetName(0, false, player.Client.Account.Language, this), Money.GetString(Fee)), eChatType.CT_System, eChatLoc.CL_SystemWindow); - player.RemoveMoney(Fee, null); + //GetName(0, false, player.Client.Account.Language, this), WalletHelper.GetString(Fee)), eChatType.CT_System, eChatLoc.CL_SystemWindow); + player.Wallet.RemoveMoney(Fee, null); InventoryLogging.LogInventoryAction(player, this, eInventoryActionType.Merchant, Fee); // Message: {0} says, "There, it is now {1}!" ChatUtil.SendSayMessage(player, "GameNPC.Enchanter.Response.NowEnchanted", diff --git a/GameServer/gameobjects/CustomNPC/GameBoatStableMaster.cs b/GameServer/gameobjects/CustomNPC/GameBoatStableMaster.cs index 0387d13d38..447a34209f 100644 --- a/GameServer/gameobjects/CustomNPC/GameBoatStableMaster.cs +++ b/GameServer/gameobjects/CustomNPC/GameBoatStableMaster.cs @@ -41,9 +41,9 @@ public override void OnPlayerBuy(GamePlayer player, int item_slot, int number) lock (player.Inventory.Lock) { - if (player.GetCurrentMoney() < totalValue) + if (player.Wallet.GetMoney() < totalValue) { - player.Out.SendMessage(LanguageMgr.GetTranslation(player.Client.Account.Language, "GameMerchant.OnPlayerBuy.YouNeed", Money.GetString(totalValue)), eChatType.CT_System, eChatLoc.CL_SystemWindow); + player.Out.SendMessage(LanguageMgr.GetTranslation(player.Client.Account.Language, "GameMerchant.OnPlayerBuy.YouNeed", WalletHelper.ToString(totalValue)), eChatType.CT_System, eChatLoc.CL_SystemWindow); return; } @@ -56,12 +56,12 @@ public override void OnPlayerBuy(GamePlayer player, int item_slot, int number) //Generate the buy message string message; if (amountToBuy > 1) - message = LanguageMgr.GetTranslation(player.Client.Account.Language, "GameMerchant.OnPlayerBuy.BoughtPieces", amountToBuy, template.GetName(1, false), Money.GetString(totalValue)); + message = LanguageMgr.GetTranslation(player.Client.Account.Language, "GameMerchant.OnPlayerBuy.BoughtPieces", amountToBuy, template.GetName(1, false), WalletHelper.ToString(totalValue)); else - message = LanguageMgr.GetTranslation(player.Client.Account.Language, "GameMerchant.OnPlayerBuy.Bought", template.GetName(1, false), Money.GetString(totalValue)); + message = LanguageMgr.GetTranslation(player.Client.Account.Language, "GameMerchant.OnPlayerBuy.Bought", template.GetName(1, false), WalletHelper.ToString(totalValue)); // Check if player has enough money and subtract the money - if (!player.RemoveMoney(totalValue, message, eChatType.CT_Merchant, eChatLoc.CL_SystemWindow)) + if (!player.Wallet.RemoveMoney(totalValue, message, eChatType.CT_Merchant, eChatLoc.CL_SystemWindow)) { throw new Exception("Money amount changed while adding items."); } diff --git a/GameServer/gameobjects/CustomNPC/GameStableMaster.cs b/GameServer/gameobjects/CustomNPC/GameStableMaster.cs index 2a9894c062..cb392938f7 100644 --- a/GameServer/gameobjects/CustomNPC/GameStableMaster.cs +++ b/GameServer/gameobjects/CustomNPC/GameStableMaster.cs @@ -51,9 +51,9 @@ public override void OnPlayerBuy(GamePlayer player, int item_slot, int number) lock (player.Inventory.Lock) { - if (player.GetCurrentMoney() < totalValue) + if (player.Wallet.GetMoney() < totalValue) { - player.Out.SendMessage(LanguageMgr.GetTranslation(player.Client.Account.Language, "GameMerchant.OnPlayerBuy.YouNeed", Money.GetString(totalValue)), eChatType.CT_System, eChatLoc.CL_SystemWindow); + player.Out.SendMessage(LanguageMgr.GetTranslation(player.Client.Account.Language, "GameMerchant.OnPlayerBuy.YouNeed", WalletHelper.ToString(totalValue)), eChatType.CT_System, eChatLoc.CL_SystemWindow); return; } @@ -66,12 +66,12 @@ public override void OnPlayerBuy(GamePlayer player, int item_slot, int number) //Generate the buy message string message; if (amountToBuy > 1) - message = LanguageMgr.GetTranslation(player.Client.Account.Language, "GameMerchant.OnPlayerBuy.BoughtPieces", amountToBuy, template.GetName(1, false), Money.GetString(totalValue)); + message = LanguageMgr.GetTranslation(player.Client.Account.Language, "GameMerchant.OnPlayerBuy.BoughtPieces", amountToBuy, template.GetName(1, false), WalletHelper.ToString(totalValue)); else - message = LanguageMgr.GetTranslation(player.Client.Account.Language, "GameMerchant.OnPlayerBuy.Bought", template.GetName(1, false), Money.GetString(totalValue)); + message = LanguageMgr.GetTranslation(player.Client.Account.Language, "GameMerchant.OnPlayerBuy.Bought", template.GetName(1, false), WalletHelper.ToString(totalValue)); // Check if player has enough money and subtract the money - if (!player.RemoveMoney(totalValue, message, eChatType.CT_Merchant, eChatLoc.CL_SystemWindow)) + if (!player.Wallet.RemoveMoney(totalValue, message, eChatType.CT_Merchant, eChatLoc.CL_SystemWindow)) { throw new Exception("Money amount changed while adding items."); } diff --git a/GameServer/gameobjects/CustomNPC/Healer.cs b/GameServer/gameobjects/CustomNPC/Healer.cs index 415d2b3e94..fbc3d5c831 100644 --- a/GameServer/gameobjects/CustomNPC/Healer.cs +++ b/GameServer/gameobjects/CustomNPC/Healer.cs @@ -76,7 +76,7 @@ public override bool Interact(GamePlayer player) // Trigger custom ACCEPT/DECLINE dialog // Message: It will cost {0} to have your lost constitution restored. Do you accept? - player.Out.SendCustomDialog(LanguageMgr.GetTranslation(player.Client.Account.Language, "GameNPC.Dialog.AcceptDecline.Healer", Money.GetString(player.TotalConstitutionLostAtDeath * (long)oneConCost)), new CustomDialogResponse(HealerDialogResponse)); + player.Out.SendCustomDialog(LanguageMgr.GetTranslation(player.Client.Account.Language, "GameNPC.Dialog.AcceptDecline.Healer", WalletHelper.ToString(player.TotalConstitutionLostAtDeath * (long)oneConCost)), new CustomDialogResponse(HealerDialogResponse)); } else // No Con is missing { @@ -107,13 +107,13 @@ protected void HealerDialogResponse(GamePlayer player, byte response) long cost = player.TempProperties.GetProperty(COST_BY_PTS); player.TempProperties.RemoveProperty(COST_BY_PTS); if (cost <= 0) cost = 1; - int restorePoints = (int)Math.Min(player.TotalConstitutionLostAtDeath, player.GetCurrentMoney() / cost); + int restorePoints = (int)Math.Min(player.TotalConstitutionLostAtDeath, player.Wallet.GetMoney() / cost); if (restorePoints < 1) restorePoints = 1; // Constitution reduced by 1 at minimum long totalCost = restorePoints * cost; // Total cost to restore full Con lost // Trigger if player has sufficient money to "donate" - if (player.RemoveMoney(totalCost)) + if (player.Wallet.RemoveMoney(totalCost)) { InventoryLogging.LogInventoryAction(player, this, eInventoryActionType.Merchant, totalCost); // Deduct the cost from the player if (restorePoints == 1) @@ -123,14 +123,14 @@ protected void HealerDialogResponse(GamePlayer player, byte response) // Message: {0} restores {1} points of your lost constitution. ChatUtil.SendErrorMessage(player, "GameNPC.Interact.RestoresMoreCon.Healer", Name, restorePoints); // Message: You give {0} a donation of {1}. - ChatUtil.SendSystemMessage(player, "GameNPC.Interact.YouGiveDonation.Healer", GetPronoun(2, false, player.Client.Account.Language), Money.GetString(totalCost)); + ChatUtil.SendSystemMessage(player, "GameNPC.Interact.YouGiveDonation.Healer", GetPronoun(2, false, player.Client.Account.Language), WalletHelper.ToString(totalCost)); player.TotalConstitutionLostAtDeath -= restorePoints; // Restore lost Con player.Out.SendCharStatsUpdate(); // Update the character with the change } else // If insufficient funds available, throw "error" { // Message: {0} says, "It costs {1} to restore {2} lost constitution. You don't have that much." - ChatUtil.SendSayMessage(player, "GameNPC.Interact.NeedMoney.Healer", GetName(0, true, player.Client.Account.Language, this), Money.GetString(totalCost), restorePoints); + ChatUtil.SendSayMessage(player, "GameNPC.Interact.NeedWalletHelper.Healer", GetName(0, true, player.Client.Account.Language, this), WalletHelper.ToString(totalCost), restorePoints); } return; } diff --git a/GameServer/gameobjects/CustomNPC/Recharger.cs b/GameServer/gameobjects/CustomNPC/Recharger.cs index ff5dfabd2c..7b3b1f037c 100644 --- a/GameServer/gameobjects/CustomNPC/Recharger.cs +++ b/GameServer/gameobjects/CustomNPC/Recharger.cs @@ -99,20 +99,20 @@ public override bool ReceiveItem(GameLiving source, DbInventoryItem item) if (item.Charges < item.MaxCharges) { player.TempProperties.SetProperty(RECHARGE_ITEM_WEAK, new WeakRef(item)); - NeededMoney += (item.MaxCharges - item.Charges) * Money.GetMoney(0, 0, 10, 0, 0); + NeededMoney += (item.MaxCharges - item.Charges) * WalletHelper.ToMoney(0, 0, 10, 0, 0); } if (item.Charges1 < item.MaxCharges1) { player.TempProperties.SetProperty(RECHARGE_ITEM_WEAK, new WeakRef(item)); - NeededMoney += (item.MaxCharges1 - item.Charges1) * Money.GetMoney(0, 0, 10, 0, 0); + NeededMoney += (item.MaxCharges1 - item.Charges1) * WalletHelper.ToMoney(0, 0, 10, 0, 0); } if (NeededMoney > 0) { player.Client.Out.SendCustomDialog( LanguageMgr.GetTranslation(player.Client.Account.Language, "Scripts.Recharger.ReceiveItem.Cost", - Money.GetString(NeededMoney)), RechargerDialogResponse); + WalletHelper.ToString(NeededMoney)), RechargerDialogResponse); return true; } @@ -146,12 +146,12 @@ private void RechargerDialogResponse(GamePlayer player, byte response) } long cost = 0; - if (item.Charges < item.MaxCharges) cost += (item.MaxCharges - item.Charges) * Money.GetMoney(0, 0, 10, 0, 0); + if (item.Charges < item.MaxCharges) cost += (item.MaxCharges - item.Charges) * WalletHelper.ToMoney(0, 0, 10, 0, 0); if (item.Charges1 < item.MaxCharges1) - cost += (item.MaxCharges1 - item.Charges1) * Money.GetMoney(0, 0, 10, 0, 0); + cost += (item.MaxCharges1 - item.Charges1) * WalletHelper.ToMoney(0, 0, 10, 0, 0); - if (!player.RemoveMoney(cost)) + if (!player.Wallet.RemoveMoney(cost)) { player.Out.SendMessage( LanguageMgr.GetTranslation(player.Client.Account.Language, @@ -164,7 +164,7 @@ private void RechargerDialogResponse(GamePlayer player, byte response) player.Out.SendMessage(LanguageMgr.GetTranslation(player.Client.Account.Language, "Scripts.Recharger.RechargerDialogResponse.GiveMoney", - GetName(0, false, player.Client.Account.Language, this), Money.GetString(cost)), + GetName(0, false, player.Client.Account.Language, this), WalletHelper.ToString(cost)), eChatType.CT_System, eChatLoc.CL_SystemWindow); item.Charges = item.MaxCharges; item.Charges1 = item.MaxCharges1; @@ -192,7 +192,7 @@ private void AskRechargeAll(GamePlayer player) if (TotalCost > 0) player.Client.Out.SendCustomDialog( LanguageMgr.GetTranslation(player.Client.Account.Language, "Scripts.Recharger.ReceiveItem.Cost", - Money.GetString(TotalCost)), RechargeAll); + WalletHelper.ToString(TotalCost)), RechargeAll); else SayTo(player, eChatLoc.CL_PopupWindow, "All items are fully charged already."); @@ -216,7 +216,7 @@ private void RechargeAll(GamePlayer player, byte response) cost += CalculateCost(inventoryItem); } - if (!player.RemoveMoney(cost)) + if (!player.Wallet.RemoveMoney(cost)) { SayTo(player,eChatLoc.CL_PopupWindow, LanguageMgr.GetTranslation(player.Client.Account.Language, @@ -228,7 +228,7 @@ private void RechargeAll(GamePlayer player, byte response) player.Out.SendMessage(LanguageMgr.GetTranslation(player.Client.Account.Language, "Scripts.Recharger.RechargerDialogResponse.GiveMoney", - GetName(0, false, player.Client.Account.Language, this), Money.GetString(cost)), + GetName(0, false, player.Client.Account.Language, this), WalletHelper.ToString(cost)), eChatType.CT_System, eChatLoc.CL_SystemWindow); foreach (var inventoryItem in player.Inventory.AllItems) @@ -257,11 +257,11 @@ private long CalculateCost(DbInventoryItem item) long NeededMoney = 0; if (item.Charges < item.MaxCharges) { - NeededMoney += (item.MaxCharges - item.Charges) * Money.GetMoney(0, 0, 10, 0, 0); + NeededMoney += (item.MaxCharges - item.Charges) * WalletHelper.ToMoney(0, 0, 10, 0, 0); } if (item.Charges1 < item.MaxCharges1) { - NeededMoney += (item.MaxCharges1 - item.Charges1) * Money.GetMoney(0, 0, 10, 0, 0); + NeededMoney += (item.MaxCharges1 - item.Charges1) * WalletHelper.ToMoney(0, 0, 10, 0, 0); } var tax = NeededMoney * RECHARGE_ALL_TAX; diff --git a/GameServer/gameobjects/GameInventoryItem.cs b/GameServer/gameobjects/GameInventoryItem.cs index 6d38de3544..ccec336fe3 100644 --- a/GameServer/gameobjects/GameInventoryItem.cs +++ b/GameServer/gameobjects/GameInventoryItem.cs @@ -1778,7 +1778,7 @@ public virtual void WriteTechnicalInfo(List delve, GameClient client) } delve.Add(""); - delve.Add(" Value/Price: " + Money.GetShortString(Price) + " / " + Money.GetShortString((long)(Price * (long)ServerProperties.Properties.ITEM_SELL_RATIO * .01))); + delve.Add(" Value/Price: " + WalletHelper.ToShortString(Price) + " / " + WalletHelper.ToShortString((long)(Price * (long)ServerProperties.Properties.ITEM_SELL_RATIO * .01))); delve.Add("Count/MaxCount: " + Count + " / " + MaxCount); delve.Add(" Weight: " + (Weight / 10.0f) + "lbs"); delve.Add(" Quality: " + Quality + "%"); diff --git a/GameServer/gameobjects/GameMerchant.cs b/GameServer/gameobjects/GameMerchant.cs index 7189a02ac1..10009234e3 100644 --- a/GameServer/gameobjects/GameMerchant.cs +++ b/GameServer/gameobjects/GameMerchant.cs @@ -106,9 +106,9 @@ public virtual void OnPlayerBuy(GamePlayer player, int item_slot, int number) lock (player.Inventory.Lock) { - if (player.GetCurrentMoney() < totalValue) + if (player.Wallet.GetMoney() < totalValue) { - player.Out.SendMessage(LanguageMgr.GetTranslation(player.Client.Account.Language, "GameMerchant.OnPlayerBuy.YouNeed", Money.GetString(totalValue)), eChatType.CT_System, eChatLoc.CL_SystemWindow); + player.Out.SendMessage(LanguageMgr.GetTranslation(player.Client.Account.Language, "GameMerchant.OnPlayerBuy.YouNeed", WalletHelper.ToString(totalValue)), eChatType.CT_System, eChatLoc.CL_SystemWindow); return; } @@ -127,12 +127,12 @@ public virtual void OnPlayerBuy(GamePlayer player, int item_slot, int number) //Generate the buy message string message; if (amountToBuy > 1) - message = LanguageMgr.GetTranslation(player.Client.Account.Language, "GameMerchant.OnPlayerBuy.BoughtPieces", amountToBuy, template.GetName(1, false), Money.GetString(totalValue)); + message = LanguageMgr.GetTranslation(player.Client.Account.Language, "GameMerchant.OnPlayerBuy.BoughtPieces", amountToBuy, template.GetName(1, false), WalletHelper.ToString(totalValue)); else - message = LanguageMgr.GetTranslation(player.Client.Account.Language, "GameMerchant.OnPlayerBuy.Bought", template.GetName(1, false), Money.GetString(totalValue)); + message = LanguageMgr.GetTranslation(player.Client.Account.Language, "GameMerchant.OnPlayerBuy.Bought", template.GetName(1, false), WalletHelper.ToString(totalValue)); // Check if player has enough money and subtract the money - if (!player.RemoveMoney(totalValue, message, eChatType.CT_Merchant, eChatLoc.CL_SystemWindow)) + if (!player.Wallet.RemoveMoney(totalValue, message, eChatType.CT_Merchant, eChatLoc.CL_SystemWindow)) { throw new Exception("Money amount changed while adding items."); } @@ -161,9 +161,9 @@ public virtual void OnPlayerBuy(GamePlayer player, int item_slot, int pagenumber lock (player.Inventory.Lock) { - if (player.GetCurrentMoney() < totalValue) + if (player.Wallet.GetMoney() < totalValue) { - player.Out.SendMessage(LanguageMgr.GetTranslation(player.Client.Account.Language, "GameMerchant.OnPlayerBuy.YouNeed", Money.GetString(totalValue)), eChatType.CT_System, eChatLoc.CL_SystemWindow); + player.Out.SendMessage(LanguageMgr.GetTranslation(player.Client.Account.Language, "GameMerchant.OnPlayerBuy.YouNeed", WalletHelper.ToString(totalValue)), eChatType.CT_System, eChatLoc.CL_SystemWindow); return; } @@ -182,12 +182,12 @@ public virtual void OnPlayerBuy(GamePlayer player, int item_slot, int pagenumber //Generate the buy message string message; if (amountToBuy > 1) - message = LanguageMgr.GetTranslation(player.Client.Account.Language, "GameMerchant.OnPlayerBuy.BoughtPieces", amountToBuy, template.GetName(1, false), Money.GetString(totalValue)); + message = LanguageMgr.GetTranslation(player.Client.Account.Language, "GameMerchant.OnPlayerBuy.BoughtPieces", amountToBuy, template.GetName(1, false), WalletHelper.ToString(totalValue)); else - message = LanguageMgr.GetTranslation(player.Client.Account.Language, "GameMerchant.OnPlayerBuy.Bought", template.GetName(1, false), Money.GetString(totalValue)); + message = LanguageMgr.GetTranslation(player.Client.Account.Language, "GameMerchant.OnPlayerBuy.Bought", template.GetName(1, false), WalletHelper.ToString(totalValue)); // Check if player has enough money and subtract the money - if (!player.RemoveMoney(totalValue, message, eChatType.CT_Merchant, eChatLoc.CL_SystemWindow)) + if (!player.Wallet.RemoveMoney(totalValue, message, eChatType.CT_Merchant, eChatLoc.CL_SystemWindow)) { throw new Exception("Money amount changed while adding items."); } @@ -226,9 +226,9 @@ public static void OnPlayerBuy(GamePlayer player, int item_slot, int number, Mer lock (player.Inventory.Lock) { - if (player.GetCurrentMoney() < totalValue) + if (player.Wallet.GetMoney() < totalValue) { - player.Out.SendMessage(LanguageMgr.GetTranslation(player.Client.Account.Language, "GameMerchant.OnPlayerBuy.YouNeed", Money.GetString(totalValue)), eChatType.CT_System, eChatLoc.CL_SystemWindow); + player.Out.SendMessage(LanguageMgr.GetTranslation(player.Client.Account.Language, "GameMerchant.OnPlayerBuy.YouNeed", WalletHelper.ToString(totalValue)), eChatType.CT_System, eChatLoc.CL_SystemWindow); return; } @@ -241,12 +241,12 @@ public static void OnPlayerBuy(GamePlayer player, int item_slot, int number, Mer //Generate the buy message string message; if (amountToBuy > 1) - message = LanguageMgr.GetTranslation(player.Client.Account.Language, "GameMerchant.OnPlayerBuy.BoughtPieces", amountToBuy, template.GetName(1, false), Money.GetString(totalValue)); + message = LanguageMgr.GetTranslation(player.Client.Account.Language, "GameMerchant.OnPlayerBuy.BoughtPieces", amountToBuy, template.GetName(1, false), WalletHelper.ToString(totalValue)); else - message = LanguageMgr.GetTranslation(player.Client.Account.Language, "GameMerchant.OnPlayerBuy.Bought", template.GetName(1, false), Money.GetString(totalValue)); + message = LanguageMgr.GetTranslation(player.Client.Account.Language, "GameMerchant.OnPlayerBuy.Bought", template.GetName(1, false), WalletHelper.ToString(totalValue)); // Check if player has enough money and subtract the money - if (!player.RemoveMoney(totalValue, message, eChatType.CT_Merchant, eChatLoc.CL_SystemWindow)) + if (!player.Wallet.RemoveMoney(totalValue, message, eChatType.CT_Merchant, eChatLoc.CL_SystemWindow)) { throw new Exception("Money amount changed while adding items."); } @@ -285,8 +285,8 @@ public virtual void OnPlayerSell(GamePlayer player, DbInventoryItem item) if (player.Inventory.RemoveItem(item)) { - string message = LanguageMgr.GetTranslation(player.Client.Account.Language, "GameMerchant.OnPlayerSell.GivesYou", GetName(0, true), Money.GetString(itemValue), item.GetName(0, false)); - player.AddMoney(itemValue, message, eChatType.CT_Merchant, eChatLoc.CL_SystemWindow); + string message = LanguageMgr.GetTranslation(player.Client.Account.Language, "GameMerchant.OnPlayerSell.GivesYou", GetName(0, true), WalletHelper.ToString(itemValue), item.GetName(0, false)); + player.Wallet.AddMoney(itemValue, message, eChatType.CT_Merchant, eChatLoc.CL_SystemWindow); InventoryLogging.LogInventoryAction(player, this, eInventoryActionType.Merchant, item.Template, item.Count); InventoryLogging.LogInventoryAction(this, player, eInventoryActionType.Merchant, itemValue); return; @@ -329,7 +329,7 @@ public virtual long OnPlayerAppraise(GamePlayer player, DbInventoryItem item, bo } else { - message = LanguageMgr.GetTranslation(player.Client.Account.Language, "GameMerchant.OnPlayerAppraise.Offers", GetName(0, true), Money.GetString(val), item.GetName(0, false)); + message = LanguageMgr.GetTranslation(player.Client.Account.Language, "GameMerchant.OnPlayerAppraise.Offers", GetName(0, true), WalletHelper.ToString(val), item.GetName(0, false)); } player.Out.SendMessage(message, eChatType.CT_Merchant, eChatLoc.CL_SystemWindow); } diff --git a/GameServer/gameobjects/GameMoney.cs b/GameServer/gameobjects/GameMoney.cs index f7fec86f1d..8ca3cf2236 100644 --- a/GameServer/gameobjects/GameMoney.cs +++ b/GameServer/gameobjects/GameMoney.cs @@ -2,17 +2,12 @@ namespace DOL.GS { - public class GameMoney: GameStaticItemTimed + public class GameMoney : GameStaticItemTimed { private const string DEFAULT_NAME = "bag of coins"; private static readonly HashSet _names = [DEFAULT_NAME, "small chest", "large chest", "some copper coins"]; public long Value { get; set; } // In copper. - public int Mithril => Money.GetMithril(Value); - public int Platinum => Money.GetPlatinum(Value); - public int Gold => Money.GetGold(Value); - public int Silver => Money.GetSilver(Value); - public int Copper => Money.GetCopper(Value); public GameMoney(long value) : base() { diff --git a/GameServer/gameobjects/GamePlayer.cs b/GameServer/gameobjects/GamePlayer.cs index a937ea992b..7a50d321d0 100644 --- a/GameServer/gameobjects/GamePlayer.cs +++ b/GameServer/gameobjects/GamePlayer.cs @@ -6920,152 +6920,8 @@ public virtual bool ReceiveTradeMoney(GamePlayer source, long money) #region Money - /// - /// Player Mithril Amount - /// - public virtual int Mithril { get { return m_Mithril; } protected set { m_Mithril = value; if (DBCharacter != null) DBCharacter.Mithril = m_Mithril; }} - protected int m_Mithril = 0; - - /// - /// Player Platinum Amount - /// - public virtual int Platinum { get { return m_Platinum; } protected set { m_Platinum = value; if (DBCharacter != null) DBCharacter.Platinum = m_Platinum; }} - protected int m_Platinum = 0; - - /// - /// Player Gold Amount - /// - public virtual int Gold { get { return m_Gold; } protected set { m_Gold = value; if (DBCharacter != null) DBCharacter.Gold = m_Gold; }} - protected int m_Gold = 0; - - /// - /// Player Silver Amount - /// - public virtual int Silver { get { return m_Silver; } protected set { m_Silver = value; if (DBCharacter != null) DBCharacter.Silver = m_Silver; }} - protected int m_Silver = 0; - - /// - /// Player Copper Amount - /// - public virtual int Copper { get { return m_Copper; } protected set { m_Copper = value; if (DBCharacter != null) DBCharacter.Copper = m_Copper; }} - protected int m_Copper = 0; + public Wallet Wallet { get; private set; } - /// - /// Gets the money value this player owns - /// - /// - public virtual long GetCurrentMoney() - { - return Money.GetMoney(Mithril, Platinum, Gold, Silver, Copper); - } - - public long ApplyGuildDues(long money) - { - Guild guild = Guild; - - if (guild == null || !guild.IsGuildDuesOn()) - return money; - - long moneyToGuild = money * guild.GetGuildDuesPercent() / 100; - - if (moneyToGuild <= 0 || !guild.AddToBank(moneyToGuild, false)) - return money; - - return money - moneyToGuild; - } - - /// - /// Adds money to this player - /// - /// money to add - public virtual void AddMoney(long money) - { - AddMoney(money, null, eChatType.CT_System, eChatLoc.CL_SystemWindow); - } - - /// - /// Adds money to this player - /// - /// money to add - /// null if no message or "text {0} text" - public virtual void AddMoney(long money, string messageFormat) - { - AddMoney(money, messageFormat, eChatType.CT_System, eChatLoc.CL_SystemWindow); - } - - /// - /// Adds money to this player - /// - /// money to add - /// null if no message or "text {0} text" - /// message chat type - /// message chat location - public virtual void AddMoney(long money, string messageFormat, eChatType ct, eChatLoc cl) - { - long newMoney = GetCurrentMoney() + money; - - Copper = Money.GetCopper(newMoney); - Silver = Money.GetSilver(newMoney); - Gold = Money.GetGold(newMoney); - Platinum = Money.GetPlatinum(newMoney); - Mithril = Money.GetMithril(newMoney); - - Out.SendUpdateMoney(); - - if (messageFormat != null) - Out.SendMessage(string.Format(messageFormat, Money.GetString(money)), ct, cl); - } - - /// - /// Removes money from the player - /// - /// money value to subtract - /// true if successfull, false if player doesn't have enough money - public virtual bool RemoveMoney(long money) - { - return RemoveMoney(money, null, eChatType.CT_System, eChatLoc.CL_SystemWindow); - } - - /// - /// Removes money from the player - /// - /// money value to subtract - /// null if no message or "text {0} text" - /// true if successfull, false if player doesn't have enough money - public virtual bool RemoveMoney(long money, string messageFormat) - { - return RemoveMoney(money, messageFormat, eChatType.CT_System, eChatLoc.CL_SystemWindow); - } - - /// - /// Removes money from the player - /// - /// money value to subtract - /// null if no message or "text {0} text" - /// message chat type - /// message chat location - /// true if successfull, false if player doesn't have enough money - public virtual bool RemoveMoney(long money, string messageFormat, eChatType ct, eChatLoc cl) - { - if (money > GetCurrentMoney()) - return false; - - long newMoney = GetCurrentMoney() - money; - - Mithril = Money.GetMithril(newMoney); - Platinum = Money.GetPlatinum(newMoney); - Gold = Money.GetGold(newMoney); - Silver = Money.GetSilver(newMoney); - Copper = Money.GetCopper(newMoney); - - Out.SendUpdateMoney(); - - if (messageFormat != null && money != 0) - { - Out.SendMessage(string.Format(messageFormat, Money.GetString(money)), ct, cl); - } - return true; - } #endregion private DbInventoryItem m_useItem; @@ -10276,14 +10132,7 @@ public TryPickUpResult TryPickUpMoney(GamePlayer source, GameMoney money) return TryPickUpResult.DOES_NOT_HANDLE; } - long moneyToPlayer = ApplyGuildDues(money.Value); - - if (moneyToPlayer > 0) - { - AddMoney(moneyToPlayer, LanguageMgr.GetTranslation(Client.Account.Language, "GamePlayer.PickupObject.YouPickUp", Money.GetString(moneyToPlayer))); - InventoryLogging.LogInventoryAction("(ground)", this, eInventoryActionType.Loot, moneyToPlayer); - } - + Wallet.PickUpMoney(money.Value, false); money.RemoveFromWorld(); return TryPickUpResult.SUCCESS; } @@ -10809,11 +10658,12 @@ void HandleMoney(DbAccountXMoney moneyForRealm) moneyForRealm = newMoney; } - m_Copper = moneyForRealm.Copper; - m_Silver = moneyForRealm.Silver; - m_Gold = moneyForRealm.Gold; - m_Platinum = moneyForRealm.Platinum; - m_Mithril = moneyForRealm.Mithril; + int copper = moneyForRealm.Copper; + int silver = moneyForRealm.Silver; + int gold = moneyForRealm.Gold; + int platinum = moneyForRealm.Platinum; + int mithril = moneyForRealm.Mithril; + Wallet.LoadMoney(WalletHelper.ToMoney(mithril, platinum, gold, silver, copper)); } void HandleInventory(IList items) @@ -11145,11 +10995,12 @@ public override void SaveIntoDatabase() } else { - MoneyForRealm.Copper = Copper; - MoneyForRealm.Silver = Silver; - MoneyForRealm.Gold = Gold; - MoneyForRealm.Platinum = Platinum; - MoneyForRealm.Mithril = Mithril; + var (mithril, platinum, gold, silver, copper) = WalletHelper.ToMoneyParts(Wallet.GetMoney()); + MoneyForRealm.Copper = copper; + MoneyForRealm.Silver = silver; + MoneyForRealm.Gold = gold; + MoneyForRealm.Platinum = platinum; + MoneyForRealm.Mithril = mithril; GameServer.Database.SaveObject(MoneyForRealm); } @@ -12934,62 +12785,9 @@ public virtual void UpdateCurrentTitle() #endregion - #region Achievements - - public void Achieve(string achievementName, int count = 1) - { - //DOL.Database.Achievement - DbAchievement achievement = DOLDB.SelectObject(DB.Column("AccountID").IsEqualTo(this.Client.Account.ObjectId).And(DB.Column("Realm").IsEqualTo((int)this.Realm)).And(DB.Column("AchievementName").IsEqualTo(achievementName))); - - if (achievement == null) - { - achievement = new DbAchievement(); - achievement.AccountId = this.Client.Account.ObjectId; - achievement.AchievementName = achievementName; - achievement.Realm = (int) this.Realm; - achievement.Count = count; - GameServer.Database.AddObject(achievement); - return; - } - - achievement.Count += count; - GameServer.Database.SaveObject(achievement); - } + #region KillStatsAndAchievement - public void SetAchievementTo(string achievementName, int value) - { - //DOL.Database.Achievement - DbAchievement achievement = DOLDB.SelectObject(DB.Column("AccountID").IsEqualTo(this.Client.Account.ObjectId).And(DB.Column("Realm").IsEqualTo((int)this.Realm)).And(DB.Column("AchievementName").IsEqualTo(achievementName))); - - if (achievement == null) - { - achievement = new DbAchievement(); - achievement.AccountId = this.Client.Account.ObjectId; - achievement.AchievementName = achievementName; - achievement.Realm = (int) this.Realm; - achievement.Count = value; - GameServer.Database.AddObject(achievement); - return; - } - - achievement.Count = value; - GameServer.Database.SaveObject(achievement); - } - - public int GetAchievementProgress(string achievementName) - { - DbAchievement achievement = DOLDB.SelectObject(DB.Column("AccountID") - .IsEqualTo(this.Client.Account.ObjectId).And(DB.Column("Realm").IsEqualTo((int)this.Realm)).And(DB.Column("AchievementName").IsEqualTo(achievementName))); - - if (achievement == null) - return 0; - else - return achievement.Count; - } - - #endregion - - #region Statistics + private readonly Lock _killStatsAndAchievementLock = new(); public virtual int KillsAlbionPlayers { @@ -13183,11 +12981,64 @@ public virtual int KillsEpicBoss } } - private readonly Lock _killStatsOnPlayerKillLock = new(); + public void Achieve(string achievementName, int count = 1) + { + lock (_killStatsAndAchievementLock) + { + DbAchievement achievement = DOLDB.SelectObject(DB.Column("AccountID").IsEqualTo(this.Client.Account.ObjectId).And(DB.Column("Realm").IsEqualTo((int)this.Realm)).And(DB.Column("AchievementName").IsEqualTo(achievementName))); + + if (achievement == null) + { + achievement = new DbAchievement(); + achievement.AccountId = this.Client.Account.ObjectId; + achievement.AchievementName = achievementName; + achievement.Realm = (int) this.Realm; + achievement.Count = count; + GameServer.Database.AddObject(achievement); + return; + } + + achievement.Count += count; + GameServer.Database.SaveObject(achievement); + } + } + + public void SetAchievementTo(string achievementName, int value) + { + lock (_killStatsAndAchievementLock) + { + DbAchievement achievement = DOLDB.SelectObject(DB.Column("AccountID").IsEqualTo(this.Client.Account.ObjectId).And(DB.Column("Realm").IsEqualTo((int)this.Realm)).And(DB.Column("AchievementName").IsEqualTo(achievementName))); + + if (achievement == null) + { + achievement = new DbAchievement(); + achievement.AccountId = this.Client.Account.ObjectId; + achievement.AchievementName = achievementName; + achievement.Realm = (int) this.Realm; + achievement.Count = value; + GameServer.Database.AddObject(achievement); + return; + } + + achievement.Count = value; + GameServer.Database.SaveObject(achievement); + } + } + + public int GetAchievementProgress(string achievementName) + { + DbAchievement achievement = DOLDB.SelectObject(DB.Column("AccountID") + .IsEqualTo(this.Client.Account.ObjectId).And(DB.Column("Realm").IsEqualTo((int)this.Realm)).And(DB.Column("AchievementName").IsEqualTo(achievementName))); + + if (achievement == null) + return 0; + else + return achievement.Count; + } public void UpdateKillStatsOnPlayerKill(eRealm killedPlayerRealm, bool deathBlow, bool soloKill, int realmPointsEarned) { - lock (_killStatsOnPlayerKillLock) + lock (_killStatsAndAchievementLock) { if (realmPointsEarned > 0) m_statistics.AddToRealmPointsEarnedFromKills((uint) realmPointsEarned); @@ -14081,6 +13932,7 @@ public GamePlayer(GameClient client, DbCoreCharacter dbChar) : base() m_lastUniqueLocations = new GameLocation[4]; CreateInventory(); + Wallet = new(this); m_characterClass = new DefaultCharacterClass(); m_groupIndex = 0xFF; diff --git a/GameServer/gameutils/Group.cs b/GameServer/gameutils/Group.cs index f7938eb811..584d3c3046 100644 --- a/GameServer/gameutils/Group.cs +++ b/GameServer/gameutils/Group.cs @@ -664,18 +664,9 @@ public TryPickUpResult TryPickUpMoney(GamePlayer source, GameMoney money) static void SplitMoneyBetweenEligibleMembers(List eligibleMembers, GameMoney money) { long splitMoney = (long) Math.Ceiling((double) money.Value / eligibleMembers.Count); - long moneyToPlayer; foreach (GamePlayer eligibleMember in eligibleMembers) - { - moneyToPlayer = eligibleMember.ApplyGuildDues(splitMoney); - - if (moneyToPlayer > 0) - { - eligibleMember.AddMoney(moneyToPlayer, LanguageMgr.GetTranslation(eligibleMember.Client.Account.Language, eligibleMembers.Count > 1 ? "GamePlayer.PickupObject.YourLootShare" : "GamePlayer.PickupObject.YouPickUp", Money.GetString(splitMoney))); - InventoryLogging.LogInventoryAction("(ground)", eligibleMember, eInventoryActionType.Loot, splitMoney); - } - } + eligibleMember.Wallet.PickUpMoney(splitMoney, true); } } diff --git a/GameServer/gameutils/Guild.cs b/GameServer/gameutils/Guild.cs index 074e472e34..fd3c7272e2 100644 --- a/GameServer/gameutils/Guild.cs +++ b/GameServer/gameutils/Guild.cs @@ -253,7 +253,7 @@ public void DepositToBank(GamePlayer player, long amount) } } - if (!player.RemoveMoney(amount)) + if (!player.Wallet.RemoveMoney(amount)) { player.Out.SendMessage("You don't have this amount of money !", eChatType.CT_Important, eChatLoc.CL_SystemWindow); return; @@ -297,7 +297,7 @@ public void WithdrawFromBank(GamePlayer player, long amount) } } - string stringAmount = Money.GetString(amount); + string stringAmount = WalletHelper.ToString(amount); player.Out.SendMessage(LanguageMgr.GetTranslation(player.Client, "Scripts.Player.Guild.WithdrawAmount", stringAmount), eChatType.CT_Loot, eChatLoc.CL_SystemWindow); foreach (GamePlayer guildPlayer in GetListOfOnlineMembers()) @@ -307,7 +307,7 @@ public void WithdrawFromBank(GamePlayer player, long amount) } ChangeBank(newBank, true); - player.AddMoney(amount); + player.Wallet.AddMoney(amount); InventoryLogging.LogInventoryAction($"(GUILD;{Name})", player, eInventoryActionType.Other, amount); player.SaveIntoDatabase(); return; diff --git a/GameServer/gameutils/GuildMgr.cs b/GameServer/gameutils/GuildMgr.cs index 69a92e7a87..f88f389e66 100644 --- a/GameServer/gameutils/GuildMgr.cs +++ b/GameServer/gameutils/GuildMgr.cs @@ -215,7 +215,7 @@ public static void ChangeGuildEmblem(GamePlayer player, int oldEmblem, int newEm if (oldEmblem != 0) { - player.RemoveMoney(COST_RE_EMBLEM, null); + player.Wallet.RemoveMoney(COST_RE_EMBLEM, null); InventoryLogging.LogInventoryAction(player, $"(GUILD;{guild.Name})", eInventoryActionType.Other, COST_RE_EMBLEM); // Update guild house emblem. diff --git a/GameServer/gameutils/Money.cs b/GameServer/gameutils/Money.cs deleted file mode 100644 index 773eca4869..0000000000 --- a/GameServer/gameutils/Money.cs +++ /dev/null @@ -1,195 +0,0 @@ -/* - * DAWN OF LIGHT - The first free open source DAoC server emulator - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - * - */ -using System.Text; -using DOL.GS.ServerProperties; -using DOL.Language; - -namespace DOL.GS -{ - /// - /// capsulate money operations - /// currently there is no instance of Money - /// use long instead - /// - public class Money - { - private Money() - { - } - - // 11111111111 - // 550000000 // 11111111111 - - public static int GetMithril(long money) - { - return (int)(money / 100L / 100L / 1000L / 1000L % 1000L); - } - - public static int GetPlatinum(long money) - { - return (int)(money / 100L / 100L / 1000L % 1000L); - } - - public static int GetGold(long money) - { - return (int)(money / 100L / 100L % 1000L); - } - - public static int GetSilver(long money) - { - return (int)(money / 100L % 100L); - } - - public static int GetCopper(long money) - { - return (int)(money % 100L); - } - - public static long GetMoney(int mithril, int platinum, int gold, int silver, int copper) - { - return ((((long)mithril * 1000L + (long)platinum) * 1000L + (long)gold) * 100L + (long)silver) * 100L + (long)copper; - } - - /// - /// return different formatted strings for money - /// - /// - /// - public static string GetString(long money) - { - if (money == 0) - return LanguageMgr.GetTranslation(Properties.SERV_LANGUAGE, "Money.GetString.Text1"); - - int copper = GetCopper(money); - int silver = GetSilver(money); - int gold = GetGold(money); - int platin = GetPlatinum(money); - int mithril = GetMithril(money); - - var res = new StringBuilder(); - if (mithril != 0) - { - res.Append(mithril); - res.Append(" "); - res.Append(LanguageMgr.GetTranslation(Properties.SERV_LANGUAGE, "Money.GetString.Text2")); - res.Append(" "); - } - if (platin != 0) - { - res.Append(platin); - res.Append(" "); - res.Append(LanguageMgr.GetTranslation(Properties.SERV_LANGUAGE, "Money.GetString.Text3")); - res.Append(" "); - } - if (gold != 0) - { - res.Append(gold); - res.Append(" "); - res.Append(LanguageMgr.GetTranslation(Properties.SERV_LANGUAGE, "Money.GetString.Text4")); - res.Append(" "); - } - if (silver != 0) - { - res.Append(silver); - res.Append(" "); - res.Append(LanguageMgr.GetTranslation(Properties.SERV_LANGUAGE, "Money.GetString.Text5")); - res.Append(" "); - } - if (copper != 0) - { - res.Append(copper); - res.Append(" "); - res.Append(LanguageMgr.GetTranslation(Properties.SERV_LANGUAGE, "Money.GetString.Text6")); - res.Append(" "); - } - - // remove last comma - if (res.Length > 1) - res.Length -= 2; - - return res.ToString(); - } - - public static string GetShortString(long money) - { - if (money == 0) - return LanguageMgr.GetTranslation(Properties.SERV_LANGUAGE, "Money.GetString.Text1"); - - int copper = GetCopper(money); - int silver = GetSilver(money); - int gold = GetGold(money); - int platin = GetPlatinum(money); - int mithril = GetMithril(money); - - var res = new StringBuilder(); - if (mithril != 0) - { - res.Append(mithril); - res.Append("m, "); - } - if (platin != 0) - { - res.Append(platin); - res.Append("p, "); - } - if (gold != 0) - { - res.Append(gold); - res.Append("g, "); - } - if (silver != 0) - { - res.Append(silver); - res.Append("s, "); - } - if (copper != 0) - { - res.Append(copper); - res.Append("c, "); - } - - // remove last comma - if (res.Length > 1) - res.Length -= 2; - - return res.ToString(); - } - - /// - /// Calculate an approximate price for given level and quality - /// - /// - /// - /// - public static long SetAutoPrice(int level, int quality) - { - int levelmod = level * level * level; - - double dCopper = (levelmod / 0.6); // level 50, 100 quality; worth aprox 20 gold, sells for 10 gold - double dQuality = quality / 100.0; - - dCopper = dCopper * dQuality * dQuality * dQuality * dQuality * dQuality * dQuality; - - if (dCopper < 2) - dCopper = 2; - - return (long)dCopper; - } - } -} \ No newline at end of file diff --git a/GameServer/gameutils/PlayerTradeWindow.cs b/GameServer/gameutils/PlayerTradeWindow.cs index a2c9d20bdc..40b6c52278 100644 --- a/GameServer/gameutils/PlayerTradeWindow.cs +++ b/GameServer/gameutils/PlayerTradeWindow.cs @@ -415,8 +415,8 @@ public bool AcceptTrade() logTrade = true; //Test if we and our partner have enough money - bool enoughMoney = m_owner.RemoveMoney(TradeMoney); - bool partnerEnoughMoney = partner.RemoveMoney(m_partnerWindow.TradeMoney); + bool enoughMoney = m_owner.Wallet.RemoveMoney(TradeMoney); + bool partnerEnoughMoney = partner.Wallet.RemoveMoney(m_partnerWindow.TradeMoney); //Check the preconditions if (!enoughMoney || !partnerEnoughMoney) @@ -427,7 +427,7 @@ public bool AcceptTrade() TradeMoney = 0; if (partnerEnoughMoney) { - partner.AddMoney(m_partnerWindow.TradeMoney); + partner.Wallet.AddMoney(m_partnerWindow.TradeMoney); InventoryLogging.LogInventoryAction(partner, m_owner, eInventoryActionType.Trade, m_partnerWindow.TradeMoney); } @@ -440,7 +440,7 @@ public bool AcceptTrade() m_partnerWindow.TradeMoney = 0; if (enoughMoney) { - m_owner.AddMoney(TradeMoney); + m_owner.Wallet.AddMoney(TradeMoney); InventoryLogging.LogInventoryAction(m_owner, partner, eInventoryActionType.Trade, TradeMoney); } @@ -528,8 +528,8 @@ public bool AcceptTrade() TradeUpdate(); //This was already removed above, needs to be returned to the players on trade failure. - m_owner.AddMoney(TradeMoney); - partner.AddMoney(m_partnerWindow.TradeMoney); + m_owner.Wallet.AddMoney(TradeMoney); + partner.Wallet.AddMoney(m_partnerWindow.TradeMoney); return false; } @@ -688,8 +688,8 @@ public bool AcceptTrade() if (TradeMoney > 0 || m_partnerWindow.TradeMoney > 0) { //Now add the money - m_owner.AddMoney(m_partnerWindow.TradeMoney, "You get {0}."); - partner.AddMoney(TradeMoney, "You get {0}."); + m_owner.Wallet.AddMoney(m_partnerWindow.TradeMoney, "You get {0}."); + partner.Wallet.AddMoney(TradeMoney, "You get {0}."); InventoryLogging.LogInventoryAction(m_owner, partner, eInventoryActionType.Trade, TradeMoney); InventoryLogging.LogInventoryAction(partner, m_owner, eInventoryActionType.Trade, m_partnerWindow.TradeMoney); m_owner.SaveIntoDatabase(); diff --git a/GameServer/gameutils/Wallet.cs b/GameServer/gameutils/Wallet.cs new file mode 100644 index 0000000000..336f1f4c6a --- /dev/null +++ b/GameServer/gameutils/Wallet.cs @@ -0,0 +1,276 @@ +using System; +using System.Text; +using System.Threading; +using DOL.GS.PacketHandler; +using DOL.GS.ServerProperties; +using DOL.Language; + +namespace DOL.GS +{ + public class Wallet + { + private readonly GamePlayer _player; + private readonly Lock _lock = new(); + private long _amount; + + public Wallet(GamePlayer player) + { + _player = player; + } + + public long GetMoney() + { + return Volatile.Read(ref _amount); + } + + public void LoadMoney(long amount) + { + if (GetMoney() > 0) + throw new InvalidOperationException("Money has already been loaded into the wallet."); + + if (amount < 0) + throw new ArgumentOutOfRangeException(nameof(amount), "Amount cannot be negative."); + + if (amount > 0) + ChangeMoney(amount, null); + } + + public void PickUpMoney(long amount, bool isSplitMoney) + { + if (amount < 0) + throw new ArgumentOutOfRangeException(nameof(amount), "Amount cannot be negative."); + + long zoneBonus = GetZoneBonus(amount); // Zone bonus is calculated before guild dues are applied. + amount = ApplyGuildDues(amount); + long totalMoney = zoneBonus + amount; + + if (zoneBonus > 0) + AddMoney(zoneBonus, ZoneBonus.GetBonusMessage(_player, zoneBonus, ZoneBonusType.Money), eChatType.CT_Important, eChatLoc.CL_SystemWindow); + + if (amount > 0) + AddMoney(amount, LanguageMgr.GetTranslation(_player.Client.Account.Language, isSplitMoney ? "GamePlayer.PickupObject.YourLootShare" : "GamePlayer.PickupObject.YouPickUp", WalletHelper.ToString(amount))); + + if (totalMoney > 0) + InventoryLogging.LogInventoryAction("(ground)", _player, eInventoryActionType.Loot, totalMoney); + } + + public void AddMoney(long money) + { + AddMoney(money, null, eChatType.CT_System, eChatLoc.CL_SystemWindow); + } + + public void AddMoney(long money, string messageFormat) + { + AddMoney(money, messageFormat, eChatType.CT_System, eChatLoc.CL_SystemWindow); + } + + public void AddMoney(long money, string messageFormat, eChatType chatType, eChatLoc chatLock) + { + ChangeMoney(money, messageFormat, chatType, chatLock); + } + + public bool RemoveMoney(long money) + { + return RemoveMoney(money, null, eChatType.CT_System, eChatLoc.CL_SystemWindow); + } + + public bool RemoveMoney(long money, string messageFormat) + { + return RemoveMoney(money, messageFormat, eChatType.CT_System, eChatLoc.CL_SystemWindow); + } + + public bool RemoveMoney(long money, string messageFormat, eChatType chatType, eChatLoc chatLoc) + { + return ChangeMoney(-money, messageFormat, chatType, chatLoc); + } + + private bool ChangeMoney(long money, string messageFormat) + { + return ChangeMoney(money, messageFormat, eChatType.CT_System, eChatLoc.CL_SystemWindow); + } + + private bool ChangeMoney(long money, string messageFormat, eChatType chatType, eChatLoc chatLoc) + { + lock (_lock) + { + long newMoney = _amount + money; + + if (newMoney < 0) + return false; + + _amount = newMoney; + + if (_player.DBCharacter != null) + { + var (mithril, platinum, gold, silver, copper) = WalletHelper.ToMoneyParts(newMoney); + _player.DBCharacter.Mithril = mithril; + _player.DBCharacter.Platinum = platinum; + _player.DBCharacter.Gold = gold; + _player.DBCharacter.Silver = silver; + _player.DBCharacter.Copper = copper; + } + } + + _player.Out.SendUpdateMoney(); + + if (messageFormat != null && money != 0) + _player.Out.SendMessage(string.Format(messageFormat, WalletHelper.ToString(money)), chatType, chatLoc); + + return true; + } + + private long GetZoneBonus(long money) + { + return Properties.ENABLE_ZONE_BONUSES ? (long) (money * ZoneBonus.GetCoinBonus(_player) * 0.01) : 0; + } + + private long ApplyGuildDues(long money) + { + Guild guild = _player.Guild; + + if (guild == null || !guild.IsGuildDuesOn()) + return money; + + long moneyToGuild = money * guild.GetGuildDuesPercent() / 100; + return moneyToGuild <= 0 || !guild.AddToBank(moneyToGuild, false) ? money : money - moneyToGuild; + } + } + + public static class WalletHelper + { + public static long ToMoney(int mithril, int platinum, int gold, int silver, int copper) + { + return (((mithril * 1000L + platinum) * 1000L + gold) * 100L + silver) * 100L + copper; + } + + public static (ushort mithril, ushort platinum, ushort gold, byte silver, byte copper) ToMoneyParts(long money) + { + byte copper = (byte) (money % 100); + money /= 100; + + byte silver = (byte) (money % 100); + money /= 100; + + ushort gold = (ushort) (money % 1000); + money /= 1000; + + ushort platinum = (ushort) (money % 1000); + money /= 1000; + + ushort mithril = (ushort) (money % 1000); + return (mithril, platinum, gold, silver, copper); + } + + public static long CalculateAutoPrice(int level, int quality) + { + double qualityMod = quality / 100.0; + double copper = level * level * level / 0.6; // Level 50, 100 quality; worth approximately 20 gold, sells for 10 gold. + copper = copper * qualityMod * qualityMod * qualityMod * qualityMod * qualityMod * qualityMod; + + if (copper < 2) + copper = 2; + + return (long) copper; + } + + public static string ToString(long money) + { + if (money == 0) + return LanguageMgr.GetTranslation(Properties.SERV_LANGUAGE, "WalletHelper.GetString.Text1"); + + var (mithril, platinum, gold, silver, copper) = ToMoneyParts(money); + StringBuilder result = new(); + + if (mithril != 0) + { + result.Append(mithril); + result.Append(' '); + result.Append(LanguageMgr.GetTranslation(Properties.SERV_LANGUAGE, "WalletHelper.GetString.Text2")); + result.Append(' '); + } + + if (platinum != 0) + { + result.Append(platinum); + result.Append(' '); + result.Append(LanguageMgr.GetTranslation(Properties.SERV_LANGUAGE, "WalletHelper.GetString.Text3")); + result.Append(' '); + } + + if (gold != 0) + { + result.Append(gold); + result.Append(' '); + result.Append(LanguageMgr.GetTranslation(Properties.SERV_LANGUAGE, "WalletHelper.GetString.Text4")); + result.Append(' '); + } + + if (silver != 0) + { + result.Append(silver); + result.Append(' '); + result.Append(LanguageMgr.GetTranslation(Properties.SERV_LANGUAGE, "WalletHelper.GetString.Text5")); + result.Append(' '); + } + + if (copper != 0) + { + result.Append(copper); + result.Append(' '); + result.Append(LanguageMgr.GetTranslation(Properties.SERV_LANGUAGE, "WalletHelper.GetString.Text6")); + result.Append(' '); + } + + // Remove last comma. + if (result.Length > 1) + result.Length -= 2; + + return result.ToString(); + } + + public static string ToShortString(long money) + { + if (money == 0) + return LanguageMgr.GetTranslation(Properties.SERV_LANGUAGE, "WalletHelper.GetString.Text1"); + + var (mithril, platinum, gold, silver, copper) = ToMoneyParts(money); + StringBuilder result = new(); + + if (mithril != 0) + { + result.Append(mithril); + result.Append("m, "); + } + + if (platinum != 0) + { + result.Append(platinum); + result.Append("p, "); + } + + if (gold != 0) + { + result.Append(gold); + result.Append("g, "); + } + + if (silver != 0) + { + result.Append(silver); + result.Append("s, "); + } + + if (copper != 0) + { + result.Append(copper); + result.Append("c, "); + } + + // Remove last comma. + if (result.Length > 1) + result.Length -= 2; + + return result.ToString(); + } + } +} diff --git a/GameServer/housing/House.cs b/GameServer/housing/House.cs index 5fc05d12c8..47b30ebc3b 100644 --- a/GameServer/housing/House.cs +++ b/GameServer/housing/House.cs @@ -443,9 +443,9 @@ public void SendHouseInfo(GamePlayer player) text.Add(LanguageMgr.GetTranslation(player.Client.Account.Language, "House.SendHouseInfo.Level", "Lot")); text.Add(" "); - text.Add(LanguageMgr.GetTranslation(player.Client.Account.Language, "House.SendHouseInfo.Lockbox", Money.GetString(KeptMoney))); - text.Add(LanguageMgr.GetTranslation(player.Client.Account.Language, "House.SendHouseInfo.RentalPrice", Money.GetString(HouseMgr.GetRentByModel(Model)))); - text.Add(LanguageMgr.GetTranslation(player.Client.Account.Language, "House.SendHouseInfo.MaxLockbox", Money.GetString(HouseMgr.GetRentByModel(Model) * ServerProperties.Properties.RENT_LOCKBOX_PAYMENTS))); + text.Add(LanguageMgr.GetTranslation(player.Client.Account.Language, "House.SendHouseInfo.Lockbox", WalletHelper.ToString(KeptMoney))); + text.Add(LanguageMgr.GetTranslation(player.Client.Account.Language, "House.SendHouseInfo.RentalPrice", WalletHelper.ToString(HouseMgr.GetRentByModel(Model)))); + text.Add(LanguageMgr.GetTranslation(player.Client.Account.Language, "House.SendHouseInfo.MaxLockbox", WalletHelper.ToString(HouseMgr.GetRentByModel(Model) * ServerProperties.Properties.RENT_LOCKBOX_PAYMENTS))); if (ServerProperties.Properties.RENT_DUE_DAYS > 0) text.Add(LanguageMgr.GetTranslation(player.Client.Account.Language, "House.SendHouseInfo.RentDueIn", due.Days, due.Hours)); else @@ -970,14 +970,14 @@ public void Edit(GamePlayer player, List changes) } // make sure player has enough money to cover the changes - if (!player.RemoveMoney(price)) + if (!player.Wallet.RemoveMoney(price)) { InventoryLogging.LogInventoryAction(player, "(HOUSE;" + HouseNumber + ")", eInventoryActionType.Merchant, price); ChatUtil.SendMerchantMessage(player, "House.Edit.NotEnoughMoney", null); return; } - ChatUtil.SendSystemMessage(player, "House.Edit.PayForChanges", Money.GetString(price)); + ChatUtil.SendSystemMessage(player, "House.Edit.PayForChanges", WalletHelper.ToString(price)); // make all the changes foreach (int slot in changes) diff --git a/GameServer/housing/LotMarker.cs b/GameServer/housing/LotMarker.cs index ae41666d7a..500102fe7e 100644 --- a/GameServer/housing/LotMarker.cs +++ b/GameServer/housing/LotMarker.cs @@ -30,7 +30,7 @@ public override IList GetExamineMessages(GamePlayer player) if (string.IsNullOrEmpty(DatabaseItem.OwnerID)) { - list.Add(" It can be bought for " + Money.GetString(HouseTemplateMgr.GetLotPrice(DatabaseItem)) + "."); + list.Add(" It can be bought for " + WalletHelper.ToString(HouseTemplateMgr.GetLotPrice(DatabaseItem)) + "."); } else if (!string.IsNullOrEmpty(DatabaseItem.Name)) { @@ -58,7 +58,7 @@ public override bool Interact(GamePlayer player) } if (string.IsNullOrEmpty(DatabaseItem.OwnerID)) - player.Out.SendCustomDialog($"Do you want to buy this lot?\nIt costs {Money.GetString(HouseTemplateMgr.GetLotPrice(DatabaseItem))}.\nYou won't be able to delete this character.", BuyLot); + player.Out.SendCustomDialog($"Do you want to buy this lot?\nIt costs {WalletHelper.ToString(HouseTemplateMgr.GetLotPrice(DatabaseItem))}.\nYou won't be able to delete this character.", BuyLot); else { if (HouseMgr.IsOwner(DatabaseItem, player)) @@ -87,7 +87,7 @@ private void BuyLot(GamePlayer player, byte response) } long totalCost = HouseTemplateMgr.GetLotPrice(DatabaseItem); - if (player.RemoveMoney(totalCost, "You just bought this lot for {0}.", + if (player.Wallet.RemoveMoney(totalCost, "You just bought this lot for {0}.", eChatType.CT_Merchant, eChatLoc.CL_SystemWindow)) { InventoryLogging.LogInventoryAction(player, this, eInventoryActionType.Merchant, totalCost); diff --git a/GameServer/keeps/Gameobjects/Guards/GameGuardMerchant.cs b/GameServer/keeps/Gameobjects/Guards/GameGuardMerchant.cs index 6f3faed977..cd14ffe54c 100644 --- a/GameServer/keeps/Gameobjects/Guards/GameGuardMerchant.cs +++ b/GameServer/keeps/Gameobjects/Guards/GameGuardMerchant.cs @@ -113,11 +113,11 @@ public virtual void OnPlayerBuy(GamePlayer player, int item_slot, int number) lock (player.Inventory.Lock) { - if (player.GetCurrentMoney() < totalValue) + if (player.Wallet.GetMoney() < totalValue) { player.Out.SendMessage( LanguageMgr.GetTranslation(player.Client.Account.Language, "GameMerchant.OnPlayerBuy.YouNeed", - Money.GetString(totalValue)), eChatType.CT_System, eChatLoc.CL_SystemWindow); + WalletHelper.ToString(totalValue)), eChatType.CT_System, eChatLoc.CL_SystemWindow); return; } @@ -146,13 +146,13 @@ public virtual void OnPlayerBuy(GamePlayer player, int item_slot, int number) if (amountToBuy > 1) message = LanguageMgr.GetTranslation(player.Client.Account.Language, "GameMerchant.OnPlayerBuy.BoughtPieces", amountToBuy, template.GetName(1, false), - Money.GetString(totalValue)); + WalletHelper.ToString(totalValue)); else message = LanguageMgr.GetTranslation(player.Client.Account.Language, - "GameMerchant.OnPlayerBuy.Bought", template.GetName(1, false), Money.GetString(totalValue)); + "GameMerchant.OnPlayerBuy.Bought", template.GetName(1, false), WalletHelper.ToString(totalValue)); // Check if player has enough money and subtract the money - if (!player.RemoveMoney(totalValue, message, eChatType.CT_Merchant, eChatLoc.CL_SystemWindow)) + if (!player.Wallet.RemoveMoney(totalValue, message, eChatType.CT_Merchant, eChatLoc.CL_SystemWindow)) { throw new Exception("Money amount changed while adding items."); } @@ -182,11 +182,11 @@ public virtual void OnPlayerBuy(GamePlayer player, int item_slot, int pagenumber lock (player.Inventory.Lock) { - if (player.GetCurrentMoney() < totalValue) + if (player.Wallet.GetMoney() < totalValue) { player.Out.SendMessage( LanguageMgr.GetTranslation(player.Client.Account.Language, "GameMerchant.OnPlayerBuy.YouNeed", - Money.GetString(totalValue)), eChatType.CT_System, eChatLoc.CL_SystemWindow); + WalletHelper.ToString(totalValue)), eChatType.CT_System, eChatLoc.CL_SystemWindow); return; } @@ -215,13 +215,13 @@ public virtual void OnPlayerBuy(GamePlayer player, int item_slot, int pagenumber if (amountToBuy > 1) message = LanguageMgr.GetTranslation(player.Client.Account.Language, "GameMerchant.OnPlayerBuy.BoughtPieces", amountToBuy, template.GetName(1, false), - Money.GetString(totalValue)); + WalletHelper.ToString(totalValue)); else message = LanguageMgr.GetTranslation(player.Client.Account.Language, - "GameMerchant.OnPlayerBuy.Bought", template.GetName(1, false), Money.GetString(totalValue)); + "GameMerchant.OnPlayerBuy.Bought", template.GetName(1, false), WalletHelper.ToString(totalValue)); // Check if player has enough money and subtract the money - if (!player.RemoveMoney(totalValue, message, eChatType.CT_Merchant, eChatLoc.CL_SystemWindow)) + if (!player.Wallet.RemoveMoney(totalValue, message, eChatType.CT_Merchant, eChatLoc.CL_SystemWindow)) { throw new Exception("Money amount changed while adding items."); } @@ -261,11 +261,11 @@ public static void OnPlayerBuy(GamePlayer player, int item_slot, int number, Mer lock (player.Inventory.Lock) { - if (player.GetCurrentMoney() < totalValue) + if (player.Wallet.GetMoney() < totalValue) { player.Out.SendMessage( LanguageMgr.GetTranslation(player.Client.Account.Language, "GameMerchant.OnPlayerBuy.YouNeed", - Money.GetString(totalValue)), eChatType.CT_System, eChatLoc.CL_SystemWindow); + WalletHelper.ToString(totalValue)), eChatType.CT_System, eChatLoc.CL_SystemWindow); return; } @@ -286,13 +286,13 @@ public static void OnPlayerBuy(GamePlayer player, int item_slot, int number, Mer if (amountToBuy > 1) message = LanguageMgr.GetTranslation(player.Client.Account.Language, "GameMerchant.OnPlayerBuy.BoughtPieces", amountToBuy, template.GetName(1, false), - Money.GetString(totalValue)); + WalletHelper.ToString(totalValue)); else message = LanguageMgr.GetTranslation(player.Client.Account.Language, - "GameMerchant.OnPlayerBuy.Bought", template.GetName(1, false), Money.GetString(totalValue)); + "GameMerchant.OnPlayerBuy.Bought", template.GetName(1, false), WalletHelper.ToString(totalValue)); // Check if player has enough money and subtract the money - if (!player.RemoveMoney(totalValue, message, eChatType.CT_Merchant, eChatLoc.CL_SystemWindow)) + if (!player.Wallet.RemoveMoney(totalValue, message, eChatType.CT_Merchant, eChatLoc.CL_SystemWindow)) { throw new Exception("Money amount changed while adding items."); } @@ -341,9 +341,9 @@ public virtual void OnPlayerSell(GamePlayer player, DbInventoryItem item) if (player.Inventory.RemoveItem(item)) { string message = LanguageMgr.GetTranslation(player.Client.Account.Language, - "GameMerchant.OnPlayerSell.GivesYou", GetName(0, true), Money.GetString(itemValue), + "GameMerchant.OnPlayerSell.GivesYou", GetName(0, true), WalletHelper.ToString(itemValue), item.GetName(0, false)); - player.AddMoney(itemValue, message, eChatType.CT_Merchant, eChatLoc.CL_SystemWindow); + player.Wallet.AddMoney(itemValue, message, eChatType.CT_Merchant, eChatLoc.CL_SystemWindow); InventoryLogging.LogInventoryAction(player, this, eInventoryActionType.Merchant, item.Template, item.Count); InventoryLogging.LogInventoryAction(this, player, eInventoryActionType.Merchant, itemValue); @@ -391,7 +391,7 @@ public virtual long OnPlayerAppraise(GamePlayer player, DbInventoryItem item, bo else { message = LanguageMgr.GetTranslation(player.Client.Account.Language, - "GameMerchant.OnPlayerAppraise.Offers", GetName(0, true), Money.GetString(val), + "GameMerchant.OnPlayerAppraise.Offers", GetName(0, true), WalletHelper.ToString(val), item.GetName(0, false)); } diff --git a/GameServer/keeps/HookPointInventory.cs b/GameServer/keeps/HookPointInventory.cs index 46d1671da7..e7438a9104 100644 --- a/GameServer/keeps/HookPointInventory.cs +++ b/GameServer/keeps/HookPointInventory.cs @@ -227,7 +227,7 @@ public void Invoke(GamePlayer player, int payType, GameKeepHookPoint hookpoint, { case 1: { - if (!player.RemoveMoney(Gold * 100 * 100, "You buy " + this.GetName(1, false) + ".")) + if (!player.Wallet.RemoveMoney(Gold * 100 * 100, "You buy " + this.GetName(1, false) + ".")) { InventoryLogging.LogInventoryAction(player, "(keep)", eInventoryActionType.Merchant, Gold * 10000); player.Out.SendMessage("You dont have enough money!", eChatType.CT_Merchant, eChatLoc.CL_SystemWindow); diff --git a/GameServer/language/DE/GameUtils/WalletHelper.txt b/GameServer/language/DE/GameUtils/WalletHelper.txt new file mode 100644 index 0000000000..753eb68e91 --- /dev/null +++ b/GameServer/language/DE/GameUtils/WalletHelper.txt @@ -0,0 +1,6 @@ +WalletHelper.GetString.Text1: 0 Kupfer +WalletHelper.GetString.Text2: Mithril, +WalletHelper.GetString.Text3: Platinum, +WalletHelper.GetString.Text4: Gold, +WalletHelper.GetString.Text5: Silber, +WalletHelper.GetString.Text6: Kupfer, diff --git a/GameServer/language/DE/GameUtils/money.txt b/GameServer/language/DE/GameUtils/money.txt deleted file mode 100644 index e94c01a633..0000000000 --- a/GameServer/language/DE/GameUtils/money.txt +++ /dev/null @@ -1,6 +0,0 @@ -Money.GetString.Text1: 0 Kupfer -Money.GetString.Text2: Mithril, -Money.GetString.Text3: Platinum, -Money.GetString.Text4: Gold, -Money.GetString.Text5: Silber, -Money.GetString.Text6: Kupfer, diff --git a/GameServer/language/EN/GameUtils/WalletHelper.txt b/GameServer/language/EN/GameUtils/WalletHelper.txt new file mode 100644 index 0000000000..d73022601b --- /dev/null +++ b/GameServer/language/EN/GameUtils/WalletHelper.txt @@ -0,0 +1,9 @@ +# Money + +WalletHelper.GetString.Text1: 0 copper pieces +WalletHelper.GetString.Text2: mithril, +WalletHelper.GetString.Text3: platinum, +WalletHelper.GetString.Text4: gold, +WalletHelper.GetString.Text5: silver, +WalletHelper.GetString.Text6: copper, + diff --git a/GameServer/language/EN/GameUtils/money.txt b/GameServer/language/EN/GameUtils/money.txt deleted file mode 100644 index 8014351bae..0000000000 --- a/GameServer/language/EN/GameUtils/money.txt +++ /dev/null @@ -1,9 +0,0 @@ -# Money - -Money.GetString.Text1: 0 copper pieces -Money.GetString.Text2: mithril, -Money.GetString.Text3: platinum, -Money.GetString.Text4: gold, -Money.GetString.Text5: silver, -Money.GetString.Text6: copper, - diff --git a/GameServer/language/FR/GameUtils/WalletHelper.txt b/GameServer/language/FR/GameUtils/WalletHelper.txt new file mode 100644 index 0000000000..ce01be122a --- /dev/null +++ b/GameServer/language/FR/GameUtils/WalletHelper.txt @@ -0,0 +1,7 @@ +WalletHelper.GetString.Text1: 0 pièce de cuivre +WalletHelper.GetString.Text2: mithril, +WalletHelper.GetString.Text3: platine, +WalletHelper.GetString.Text4: or, +WalletHelper.GetString.Text5: argent, +WalletHelper.GetString.Text6: cuivre, +WalletHelper.GetString.Text7: pièces, diff --git a/GameServer/language/FR/GameUtils/money.txt b/GameServer/language/FR/GameUtils/money.txt deleted file mode 100644 index 45bda8242d..0000000000 --- a/GameServer/language/FR/GameUtils/money.txt +++ /dev/null @@ -1,7 +0,0 @@ -Money.GetString.Text1: 0 pièce de cuivre -Money.GetString.Text2: mithril, -Money.GetString.Text3: platine, -Money.GetString.Text4: or, -Money.GetString.Text5: argent, -Money.GetString.Text6: cuivre, -Money.GetString.Text7: pièces, diff --git a/GameServer/packets/Client/168/DetailDisplayHandler.cs b/GameServer/packets/Client/168/DetailDisplayHandler.cs index 1f1e087505..67f3ee2bcd 100644 --- a/GameServer/packets/Client/168/DetailDisplayHandler.cs +++ b/GameServer/packets/Client/168/DetailDisplayHandler.cs @@ -1067,7 +1067,7 @@ public void WriteTechnicalInfo(IList output, GameClient client, DbInvent output.Add(" Color: " + item.Color); output.Add(" Emblem: " + item.Emblem); output.Add(" Effect: " + item.Effect); - output.Add(" Value/Price: " + Money.GetShortString(item.Price)); + output.Add(" Value/Price: " + WalletHelper.ToShortString(item.Price)); output.Add(" Weight: " + (item.Weight / 10.0f) + "lbs"); output.Add(" Quality: " + item.Quality + "%"); output.Add(" Durability: " + dur + "/" + item.MaxDurability); diff --git a/GameServer/packets/Client/168/DialogResponseHandler.cs b/GameServer/packets/Client/168/DialogResponseHandler.cs index faef710017..8f445debea 100644 --- a/GameServer/packets/Client/168/DialogResponseHandler.cs +++ b/GameServer/packets/Client/168/DialogResponseHandler.cs @@ -222,15 +222,15 @@ public void HandlePacket(GameClient client, GSPacketIn packet) if (!player.RemoveBountyPoints(currencyToUse)) return; } - else if (!player.RemoveMoney(currencyToUse)) + else if (!player.Wallet.RemoveMoney(currencyToUse)) return; InventoryLogging.LogInventoryAction(player, $"(HOUSE;{house.HouseNumber})", eInventoryActionType.Other, currencyToUse); house.KeptMoney += currencyToUse; house.SaveIntoDatabase(); player.SaveIntoDatabase(); - player.Out.SendMessage($"You deposit {Money.GetString(currencyToUse)} in the lockbox.", eChatType.CT_System, eChatLoc.CL_SystemWindow); - player.Out.SendMessage($"The lockbox now has {Money.GetString(house.KeptMoney)} in it. The weekly payment is {Money.GetString(HouseMgr.GetRentByModel(house.Model))}.", eChatType.CT_System, eChatLoc.CL_SystemWindow); + player.Out.SendMessage($"You deposit {WalletHelper.ToString(currencyToUse)} in the lockbox.", eChatType.CT_System, eChatLoc.CL_SystemWindow); + player.Out.SendMessage($"The lockbox now has {WalletHelper.ToString(house.KeptMoney)} in it. The weekly payment is {WalletHelper.ToString(HouseMgr.GetRentByModel(house.Model))}.", eChatType.CT_System, eChatLoc.CL_SystemWindow); player.Out.SendMessage($"The house is now prepaid for the next {house.KeptMoney / HouseMgr.GetRentByModel(house.Model)} payments.", eChatType.CT_System, eChatLoc.CL_SystemWindow); player.TempProperties.RemoveProperty(HousingConstants.MoneyForHouseRent); return; diff --git a/GameServer/packets/Client/168/PlayerModifyTradeHandler.cs b/GameServer/packets/Client/168/PlayerModifyTradeHandler.cs index 19f21a46fb..033d5e9a76 100644 --- a/GameServer/packets/Client/168/PlayerModifyTradeHandler.cs +++ b/GameServer/packets/Client/168/PlayerModifyTradeHandler.cs @@ -65,7 +65,7 @@ public void HandlePacket(GameClient client, GSPacketIn packet) for (int i = 0; i < 5; i++) tradeMoney[i] = packet.ReadShort(); - long money = Money.GetMoney(tradeMoney[0], tradeMoney[1], tradeMoney[2], tradeMoney[3], tradeMoney[4]); + long money = WalletHelper.ToMoney(tradeMoney[0], tradeMoney[1], tradeMoney[2], tradeMoney[3], tradeMoney[4]); trade.TradeMoney = money; trade.TradeUpdate(); diff --git a/GameServer/packets/Client/168/PlayerMoveItemRequestHandler.cs b/GameServer/packets/Client/168/PlayerMoveItemRequestHandler.cs index ebebc7e717..ebb25e2184 100644 --- a/GameServer/packets/Client/168/PlayerMoveItemRequestHandler.cs +++ b/GameServer/packets/Client/168/PlayerMoveItemRequestHandler.cs @@ -222,7 +222,7 @@ private static void MoveItemToTargetObject(GameClient client, eInventorySlot toC { int[] money = new int[5]; money[fromClientSlot - eInventorySlot.Mithril] = itemCount; - long flatMoney = Money.GetMoney(money[0], money[1], money[2], money[3], money[4]); + long flatMoney = WalletHelper.ToMoney(money[0], money[1], money[2], money[3], money[4]); if (client.Version >= GameClient.eClientVersion.Version178) fromClientSlot += eInventorySlot.Mithril178 - eInventorySlot.Mithril; @@ -238,7 +238,7 @@ private static void MoveItemToTargetObject(GameClient client, eInventorySlot toC return; } - if (flatMoney > client.Player.GetCurrentMoney()) + if (flatMoney > client.Player.Wallet.GetMoney()) { client.Out.SendInventorySlotsUpdate([fromClientSlot]); return; diff --git a/GameServer/packets/Client/168/PlayerWithdrawMerchantMoney.cs b/GameServer/packets/Client/168/PlayerWithdrawMerchantMoney.cs index 2b01e6a364..6efecd1ad3 100644 --- a/GameServer/packets/Client/168/PlayerWithdrawMerchantMoney.cs +++ b/GameServer/packets/Client/168/PlayerWithdrawMerchantMoney.cs @@ -48,8 +48,8 @@ public void HandlePacket(GameClient client, GSPacketIn packet) } else { - ChatUtil.SendMerchantMessage(client, "GameMerchant.OnPlayerWithdraw", Money.GetString(totalConMoney)); - client.Player.AddMoney(totalConMoney); + ChatUtil.SendMerchantMessage(client, "GameMerchant.OnPlayerWithdraw", WalletHelper.ToString(totalConMoney)); + client.Player.Wallet.AddMoney(totalConMoney); InventoryLogging.LogInventoryAction(conMerchant, client.Player, eInventoryActionType.Merchant, totalConMoney); } diff --git a/GameServer/packets/Server/PacketLib1109.cs b/GameServer/packets/Server/PacketLib1109.cs index 2491ae70ec..c5e7db9a00 100644 --- a/GameServer/packets/Server/PacketLib1109.cs +++ b/GameServer/packets/Server/PacketLib1109.cs @@ -37,19 +37,21 @@ public override void SendTradeWindow() } pak.Fill(0x00, 10 - m_gameClient.Player.TradeWindow.TradeItems.Count); + var (mithril, platinum, gold, silver, copper) = WalletHelper.ToMoneyParts(m_gameClient.Player.TradeWindow.TradeMoney); pak.WriteShort(0x0000); - pak.WriteShort((ushort)Money.GetMithril(m_gameClient.Player.TradeWindow.TradeMoney)); - pak.WriteShort((ushort)Money.GetPlatinum(m_gameClient.Player.TradeWindow.TradeMoney)); - pak.WriteShort((ushort)Money.GetGold(m_gameClient.Player.TradeWindow.TradeMoney)); - pak.WriteShort((ushort)Money.GetSilver(m_gameClient.Player.TradeWindow.TradeMoney)); - pak.WriteShort((ushort)Money.GetCopper(m_gameClient.Player.TradeWindow.TradeMoney)); + pak.WriteShort(mithril); + pak.WriteShort(platinum); + pak.WriteShort(gold); + pak.WriteShort(silver); + pak.WriteShort(copper); + (mithril, platinum, gold, silver, copper) = WalletHelper.ToMoneyParts(m_gameClient.Player.TradeWindow.PartnerTradeMoney); pak.WriteShort(0x0000); - pak.WriteShort((ushort)Money.GetMithril(m_gameClient.Player.TradeWindow.PartnerTradeMoney)); - pak.WriteShort((ushort)Money.GetPlatinum(m_gameClient.Player.TradeWindow.PartnerTradeMoney)); - pak.WriteShort((ushort)Money.GetGold(m_gameClient.Player.TradeWindow.PartnerTradeMoney)); - pak.WriteShort((ushort)Money.GetSilver(m_gameClient.Player.TradeWindow.PartnerTradeMoney)); - pak.WriteShort((ushort)Money.GetCopper(m_gameClient.Player.TradeWindow.PartnerTradeMoney)); + pak.WriteShort(mithril); + pak.WriteShort(platinum); + pak.WriteShort(gold); + pak.WriteShort(silver); + pak.WriteShort(copper); pak.WriteShort(0x0000); ArrayList items = m_gameClient.Player.TradeWindow.PartnerTradeItems; @@ -249,7 +251,7 @@ protected override void WriteItemData(GSTCPPacketOut pak, DbInventoryItem item) if (ServerProperties.Properties.CONSIGNMENT_USE_BP) name += "[" + item.SellPrice.ToString() + " BP]"; else - name += "[" + Money.GetShortString(item.SellPrice) + "]"; + name += "[" + WalletHelper.ToShortString(item.SellPrice) + "]"; } if (name.Length > MAX_NAME_LENGTH) diff --git a/GameServer/packets/Server/PacketLib1112.cs b/GameServer/packets/Server/PacketLib1112.cs index 61c83afec3..2745d4d3df 100644 --- a/GameServer/packets/Server/PacketLib1112.cs +++ b/GameServer/packets/Server/PacketLib1112.cs @@ -523,7 +523,7 @@ protected override void WriteItemData(GSTCPPacketOut pak, DbInventoryItem item) if (ServerProperties.Properties.CONSIGNMENT_USE_BP) name += "[" + item.SellPrice.ToString() + " BP]"; else - name += "[" + Money.GetString(item.SellPrice) + "]"; + name += "[" + WalletHelper.ToString(item.SellPrice) + "]"; } if (name == null) name = string.Empty; if (name.Length > 55) diff --git a/GameServer/packets/Server/PacketLib1119.cs b/GameServer/packets/Server/PacketLib1119.cs index 846e56bbee..8770a32abb 100644 --- a/GameServer/packets/Server/PacketLib1119.cs +++ b/GameServer/packets/Server/PacketLib1119.cs @@ -212,7 +212,7 @@ protected override void WriteItemData(GSTCPPacketOut pak, DbInventoryItem item) if (ServerProperties.Properties.CONSIGNMENT_USE_BP) name += "[" + item.SellPrice.ToString() + " BP]"; else - name += "[" + Money.GetString(item.SellPrice) + "]"; + name += "[" + WalletHelper.ToString(item.SellPrice) + "]"; } if (name == null) name = string.Empty; if (name.Length > 55) diff --git a/GameServer/packets/Server/PacketLib1124.cs b/GameServer/packets/Server/PacketLib1124.cs index 2283e317fd..34dd067cac 100644 --- a/GameServer/packets/Server/PacketLib1124.cs +++ b/GameServer/packets/Server/PacketLib1124.cs @@ -1008,7 +1008,7 @@ protected override void WriteItemData(GSTCPPacketOut pak, DbInventoryItem item) if (ServerProperties.Properties.CONSIGNMENT_USE_BP) name += "[" + item.SellPrice.ToString() + " BP]"; else - name += "[" + Money.GetString(item.SellPrice) + "]"; + name += "[" + WalletHelper.ToString(item.SellPrice) + "]"; } if (name == null) name = string.Empty; if (name.Length > 55) diff --git a/GameServer/packets/Server/PacketLib168.cs b/GameServer/packets/Server/PacketLib168.cs index 869b5669ee..9863595058 100644 --- a/GameServer/packets/Server/PacketLib168.cs +++ b/GameServer/packets/Server/PacketLib168.cs @@ -1164,11 +1164,12 @@ public virtual void SendUpdateMoney() return; using (var pak = GSTCPPacketOut.GetForTick(p => p.Init(GetPacketCode(eServerPackets.MoneyUpdate)))) { - pak.WriteByte((byte) m_gameClient.Player.Copper); - pak.WriteByte((byte) m_gameClient.Player.Silver); - pak.WriteShort((ushort) m_gameClient.Player.Gold); - pak.WriteShort((ushort) m_gameClient.Player.Mithril); - pak.WriteShort((ushort) m_gameClient.Player.Platinum); + var (mithril, platinum, gold, silver, copper) = WalletHelper.ToMoneyParts(m_gameClient.Player.Wallet.GetMoney()); + pak.WriteByte(copper); + pak.WriteByte(silver); + pak.WriteShort(gold); + pak.WriteShort(mithril); + pak.WriteShort(platinum); SendTCP(pak); } } @@ -1959,19 +1960,21 @@ public virtual void SendTradeWindow() } pak.Fill(0x00, 10 - m_gameClient.Player.TradeWindow.TradeItems.Count); + var (mithril, platinum, gold, silver, copper) = WalletHelper.ToMoneyParts(m_gameClient.Player.TradeWindow.TradeMoney); pak.WriteShort(0x0000); - pak.WriteShort((ushort) Money.GetMithril(m_gameClient.Player.TradeWindow.TradeMoney)); - pak.WriteShort((ushort) Money.GetPlatinum(m_gameClient.Player.TradeWindow.TradeMoney)); - pak.WriteShort((ushort) Money.GetGold(m_gameClient.Player.TradeWindow.TradeMoney)); - pak.WriteShort((ushort) Money.GetSilver(m_gameClient.Player.TradeWindow.TradeMoney)); - pak.WriteShort((ushort) Money.GetCopper(m_gameClient.Player.TradeWindow.TradeMoney)); + pak.WriteShort(mithril); + pak.WriteShort(platinum); + pak.WriteShort(gold); + pak.WriteShort(silver); + pak.WriteShort(copper); + (mithril, platinum, gold, silver, copper) = WalletHelper.ToMoneyParts(m_gameClient.Player.TradeWindow.PartnerTradeMoney); pak.WriteShort(0x0000); - pak.WriteShort((ushort) Money.GetMithril(m_gameClient.Player.TradeWindow.PartnerTradeMoney)); - pak.WriteShort((ushort) Money.GetPlatinum(m_gameClient.Player.TradeWindow.PartnerTradeMoney)); - pak.WriteShort((ushort) Money.GetGold(m_gameClient.Player.TradeWindow.PartnerTradeMoney)); - pak.WriteShort((ushort) Money.GetSilver(m_gameClient.Player.TradeWindow.PartnerTradeMoney)); - pak.WriteShort((ushort) Money.GetCopper(m_gameClient.Player.TradeWindow.PartnerTradeMoney)); + pak.WriteShort(mithril); + pak.WriteShort(platinum); + pak.WriteShort(gold); + pak.WriteShort(silver); + pak.WriteShort(copper); pak.WriteShort(0x0000); ArrayList items = m_gameClient.Player.TradeWindow.PartnerTradeItems; @@ -3743,14 +3746,12 @@ public virtual void SendConsignmentMerchantMoney(long money) { using (var pak = GSTCPPacketOut.GetForTick(p => p.Init(GetPacketCode(eServerPackets.ConsignmentMerchantMoney)))) { - pak.WriteByte((byte)Money.GetCopper(money)); - pak.WriteByte((byte)Money.GetSilver(money)); - pak.WriteShort((ushort)Money.GetGold(money)); - - // Yes, these are sent in reverse order! - tolakram confirmed 1.98 - 1.109 - pak.WriteShort((ushort)Money.GetMithril(money)); - pak.WriteShort((ushort)Money.GetPlatinum(money)); - + var (mithril, platinum, gold, silver, copper) = WalletHelper.ToMoneyParts(money); + pak.WriteByte(copper); + pak.WriteByte(silver); + pak.WriteShort(gold); + pak.WriteShort(mithril); + pak.WriteShort(platinum); SendTCP(pak); } } @@ -4057,7 +4058,7 @@ protected virtual void SendInventorySlotsUpdateRange(ICollection if (ServerProperties.Properties.CONSIGNMENT_USE_BP) name += "[" + item.SellPrice + " BP]"; else - name += "[" + Money.GetString(item.SellPrice) + "]"; + name += "[" + WalletHelper.ToString(item.SellPrice) + "]"; } pak.WritePascalString(name); } diff --git a/GameServer/packets/Server/PacketLib172.cs b/GameServer/packets/Server/PacketLib172.cs index d956e2fbc0..f4f9bfec23 100644 --- a/GameServer/packets/Server/PacketLib172.cs +++ b/GameServer/packets/Server/PacketLib172.cs @@ -186,7 +186,7 @@ protected override void SendInventorySlotsUpdateRange(ICollection MAX_NAME_LENGTH) diff --git a/GameServer/quests/Albion/SI/WildWilderness.cs b/GameServer/quests/Albion/SI/WildWilderness.cs index 6de2fc783c..588dae79c3 100644 --- a/GameServer/quests/Albion/SI/WildWilderness.cs +++ b/GameServer/quests/Albion/SI/WildWilderness.cs @@ -405,7 +405,7 @@ public override bool CheckQuestQualification(GamePlayer player) public override void FinishQuest() { m_questPlayer.ForceGainExperience( 20); - m_questPlayer.AddMoney(Money.GetMoney(0, 0, 0, 6, 0), "You receive {0} as a reward."); + m_questPlayer.Wallet.AddMoney(WalletHelper.ToMoney(0, 0, 0, 6, 0), "You receive {0} as a reward."); base.FinishQuest(); } diff --git a/GameServer/quests/Missions/AbstractMission.cs b/GameServer/quests/Missions/AbstractMission.cs index dc7c85db84..b30dc04c9d 100644 --- a/GameServer/quests/Missions/AbstractMission.cs +++ b/GameServer/quests/Missions/AbstractMission.cs @@ -210,7 +210,7 @@ public virtual void FinishMission() if (RewardMoney > 0) { - player.AddMoney(RewardMoney, "You receive {0} for completing your task."); + player.Wallet.AddMoney(RewardMoney, "You receive {0} for completing your task."); InventoryLogging.LogInventoryAction("(MISSION;" + MissionType + ")", player, eInventoryActionType.Quest, RewardMoney); } diff --git a/GameServer/quests/QuestsMgr/AbstractQuest.cs b/GameServer/quests/QuestsMgr/AbstractQuest.cs index c6eaa188f2..6f4606a42c 100644 --- a/GameServer/quests/QuestsMgr/AbstractQuest.cs +++ b/GameServer/quests/QuestsMgr/AbstractQuest.cs @@ -572,7 +572,7 @@ protected static DbItemTemplate CreateTicketTo(string destination, string ticket Item_Type = 40, IsPickable = true, IsDropable = true, - Price = Money.GetMoney(0, 0, 0, 5, 3), + Price = WalletHelper.ToMoney(0, 0, 0, 5, 3), PackSize = 1, Weight = 0 }; diff --git a/GameServer/quests/QuestsMgr/DataQuest.cs b/GameServer/quests/QuestsMgr/DataQuest.cs index 8407122989..02c74b2909 100644 --- a/GameServer/quests/QuestsMgr/DataQuest.cs +++ b/GameServer/quests/QuestsMgr/DataQuest.cs @@ -1668,7 +1668,7 @@ protected virtual bool AdvanceQuestStep(GameObject obj = null) if (RewardMoney > 0) { - m_questPlayer.AddMoney(RewardMoney, "You are awarded {0}!"); + m_questPlayer.Wallet.AddMoney(RewardMoney, "You are awarded {0}!"); InventoryLogging.LogInventoryAction("(QUEST;" + Name + ")", m_questPlayer, eInventoryActionType.Quest, RewardMoney); } @@ -2013,7 +2013,7 @@ protected virtual void CheckOfferQuest(GamePlayer player, GameObject obj) if (m_rewardMoneys.Count > 0 && m_rewardMoneys[0] > 0) { - player.AddMoney(m_rewardMoneys[0], "You are awarded {0}!"); + player.Wallet.AddMoney(m_rewardMoneys[0], "You are awarded {0}!"); InventoryLogging.LogInventoryAction("(QUEST;" + Name + ")", player, eInventoryActionType.Quest, m_rewardMoneys[0]); } @@ -2672,7 +2672,7 @@ protected virtual void OnLivingIsDying(GameLiving dying, GameObject killer, List if (m_rewardMoneys.Count > 0 && m_rewardMoneys[0] > 0) { - player.AddMoney(m_rewardMoneys[0], "You are awarded {0}!"); + player.Wallet.AddMoney(m_rewardMoneys[0], "You are awarded {0}!"); InventoryLogging.LogInventoryAction("(QUEST;" + Name + ")", player, eInventoryActionType.Quest, m_rewardMoneys[0]); } @@ -2933,7 +2933,7 @@ public virtual bool FinishQuest(GameObject obj, bool checkCustomStep) rewardMoney = m_rewardMoneys[lastStep - 1]; if (rewardMoney > 0) { - m_questPlayer.AddMoney(rewardMoney, "You are awarded {0}!"); + m_questPlayer.Wallet.AddMoney(rewardMoney, "You are awarded {0}!"); InventoryLogging.LogInventoryAction("(QUEST;" + Name + ")", m_questPlayer, eInventoryActionType.Quest, rewardMoney); } } @@ -3017,7 +3017,7 @@ public virtual bool FinishQuest(GameObject obj, bool checkCustomStep) rewardMoney = m_rewardMoneys[0]; if (rewardMoney > 0) { - m_questPlayer.AddMoney(rewardMoney, "You are awarded {0}!"); + m_questPlayer.Wallet.AddMoney(rewardMoney, "You are awarded {0}!"); InventoryLogging.LogInventoryAction("(QUEST;" + Name + ")", m_questPlayer, eInventoryActionType.Quest, rewardMoney); } } diff --git a/GameServer/quests/QuestsMgr/RewardQuest.cs b/GameServer/quests/QuestsMgr/RewardQuest.cs index c9c95e2b5c..785afaa31d 100644 --- a/GameServer/quests/QuestsMgr/RewardQuest.cs +++ b/GameServer/quests/QuestsMgr/RewardQuest.cs @@ -237,7 +237,7 @@ public override void FinishQuest() base.FinishQuest(); QuestPlayer.Out.SendSoundEffect(11, 0, 0, 0, 0, 0); QuestPlayer.ForceGainExperience(Rewards.Experience); - QuestPlayer.AddMoney(Rewards.Money); + QuestPlayer.Wallet.AddMoney(Rewards.Money); InventoryLogging.LogInventoryAction("(QUEST;" + Name + ")", QuestPlayer, eInventoryActionType.Quest, Rewards.Money); if (Rewards.GiveBountyPoints > 0) QuestPlayer.GainBountyPoints(Rewards.GiveBountyPoints); diff --git a/GameServer/quests/Tasks/AbstractTask.cs b/GameServer/quests/Tasks/AbstractTask.cs index 904cce8a1a..1b5df42a07 100644 --- a/GameServer/quests/Tasks/AbstractTask.cs +++ b/GameServer/quests/Tasks/AbstractTask.cs @@ -357,7 +357,7 @@ public virtual void FinishTask() if (RewardMoney > 0) { - m_taskPlayer.AddMoney(RewardMoney, "You receive {0} for completing your task."); + m_taskPlayer.Wallet.AddMoney(RewardMoney, "You receive {0} for completing your task."); InventoryLogging.LogInventoryAction("(TASK;" + m_dbTask.TaskType + ")", m_taskPlayer, eInventoryActionType.Quest, RewardMoney); } diff --git a/GameServer/scripts/commands/rent.cs b/GameServer/scripts/commands/rent.cs index 8d1b03ffb0..3aeb05a839 100644 --- a/GameServer/scripts/commands/rent.cs +++ b/GameServer/scripts/commands/rent.cs @@ -81,7 +81,7 @@ public void OnCommand(GameClient client, string[] args) return; } - if(!client.Player.RemoveMoney(goldToAdd)) + if(!client.Player.Wallet.RemoveMoney(goldToAdd)) { client.Out.SendMessage(LanguageMgr.GetTranslation(client.Account.Language, "Scripts.Players.Rent.NotEnoughMoney"), eChatType.CT_System, eChatLoc.CL_SystemWindow); diff --git a/GameServer/scripts/customnpc/BuffMerchantEvent.cs b/GameServer/scripts/customnpc/BuffMerchantEvent.cs index f1a20452cf..6c3741cd30 100644 --- a/GameServer/scripts/customnpc/BuffMerchantEvent.cs +++ b/GameServer/scripts/customnpc/BuffMerchantEvent.cs @@ -876,9 +876,9 @@ public override void OnPlayerBuy(GamePlayer player, int item_slot, int number) lock (player.Inventory.Lock) { - if (player.GetCurrentMoney() < totalValue) + if (player.Wallet.GetMoney() < totalValue) { - player.Out.SendMessage(LanguageMgr.GetTranslation(player.Client.Account.Language, "GameMerchant.OnPlayerBuy.YouNeed", Money.GetString(totalValue)), eChatType.CT_System, eChatLoc.CL_SystemWindow); + player.Out.SendMessage(LanguageMgr.GetTranslation(player.Client.Account.Language, "GameMerchant.OnPlayerBuy.YouNeed", WalletHelper.ToString(totalValue)), eChatType.CT_System, eChatLoc.CL_SystemWindow); return; } @@ -891,11 +891,11 @@ public override void OnPlayerBuy(GamePlayer player, int item_slot, int number) string message; if (amountToBuy > 1) - message = LanguageMgr.GetTranslation(player.Client.Account.Language, "GameMerchant.OnPlayerBuy.BoughtPieces", amountToBuy, template.GetName(1, false), Money.GetString(totalValue)); + message = LanguageMgr.GetTranslation(player.Client.Account.Language, "GameMerchant.OnPlayerBuy.BoughtPieces", amountToBuy, template.GetName(1, false), WalletHelper.ToString(totalValue)); else - message = LanguageMgr.GetTranslation(player.Client.Account.Language, "GameMerchant.OnPlayerBuy.Bought", template.GetName(1, false), Money.GetString(totalValue)); + message = LanguageMgr.GetTranslation(player.Client.Account.Language, "GameMerchant.OnPlayerBuy.Bought", template.GetName(1, false), WalletHelper.ToString(totalValue)); - if (!player.RemoveMoney(totalValue, message, eChatType.CT_Merchant, eChatLoc.CL_SystemWindow)) + if (!player.Wallet.RemoveMoney(totalValue, message, eChatType.CT_Merchant, eChatLoc.CL_SystemWindow)) { throw new Exception("Money amount changed while adding items."); } diff --git a/GameServer/scripts/quests/Albion/ImmediateResolutionVB.cs b/GameServer/scripts/quests/Albion/ImmediateResolutionVB.cs index dadd0dc7fa..ec68b154b1 100644 --- a/GameServer/scripts/quests/Albion/ImmediateResolutionVB.cs +++ b/GameServer/scripts/quests/Albion/ImmediateResolutionVB.cs @@ -394,8 +394,8 @@ public override void FinishQuest() { base.FinishQuest(); m_questPlayer.ForceGainExperience( 50); - long money = Money.GetMoney(0, 0, 0, 0, 30 + Util.Random(50)); - m_questPlayer.AddMoney(money, "You recieve {0} for your service."); + long money = WalletHelper.ToMoney(0, 0, 0, 0, 30 + Util.Random(50)); + m_questPlayer.Wallet.AddMoney(money, "You recieve {0} for your service."); InventoryLogging.LogInventoryAction("(QUEST;" + Name + ")", m_questPlayer, eInventoryActionType.Quest, money); } diff --git a/GameServer/scripts/quests/Albion/WolfPeltCloak.cs b/GameServer/scripts/quests/Albion/WolfPeltCloak.cs index fa8308bf43..80faf8e214 100644 --- a/GameServer/scripts/quests/Albion/WolfPeltCloak.cs +++ b/GameServer/scripts/quests/Albion/WolfPeltCloak.cs @@ -399,8 +399,8 @@ public override void FinishQuest() GiveItem(_lynett, m_questPlayer, _wolfPeltCloak); m_questPlayer.GainExperience(eXPSource.Quest, 50, true); - long money = Money.GetMoney(0, 0, 0, 0, 50); - m_questPlayer.AddMoney(money, "You recieve {0} for your service."); + long money = WalletHelper.ToMoney(0, 0, 0, 0, 50); + m_questPlayer.Wallet.AddMoney(money, "You recieve {0} for your service."); InventoryLogging.LogInventoryAction("(QUEST;" + Name + ")", m_questPlayer, eInventoryActionType.Quest, money); } diff --git a/GameServer/scripts/quests/Albion/epic/Academy50.cs b/GameServer/scripts/quests/Albion/epic/Academy50.cs index bfeb97f8c8..cd2eca67ce 100644 --- a/GameServer/scripts/quests/Albion/epic/Academy50.cs +++ b/GameServer/scripts/quests/Albion/epic/Academy50.cs @@ -1471,7 +1471,7 @@ public override void FinishQuest() m_questPlayer.GainExperience(eXPSource.Quest, 1937768448, false); - //m_questPlayer.AddMoney(Money.GetMoney(0,0,0,2,Util.Random(50)), "You recieve {0} as a reward."); + //m_questPlayer.Wallet.AddMoney(WalletHelper.GetMoney(0,0,0,2,Util.Random(50)), "You recieve {0} as a reward."); } #region Allakhazam Epic Source diff --git a/GameServer/scripts/quests/Albion/epic/Church50.cs b/GameServer/scripts/quests/Albion/epic/Church50.cs index 9d9b418112..7fb3fc4f9e 100644 --- a/GameServer/scripts/quests/Albion/epic/Church50.cs +++ b/GameServer/scripts/quests/Albion/epic/Church50.cs @@ -1045,7 +1045,7 @@ public override void FinishQuest() } m_questPlayer.GainExperience(eXPSource.Quest, 1937768448, true); - //m_questPlayer.AddMoney(Money.GetMoney(0,0,0,2,Util.Random(50)), "You recieve {0} as a reward."); + //m_questPlayer.Wallet.AddMoney(WalletHelper.GetMoney(0,0,0,2,Util.Random(50)), "You recieve {0} as a reward."); } #region Allakhazam Epic Source diff --git a/GameServer/scripts/quests/Albion/epic/Defenders50.cs b/GameServer/scripts/quests/Albion/epic/Defenders50.cs index 0930f3232a..21a322dce8 100644 --- a/GameServer/scripts/quests/Albion/epic/Defenders50.cs +++ b/GameServer/scripts/quests/Albion/epic/Defenders50.cs @@ -1565,7 +1565,7 @@ public override void FinishQuest() } m_questPlayer.GainExperience(eXPSource.Quest, 1937768448, true); - //m_questPlayer.AddMoney(Money.GetMoney(0,0,0,2,Util.Random(50)), "You recieve {0} as a reward."); + //m_questPlayer.Wallet.AddMoney(WalletHelper.GetMoney(0,0,0,2,Util.Random(50)), "You recieve {0} as a reward."); } #region Allakhazam Epic Source diff --git a/GameServer/scripts/quests/Albion/epic/Shadows50.cs b/GameServer/scripts/quests/Albion/epic/Shadows50.cs index 0c21c747c5..bb274f6b6d 100644 --- a/GameServer/scripts/quests/Albion/epic/Shadows50.cs +++ b/GameServer/scripts/quests/Albion/epic/Shadows50.cs @@ -2088,7 +2088,7 @@ public override void FinishQuest() } m_questPlayer.GainExperience(eXPSource.Quest, 1937768448, true); - //m_questPlayer.AddMoney(Money.GetMoney(0,0,0,2,Util.Random(50)), "You recieve {0} as a reward."); + //m_questPlayer.Wallet.AddMoney(WalletHelper.GetMoney(0,0,0,2,Util.Random(50)), "You recieve {0} as a reward."); } #region Allakhazam Epic Source diff --git a/GameServer/scripts/quests/Albion/shrouded isles/LostStoneOfArawn.cs b/GameServer/scripts/quests/Albion/shrouded isles/LostStoneOfArawn.cs index a07f77a3fe..25436f20d0 100644 --- a/GameServer/scripts/quests/Albion/shrouded isles/LostStoneOfArawn.cs +++ b/GameServer/scripts/quests/Albion/shrouded isles/LostStoneOfArawn.cs @@ -787,7 +787,7 @@ public override void FinishQuest() (m_questPlayer.ExperienceForNextLevel - m_questPlayer.ExperienceForCurrentLevel) / 2, false); RemoveItem(m_questPlayer, scroll_wearyall_loststone); GiveItem(m_questPlayer, ancient_copper_necklace); - m_questPlayer.AddMoney(Money.GetMoney(0, 0, 121, 41, Util.Random(50)), "You receive {0} as a reward."); + m_questPlayer.Wallet.AddMoney(WalletHelper.ToMoney(0, 0, 121, 41, Util.Random(50)), "You receive {0} as a reward."); base.FinishQuest(); //Defined in Quest, changes the state, stores in DB etc ... } diff --git a/GameServer/scripts/quests/AtlasQuests/BeetleQuests/Albion/PvE Quest/BeetlePvEQuestAlb.cs b/GameServer/scripts/quests/AtlasQuests/BeetleQuests/Albion/PvE Quest/BeetlePvEQuestAlb.cs index cb5c59e468..2014b56366 100644 --- a/GameServer/scripts/quests/AtlasQuests/BeetleQuests/Albion/PvE Quest/BeetlePvEQuestAlb.cs +++ b/GameServer/scripts/quests/AtlasQuests/BeetleQuests/Albion/PvE Quest/BeetlePvEQuestAlb.cs @@ -603,7 +603,7 @@ public override void SaveQuestParameters() public override void FinishQuest() { - m_questPlayer.AddMoney(Money.GetMoney(0, 0, m_questPlayer.Level * 8, 32, Util.Random(50)), + m_questPlayer.Wallet.AddMoney(WalletHelper.ToMoney(0, 0, m_questPlayer.Level * 8, 32, Util.Random(50)), "You receive {0} as a reward."); AtlasROGManager.GenerateReward(m_questPlayer, 5000); _grandSummonerKilled = 0; diff --git a/GameServer/scripts/quests/AtlasQuests/BeetleQuests/Albion/RvR Quest/BeetleRvRQuestAlb.cs b/GameServer/scripts/quests/AtlasQuests/BeetleQuests/Albion/RvR Quest/BeetleRvRQuestAlb.cs index a5c0adf85c..4c506b5c34 100644 --- a/GameServer/scripts/quests/AtlasQuests/BeetleQuests/Albion/RvR Quest/BeetleRvRQuestAlb.cs +++ b/GameServer/scripts/quests/AtlasQuests/BeetleQuests/Albion/RvR Quest/BeetleRvRQuestAlb.cs @@ -611,7 +611,7 @@ public override void FinishQuest() { int reward = ServerProperties.Properties.BEETLE_RVR_REWARD; - m_questPlayer.AddMoney(Money.GetMoney(0, 0, m_questPlayer.Level * 8, 32, Util.Random(50)), + m_questPlayer.Wallet.AddMoney(WalletHelper.ToMoney(0, 0, m_questPlayer.Level * 8, 32, Util.Random(50)), "You receive {0} as a reward."); AtlasROGManager.GenerateReward(m_questPlayer, 5000); _enemiesKilled = 0; diff --git a/GameServer/scripts/quests/AtlasQuests/BeetleQuests/Hibernia/PvE Quest/BeetlePvEQuestHib.cs b/GameServer/scripts/quests/AtlasQuests/BeetleQuests/Hibernia/PvE Quest/BeetlePvEQuestHib.cs index 8bcfdaaaf4..cd09b0b14f 100644 --- a/GameServer/scripts/quests/AtlasQuests/BeetleQuests/Hibernia/PvE Quest/BeetlePvEQuestHib.cs +++ b/GameServer/scripts/quests/AtlasQuests/BeetleQuests/Hibernia/PvE Quest/BeetlePvEQuestHib.cs @@ -603,7 +603,7 @@ public override void SaveQuestParameters() public override void FinishQuest() { - m_questPlayer.AddMoney(Money.GetMoney(0, 0, m_questPlayer.Level * 8, 32, Util.Random(50)), + m_questPlayer.Wallet.AddMoney(WalletHelper.ToMoney(0, 0, m_questPlayer.Level * 8, 32, Util.Random(50)), "You receive {0} as a reward."); AtlasROGManager.GenerateReward(m_questPlayer, 5000); _grandSummonerKilled = 0; diff --git a/GameServer/scripts/quests/AtlasQuests/BeetleQuests/Hibernia/RvR Quest/BeetleRvRQuestHib.cs b/GameServer/scripts/quests/AtlasQuests/BeetleQuests/Hibernia/RvR Quest/BeetleRvRQuestHib.cs index a2f6df65fb..b7ea270e53 100644 --- a/GameServer/scripts/quests/AtlasQuests/BeetleQuests/Hibernia/RvR Quest/BeetleRvRQuestHib.cs +++ b/GameServer/scripts/quests/AtlasQuests/BeetleQuests/Hibernia/RvR Quest/BeetleRvRQuestHib.cs @@ -611,7 +611,7 @@ public override void FinishQuest() { int reward = ServerProperties.Properties.BEETLE_RVR_REWARD; - m_questPlayer.AddMoney(Money.GetMoney(0, 0, m_questPlayer.Level * 8, 32, Util.Random(50)), + m_questPlayer.Wallet.AddMoney(WalletHelper.ToMoney(0, 0, m_questPlayer.Level * 8, 32, Util.Random(50)), "You receive {0} as a reward."); AtlasROGManager.GenerateReward(m_questPlayer, 5000); _enemiesKilled = 0; diff --git a/GameServer/scripts/quests/AtlasQuests/BeetleQuests/Midgard/PvE Quest/BeetlePvEQuestMid.cs b/GameServer/scripts/quests/AtlasQuests/BeetleQuests/Midgard/PvE Quest/BeetlePvEQuestMid.cs index d9be4e90dd..7176ef7dd9 100644 --- a/GameServer/scripts/quests/AtlasQuests/BeetleQuests/Midgard/PvE Quest/BeetlePvEQuestMid.cs +++ b/GameServer/scripts/quests/AtlasQuests/BeetleQuests/Midgard/PvE Quest/BeetlePvEQuestMid.cs @@ -604,7 +604,7 @@ public override void SaveQuestParameters() public override void FinishQuest() { - m_questPlayer.AddMoney(Money.GetMoney(0, 0, m_questPlayer.Level * 8, 32, Util.Random(50)), + m_questPlayer.Wallet.AddMoney(WalletHelper.ToMoney(0, 0, m_questPlayer.Level * 8, 32, Util.Random(50)), "You receive {0} as a reward."); AtlasROGManager.GenerateReward(m_questPlayer, 5000); _grandSummonerKilled = 0; diff --git a/GameServer/scripts/quests/AtlasQuests/BeetleQuests/Midgard/RvR Quest/BeetleRvRQuestMid.cs b/GameServer/scripts/quests/AtlasQuests/BeetleQuests/Midgard/RvR Quest/BeetleRvRQuestMid.cs index 5cf89e8fe7..facace2b76 100644 --- a/GameServer/scripts/quests/AtlasQuests/BeetleQuests/Midgard/RvR Quest/BeetleRvRQuestMid.cs +++ b/GameServer/scripts/quests/AtlasQuests/BeetleQuests/Midgard/RvR Quest/BeetleRvRQuestMid.cs @@ -613,7 +613,7 @@ public override void FinishQuest() { int reward = ServerProperties.Properties.BEETLE_RVR_REWARD; - m_questPlayer.AddMoney(Money.GetMoney(0, 0, m_questPlayer.Level * 8, 32, Util.Random(50)), + m_questPlayer.Wallet.AddMoney(WalletHelper.ToMoney(0, 0, m_questPlayer.Level * 8, 32, Util.Random(50)), "You receive {0} as a reward."); AtlasROGManager.GenerateReward(m_questPlayer, 5000); _enemiesKilled = 0; diff --git a/GameServer/scripts/quests/AtlasQuests/DailyQuests/Albion/Frontier/Daily/CaptureKeepQuestAlb.cs b/GameServer/scripts/quests/AtlasQuests/DailyQuests/Albion/Frontier/Daily/CaptureKeepQuestAlb.cs index 8806b65b70..1237d176ef 100644 --- a/GameServer/scripts/quests/AtlasQuests/DailyQuests/Albion/Frontier/Daily/CaptureKeepQuestAlb.cs +++ b/GameServer/scripts/quests/AtlasQuests/DailyQuests/Albion/Frontier/Daily/CaptureKeepQuestAlb.cs @@ -350,7 +350,7 @@ public override void FinishQuest() int reward = ServerProperties.Properties.DAILY_RVR_REWARD; m_questPlayer.ForceGainExperience((m_questPlayer.ExperienceForNextLevel - m_questPlayer.ExperienceForCurrentLevel)/5); - m_questPlayer.AddMoney(Money.GetMoney(0,0,m_questPlayer.Level*2,0,Util.Random(50)), "You receive {0} as a reward."); + m_questPlayer.Wallet.AddMoney(WalletHelper.ToMoney(0,0,m_questPlayer.Level*2,0,Util.Random(50)), "You receive {0} as a reward."); AtlasROGManager.GenerateReward(m_questPlayer, 250); AtlasROGManager.GenerateJewel(m_questPlayer, (byte)(m_questPlayer.Level + 1), m_questPlayer.Level + Util.Random(5, 11)); _isCaptured = 0; diff --git a/GameServer/scripts/quests/AtlasQuests/DailyQuests/Albion/Frontier/Daily/KillNPCInFrontiersAlb.cs b/GameServer/scripts/quests/AtlasQuests/DailyQuests/Albion/Frontier/Daily/KillNPCInFrontiersAlb.cs index c2696ae233..5d02fac820 100644 --- a/GameServer/scripts/quests/AtlasQuests/DailyQuests/Albion/Frontier/Daily/KillNPCInFrontiersAlb.cs +++ b/GameServer/scripts/quests/AtlasQuests/DailyQuests/Albion/Frontier/Daily/KillNPCInFrontiersAlb.cs @@ -356,7 +356,7 @@ public override void AbortQuest() public override void FinishQuest() { m_questPlayer.ForceGainExperience((m_questPlayer.ExperienceForNextLevel - m_questPlayer.ExperienceForCurrentLevel)/2); - m_questPlayer.AddMoney(Money.GetMoney(0,0,m_questPlayer.Level * 2,50,Util.Random(50)), "You receive {0} as a reward."); + m_questPlayer.Wallet.AddMoney(WalletHelper.ToMoney(0,0,m_questPlayer.Level * 2,50,Util.Random(50)), "You receive {0} as a reward."); AtlasROGManager.GenerateReward(m_questPlayer, 150); AtlasROGManager.GenerateJewel(m_questPlayer, (byte)(m_questPlayer.Level + 1), m_questPlayer.Level + Util.Random(5, 11)); FrontierMobsKilled = 0; diff --git a/GameServer/scripts/quests/AtlasQuests/DailyQuests/Albion/Frontier/Monthly/CaptureRelicQuestAlb.cs b/GameServer/scripts/quests/AtlasQuests/DailyQuests/Albion/Frontier/Monthly/CaptureRelicQuestAlb.cs index efe7a0e142..8112665e68 100644 --- a/GameServer/scripts/quests/AtlasQuests/DailyQuests/Albion/Frontier/Monthly/CaptureRelicQuestAlb.cs +++ b/GameServer/scripts/quests/AtlasQuests/DailyQuests/Albion/Frontier/Monthly/CaptureRelicQuestAlb.cs @@ -359,7 +359,7 @@ public override void FinishQuest() if (m_questPlayer.Inventory.IsSlotsFree(3, eInventorySlot.FirstBackpack, eInventorySlot.LastBackpack)) { m_questPlayer.ForceGainExperience((m_questPlayer.ExperienceForNextLevel - m_questPlayer.ExperienceForCurrentLevel)); - m_questPlayer.AddMoney(Money.GetMoney(0,0,m_questPlayer.Level*8,0,Util.Random(50)), "You receive {0} as a reward."); + m_questPlayer.Wallet.AddMoney(WalletHelper.ToMoney(0,0,m_questPlayer.Level*8,0,Util.Random(50)), "You receive {0} as a reward."); AtlasROGManager.GenerateReward(m_questPlayer, 5000); AtlasROGManager.GenerateBeetleCarapace(m_questPlayer, 2); AtlasROGManager.GenerateJewel(m_questPlayer, 51); diff --git a/GameServer/scripts/quests/AtlasQuests/DailyQuests/Albion/Frontier/Monthly/FrontiersMonthlyQuestAlb.cs b/GameServer/scripts/quests/AtlasQuests/DailyQuests/Albion/Frontier/Monthly/FrontiersMonthlyQuestAlb.cs index ffc78ed438..b9e07e7b7a 100644 --- a/GameServer/scripts/quests/AtlasQuests/DailyQuests/Albion/Frontier/Monthly/FrontiersMonthlyQuestAlb.cs +++ b/GameServer/scripts/quests/AtlasQuests/DailyQuests/Albion/Frontier/Monthly/FrontiersMonthlyQuestAlb.cs @@ -377,7 +377,7 @@ public override void FinishQuest() if (m_questPlayer.Inventory.IsSlotsFree(3, eInventorySlot.FirstBackpack, eInventorySlot.LastBackpack)) { m_questPlayer.ForceGainExperience((m_questPlayer.ExperienceForNextLevel - m_questPlayer.ExperienceForCurrentLevel)); - m_questPlayer.AddMoney(Money.GetMoney(0, 0, m_questPlayer.Level * 8, 32, Util.Random(50)), + m_questPlayer.Wallet.AddMoney(WalletHelper.ToMoney(0, 0, m_questPlayer.Level * 8, 32, Util.Random(50)), "You receive {0} as a reward."); AtlasROGManager.GenerateReward(m_questPlayer, 5000); AtlasROGManager.GenerateBeetleCarapace(m_questPlayer, 2); diff --git a/GameServer/scripts/quests/AtlasQuests/DailyQuests/Albion/Frontier/Weekly/DFMobKillQuestAlb.cs b/GameServer/scripts/quests/AtlasQuests/DailyQuests/Albion/Frontier/Weekly/DFMobKillQuestAlb.cs index 73aa11c664..be712fe41f 100644 --- a/GameServer/scripts/quests/AtlasQuests/DailyQuests/Albion/Frontier/Weekly/DFMobKillQuestAlb.cs +++ b/GameServer/scripts/quests/AtlasQuests/DailyQuests/Albion/Frontier/Weekly/DFMobKillQuestAlb.cs @@ -383,7 +383,7 @@ public override void AbortQuest() public override void FinishQuest() { m_questPlayer.ForceGainExperience((m_questPlayer.ExperienceForNextLevel - m_questPlayer.ExperienceForCurrentLevel)); - m_questPlayer.AddMoney(Money.GetMoney(0,0,m_questPlayer.Level * 5,32,Util.Random(50)), "You receive {0} as a reward."); + m_questPlayer.Wallet.AddMoney(WalletHelper.ToMoney(0,0,m_questPlayer.Level * 5,32,Util.Random(50)), "You receive {0} as a reward."); AtlasROGManager.GenerateReward(m_questPlayer, 1500); _mobsKilled = 0; base.FinishQuest(); //Defined in Quest, changes the state, stores in DB etc ... diff --git a/GameServer/scripts/quests/AtlasQuests/DailyQuests/Albion/Frontier/Weekly/EpicRvRMobsWeeklyQuestAlb.cs b/GameServer/scripts/quests/AtlasQuests/DailyQuests/Albion/Frontier/Weekly/EpicRvRMobsWeeklyQuestAlb.cs index 8681cf7294..92b6740af3 100644 --- a/GameServer/scripts/quests/AtlasQuests/DailyQuests/Albion/Frontier/Weekly/EpicRvRMobsWeeklyQuestAlb.cs +++ b/GameServer/scripts/quests/AtlasQuests/DailyQuests/Albion/Frontier/Weekly/EpicRvRMobsWeeklyQuestAlb.cs @@ -371,7 +371,7 @@ public override void Notify(DOLEvent e, object sender, EventArgs args) public override void FinishQuest() { //m_questPlayer.GainExperience(eXPSource.Quest, (m_questPlayer.ExperienceForNextLevel - m_questPlayer.ExperienceForCurrentLevel)/10, true); - m_questPlayer.AddMoney(Money.GetMoney(0,0,m_questPlayer.Level * 5,32,Util.Random(50)), "You receive {0} as a reward."); + m_questPlayer.Wallet.AddMoney(WalletHelper.ToMoney(0,0,m_questPlayer.Level * 5,32,Util.Random(50)), "You receive {0} as a reward."); AtlasROGManager.GenerateReward(m_questPlayer, 1500); AtlasROGManager.GenerateJewel(m_questPlayer, (byte)(m_questPlayer.Level + 1), m_questPlayer.Level + Util.Random(10, 11)); _evernKilled = 0; diff --git a/GameServer/scripts/quests/AtlasQuests/DailyQuests/Albion/Hardcore/HardcoreKillAPlayerAlb.cs b/GameServer/scripts/quests/AtlasQuests/DailyQuests/Albion/Hardcore/HardcoreKillAPlayerAlb.cs index 30877b1b62..51abfaee5b 100644 --- a/GameServer/scripts/quests/AtlasQuests/DailyQuests/Albion/Hardcore/HardcoreKillAPlayerAlb.cs +++ b/GameServer/scripts/quests/AtlasQuests/DailyQuests/Albion/Hardcore/HardcoreKillAPlayerAlb.cs @@ -352,7 +352,7 @@ public override void FinishQuest() int reward = ServerProperties.Properties.HARDCORE_RVR_REWARD; m_questPlayer.ForceGainExperience((m_questPlayer.ExperienceForNextLevel - m_questPlayer.ExperienceForCurrentLevel)/2); - m_questPlayer.AddMoney(Money.GetMoney(0,0,m_questPlayer.Level*2,32,Util.Random(50)), "You receive {0} as a reward."); + m_questPlayer.Wallet.AddMoney(WalletHelper.ToMoney(0,0,m_questPlayer.Level*2,32,Util.Random(50)), "You receive {0} as a reward."); AtlasROGManager.GenerateReward(m_questPlayer, 250); PlayerKilled = 0; diff --git a/GameServer/scripts/quests/AtlasQuests/DailyQuests/Albion/Hardcore/HardcoreKillNPCInFrontiersAlb.cs b/GameServer/scripts/quests/AtlasQuests/DailyQuests/Albion/Hardcore/HardcoreKillNPCInFrontiersAlb.cs index 38893b3354..59be11d5ce 100644 --- a/GameServer/scripts/quests/AtlasQuests/DailyQuests/Albion/Hardcore/HardcoreKillNPCInFrontiersAlb.cs +++ b/GameServer/scripts/quests/AtlasQuests/DailyQuests/Albion/Hardcore/HardcoreKillNPCInFrontiersAlb.cs @@ -372,7 +372,7 @@ public override void SaveQuestParameters() public override void FinishQuest() { m_questPlayer.ForceGainExperience((m_questPlayer.ExperienceForNextLevel - m_questPlayer.ExperienceForCurrentLevel)/2); - m_questPlayer.AddMoney(Money.GetMoney(0,0,m_questPlayer.Level*2,32,Util.Random(50)), "You receive {0} as a reward."); + m_questPlayer.Wallet.AddMoney(WalletHelper.ToMoney(0,0,m_questPlayer.Level*2,32,Util.Random(50)), "You receive {0} as a reward."); AtlasROGManager.GenerateReward(m_questPlayer, 150); FrontierMobsKilled = 0; base.FinishQuest(); //Defined in Quest, changes the state, stores in DB etc ... diff --git a/GameServer/scripts/quests/AtlasQuests/DailyQuests/Albion/Hardcore/HardcoreKillOrangesAlb.cs b/GameServer/scripts/quests/AtlasQuests/DailyQuests/Albion/Hardcore/HardcoreKillOrangesAlb.cs index c8203a95da..0b8b6158e1 100644 --- a/GameServer/scripts/quests/AtlasQuests/DailyQuests/Albion/Hardcore/HardcoreKillOrangesAlb.cs +++ b/GameServer/scripts/quests/AtlasQuests/DailyQuests/Albion/Hardcore/HardcoreKillOrangesAlb.cs @@ -372,7 +372,7 @@ public override void SaveQuestParameters() public override void FinishQuest() { m_questPlayer.ForceGainExperience((m_questPlayer.ExperienceForNextLevel - m_questPlayer.ExperienceForCurrentLevel)/2); - m_questPlayer.AddMoney(Money.GetMoney(0,0,m_questPlayer.Level*2,32,Util.Random(50)), "You receive {0} as a reward."); + m_questPlayer.Wallet.AddMoney(WalletHelper.ToMoney(0,0,m_questPlayer.Level*2,32,Util.Random(50)), "You receive {0} as a reward."); AtlasROGManager.GenerateReward(m_questPlayer, 150); OrangeConKilled = 0; base.FinishQuest(); //Defined in Quest, changes the state, stores in DB etc ... diff --git a/GameServer/scripts/quests/AtlasQuests/DailyQuests/Albion/PvE/Daily/DanaoinKillQuestAlb.cs b/GameServer/scripts/quests/AtlasQuests/DailyQuests/Albion/PvE/Daily/DanaoinKillQuestAlb.cs index 1b87c56dbf..f9e2f8934d 100644 --- a/GameServer/scripts/quests/AtlasQuests/DailyQuests/Albion/PvE/Daily/DanaoinKillQuestAlb.cs +++ b/GameServer/scripts/quests/AtlasQuests/DailyQuests/Albion/PvE/Daily/DanaoinKillQuestAlb.cs @@ -344,7 +344,7 @@ public override string QuestPropertyKey public override void FinishQuest() { m_questPlayer.ForceGainExperience((m_questPlayer.ExperienceForNextLevel - m_questPlayer.ExperienceForCurrentLevel)/10); - m_questPlayer.AddMoney(Money.GetMoney(0,0,m_questPlayer.Level,50,Util.Random(50)), "You receive {0} as a reward."); + m_questPlayer.Wallet.AddMoney(WalletHelper.ToMoney(0,0,m_questPlayer.Level,50,Util.Random(50)), "You receive {0} as a reward."); AtlasROGManager.GenerateReward(m_questPlayer, 100); danaoinKilled = 0; base.FinishQuest(); //Defined in Quest, changes the state, stores in DB etc ... diff --git a/GameServer/scripts/quests/AtlasQuests/DailyQuests/Albion/PvE/Daily/SidiMobQuestAlb.cs b/GameServer/scripts/quests/AtlasQuests/DailyQuests/Albion/PvE/Daily/SidiMobQuestAlb.cs index 6229c44cc5..9d7ac3422e 100644 --- a/GameServer/scripts/quests/AtlasQuests/DailyQuests/Albion/PvE/Daily/SidiMobQuestAlb.cs +++ b/GameServer/scripts/quests/AtlasQuests/DailyQuests/Albion/PvE/Daily/SidiMobQuestAlb.cs @@ -362,7 +362,7 @@ public override void SaveQuestParameters() public override void FinishQuest() { m_questPlayer.ForceGainExperience((m_questPlayer.ExperienceForNextLevel - m_questPlayer.ExperienceForCurrentLevel) / 5); - m_questPlayer.AddMoney(Money.GetMoney(0, 0, m_questPlayer.Level, 0, Util.Random(50)), "You receive {0} as a reward."); + m_questPlayer.Wallet.AddMoney(WalletHelper.ToMoney(0, 0, m_questPlayer.Level, 0, Util.Random(50)), "You receive {0} as a reward."); AtlasROGManager.GenerateReward(m_questPlayer, 100); _deadSidiMob = 0; base.FinishQuest(); //Defined in Quest, changes the state, stores in DB etc ... diff --git a/GameServer/scripts/quests/AtlasQuests/DailyQuests/Albion/PvE/Daily/TeamBuildingAlb.cs b/GameServer/scripts/quests/AtlasQuests/DailyQuests/Albion/PvE/Daily/TeamBuildingAlb.cs index 6388fb56b0..49a3c1f8d9 100644 --- a/GameServer/scripts/quests/AtlasQuests/DailyQuests/Albion/PvE/Daily/TeamBuildingAlb.cs +++ b/GameServer/scripts/quests/AtlasQuests/DailyQuests/Albion/PvE/Daily/TeamBuildingAlb.cs @@ -404,7 +404,7 @@ public override string QuestPropertyKey public override void FinishQuest() { m_questPlayer.ForceGainExperience((m_questPlayer.ExperienceForNextLevel - m_questPlayer.ExperienceForCurrentLevel)/5); - m_questPlayer.AddMoney(Money.GetMoney(0,0,m_questPlayer.Level,50,Util.Random(50)), "You receive {0} as a reward."); + m_questPlayer.Wallet.AddMoney(WalletHelper.ToMoney(0,0,m_questPlayer.Level,50,Util.Random(50)), "You receive {0} as a reward."); AtlasROGManager.GenerateReward(m_questPlayer, 300); TeamBuildMobsKilled = 0; base.FinishQuest(); //Defined in Quest, changes the state, stores in DB etc ... diff --git a/GameServer/scripts/quests/AtlasQuests/DailyQuests/Albion/PvE/Monthly/MonthlyEpicPvEQuestAlb.cs b/GameServer/scripts/quests/AtlasQuests/DailyQuests/Albion/PvE/Monthly/MonthlyEpicPvEQuestAlb.cs index b45e4b506a..a37972dae3 100644 --- a/GameServer/scripts/quests/AtlasQuests/DailyQuests/Albion/PvE/Monthly/MonthlyEpicPvEQuestAlb.cs +++ b/GameServer/scripts/quests/AtlasQuests/DailyQuests/Albion/PvE/Monthly/MonthlyEpicPvEQuestAlb.cs @@ -365,7 +365,7 @@ public override void FinishQuest() if (m_questPlayer.Inventory.IsSlotsFree(3, eInventorySlot.FirstBackpack, eInventorySlot.LastBackpack)) { m_questPlayer.ForceGainExperience((m_questPlayer.ExperienceForNextLevel - m_questPlayer.ExperienceForCurrentLevel)); - m_questPlayer.AddMoney(Money.GetMoney(0, 0, m_questPlayer.Level * 8, 32, Util.Random(50)), + m_questPlayer.Wallet.AddMoney(WalletHelper.ToMoney(0, 0, m_questPlayer.Level * 8, 32, Util.Random(50)), "You receive {0} as a reward."); AtlasROGManager.GenerateReward(m_questPlayer, 3000); AtlasROGManager.GenerateBeetleCarapace(m_questPlayer, 2); diff --git a/GameServer/scripts/quests/AtlasQuests/DailyQuests/Albion/PvE/Weekly/DragonWeeklyQuestAlb.cs b/GameServer/scripts/quests/AtlasQuests/DailyQuests/Albion/PvE/Weekly/DragonWeeklyQuestAlb.cs index 64e59df6ca..74f3a2c03b 100644 --- a/GameServer/scripts/quests/AtlasQuests/DailyQuests/Albion/PvE/Weekly/DragonWeeklyQuestAlb.cs +++ b/GameServer/scripts/quests/AtlasQuests/DailyQuests/Albion/PvE/Weekly/DragonWeeklyQuestAlb.cs @@ -347,7 +347,7 @@ public override void SaveQuestParameters() public override void FinishQuest() { m_questPlayer.ForceGainExperience((m_questPlayer.ExperienceForNextLevel - m_questPlayer.ExperienceForCurrentLevel)); - m_questPlayer.AddMoney(Money.GetMoney(0,0,m_questPlayer.Level * 5,32,Util.Random(50)), "You receive {0} as a reward."); + m_questPlayer.Wallet.AddMoney(WalletHelper.ToMoney(0,0,m_questPlayer.Level * 5,32,Util.Random(50)), "You receive {0} as a reward."); AtlasROGManager.GenerateReward(m_questPlayer, 1500); DragonKilled = 0; base.FinishQuest(); //Defined in Quest, changes the state, stores in DB etc ... diff --git a/GameServer/scripts/quests/AtlasQuests/DailyQuests/Albion/PvE/Weekly/SidiBossQuestAlb.cs b/GameServer/scripts/quests/AtlasQuests/DailyQuests/Albion/PvE/Weekly/SidiBossQuestAlb.cs index 37a031519d..06f43aa8d5 100644 --- a/GameServer/scripts/quests/AtlasQuests/DailyQuests/Albion/PvE/Weekly/SidiBossQuestAlb.cs +++ b/GameServer/scripts/quests/AtlasQuests/DailyQuests/Albion/PvE/Weekly/SidiBossQuestAlb.cs @@ -361,7 +361,7 @@ public override void SaveQuestParameters() public override void FinishQuest() { m_questPlayer.ForceGainExperience((m_questPlayer.ExperienceForNextLevel - m_questPlayer.ExperienceForCurrentLevel)); - m_questPlayer.AddMoney(Money.GetMoney(0, 0, m_questPlayer.Level * 5, 0, Util.Random(50)), "You receive {0} as a reward."); + m_questPlayer.Wallet.AddMoney(WalletHelper.ToMoney(0, 0, m_questPlayer.Level * 5, 0, Util.Random(50)), "You receive {0} as a reward."); AtlasROGManager.GenerateReward(m_questPlayer, 1500); _deadSidiBossMob = 0; base.FinishQuest(); //Defined in Quest, changes the state, stores in DB etc ... diff --git a/GameServer/scripts/quests/AtlasQuests/DailyQuests/Albion/RvR/Daily/EveryLittleBitHelpsQuestAlb.cs b/GameServer/scripts/quests/AtlasQuests/DailyQuests/Albion/RvR/Daily/EveryLittleBitHelpsQuestAlb.cs index 5964d9b2a0..2f3fcd72d4 100644 --- a/GameServer/scripts/quests/AtlasQuests/DailyQuests/Albion/RvR/Daily/EveryLittleBitHelpsQuestAlb.cs +++ b/GameServer/scripts/quests/AtlasQuests/DailyQuests/Albion/RvR/Daily/EveryLittleBitHelpsQuestAlb.cs @@ -363,7 +363,7 @@ public override void FinishQuest() int reward = ServerProperties.Properties.DAILY_RVR_REWARD; m_questPlayer.ForceGainExperience((m_questPlayer.ExperienceForNextLevel - m_questPlayer.ExperienceForCurrentLevel)/5); - m_questPlayer.AddMoney(Money.GetMoney(0,0,m_questPlayer.Level,32,Util.Random(50)), "You receive {0} as a reward."); + m_questPlayer.Wallet.AddMoney(WalletHelper.ToMoney(0,0,m_questPlayer.Level,32,Util.Random(50)), "You receive {0} as a reward."); AtlasROGManager.GenerateReward(m_questPlayer, 250); AtlasROGManager.GenerateJewel(m_questPlayer, (byte)(m_questPlayer.Level + 1), m_questPlayer.Level + Util.Random(5, 15)); _playersKilledHib = 0; diff --git a/GameServer/scripts/quests/AtlasQuests/DailyQuests/Albion/RvR/Daily/PlayerKillQuestAlb.cs b/GameServer/scripts/quests/AtlasQuests/DailyQuests/Albion/RvR/Daily/PlayerKillQuestAlb.cs index 8bf64bd46d..adda613ac9 100644 --- a/GameServer/scripts/quests/AtlasQuests/DailyQuests/Albion/RvR/Daily/PlayerKillQuestAlb.cs +++ b/GameServer/scripts/quests/AtlasQuests/DailyQuests/Albion/RvR/Daily/PlayerKillQuestAlb.cs @@ -357,7 +357,7 @@ public override void FinishQuest() int reward = ServerProperties.Properties.DAILY_RVR_REWARD; m_questPlayer.ForceGainExperience((m_questPlayer.ExperienceForNextLevel - m_questPlayer.ExperienceForCurrentLevel)/5); - m_questPlayer.AddMoney(Money.GetMoney(0,0,m_questPlayer.Level,32,Util.Random(50)), "You receive {0} as a reward."); + m_questPlayer.Wallet.AddMoney(WalletHelper.ToMoney(0,0,m_questPlayer.Level,32,Util.Random(50)), "You receive {0} as a reward."); AtlasROGManager.GenerateReward(m_questPlayer, 250); AtlasROGManager.GenerateJewel(m_questPlayer, (byte)(m_questPlayer.Level + 1), m_questPlayer.Level + Util.Random(5, 15)); PlayersKilled = 0; diff --git a/GameServer/scripts/quests/AtlasQuests/DailyQuests/Albion/RvR/Weekly/DFWeeklyKillQuestAlb.cs b/GameServer/scripts/quests/AtlasQuests/DailyQuests/Albion/RvR/Weekly/DFWeeklyKillQuestAlb.cs index 2c1d6794f3..64bffc52a0 100644 --- a/GameServer/scripts/quests/AtlasQuests/DailyQuests/Albion/RvR/Weekly/DFWeeklyKillQuestAlb.cs +++ b/GameServer/scripts/quests/AtlasQuests/DailyQuests/Albion/RvR/Weekly/DFWeeklyKillQuestAlb.cs @@ -360,7 +360,7 @@ public override void FinishQuest() int reward = ServerProperties.Properties.WEEKLY_RVR_REWARD; m_questPlayer.ForceGainExperience((m_questPlayer.ExperienceForNextLevel - m_questPlayer.ExperienceForCurrentLevel)); - m_questPlayer.AddMoney(Money.GetMoney(0,0,m_questPlayer.Level * 5,32,Util.Random(50)), "You receive {0} as a reward."); + m_questPlayer.Wallet.AddMoney(WalletHelper.ToMoney(0,0,m_questPlayer.Level * 5,32,Util.Random(50)), "You receive {0} as a reward."); AtlasROGManager.GenerateReward(m_questPlayer, 1500); EnemiesKilled = 0; diff --git a/GameServer/scripts/quests/AtlasQuests/DailyQuests/Albion/RvR/Weekly/ForTheRealmQuestAlb.cs b/GameServer/scripts/quests/AtlasQuests/DailyQuests/Albion/RvR/Weekly/ForTheRealmQuestAlb.cs index ebac49219c..7a28d781e7 100644 --- a/GameServer/scripts/quests/AtlasQuests/DailyQuests/Albion/RvR/Weekly/ForTheRealmQuestAlb.cs +++ b/GameServer/scripts/quests/AtlasQuests/DailyQuests/Albion/RvR/Weekly/ForTheRealmQuestAlb.cs @@ -363,7 +363,7 @@ public override void FinishQuest() int reward = ServerProperties.Properties.WEEKLY_RVR_REWARD; m_questPlayer.ForceGainExperience((m_questPlayer.ExperienceForNextLevel - m_questPlayer.ExperienceForCurrentLevel)); - m_questPlayer.AddMoney(Money.GetMoney(0,0,m_questPlayer.Level * 5,32,Util.Random(50)), "You receive {0} as a reward."); + m_questPlayer.Wallet.AddMoney(WalletHelper.ToMoney(0,0,m_questPlayer.Level * 5,32,Util.Random(50)), "You receive {0} as a reward."); AtlasROGManager.GenerateReward(m_questPlayer, 1500); AtlasROGManager.GenerateJewel(m_questPlayer, (byte)(m_questPlayer.Level + 1), m_questPlayer.Level + Util.Random(10, 20)); _playersKilledHib = 0; diff --git a/GameServer/scripts/quests/AtlasQuests/DailyQuests/Albion/RvR/Weekly/PlayerKillWeeklyQuestAlb.cs b/GameServer/scripts/quests/AtlasQuests/DailyQuests/Albion/RvR/Weekly/PlayerKillWeeklyQuestAlb.cs index 1bbc37b16c..229c38cf7d 100644 --- a/GameServer/scripts/quests/AtlasQuests/DailyQuests/Albion/RvR/Weekly/PlayerKillWeeklyQuestAlb.cs +++ b/GameServer/scripts/quests/AtlasQuests/DailyQuests/Albion/RvR/Weekly/PlayerKillWeeklyQuestAlb.cs @@ -351,7 +351,7 @@ public override void FinishQuest() int reward = ServerProperties.Properties.WEEKLY_RVR_REWARD; m_questPlayer.ForceGainExperience((m_questPlayer.ExperienceForNextLevel - m_questPlayer.ExperienceForCurrentLevel)/5); - m_questPlayer.AddMoney(Money.GetMoney(0,0,m_questPlayer.Level * 5,32,Util.Random(50)), "You receive {0} as a reward."); + m_questPlayer.Wallet.AddMoney(WalletHelper.ToMoney(0,0,m_questPlayer.Level * 5,32,Util.Random(50)), "You receive {0} as a reward."); AtlasROGManager.GenerateReward(m_questPlayer, 1500); AtlasROGManager.GenerateJewel(m_questPlayer, (byte)(m_questPlayer.Level + 1), m_questPlayer.Level + Util.Random(10, 20)); PlayersKilled = 0; diff --git a/GameServer/scripts/quests/AtlasQuests/DailyQuests/Hibernia/Frontier/Daily/CaptureKeepQuestHib.cs b/GameServer/scripts/quests/AtlasQuests/DailyQuests/Hibernia/Frontier/Daily/CaptureKeepQuestHib.cs index 47176a0e1a..153a714263 100644 --- a/GameServer/scripts/quests/AtlasQuests/DailyQuests/Hibernia/Frontier/Daily/CaptureKeepQuestHib.cs +++ b/GameServer/scripts/quests/AtlasQuests/DailyQuests/Hibernia/Frontier/Daily/CaptureKeepQuestHib.cs @@ -348,7 +348,7 @@ public override void FinishQuest() int reward = ServerProperties.Properties.DAILY_RVR_REWARD; m_questPlayer.ForceGainExperience((m_questPlayer.ExperienceForNextLevel - m_questPlayer.ExperienceForCurrentLevel)/5); - m_questPlayer.AddMoney(Money.GetMoney(0,0,m_questPlayer.Level*2,0,Util.Random(50)), "You receive {0} as a reward."); + m_questPlayer.Wallet.AddMoney(WalletHelper.ToMoney(0,0,m_questPlayer.Level*2,0,Util.Random(50)), "You receive {0} as a reward."); AtlasROGManager.GenerateReward(m_questPlayer, 250); AtlasROGManager.GenerateJewel(m_questPlayer, (byte)(m_questPlayer.Level + 1), m_questPlayer.Level + Util.Random(5, 11)); _isCaptured = 0; diff --git a/GameServer/scripts/quests/AtlasQuests/DailyQuests/Hibernia/Frontier/Daily/KillNPCInFrontiersHib.cs b/GameServer/scripts/quests/AtlasQuests/DailyQuests/Hibernia/Frontier/Daily/KillNPCInFrontiersHib.cs index 08bade3708..27e64e6c96 100644 --- a/GameServer/scripts/quests/AtlasQuests/DailyQuests/Hibernia/Frontier/Daily/KillNPCInFrontiersHib.cs +++ b/GameServer/scripts/quests/AtlasQuests/DailyQuests/Hibernia/Frontier/Daily/KillNPCInFrontiersHib.cs @@ -352,7 +352,7 @@ public override string QuestPropertyKey public override void FinishQuest() { m_questPlayer.ForceGainExperience((m_questPlayer.ExperienceForNextLevel - m_questPlayer.ExperienceForCurrentLevel)/10); - m_questPlayer.AddMoney(Money.GetMoney(0,0,m_questPlayer.Level,50,Util.Random(50)), "You receive {0} as a reward."); + m_questPlayer.Wallet.AddMoney(WalletHelper.ToMoney(0,0,m_questPlayer.Level,50,Util.Random(50)), "You receive {0} as a reward."); AtlasROGManager.GenerateReward(m_questPlayer, 150); AtlasROGManager.GenerateJewel(m_questPlayer, (byte)(m_questPlayer.Level + 1), m_questPlayer.Level + Util.Random(5, 11)); FrontierMobsKilled = 0; diff --git a/GameServer/scripts/quests/AtlasQuests/DailyQuests/Hibernia/Frontier/Monthly/CaptureRelicQuestHib.cs b/GameServer/scripts/quests/AtlasQuests/DailyQuests/Hibernia/Frontier/Monthly/CaptureRelicQuestHib.cs index b2e87722cc..bb0d3f9319 100644 --- a/GameServer/scripts/quests/AtlasQuests/DailyQuests/Hibernia/Frontier/Monthly/CaptureRelicQuestHib.cs +++ b/GameServer/scripts/quests/AtlasQuests/DailyQuests/Hibernia/Frontier/Monthly/CaptureRelicQuestHib.cs @@ -359,7 +359,7 @@ public override void FinishQuest() if (m_questPlayer.Inventory.IsSlotsFree(3, eInventorySlot.FirstBackpack, eInventorySlot.LastBackpack)) { m_questPlayer.ForceGainExperience((m_questPlayer.ExperienceForNextLevel - m_questPlayer.ExperienceForCurrentLevel)); - m_questPlayer.AddMoney(Money.GetMoney(0,0,m_questPlayer.Level*8,0,Util.Random(50)), "You receive {0} as a reward."); + m_questPlayer.Wallet.AddMoney(WalletHelper.ToMoney(0,0,m_questPlayer.Level*8,0,Util.Random(50)), "You receive {0} as a reward."); AtlasROGManager.GenerateReward(m_questPlayer, 5000); AtlasROGManager.GenerateBeetleCarapace(m_questPlayer, 2); AtlasROGManager.GenerateJewel(m_questPlayer, 51); diff --git a/GameServer/scripts/quests/AtlasQuests/DailyQuests/Hibernia/Frontier/Monthly/FrontiersMonthlyQuestHib.cs b/GameServer/scripts/quests/AtlasQuests/DailyQuests/Hibernia/Frontier/Monthly/FrontiersMonthlyQuestHib.cs index 2b9a1411db..ee6738f915 100644 --- a/GameServer/scripts/quests/AtlasQuests/DailyQuests/Hibernia/Frontier/Monthly/FrontiersMonthlyQuestHib.cs +++ b/GameServer/scripts/quests/AtlasQuests/DailyQuests/Hibernia/Frontier/Monthly/FrontiersMonthlyQuestHib.cs @@ -377,7 +377,7 @@ public override void FinishQuest() if (m_questPlayer.Inventory.IsSlotsFree(3, eInventorySlot.FirstBackpack, eInventorySlot.LastBackpack)) { m_questPlayer.ForceGainExperience((m_questPlayer.ExperienceForNextLevel - m_questPlayer.ExperienceForCurrentLevel)); - m_questPlayer.AddMoney(Money.GetMoney(0, 0, m_questPlayer.Level * 8, 32, Util.Random(50)), + m_questPlayer.Wallet.AddMoney(WalletHelper.ToMoney(0, 0, m_questPlayer.Level * 8, 32, Util.Random(50)), "You receive {0} as a reward."); AtlasROGManager.GenerateReward(m_questPlayer, 5000); AtlasROGManager.GenerateBeetleCarapace(m_questPlayer, 2); diff --git a/GameServer/scripts/quests/AtlasQuests/DailyQuests/Hibernia/Frontier/Weekly/DFMobKillQuestHib.cs b/GameServer/scripts/quests/AtlasQuests/DailyQuests/Hibernia/Frontier/Weekly/DFMobKillQuestHib.cs index fc7aecc5b7..70653e6c36 100644 --- a/GameServer/scripts/quests/AtlasQuests/DailyQuests/Hibernia/Frontier/Weekly/DFMobKillQuestHib.cs +++ b/GameServer/scripts/quests/AtlasQuests/DailyQuests/Hibernia/Frontier/Weekly/DFMobKillQuestHib.cs @@ -373,7 +373,7 @@ public override string QuestPropertyKey public override void FinishQuest() { m_questPlayer.ForceGainExperience((m_questPlayer.ExperienceForNextLevel - m_questPlayer.ExperienceForCurrentLevel)); - m_questPlayer.AddMoney(Money.GetMoney(0,0,m_questPlayer.Level * 5,32,Util.Random(50)), "You receive {0} as a reward."); + m_questPlayer.Wallet.AddMoney(WalletHelper.ToMoney(0,0,m_questPlayer.Level * 5,32,Util.Random(50)), "You receive {0} as a reward."); AtlasROGManager.GenerateReward(m_questPlayer, 1500); _mobsKilled = 0; base.FinishQuest(); //Defined in Quest, changes the state, stores in DB etc ... diff --git a/GameServer/scripts/quests/AtlasQuests/DailyQuests/Hibernia/Frontier/Weekly/EpicRvRMobsWeeklyQuestHib.cs b/GameServer/scripts/quests/AtlasQuests/DailyQuests/Hibernia/Frontier/Weekly/EpicRvRMobsWeeklyQuestHib.cs index d2c86919dd..97597d0d26 100644 --- a/GameServer/scripts/quests/AtlasQuests/DailyQuests/Hibernia/Frontier/Weekly/EpicRvRMobsWeeklyQuestHib.cs +++ b/GameServer/scripts/quests/AtlasQuests/DailyQuests/Hibernia/Frontier/Weekly/EpicRvRMobsWeeklyQuestHib.cs @@ -371,7 +371,7 @@ public override void Notify(DOLEvent e, object sender, EventArgs args) public override void FinishQuest() { //m_questPlayer.GainExperience(eXPSource.Quest, (m_questPlayer.ExperienceForNextLevel - m_questPlayer.ExperienceForCurrentLevel)/10, true); - m_questPlayer.AddMoney(Money.GetMoney(0,0,m_questPlayer.Level * 5,32,Util.Random(50)), "You receive {0} as a reward."); + m_questPlayer.Wallet.AddMoney(WalletHelper.ToMoney(0,0,m_questPlayer.Level * 5,32,Util.Random(50)), "You receive {0} as a reward."); AtlasROGManager.GenerateReward(m_questPlayer, 1500); AtlasROGManager.GenerateJewel(m_questPlayer, (byte)(m_questPlayer.Level + 1), m_questPlayer.Level + Util.Random(10, 11)); _evernKilled = 0; diff --git a/GameServer/scripts/quests/AtlasQuests/DailyQuests/Hibernia/Hardcore/Daily/HardcoreKillAPlayerHib.cs b/GameServer/scripts/quests/AtlasQuests/DailyQuests/Hibernia/Hardcore/Daily/HardcoreKillAPlayerHib.cs index 351753c1d1..f3922751fe 100644 --- a/GameServer/scripts/quests/AtlasQuests/DailyQuests/Hibernia/Hardcore/Daily/HardcoreKillAPlayerHib.cs +++ b/GameServer/scripts/quests/AtlasQuests/DailyQuests/Hibernia/Hardcore/Daily/HardcoreKillAPlayerHib.cs @@ -358,7 +358,7 @@ public override void FinishQuest() int reward = ServerProperties.Properties.HARDCORE_RVR_REWARD; m_questPlayer.ForceGainExperience((m_questPlayer.ExperienceForNextLevel - m_questPlayer.ExperienceForCurrentLevel)/2); - m_questPlayer.AddMoney(Money.GetMoney(0,0,m_questPlayer.Level*2,32,Util.Random(50)), "You receive {0} as a reward."); + m_questPlayer.Wallet.AddMoney(WalletHelper.ToMoney(0,0,m_questPlayer.Level*2,32,Util.Random(50)), "You receive {0} as a reward."); AtlasROGManager.GenerateReward(m_questPlayer, 250); PlayerKilled = 0; diff --git a/GameServer/scripts/quests/AtlasQuests/DailyQuests/Hibernia/Hardcore/Daily/HardcoreKillNPCInFrontiersHib.cs b/GameServer/scripts/quests/AtlasQuests/DailyQuests/Hibernia/Hardcore/Daily/HardcoreKillNPCInFrontiersHib.cs index 7e9427fd8d..38f9e4d951 100644 --- a/GameServer/scripts/quests/AtlasQuests/DailyQuests/Hibernia/Hardcore/Daily/HardcoreKillNPCInFrontiersHib.cs +++ b/GameServer/scripts/quests/AtlasQuests/DailyQuests/Hibernia/Hardcore/Daily/HardcoreKillNPCInFrontiersHib.cs @@ -376,7 +376,7 @@ public override void SaveQuestParameters() public override void FinishQuest() { m_questPlayer.ForceGainExperience((m_questPlayer.ExperienceForNextLevel - m_questPlayer.ExperienceForCurrentLevel)/2); - m_questPlayer.AddMoney(Money.GetMoney(0,0,m_questPlayer.Level*2,32,Util.Random(50)), "You receive {0} as a reward."); + m_questPlayer.Wallet.AddMoney(WalletHelper.ToMoney(0,0,m_questPlayer.Level*2,32,Util.Random(50)), "You receive {0} as a reward."); AtlasROGManager.GenerateReward(m_questPlayer, 150); FrontierMobsKilled = 0; base.FinishQuest(); //Defined in Quest, changes the state, stores in DB etc ... diff --git a/GameServer/scripts/quests/AtlasQuests/DailyQuests/Hibernia/Hardcore/Daily/HardcoreKillOrangesHib.cs b/GameServer/scripts/quests/AtlasQuests/DailyQuests/Hibernia/Hardcore/Daily/HardcoreKillOrangesHib.cs index 33c46ca633..52bf6200b5 100644 --- a/GameServer/scripts/quests/AtlasQuests/DailyQuests/Hibernia/Hardcore/Daily/HardcoreKillOrangesHib.cs +++ b/GameServer/scripts/quests/AtlasQuests/DailyQuests/Hibernia/Hardcore/Daily/HardcoreKillOrangesHib.cs @@ -380,7 +380,7 @@ public override void AbortQuest() public override void FinishQuest() { m_questPlayer.ForceGainExperience((m_questPlayer.ExperienceForNextLevel - m_questPlayer.ExperienceForCurrentLevel)/2); - m_questPlayer.AddMoney(Money.GetMoney(0,0,m_questPlayer.Level*2,32,Util.Random(50)), "You receive {0} as a reward."); + m_questPlayer.Wallet.AddMoney(WalletHelper.ToMoney(0,0,m_questPlayer.Level*2,32,Util.Random(50)), "You receive {0} as a reward."); AtlasROGManager.GenerateReward(m_questPlayer, 150); OrangeConKilled = 0; base.FinishQuest(); //Defined in Quest, changes the state, stores in DB etc ... diff --git a/GameServer/scripts/quests/AtlasQuests/DailyQuests/Hibernia/PvE/Daily/GallaMobQuestHib.cs b/GameServer/scripts/quests/AtlasQuests/DailyQuests/Hibernia/PvE/Daily/GallaMobQuestHib.cs index 2e79555df6..5e175de4a1 100644 --- a/GameServer/scripts/quests/AtlasQuests/DailyQuests/Hibernia/PvE/Daily/GallaMobQuestHib.cs +++ b/GameServer/scripts/quests/AtlasQuests/DailyQuests/Hibernia/PvE/Daily/GallaMobQuestHib.cs @@ -364,7 +364,7 @@ public override void SaveQuestParameters() public override void FinishQuest() { m_questPlayer.ForceGainExperience((m_questPlayer.ExperienceForNextLevel - m_questPlayer.ExperienceForCurrentLevel)/5); - m_questPlayer.AddMoney(Money.GetMoney(0, 0, m_questPlayer.Level, 0, Util.Random(50)), "You receive {0} as a reward."); + m_questPlayer.Wallet.AddMoney(WalletHelper.ToMoney(0, 0, m_questPlayer.Level, 0, Util.Random(50)), "You receive {0} as a reward."); AtlasROGManager.GenerateReward(m_questPlayer, 100); _deadGallaMob = 0; base.FinishQuest(); //Defined in Quest, changes the state, stores in DB etc ... diff --git a/GameServer/scripts/quests/AtlasQuests/DailyQuests/Hibernia/PvE/Daily/OctonidKillQuestHib.cs b/GameServer/scripts/quests/AtlasQuests/DailyQuests/Hibernia/PvE/Daily/OctonidKillQuestHib.cs index 50d186015a..8db81d6b87 100644 --- a/GameServer/scripts/quests/AtlasQuests/DailyQuests/Hibernia/PvE/Daily/OctonidKillQuestHib.cs +++ b/GameServer/scripts/quests/AtlasQuests/DailyQuests/Hibernia/PvE/Daily/OctonidKillQuestHib.cs @@ -347,7 +347,7 @@ public override string QuestPropertyKey public override void FinishQuest() { m_questPlayer.ForceGainExperience((m_questPlayer.ExperienceForNextLevel - m_questPlayer.ExperienceForCurrentLevel)/10); - m_questPlayer.AddMoney(Money.GetMoney(0,0,m_questPlayer.Level,50,Util.Random(50)), "You receive {0} as a reward."); + m_questPlayer.Wallet.AddMoney(WalletHelper.ToMoney(0,0,m_questPlayer.Level,50,Util.Random(50)), "You receive {0} as a reward."); AtlasROGManager.GenerateReward(m_questPlayer, 100); OctonidKilled = 0; base.FinishQuest(); //Defined in Quest, changes the state, stores in DB etc ... diff --git a/GameServer/scripts/quests/AtlasQuests/DailyQuests/Hibernia/PvE/Daily/TeamBuildingHib.cs b/GameServer/scripts/quests/AtlasQuests/DailyQuests/Hibernia/PvE/Daily/TeamBuildingHib.cs index 337bd54389..5af684d811 100644 --- a/GameServer/scripts/quests/AtlasQuests/DailyQuests/Hibernia/PvE/Daily/TeamBuildingHib.cs +++ b/GameServer/scripts/quests/AtlasQuests/DailyQuests/Hibernia/PvE/Daily/TeamBuildingHib.cs @@ -409,7 +409,7 @@ public override string QuestPropertyKey public override void FinishQuest() { m_questPlayer.ForceGainExperience((m_questPlayer.ExperienceForNextLevel - m_questPlayer.ExperienceForCurrentLevel)/5); - m_questPlayer.AddMoney(Money.GetMoney(0,0,m_questPlayer.Level,50,Util.Random(50)), "You receive {0} as a reward."); + m_questPlayer.Wallet.AddMoney(WalletHelper.ToMoney(0,0,m_questPlayer.Level,50,Util.Random(50)), "You receive {0} as a reward."); AtlasROGManager.GenerateReward(m_questPlayer, 300); TeamBuildMobsKilled = 0; base.FinishQuest(); //Defined in Quest, changes the state, stores in DB etc ... diff --git a/GameServer/scripts/quests/AtlasQuests/DailyQuests/Hibernia/PvE/Monthly/MonthlyEpicPvEQuestHib.cs b/GameServer/scripts/quests/AtlasQuests/DailyQuests/Hibernia/PvE/Monthly/MonthlyEpicPvEQuestHib.cs index 4e9532c317..cab1b7af93 100644 --- a/GameServer/scripts/quests/AtlasQuests/DailyQuests/Hibernia/PvE/Monthly/MonthlyEpicPvEQuestHib.cs +++ b/GameServer/scripts/quests/AtlasQuests/DailyQuests/Hibernia/PvE/Monthly/MonthlyEpicPvEQuestHib.cs @@ -365,7 +365,7 @@ public override void FinishQuest() if (m_questPlayer.Inventory.IsSlotsFree(3, eInventorySlot.FirstBackpack, eInventorySlot.LastBackpack)) { m_questPlayer.ForceGainExperience((m_questPlayer.ExperienceForNextLevel - m_questPlayer.ExperienceForCurrentLevel)); - m_questPlayer.AddMoney(Money.GetMoney(0, 0, m_questPlayer.Level * 8, 32, Util.Random(50)), + m_questPlayer.Wallet.AddMoney(WalletHelper.ToMoney(0, 0, m_questPlayer.Level * 8, 32, Util.Random(50)), "You receive {0} as a reward."); AtlasROGManager.GenerateReward(m_questPlayer, 3000); AtlasROGManager.GenerateBeetleCarapace(m_questPlayer, 2); diff --git a/GameServer/scripts/quests/AtlasQuests/DailyQuests/Hibernia/PvE/Weekly/DragonWeeklyQuestHib.cs b/GameServer/scripts/quests/AtlasQuests/DailyQuests/Hibernia/PvE/Weekly/DragonWeeklyQuestHib.cs index f620159113..4a0559e2f9 100644 --- a/GameServer/scripts/quests/AtlasQuests/DailyQuests/Hibernia/PvE/Weekly/DragonWeeklyQuestHib.cs +++ b/GameServer/scripts/quests/AtlasQuests/DailyQuests/Hibernia/PvE/Weekly/DragonWeeklyQuestHib.cs @@ -347,7 +347,7 @@ public override void SaveQuestParameters() public override void FinishQuest() { m_questPlayer.ForceGainExperience((m_questPlayer.ExperienceForNextLevel - m_questPlayer.ExperienceForCurrentLevel)); - m_questPlayer.AddMoney(Money.GetMoney(0,0,m_questPlayer.Level * 5,32,Util.Random(50)), "You receive {0} as a reward."); + m_questPlayer.Wallet.AddMoney(WalletHelper.ToMoney(0,0,m_questPlayer.Level * 5,32,Util.Random(50)), "You receive {0} as a reward."); AtlasROGManager.GenerateReward(m_questPlayer, 1500); DragonKilled = 0; base.FinishQuest(); //Defined in Quest, changes the state, stores in DB etc ... diff --git a/GameServer/scripts/quests/AtlasQuests/DailyQuests/Hibernia/PvE/Weekly/GalladoriaBossQuestHib.cs b/GameServer/scripts/quests/AtlasQuests/DailyQuests/Hibernia/PvE/Weekly/GalladoriaBossQuestHib.cs index 774aa66c93..15c8225593 100644 --- a/GameServer/scripts/quests/AtlasQuests/DailyQuests/Hibernia/PvE/Weekly/GalladoriaBossQuestHib.cs +++ b/GameServer/scripts/quests/AtlasQuests/DailyQuests/Hibernia/PvE/Weekly/GalladoriaBossQuestHib.cs @@ -362,7 +362,7 @@ public override void SaveQuestParameters() public override void FinishQuest() { m_questPlayer.ForceGainExperience((m_questPlayer.ExperienceForNextLevel - m_questPlayer.ExperienceForCurrentLevel)); - m_questPlayer.AddMoney(Money.GetMoney(0, 0, m_questPlayer.Level * 5, 0, Util.Random(50)), "You receive {0} as a reward."); + m_questPlayer.Wallet.AddMoney(WalletHelper.ToMoney(0, 0, m_questPlayer.Level * 5, 0, Util.Random(50)), "You receive {0} as a reward."); AtlasROGManager.GenerateReward(m_questPlayer, 1500); _deadGallaBossMob = 0; base.FinishQuest(); //Defined in Quest, changes the state, stores in DB etc ... diff --git a/GameServer/scripts/quests/AtlasQuests/DailyQuests/Hibernia/RvR/Daily/EveryLittleBitHelpsQuestHib.cs b/GameServer/scripts/quests/AtlasQuests/DailyQuests/Hibernia/RvR/Daily/EveryLittleBitHelpsQuestHib.cs index ea84da3e8b..141ab869c8 100644 --- a/GameServer/scripts/quests/AtlasQuests/DailyQuests/Hibernia/RvR/Daily/EveryLittleBitHelpsQuestHib.cs +++ b/GameServer/scripts/quests/AtlasQuests/DailyQuests/Hibernia/RvR/Daily/EveryLittleBitHelpsQuestHib.cs @@ -364,7 +364,7 @@ public override void FinishQuest() int reward = ServerProperties.Properties.DAILY_RVR_REWARD; m_questPlayer.ForceGainExperience((m_questPlayer.ExperienceForNextLevel - m_questPlayer.ExperienceForCurrentLevel)/5); - m_questPlayer.AddMoney(Money.GetMoney(0,0,m_questPlayer.Level,32,Util.Random(50)), "You receive {0} as a reward."); + m_questPlayer.Wallet.AddMoney(WalletHelper.ToMoney(0,0,m_questPlayer.Level,32,Util.Random(50)), "You receive {0} as a reward."); AtlasROGManager.GenerateReward(m_questPlayer, 250); AtlasROGManager.GenerateJewel(m_questPlayer, (byte)(m_questPlayer.Level + 1), m_questPlayer.Level + Util.Random(5, 15)); _playersKilledAlb = 0; diff --git a/GameServer/scripts/quests/AtlasQuests/DailyQuests/Hibernia/RvR/Daily/PlayerKillQuestHib.cs b/GameServer/scripts/quests/AtlasQuests/DailyQuests/Hibernia/RvR/Daily/PlayerKillQuestHib.cs index 30ece47f21..1bee7873b9 100644 --- a/GameServer/scripts/quests/AtlasQuests/DailyQuests/Hibernia/RvR/Daily/PlayerKillQuestHib.cs +++ b/GameServer/scripts/quests/AtlasQuests/DailyQuests/Hibernia/RvR/Daily/PlayerKillQuestHib.cs @@ -350,7 +350,7 @@ public override void FinishQuest() int reward = ServerProperties.Properties.DAILY_RVR_REWARD; m_questPlayer.ForceGainExperience((m_questPlayer.ExperienceForNextLevel - m_questPlayer.ExperienceForCurrentLevel)/5); - m_questPlayer.AddMoney(Money.GetMoney(0,0,m_questPlayer.Level,32,Util.Random(50)), "You receive {0} as a reward."); + m_questPlayer.Wallet.AddMoney(WalletHelper.ToMoney(0,0,m_questPlayer.Level,32,Util.Random(50)), "You receive {0} as a reward."); AtlasROGManager.GenerateReward(m_questPlayer, 250); AtlasROGManager.GenerateJewel(m_questPlayer, (byte)(m_questPlayer.Level + 1), m_questPlayer.Level + Util.Random(5, 15)); PlayersKilled = 0; diff --git a/GameServer/scripts/quests/AtlasQuests/DailyQuests/Hibernia/RvR/Weekly/DFWeeklyKillQuestHib.cs b/GameServer/scripts/quests/AtlasQuests/DailyQuests/Hibernia/RvR/Weekly/DFWeeklyKillQuestHib.cs index 036f7f13da..e285d7435c 100644 --- a/GameServer/scripts/quests/AtlasQuests/DailyQuests/Hibernia/RvR/Weekly/DFWeeklyKillQuestHib.cs +++ b/GameServer/scripts/quests/AtlasQuests/DailyQuests/Hibernia/RvR/Weekly/DFWeeklyKillQuestHib.cs @@ -356,7 +356,7 @@ public override void FinishQuest() int reward = ServerProperties.Properties.WEEKLY_RVR_REWARD; m_questPlayer.ForceGainExperience((m_questPlayer.ExperienceForNextLevel - m_questPlayer.ExperienceForCurrentLevel)); - m_questPlayer.AddMoney(Money.GetMoney(0,0,m_questPlayer.Level * 5,32,Util.Random(50)), "You receive {0} as a reward."); + m_questPlayer.Wallet.AddMoney(WalletHelper.ToMoney(0,0,m_questPlayer.Level * 5,32,Util.Random(50)), "You receive {0} as a reward."); AtlasROGManager.GenerateReward(m_questPlayer, 1500); EnemiesKilled = 0; diff --git a/GameServer/scripts/quests/AtlasQuests/DailyQuests/Hibernia/RvR/Weekly/ForTheRealmQuestHib.cs b/GameServer/scripts/quests/AtlasQuests/DailyQuests/Hibernia/RvR/Weekly/ForTheRealmQuestHib.cs index 2ee17f284d..59fe69e58e 100644 --- a/GameServer/scripts/quests/AtlasQuests/DailyQuests/Hibernia/RvR/Weekly/ForTheRealmQuestHib.cs +++ b/GameServer/scripts/quests/AtlasQuests/DailyQuests/Hibernia/RvR/Weekly/ForTheRealmQuestHib.cs @@ -369,7 +369,7 @@ public override void FinishQuest() int reward = ServerProperties.Properties.WEEKLY_RVR_REWARD; m_questPlayer.ForceGainExperience((m_questPlayer.ExperienceForNextLevel - m_questPlayer.ExperienceForCurrentLevel)); - m_questPlayer.AddMoney(Money.GetMoney(0,0,m_questPlayer.Level * 5,32,Util.Random(50)), "You receive {0} as a reward."); + m_questPlayer.Wallet.AddMoney(WalletHelper.ToMoney(0,0,m_questPlayer.Level * 5,32,Util.Random(50)), "You receive {0} as a reward."); AtlasROGManager.GenerateReward(m_questPlayer, 1500); AtlasROGManager.GenerateJewel(m_questPlayer, (byte)(m_questPlayer.Level + 1), m_questPlayer.Level + Util.Random(10, 20)); _playersKilledAlb = 0; diff --git a/GameServer/scripts/quests/AtlasQuests/DailyQuests/Hibernia/RvR/Weekly/PlayerKillWeeklyQuestHib.cs b/GameServer/scripts/quests/AtlasQuests/DailyQuests/Hibernia/RvR/Weekly/PlayerKillWeeklyQuestHib.cs index da03c07e85..2c4160a8ea 100644 --- a/GameServer/scripts/quests/AtlasQuests/DailyQuests/Hibernia/RvR/Weekly/PlayerKillWeeklyQuestHib.cs +++ b/GameServer/scripts/quests/AtlasQuests/DailyQuests/Hibernia/RvR/Weekly/PlayerKillWeeklyQuestHib.cs @@ -351,7 +351,7 @@ public override void FinishQuest() int reward = ServerProperties.Properties.WEEKLY_RVR_REWARD; m_questPlayer.ForceGainExperience((m_questPlayer.ExperienceForNextLevel - m_questPlayer.ExperienceForCurrentLevel)/5); - m_questPlayer.AddMoney(Money.GetMoney(0,0,m_questPlayer.Level * 5,32,Util.Random(50)), "You receive {0} as a reward."); + m_questPlayer.Wallet.AddMoney(WalletHelper.ToMoney(0,0,m_questPlayer.Level * 5,32,Util.Random(50)), "You receive {0} as a reward."); AtlasROGManager.GenerateReward(m_questPlayer, 1500); AtlasROGManager.GenerateJewel(m_questPlayer, (byte)(m_questPlayer.Level + 1), m_questPlayer.Level + Util.Random(10, 20)); PlayersKilled = 0; diff --git a/GameServer/scripts/quests/AtlasQuests/DailyQuests/Midgard/Frontier/Daily/CaptureKeepQuestMid.cs b/GameServer/scripts/quests/AtlasQuests/DailyQuests/Midgard/Frontier/Daily/CaptureKeepQuestMid.cs index a202c00007..cc617aa185 100644 --- a/GameServer/scripts/quests/AtlasQuests/DailyQuests/Midgard/Frontier/Daily/CaptureKeepQuestMid.cs +++ b/GameServer/scripts/quests/AtlasQuests/DailyQuests/Midgard/Frontier/Daily/CaptureKeepQuestMid.cs @@ -346,7 +346,7 @@ public override void FinishQuest() int reward = ServerProperties.Properties.DAILY_RVR_REWARD; m_questPlayer.ForceGainExperience((m_questPlayer.ExperienceForNextLevel - m_questPlayer.ExperienceForCurrentLevel)/5); - m_questPlayer.AddMoney(Money.GetMoney(0,0,m_questPlayer.Level*2,0,Util.Random(50)), "You receive {0} as a reward."); + m_questPlayer.Wallet.AddMoney(WalletHelper.ToMoney(0,0,m_questPlayer.Level*2,0,Util.Random(50)), "You receive {0} as a reward."); AtlasROGManager.GenerateReward(m_questPlayer, 150); AtlasROGManager.GenerateJewel(m_questPlayer, (byte)(m_questPlayer.Level + 1), m_questPlayer.Level + Util.Random(5, 11)); _isCaptured = 0; diff --git a/GameServer/scripts/quests/AtlasQuests/DailyQuests/Midgard/Frontier/Daily/KillNPCInFrontiersMid.cs b/GameServer/scripts/quests/AtlasQuests/DailyQuests/Midgard/Frontier/Daily/KillNPCInFrontiersMid.cs index 68bf344cf1..20722b78de 100644 --- a/GameServer/scripts/quests/AtlasQuests/DailyQuests/Midgard/Frontier/Daily/KillNPCInFrontiersMid.cs +++ b/GameServer/scripts/quests/AtlasQuests/DailyQuests/Midgard/Frontier/Daily/KillNPCInFrontiersMid.cs @@ -356,7 +356,7 @@ public override void AbortQuest() public override void FinishQuest() { m_questPlayer.ForceGainExperience((m_questPlayer.ExperienceForNextLevel - m_questPlayer.ExperienceForCurrentLevel)/10); - m_questPlayer.AddMoney(Money.GetMoney(0,0,m_questPlayer.Level,50,Util.Random(50)), "You receive {0} as a reward."); + m_questPlayer.Wallet.AddMoney(WalletHelper.ToMoney(0,0,m_questPlayer.Level,50,Util.Random(50)), "You receive {0} as a reward."); AtlasROGManager.GenerateReward(m_questPlayer, 150); AtlasROGManager.GenerateJewel(m_questPlayer, (byte)(m_questPlayer.Level + 1), m_questPlayer.Level + Util.Random(5, 11)); FrontierMobsKilled = 0; diff --git a/GameServer/scripts/quests/AtlasQuests/DailyQuests/Midgard/Frontier/Monthly/CaptureRelicQuestMid.cs b/GameServer/scripts/quests/AtlasQuests/DailyQuests/Midgard/Frontier/Monthly/CaptureRelicQuestMid.cs index 9bf2a8b057..eb18644123 100644 --- a/GameServer/scripts/quests/AtlasQuests/DailyQuests/Midgard/Frontier/Monthly/CaptureRelicQuestMid.cs +++ b/GameServer/scripts/quests/AtlasQuests/DailyQuests/Midgard/Frontier/Monthly/CaptureRelicQuestMid.cs @@ -359,7 +359,7 @@ public override void FinishQuest() if (m_questPlayer.Inventory.IsSlotsFree(3, eInventorySlot.FirstBackpack, eInventorySlot.LastBackpack)) { m_questPlayer.ForceGainExperience((m_questPlayer.ExperienceForNextLevel - m_questPlayer.ExperienceForCurrentLevel)); - m_questPlayer.AddMoney(Money.GetMoney(0,0,m_questPlayer.Level*8,0,Util.Random(50)), "You receive {0} as a reward."); + m_questPlayer.Wallet.AddMoney(WalletHelper.ToMoney(0,0,m_questPlayer.Level*8,0,Util.Random(50)), "You receive {0} as a reward."); AtlasROGManager.GenerateReward(m_questPlayer, 5000); AtlasROGManager.GenerateBeetleCarapace(m_questPlayer, 2); AtlasROGManager.GenerateJewel(m_questPlayer, 51); diff --git a/GameServer/scripts/quests/AtlasQuests/DailyQuests/Midgard/Frontier/Monthly/FrontiersMonthlyQuestMid.cs b/GameServer/scripts/quests/AtlasQuests/DailyQuests/Midgard/Frontier/Monthly/FrontiersMonthlyQuestMid.cs index 03b97728b2..64771b6593 100644 --- a/GameServer/scripts/quests/AtlasQuests/DailyQuests/Midgard/Frontier/Monthly/FrontiersMonthlyQuestMid.cs +++ b/GameServer/scripts/quests/AtlasQuests/DailyQuests/Midgard/Frontier/Monthly/FrontiersMonthlyQuestMid.cs @@ -374,7 +374,7 @@ public override void FinishQuest() if (m_questPlayer.Inventory.IsSlotsFree(3, eInventorySlot.FirstBackpack, eInventorySlot.LastBackpack)) { m_questPlayer.ForceGainExperience((m_questPlayer.ExperienceForNextLevel - m_questPlayer.ExperienceForCurrentLevel)); - m_questPlayer.AddMoney(Money.GetMoney(0, 0, m_questPlayer.Level * 8, 32, Util.Random(50)), + m_questPlayer.Wallet.AddMoney(WalletHelper.ToMoney(0, 0, m_questPlayer.Level * 8, 32, Util.Random(50)), "You receive {0} as a reward."); AtlasROGManager.GenerateReward(m_questPlayer, 5000); AtlasROGManager.GenerateBeetleCarapace(m_questPlayer, 2); diff --git a/GameServer/scripts/quests/AtlasQuests/DailyQuests/Midgard/Frontier/Weekly/DFMobKillQuestMid.cs b/GameServer/scripts/quests/AtlasQuests/DailyQuests/Midgard/Frontier/Weekly/DFMobKillQuestMid.cs index 4a8b5565d3..2fd890cf65 100644 --- a/GameServer/scripts/quests/AtlasQuests/DailyQuests/Midgard/Frontier/Weekly/DFMobKillQuestMid.cs +++ b/GameServer/scripts/quests/AtlasQuests/DailyQuests/Midgard/Frontier/Weekly/DFMobKillQuestMid.cs @@ -376,7 +376,7 @@ public override string QuestPropertyKey public override void FinishQuest() { m_questPlayer.ForceGainExperience((m_questPlayer.ExperienceForNextLevel - m_questPlayer.ExperienceForCurrentLevel)); - m_questPlayer.AddMoney(Money.GetMoney(0,0,m_questPlayer.Level * 5,32,Util.Random(50)), "You receive {0} as a reward."); + m_questPlayer.Wallet.AddMoney(WalletHelper.ToMoney(0,0,m_questPlayer.Level * 5,32,Util.Random(50)), "You receive {0} as a reward."); AtlasROGManager.GenerateReward(m_questPlayer, 1500); _mobsKilled = 0; base.FinishQuest(); //Defined in Quest, changes the state, stores in DB etc ... diff --git a/GameServer/scripts/quests/AtlasQuests/DailyQuests/Midgard/Frontier/Weekly/EpicRvRMobsWeeklyQuestMid.cs b/GameServer/scripts/quests/AtlasQuests/DailyQuests/Midgard/Frontier/Weekly/EpicRvRMobsWeeklyQuestMid.cs index 6097e5ce2c..9d4a11913a 100644 --- a/GameServer/scripts/quests/AtlasQuests/DailyQuests/Midgard/Frontier/Weekly/EpicRvRMobsWeeklyQuestMid.cs +++ b/GameServer/scripts/quests/AtlasQuests/DailyQuests/Midgard/Frontier/Weekly/EpicRvRMobsWeeklyQuestMid.cs @@ -371,7 +371,7 @@ public override void SaveQuestParameters() public override void FinishQuest() { //m_questPlayer.GainExperience(eXPSource.Quest, (m_questPlayer.ExperienceForNextLevel - m_questPlayer.ExperienceForCurrentLevel)/10, true); - m_questPlayer.AddMoney(Money.GetMoney(0,0,m_questPlayer.Level * 5,32,Util.Random(50)), "You receive {0} as a reward."); + m_questPlayer.Wallet.AddMoney(WalletHelper.ToMoney(0,0,m_questPlayer.Level * 5,32,Util.Random(50)), "You receive {0} as a reward."); AtlasROGManager.GenerateReward(m_questPlayer, 1500); AtlasROGManager.GenerateJewel(m_questPlayer, (byte)(m_questPlayer.Level + 1), m_questPlayer.Level + Util.Random(10, 11)); _evernKilled = 0; diff --git a/GameServer/scripts/quests/AtlasQuests/DailyQuests/Midgard/Hardcore/HardcoreKillAPlayerMid.cs b/GameServer/scripts/quests/AtlasQuests/DailyQuests/Midgard/Hardcore/HardcoreKillAPlayerMid.cs index 509063894c..c8c5f4957d 100644 --- a/GameServer/scripts/quests/AtlasQuests/DailyQuests/Midgard/Hardcore/HardcoreKillAPlayerMid.cs +++ b/GameServer/scripts/quests/AtlasQuests/DailyQuests/Midgard/Hardcore/HardcoreKillAPlayerMid.cs @@ -352,7 +352,7 @@ public override void FinishQuest() int reward = ServerProperties.Properties.HARDCORE_RVR_REWARD; m_questPlayer.ForceGainExperience((m_questPlayer.ExperienceForNextLevel - m_questPlayer.ExperienceForCurrentLevel)/2); - m_questPlayer.AddMoney(Money.GetMoney(0,0,m_questPlayer.Level*2,32,Util.Random(50)), "You receive {0} as a reward."); + m_questPlayer.Wallet.AddMoney(WalletHelper.ToMoney(0,0,m_questPlayer.Level*2,32,Util.Random(50)), "You receive {0} as a reward."); AtlasROGManager.GenerateReward(m_questPlayer, 250); PlayerKilled = 0; diff --git a/GameServer/scripts/quests/AtlasQuests/DailyQuests/Midgard/Hardcore/HardcoreKillNPCInFrontiersMid.cs b/GameServer/scripts/quests/AtlasQuests/DailyQuests/Midgard/Hardcore/HardcoreKillNPCInFrontiersMid.cs index b3228496c1..213e8b7612 100644 --- a/GameServer/scripts/quests/AtlasQuests/DailyQuests/Midgard/Hardcore/HardcoreKillNPCInFrontiersMid.cs +++ b/GameServer/scripts/quests/AtlasQuests/DailyQuests/Midgard/Hardcore/HardcoreKillNPCInFrontiersMid.cs @@ -375,7 +375,7 @@ public override void SaveQuestParameters() public override void FinishQuest() { m_questPlayer.ForceGainExperience((m_questPlayer.ExperienceForNextLevel - m_questPlayer.ExperienceForCurrentLevel)/2); - m_questPlayer.AddMoney(Money.GetMoney(0,0,m_questPlayer.Level*2,32,Util.Random(50)), "You receive {0} as a reward."); + m_questPlayer.Wallet.AddMoney(WalletHelper.ToMoney(0,0,m_questPlayer.Level*2,32,Util.Random(50)), "You receive {0} as a reward."); AtlasROGManager.GenerateReward(m_questPlayer, 150); FrontierMobsKilled = 0; base.FinishQuest(); //Defined in Quest, changes the state, stores in DB etc ... diff --git a/GameServer/scripts/quests/AtlasQuests/DailyQuests/Midgard/Hardcore/HardcoreKillOrangesMid.cs b/GameServer/scripts/quests/AtlasQuests/DailyQuests/Midgard/Hardcore/HardcoreKillOrangesMid.cs index 58dfd157e2..3fd587ed22 100644 --- a/GameServer/scripts/quests/AtlasQuests/DailyQuests/Midgard/Hardcore/HardcoreKillOrangesMid.cs +++ b/GameServer/scripts/quests/AtlasQuests/DailyQuests/Midgard/Hardcore/HardcoreKillOrangesMid.cs @@ -372,7 +372,7 @@ public override void SaveQuestParameters() public override void FinishQuest() { m_questPlayer.ForceGainExperience((m_questPlayer.ExperienceForNextLevel - m_questPlayer.ExperienceForCurrentLevel)/2); - m_questPlayer.AddMoney(Money.GetMoney(0,0,m_questPlayer.Level*2,32,Util.Random(50)), "You receive {0} as a reward."); + m_questPlayer.Wallet.AddMoney(WalletHelper.ToMoney(0,0,m_questPlayer.Level*2,32,Util.Random(50)), "You receive {0} as a reward."); AtlasROGManager.GenerateReward(m_questPlayer, 150); OrangeConKilled = 0; base.FinishQuest(); //Defined in Quest, changes the state, stores in DB etc ... diff --git a/GameServer/scripts/quests/AtlasQuests/DailyQuests/Midgard/PvE/Daily/MegalocerosKillQuestMid.cs b/GameServer/scripts/quests/AtlasQuests/DailyQuests/Midgard/PvE/Daily/MegalocerosKillQuestMid.cs index 4a56b0bf7c..6226416737 100644 --- a/GameServer/scripts/quests/AtlasQuests/DailyQuests/Midgard/PvE/Daily/MegalocerosKillQuestMid.cs +++ b/GameServer/scripts/quests/AtlasQuests/DailyQuests/Midgard/PvE/Daily/MegalocerosKillQuestMid.cs @@ -348,7 +348,7 @@ public override string QuestPropertyKey public override void FinishQuest() { m_questPlayer.ForceGainExperience((m_questPlayer.ExperienceForNextLevel - m_questPlayer.ExperienceForCurrentLevel)/10); - m_questPlayer.AddMoney(Money.GetMoney(0,0,m_questPlayer.Level,50,Util.Random(50)), "You receive {0} as a reward."); + m_questPlayer.Wallet.AddMoney(WalletHelper.ToMoney(0,0,m_questPlayer.Level,50,Util.Random(50)), "You receive {0} as a reward."); AtlasROGManager.GenerateReward(m_questPlayer, 100); megalocerosKilled = 0; base.FinishQuest(); //Defined in Quest, changes the state, stores in DB etc ... diff --git a/GameServer/scripts/quests/AtlasQuests/DailyQuests/Midgard/PvE/Daily/TeamBuildingMid.cs b/GameServer/scripts/quests/AtlasQuests/DailyQuests/Midgard/PvE/Daily/TeamBuildingMid.cs index 26071ee0b3..d60e7cfe91 100644 --- a/GameServer/scripts/quests/AtlasQuests/DailyQuests/Midgard/PvE/Daily/TeamBuildingMid.cs +++ b/GameServer/scripts/quests/AtlasQuests/DailyQuests/Midgard/PvE/Daily/TeamBuildingMid.cs @@ -405,7 +405,7 @@ public override string QuestPropertyKey public override void FinishQuest() { m_questPlayer.ForceGainExperience((m_questPlayer.ExperienceForNextLevel - m_questPlayer.ExperienceForCurrentLevel)/5); - m_questPlayer.AddMoney(Money.GetMoney(0,0,m_questPlayer.Level,50,Util.Random(50)), "You receive {0} as a reward."); + m_questPlayer.Wallet.AddMoney(WalletHelper.ToMoney(0,0,m_questPlayer.Level,50,Util.Random(50)), "You receive {0} as a reward."); AtlasROGManager.GenerateReward(m_questPlayer, 300); TeamBuildMobsKilled = 0; base.FinishQuest(); //Defined in Quest, changes the state, stores in DB etc ... diff --git a/GameServer/scripts/quests/AtlasQuests/DailyQuests/Midgard/PvE/Daily/TuscarianMobQuestMid.cs b/GameServer/scripts/quests/AtlasQuests/DailyQuests/Midgard/PvE/Daily/TuscarianMobQuestMid.cs index 9fe85bca17..09f698368d 100644 --- a/GameServer/scripts/quests/AtlasQuests/DailyQuests/Midgard/PvE/Daily/TuscarianMobQuestMid.cs +++ b/GameServer/scripts/quests/AtlasQuests/DailyQuests/Midgard/PvE/Daily/TuscarianMobQuestMid.cs @@ -368,7 +368,7 @@ public override void SaveQuestParameters() public override void FinishQuest() { m_questPlayer.ForceGainExperience((m_questPlayer.ExperienceForNextLevel - m_questPlayer.ExperienceForCurrentLevel)/5); - m_questPlayer.AddMoney(Money.GetMoney(0, 0, m_questPlayer.Level, 0, Util.Random(50)), "You receive {0} as a reward."); + m_questPlayer.Wallet.AddMoney(WalletHelper.ToMoney(0, 0, m_questPlayer.Level, 0, Util.Random(50)), "You receive {0} as a reward."); AtlasROGManager.GenerateReward(m_questPlayer, 100); _deadTuscaMob = 0; base.FinishQuest(); //Defined in Quest, changes the state, stores in DB etc ... diff --git a/GameServer/scripts/quests/AtlasQuests/DailyQuests/Midgard/PvE/Monthly/MonthlyEpicPvEQuestMid.cs b/GameServer/scripts/quests/AtlasQuests/DailyQuests/Midgard/PvE/Monthly/MonthlyEpicPvEQuestMid.cs index 0e01d7a079..66ecb0f948 100644 --- a/GameServer/scripts/quests/AtlasQuests/DailyQuests/Midgard/PvE/Monthly/MonthlyEpicPvEQuestMid.cs +++ b/GameServer/scripts/quests/AtlasQuests/DailyQuests/Midgard/PvE/Monthly/MonthlyEpicPvEQuestMid.cs @@ -367,7 +367,7 @@ public override void FinishQuest() if (m_questPlayer.Inventory.IsSlotsFree(3, eInventorySlot.FirstBackpack, eInventorySlot.LastBackpack)) { m_questPlayer.ForceGainExperience((m_questPlayer.ExperienceForNextLevel - m_questPlayer.ExperienceForCurrentLevel)); - m_questPlayer.AddMoney(Money.GetMoney(0, 0, m_questPlayer.Level * 8, 32, Util.Random(50)), + m_questPlayer.Wallet.AddMoney(WalletHelper.ToMoney(0, 0, m_questPlayer.Level * 8, 32, Util.Random(50)), "You receive {0} as a reward."); AtlasROGManager.GenerateReward(m_questPlayer, 3000); AtlasROGManager.GenerateBeetleCarapace(m_questPlayer, 2); diff --git a/GameServer/scripts/quests/AtlasQuests/DailyQuests/Midgard/PvE/Weekly/DragonWeeklyQuestMid.cs b/GameServer/scripts/quests/AtlasQuests/DailyQuests/Midgard/PvE/Weekly/DragonWeeklyQuestMid.cs index 9ac9549cee..7c392f0051 100644 --- a/GameServer/scripts/quests/AtlasQuests/DailyQuests/Midgard/PvE/Weekly/DragonWeeklyQuestMid.cs +++ b/GameServer/scripts/quests/AtlasQuests/DailyQuests/Midgard/PvE/Weekly/DragonWeeklyQuestMid.cs @@ -345,7 +345,7 @@ public override void SaveQuestParameters() public override void FinishQuest() { m_questPlayer.ForceGainExperience((m_questPlayer.ExperienceForNextLevel - m_questPlayer.ExperienceForCurrentLevel)); - m_questPlayer.AddMoney(Money.GetMoney(0,0,m_questPlayer.Level * 5,32,Util.Random(50)), "You receive {0} as a reward."); + m_questPlayer.Wallet.AddMoney(WalletHelper.ToMoney(0,0,m_questPlayer.Level * 5,32,Util.Random(50)), "You receive {0} as a reward."); AtlasROGManager.GenerateReward(m_questPlayer, 1500); DragonKilled = 0; base.FinishQuest(); //Defined in Quest, changes the state, stores in DB etc ... diff --git a/GameServer/scripts/quests/AtlasQuests/DailyQuests/Midgard/PvE/Weekly/TuscarianBossQuestMid.cs b/GameServer/scripts/quests/AtlasQuests/DailyQuests/Midgard/PvE/Weekly/TuscarianBossQuestMid.cs index 48db1f0a33..3168f5017c 100644 --- a/GameServer/scripts/quests/AtlasQuests/DailyQuests/Midgard/PvE/Weekly/TuscarianBossQuestMid.cs +++ b/GameServer/scripts/quests/AtlasQuests/DailyQuests/Midgard/PvE/Weekly/TuscarianBossQuestMid.cs @@ -365,7 +365,7 @@ public override void SaveQuestParameters() public override void FinishQuest() { m_questPlayer.ForceGainExperience((m_questPlayer.ExperienceForNextLevel - m_questPlayer.ExperienceForCurrentLevel)); - m_questPlayer.AddMoney(Money.GetMoney(0, 0, m_questPlayer.Level * 5, 0, Util.Random(50)), "You receive {0} as a reward."); + m_questPlayer.Wallet.AddMoney(WalletHelper.ToMoney(0, 0, m_questPlayer.Level * 5, 0, Util.Random(50)), "You receive {0} as a reward."); AtlasROGManager.GenerateReward(m_questPlayer, 1500); _deadTuscaBossMob = 0; base.FinishQuest(); //Defined in Quest, changes the state, stores in DB etc ... diff --git a/GameServer/scripts/quests/AtlasQuests/DailyQuests/Midgard/RvR/Daily/EveryLittleBitHelpsQuestMid.cs b/GameServer/scripts/quests/AtlasQuests/DailyQuests/Midgard/RvR/Daily/EveryLittleBitHelpsQuestMid.cs index 37a438bd1f..20ac99d4c2 100644 --- a/GameServer/scripts/quests/AtlasQuests/DailyQuests/Midgard/RvR/Daily/EveryLittleBitHelpsQuestMid.cs +++ b/GameServer/scripts/quests/AtlasQuests/DailyQuests/Midgard/RvR/Daily/EveryLittleBitHelpsQuestMid.cs @@ -362,7 +362,7 @@ public override void FinishQuest() int reward = ServerProperties.Properties.DAILY_RVR_REWARD; m_questPlayer.ForceGainExperience((m_questPlayer.ExperienceForNextLevel - m_questPlayer.ExperienceForCurrentLevel)/5); - m_questPlayer.AddMoney(Money.GetMoney(0,0,m_questPlayer.Level,32,Util.Random(50)), "You receive {0} as a reward."); + m_questPlayer.Wallet.AddMoney(WalletHelper.ToMoney(0,0,m_questPlayer.Level,32,Util.Random(50)), "You receive {0} as a reward."); AtlasROGManager.GenerateReward(m_questPlayer, 250); AtlasROGManager.GenerateJewel(m_questPlayer, (byte)(m_questPlayer.Level + 1), m_questPlayer.Level + Util.Random(5, 15)); _playersKilledHib = 0; diff --git a/GameServer/scripts/quests/AtlasQuests/DailyQuests/Midgard/RvR/Daily/PlayerKillQuestMid.cs b/GameServer/scripts/quests/AtlasQuests/DailyQuests/Midgard/RvR/Daily/PlayerKillQuestMid.cs index 2084795c1a..4ee911485b 100644 --- a/GameServer/scripts/quests/AtlasQuests/DailyQuests/Midgard/RvR/Daily/PlayerKillQuestMid.cs +++ b/GameServer/scripts/quests/AtlasQuests/DailyQuests/Midgard/RvR/Daily/PlayerKillQuestMid.cs @@ -349,7 +349,7 @@ public override void FinishQuest() int reward = ServerProperties.Properties.DAILY_RVR_REWARD; m_questPlayer.ForceGainExperience((m_questPlayer.ExperienceForNextLevel - m_questPlayer.ExperienceForCurrentLevel)/5); - m_questPlayer.AddMoney(Money.GetMoney(0,0,m_questPlayer.Level,32,Util.Random(50)), "You receive {0} as a reward."); + m_questPlayer.Wallet.AddMoney(WalletHelper.ToMoney(0,0,m_questPlayer.Level,32,Util.Random(50)), "You receive {0} as a reward."); AtlasROGManager.GenerateReward(m_questPlayer, 250); AtlasROGManager.GenerateJewel(m_questPlayer, (byte)(m_questPlayer.Level + 1), m_questPlayer.Level + Util.Random(5, 15)); PlayersKilled = 0; diff --git a/GameServer/scripts/quests/AtlasQuests/DailyQuests/Midgard/RvR/Weekly/DFWeeklyKillQuestMid.cs b/GameServer/scripts/quests/AtlasQuests/DailyQuests/Midgard/RvR/Weekly/DFWeeklyKillQuestMid.cs index 36533e1514..541c449e80 100644 --- a/GameServer/scripts/quests/AtlasQuests/DailyQuests/Midgard/RvR/Weekly/DFWeeklyKillQuestMid.cs +++ b/GameServer/scripts/quests/AtlasQuests/DailyQuests/Midgard/RvR/Weekly/DFWeeklyKillQuestMid.cs @@ -355,7 +355,7 @@ public override void FinishQuest() int reward = ServerProperties.Properties.WEEKLY_RVR_REWARD; m_questPlayer.ForceGainExperience(m_questPlayer.ExperienceForNextLevel - m_questPlayer.ExperienceForCurrentLevel); - m_questPlayer.AddMoney(Money.GetMoney(0,0,m_questPlayer.Level * 5,32,Util.Random(50)), "You receive {0} as a reward."); + m_questPlayer.Wallet.AddMoney(WalletHelper.ToMoney(0,0,m_questPlayer.Level * 5,32,Util.Random(50)), "You receive {0} as a reward."); AtlasROGManager.GenerateReward(m_questPlayer, 1500); EnemiesKilled = 0; diff --git a/GameServer/scripts/quests/AtlasQuests/DailyQuests/Midgard/RvR/Weekly/ForTheRealmQuestMid.cs b/GameServer/scripts/quests/AtlasQuests/DailyQuests/Midgard/RvR/Weekly/ForTheRealmQuestMid.cs index 5046cb9772..876ae29d63 100644 --- a/GameServer/scripts/quests/AtlasQuests/DailyQuests/Midgard/RvR/Weekly/ForTheRealmQuestMid.cs +++ b/GameServer/scripts/quests/AtlasQuests/DailyQuests/Midgard/RvR/Weekly/ForTheRealmQuestMid.cs @@ -362,7 +362,7 @@ public override void FinishQuest() int reward = ServerProperties.Properties.WEEKLY_RVR_REWARD; m_questPlayer.ForceGainExperience( (m_questPlayer.ExperienceForNextLevel - m_questPlayer.ExperienceForCurrentLevel)); - m_questPlayer.AddMoney(Money.GetMoney(0,0,m_questPlayer.Level * 5,32,Util.Random(50)), "You receive {0} as a reward."); + m_questPlayer.Wallet.AddMoney(WalletHelper.ToMoney(0,0,m_questPlayer.Level * 5,32,Util.Random(50)), "You receive {0} as a reward."); AtlasROGManager.GenerateReward(m_questPlayer, 1500); AtlasROGManager.GenerateJewel(m_questPlayer, (byte)(m_questPlayer.Level + 1), m_questPlayer.Level + Util.Random(10, 20)); _playersKilledHib = 0; diff --git a/GameServer/scripts/quests/AtlasQuests/DailyQuests/Midgard/RvR/Weekly/PlayerKillWeeklyQuestMid.cs b/GameServer/scripts/quests/AtlasQuests/DailyQuests/Midgard/RvR/Weekly/PlayerKillWeeklyQuestMid.cs index 0084119ec7..4439393da6 100644 --- a/GameServer/scripts/quests/AtlasQuests/DailyQuests/Midgard/RvR/Weekly/PlayerKillWeeklyQuestMid.cs +++ b/GameServer/scripts/quests/AtlasQuests/DailyQuests/Midgard/RvR/Weekly/PlayerKillWeeklyQuestMid.cs @@ -351,7 +351,7 @@ public override void FinishQuest() int reward = ServerProperties.Properties.WEEKLY_RVR_REWARD; m_questPlayer.ForceGainExperience( (m_questPlayer.ExperienceForNextLevel - m_questPlayer.ExperienceForCurrentLevel)/5); - m_questPlayer.AddMoney(Money.GetMoney(0,0,m_questPlayer.Level * 5,32,Util.Random(50)), "You receive {0} as a reward."); + m_questPlayer.Wallet.AddMoney(WalletHelper.ToMoney(0,0,m_questPlayer.Level * 5,32,Util.Random(50)), "You receive {0} as a reward."); AtlasROGManager.GenerateReward(m_questPlayer, 1500); AtlasROGManager.GenerateJewel(m_questPlayer, (byte)(m_questPlayer.Level + 1), m_questPlayer.Level + Util.Random(10, 20)); PlayersKilled = 0; diff --git a/GameServer/scripts/quests/AtlasQuests/HelpSirLukas.cs b/GameServer/scripts/quests/AtlasQuests/HelpSirLukas.cs index 9acb4900d2..2b51ec1254 100644 --- a/GameServer/scripts/quests/AtlasQuests/HelpSirLukas.cs +++ b/GameServer/scripts/quests/AtlasQuests/HelpSirLukas.cs @@ -756,7 +756,7 @@ public override void FinishQuest() Lukas.TurnTo(Lukas.SpawnHeading); m_questPlayer.GainExperience(eXPSource.Quest, 20, false); - m_questPlayer.AddMoney(Money.GetMoney(0,0,1,32,Util.Random(50)), "You receive {0} as a reward."); + m_questPlayer.Wallet.AddMoney(WalletHelper.ToMoney(0,0,1,32,Util.Random(50)), "You receive {0} as a reward."); base.FinishQuest(); //Defined in Quest, changes the state, stores in DB etc ... diff --git a/GameServer/scripts/quests/AtlasQuests/PlayTheLastSong.cs b/GameServer/scripts/quests/AtlasQuests/PlayTheLastSong.cs index 2c44fd3508..5291774dda 100644 --- a/GameServer/scripts/quests/AtlasQuests/PlayTheLastSong.cs +++ b/GameServer/scripts/quests/AtlasQuests/PlayTheLastSong.cs @@ -897,7 +897,7 @@ public override void AbortQuest() public override void FinishQuest() { m_questPlayer.GainExperience(eXPSource.Quest, 20, false); - m_questPlayer.AddMoney(Money.GetMoney(0,0,1,32,Util.Random(50)), "You receive {0} as a reward."); + m_questPlayer.Wallet.AddMoney(WalletHelper.ToMoney(0,0,1,32,Util.Random(50)), "You receive {0} as a reward."); base.FinishQuest(); //Defined in Quest, changes the state, stores in DB etc ... diff --git a/GameServer/scripts/quests/AtlasQuests/PowerOfNature.cs b/GameServer/scripts/quests/AtlasQuests/PowerOfNature.cs index a9af4fe0cf..2e84b47638 100644 --- a/GameServer/scripts/quests/AtlasQuests/PowerOfNature.cs +++ b/GameServer/scripts/quests/AtlasQuests/PowerOfNature.cs @@ -769,7 +769,7 @@ public override void AbortQuest() public override void FinishQuest() { m_questPlayer.GainExperience(eXPSource.Quest, 20, false); - m_questPlayer.AddMoney(Money.GetMoney(0, 0, 1, 32, Util.Random(50)), "You receive {0} as a reward."); + m_questPlayer.Wallet.AddMoney(WalletHelper.ToMoney(0, 0, 1, 32, Util.Random(50)), "You receive {0} as a reward."); base.FinishQuest(); //Defined in Quest, changes the state, stores in DB etc ... } diff --git a/GameServer/scripts/quests/BattlegroundQuests/Caledonia/CaleKeepCaptureAlb.cs b/GameServer/scripts/quests/BattlegroundQuests/Caledonia/CaleKeepCaptureAlb.cs index 3695a93307..1b803201b4 100644 --- a/GameServer/scripts/quests/BattlegroundQuests/Caledonia/CaleKeepCaptureAlb.cs +++ b/GameServer/scripts/quests/BattlegroundQuests/Caledonia/CaleKeepCaptureAlb.cs @@ -351,7 +351,7 @@ public override void FinishQuest() if (m_questPlayer.Inventory.IsSlotsFree(1, eInventorySlot.FirstBackpack, eInventorySlot.LastBackpack)) { m_questPlayer.ForceGainExperience((m_questPlayer.ExperienceForNextLevel - m_questPlayer.ExperienceForCurrentLevel) / 2); - m_questPlayer.AddMoney(Money.GetMoney(0, 0, m_questPlayer.Level * 2, 0, Util.Random(50)), + m_questPlayer.Wallet.AddMoney(WalletHelper.ToMoney(0, 0, m_questPlayer.Level * 2, 0, Util.Random(50)), "You receive {0} as a reward."); AtlasROGManager.GenerateBattlegroundToken(m_questPlayer, 1); _isCaptured = 0; diff --git a/GameServer/scripts/quests/BattlegroundQuests/Caledonia/CaleKeepCaptureHib.cs b/GameServer/scripts/quests/BattlegroundQuests/Caledonia/CaleKeepCaptureHib.cs index 892135d3c8..87a6edb92e 100644 --- a/GameServer/scripts/quests/BattlegroundQuests/Caledonia/CaleKeepCaptureHib.cs +++ b/GameServer/scripts/quests/BattlegroundQuests/Caledonia/CaleKeepCaptureHib.cs @@ -352,7 +352,7 @@ public override void FinishQuest() if (m_questPlayer.Inventory.IsSlotsFree(1, eInventorySlot.FirstBackpack, eInventorySlot.LastBackpack)) { m_questPlayer.ForceGainExperience((m_questPlayer.ExperienceForNextLevel - m_questPlayer.ExperienceForCurrentLevel) / 2); - m_questPlayer.AddMoney(Money.GetMoney(0, 0, m_questPlayer.Level * 2, 0, Util.Random(50)), + m_questPlayer.Wallet.AddMoney(WalletHelper.ToMoney(0, 0, m_questPlayer.Level * 2, 0, Util.Random(50)), "You receive {0} as a reward."); AtlasROGManager.GenerateBattlegroundToken(m_questPlayer, 1); _isCaptured = 0; diff --git a/GameServer/scripts/quests/BattlegroundQuests/Caledonia/CaleKeepCaptureMid.cs b/GameServer/scripts/quests/BattlegroundQuests/Caledonia/CaleKeepCaptureMid.cs index c1ef606a9d..237b9d0f05 100644 --- a/GameServer/scripts/quests/BattlegroundQuests/Caledonia/CaleKeepCaptureMid.cs +++ b/GameServer/scripts/quests/BattlegroundQuests/Caledonia/CaleKeepCaptureMid.cs @@ -349,7 +349,7 @@ public override void FinishQuest() if (m_questPlayer.Inventory.IsSlotsFree(1, eInventorySlot.FirstBackpack, eInventorySlot.LastBackpack)) { m_questPlayer.ForceGainExperience((m_questPlayer.ExperienceForNextLevel - m_questPlayer.ExperienceForCurrentLevel) / 2); - m_questPlayer.AddMoney(Money.GetMoney(0, 0, m_questPlayer.Level * 2, 0, Util.Random(50)), + m_questPlayer.Wallet.AddMoney(WalletHelper.ToMoney(0, 0, m_questPlayer.Level * 2, 0, Util.Random(50)), "You receive {0} as a reward."); AtlasROGManager.GenerateBattlegroundToken(m_questPlayer, 1); _isCaptured = 0; diff --git a/GameServer/scripts/quests/BattlegroundQuests/Caledonia/CaleKillQuestAlb.cs b/GameServer/scripts/quests/BattlegroundQuests/Caledonia/CaleKillQuestAlb.cs index e18b59c364..530ef12ce9 100644 --- a/GameServer/scripts/quests/BattlegroundQuests/Caledonia/CaleKillQuestAlb.cs +++ b/GameServer/scripts/quests/BattlegroundQuests/Caledonia/CaleKillQuestAlb.cs @@ -357,7 +357,7 @@ public override void FinishQuest() if (m_questPlayer.Inventory.IsSlotsFree(1, eInventorySlot.FirstBackpack, eInventorySlot.LastBackpack)) { m_questPlayer.ForceGainExperience((m_questPlayer.ExperienceForNextLevel - m_questPlayer.ExperienceForCurrentLevel) / 3); - m_questPlayer.AddMoney(Money.GetMoney(0, 0, m_questPlayer.Level * 2, 32, Util.Random(50)), + m_questPlayer.Wallet.AddMoney(WalletHelper.ToMoney(0, 0, m_questPlayer.Level * 2, 32, Util.Random(50)), "You receive {0} as a reward."); AtlasROGManager.GenerateBattlegroundToken(m_questPlayer, 1); PlayersKilled = 0; diff --git a/GameServer/scripts/quests/BattlegroundQuests/Caledonia/CaleKillQuestHib.cs b/GameServer/scripts/quests/BattlegroundQuests/Caledonia/CaleKillQuestHib.cs index c9b41fd36f..d7419e81d4 100644 --- a/GameServer/scripts/quests/BattlegroundQuests/Caledonia/CaleKillQuestHib.cs +++ b/GameServer/scripts/quests/BattlegroundQuests/Caledonia/CaleKillQuestHib.cs @@ -350,7 +350,7 @@ public override void FinishQuest() if (m_questPlayer.Inventory.IsSlotsFree(1, eInventorySlot.FirstBackpack, eInventorySlot.LastBackpack)) { m_questPlayer.ForceGainExperience((m_questPlayer.ExperienceForNextLevel - m_questPlayer.ExperienceForCurrentLevel) / 3); - m_questPlayer.AddMoney(Money.GetMoney(0, 0, m_questPlayer.Level * 2, 32, Util.Random(50)), + m_questPlayer.Wallet.AddMoney(WalletHelper.ToMoney(0, 0, m_questPlayer.Level * 2, 32, Util.Random(50)), "You receive {0} as a reward."); AtlasROGManager.GenerateBattlegroundToken(m_questPlayer, 1); PlayersKilled = 0; diff --git a/GameServer/scripts/quests/BattlegroundQuests/Caledonia/CaleKillQuestMid.cs b/GameServer/scripts/quests/BattlegroundQuests/Caledonia/CaleKillQuestMid.cs index 8f93936335..053ef3d1b7 100644 --- a/GameServer/scripts/quests/BattlegroundQuests/Caledonia/CaleKillQuestMid.cs +++ b/GameServer/scripts/quests/BattlegroundQuests/Caledonia/CaleKillQuestMid.cs @@ -349,7 +349,7 @@ public override void FinishQuest() if (m_questPlayer.Inventory.IsSlotsFree(1, eInventorySlot.FirstBackpack, eInventorySlot.LastBackpack)) { m_questPlayer.ForceGainExperience((m_questPlayer.ExperienceForNextLevel - m_questPlayer.ExperienceForCurrentLevel) / 3); - m_questPlayer.AddMoney(Money.GetMoney(0, 0, m_questPlayer.Level * 2, 32, Util.Random(50)), + m_questPlayer.Wallet.AddMoney(WalletHelper.ToMoney(0, 0, m_questPlayer.Level * 2, 32, Util.Random(50)), "You receive {0} as a reward."); AtlasROGManager.GenerateBattlegroundToken(m_questPlayer, 1); PlayersKilled = 0; diff --git a/GameServer/scripts/quests/BattlegroundQuests/Thidranki/ThidKeepCaptureAlb.cs b/GameServer/scripts/quests/BattlegroundQuests/Thidranki/ThidKeepCaptureAlb.cs index 11e1afd51e..8bcc7060db 100644 --- a/GameServer/scripts/quests/BattlegroundQuests/Thidranki/ThidKeepCaptureAlb.cs +++ b/GameServer/scripts/quests/BattlegroundQuests/Thidranki/ThidKeepCaptureAlb.cs @@ -351,7 +351,7 @@ public override void FinishQuest() if (m_questPlayer.Inventory.IsSlotsFree(1, eInventorySlot.FirstBackpack, eInventorySlot.LastBackpack)) { m_questPlayer.ForceGainExperience((m_questPlayer.ExperienceForNextLevel - m_questPlayer.ExperienceForCurrentLevel) / 2); - m_questPlayer.AddMoney(Money.GetMoney(0, 0, m_questPlayer.Level * 2, 0, Util.Random(50)), + m_questPlayer.Wallet.AddMoney(WalletHelper.ToMoney(0, 0, m_questPlayer.Level * 2, 0, Util.Random(50)), "You receive {0} as a reward."); AtlasROGManager.GenerateBattlegroundToken(m_questPlayer, 1); _isCaptured = 0; diff --git a/GameServer/scripts/quests/BattlegroundQuests/Thidranki/ThidKeepCaptureHib.cs b/GameServer/scripts/quests/BattlegroundQuests/Thidranki/ThidKeepCaptureHib.cs index b53a08520a..9d22b64518 100644 --- a/GameServer/scripts/quests/BattlegroundQuests/Thidranki/ThidKeepCaptureHib.cs +++ b/GameServer/scripts/quests/BattlegroundQuests/Thidranki/ThidKeepCaptureHib.cs @@ -352,7 +352,7 @@ public override void FinishQuest() if (m_questPlayer.Inventory.IsSlotsFree(1, eInventorySlot.FirstBackpack, eInventorySlot.LastBackpack)) { m_questPlayer.ForceGainExperience((m_questPlayer.ExperienceForNextLevel - m_questPlayer.ExperienceForCurrentLevel) / 2); - m_questPlayer.AddMoney(Money.GetMoney(0, 0, m_questPlayer.Level * 2, 0, Util.Random(50)), + m_questPlayer.Wallet.AddMoney(WalletHelper.ToMoney(0, 0, m_questPlayer.Level * 2, 0, Util.Random(50)), "You receive {0} as a reward."); AtlasROGManager.GenerateBattlegroundToken(m_questPlayer, 1); _isCaptured = 0; diff --git a/GameServer/scripts/quests/BattlegroundQuests/Thidranki/ThidKeepCaptureMid.cs b/GameServer/scripts/quests/BattlegroundQuests/Thidranki/ThidKeepCaptureMid.cs index 12d5a631ea..b24b2fa607 100644 --- a/GameServer/scripts/quests/BattlegroundQuests/Thidranki/ThidKeepCaptureMid.cs +++ b/GameServer/scripts/quests/BattlegroundQuests/Thidranki/ThidKeepCaptureMid.cs @@ -349,7 +349,7 @@ public override void FinishQuest() if (m_questPlayer.Inventory.IsSlotsFree(1, eInventorySlot.FirstBackpack, eInventorySlot.LastBackpack)) { m_questPlayer.ForceGainExperience((m_questPlayer.ExperienceForNextLevel - m_questPlayer.ExperienceForCurrentLevel) / 2); - m_questPlayer.AddMoney(Money.GetMoney(0, 0, m_questPlayer.Level * 2, 0, Util.Random(50)), + m_questPlayer.Wallet.AddMoney(WalletHelper.ToMoney(0, 0, m_questPlayer.Level * 2, 0, Util.Random(50)), "You receive {0} as a reward."); AtlasROGManager.GenerateBattlegroundToken(m_questPlayer, 1); _isCaptured = 0; diff --git a/GameServer/scripts/quests/BattlegroundQuests/Thidranki/ThidKillQuestAlb.cs b/GameServer/scripts/quests/BattlegroundQuests/Thidranki/ThidKillQuestAlb.cs index 6fe049fd59..e6129013d5 100644 --- a/GameServer/scripts/quests/BattlegroundQuests/Thidranki/ThidKillQuestAlb.cs +++ b/GameServer/scripts/quests/BattlegroundQuests/Thidranki/ThidKillQuestAlb.cs @@ -357,7 +357,7 @@ public override void FinishQuest() if (m_questPlayer.Inventory.IsSlotsFree(1, eInventorySlot.FirstBackpack, eInventorySlot.LastBackpack)) { m_questPlayer.ForceGainExperience((m_questPlayer.ExperienceForNextLevel - m_questPlayer.ExperienceForCurrentLevel) / 3); - m_questPlayer.AddMoney(Money.GetMoney(0, 0, m_questPlayer.Level * 2, 32, Util.Random(50)), + m_questPlayer.Wallet.AddMoney(WalletHelper.ToMoney(0, 0, m_questPlayer.Level * 2, 32, Util.Random(50)), "You receive {0} as a reward."); AtlasROGManager.GenerateBattlegroundToken(m_questPlayer, 1); PlayersKilled = 0; diff --git a/GameServer/scripts/quests/BattlegroundQuests/Thidranki/ThidKillQuestHib.cs b/GameServer/scripts/quests/BattlegroundQuests/Thidranki/ThidKillQuestHib.cs index 1dbb8f6c7b..f3727a5dd5 100644 --- a/GameServer/scripts/quests/BattlegroundQuests/Thidranki/ThidKillQuestHib.cs +++ b/GameServer/scripts/quests/BattlegroundQuests/Thidranki/ThidKillQuestHib.cs @@ -350,7 +350,7 @@ public override void FinishQuest() if (m_questPlayer.Inventory.IsSlotsFree(1, eInventorySlot.FirstBackpack, eInventorySlot.LastBackpack)) { m_questPlayer.ForceGainExperience((m_questPlayer.ExperienceForNextLevel - m_questPlayer.ExperienceForCurrentLevel) / 3); - m_questPlayer.AddMoney(Money.GetMoney(0, 0, m_questPlayer.Level * 2, 32, Util.Random(50)), + m_questPlayer.Wallet.AddMoney(WalletHelper.ToMoney(0, 0, m_questPlayer.Level * 2, 32, Util.Random(50)), "You receive {0} as a reward."); AtlasROGManager.GenerateBattlegroundToken(m_questPlayer, 1); PlayersKilled = 0; diff --git a/GameServer/scripts/quests/BattlegroundQuests/Thidranki/ThidKillQuestMid.cs b/GameServer/scripts/quests/BattlegroundQuests/Thidranki/ThidKillQuestMid.cs index 4a568db69e..aafb19a8e8 100644 --- a/GameServer/scripts/quests/BattlegroundQuests/Thidranki/ThidKillQuestMid.cs +++ b/GameServer/scripts/quests/BattlegroundQuests/Thidranki/ThidKillQuestMid.cs @@ -349,7 +349,7 @@ public override void FinishQuest() if (m_questPlayer.Inventory.IsSlotsFree(1, eInventorySlot.FirstBackpack, eInventorySlot.LastBackpack)) { m_questPlayer.ForceGainExperience((m_questPlayer.ExperienceForNextLevel - m_questPlayer.ExperienceForCurrentLevel) / 3); - m_questPlayer.AddMoney(Money.GetMoney(0, 0, m_questPlayer.Level * 2, 32, Util.Random(50)), + m_questPlayer.Wallet.AddMoney(WalletHelper.ToMoney(0, 0, m_questPlayer.Level * 2, 32, Util.Random(50)), "You receive {0} as a reward."); AtlasROGManager.GenerateBattlegroundToken(m_questPlayer, 1); PlayersKilled = 0; diff --git a/GameServer/scripts/quests/Hibernia/epic/Essence50.cs b/GameServer/scripts/quests/Hibernia/epic/Essence50.cs index 38491f106e..8925f7ac0e 100644 --- a/GameServer/scripts/quests/Hibernia/epic/Essence50.cs +++ b/GameServer/scripts/quests/Hibernia/epic/Essence50.cs @@ -1568,7 +1568,7 @@ public override void FinishQuest() } m_questPlayer.GainExperience(eXPSource.Quest, 1937768448, true); - //m_questPlayer.AddMoney(Money.GetMoney(0,0,0,2,Util.Random(50)), "You recieve {0} as a reward."); + //m_questPlayer.Wallet.AddMoney(WalletHelper.GetMoney(0,0,0,2,Util.Random(50)), "You recieve {0} as a reward."); } #region Allakhazam Epic Source diff --git a/GameServer/scripts/quests/Hibernia/epic/Focus50.cs b/GameServer/scripts/quests/Hibernia/epic/Focus50.cs index 60c9127078..d335feb07d 100644 --- a/GameServer/scripts/quests/Hibernia/epic/Focus50.cs +++ b/GameServer/scripts/quests/Hibernia/epic/Focus50.cs @@ -1598,7 +1598,7 @@ public override void FinishQuest() } m_questPlayer.GainExperience(eXPSource.Quest, 1937768448, true); - //m_questPlayer.AddMoney(Money.GetMoney(0,0,0,2,Util.Random(50)), "You recieve {0} as a reward."); + //m_questPlayer.Wallet.AddMoney(WalletHelper.GetMoney(0,0,0,2,Util.Random(50)), "You recieve {0} as a reward."); } #region Allakhazam Epic Source diff --git a/GameServer/scripts/quests/Hibernia/epic/Harmony50.cs b/GameServer/scripts/quests/Hibernia/epic/Harmony50.cs index a0f083b790..2e93b871f1 100644 --- a/GameServer/scripts/quests/Hibernia/epic/Harmony50.cs +++ b/GameServer/scripts/quests/Hibernia/epic/Harmony50.cs @@ -2410,7 +2410,7 @@ public override void FinishQuest() } m_questPlayer.GainExperience(eXPSource.Quest, 1937768448, true); - //m_questPlayer.AddMoney(Money.GetMoney(0,0,0,2,Util.Random(50)), "You recieve {0} as a reward."); + //m_questPlayer.Wallet.AddMoney(WalletHelper.GetMoney(0,0,0,2,Util.Random(50)), "You recieve {0} as a reward."); } #region Allakhazam Epic Source diff --git a/GameServer/scripts/quests/Hibernia/shrouded isles/TheLostSeed.cs b/GameServer/scripts/quests/Hibernia/shrouded isles/TheLostSeed.cs index b74f7107f5..096441a223 100644 --- a/GameServer/scripts/quests/Hibernia/shrouded isles/TheLostSeed.cs +++ b/GameServer/scripts/quests/Hibernia/shrouded isles/TheLostSeed.cs @@ -903,7 +903,7 @@ public override void FinishQuest() (m_questPlayer.ExperienceForNextLevel - m_questPlayer.ExperienceForCurrentLevel) / 2, false); RemoveItem(m_questPlayer, glowing_red_jewel); GiveItem(m_questPlayer, paidrean_necklace); - m_questPlayer.AddMoney(Money.GetMoney(0, 0, 121, 41, Util.Random(50)), "You receive {0} as a reward."); + m_questPlayer.Wallet.AddMoney(WalletHelper.ToMoney(0, 0, 121, 41, Util.Random(50)), "You receive {0} as a reward."); base.FinishQuest(); //Defined in Quest, changes the state, stores in DB etc ... diff --git a/GameServer/scripts/quests/Midgard/epic/MidgardRogue50.cs b/GameServer/scripts/quests/Midgard/epic/MidgardRogue50.cs index 18461d9273..c43210953c 100644 --- a/GameServer/scripts/quests/Midgard/epic/MidgardRogue50.cs +++ b/GameServer/scripts/quests/Midgard/epic/MidgardRogue50.cs @@ -1157,7 +1157,7 @@ public override void FinishQuest() } m_questPlayer.GainExperience(eXPSource.Quest, 1937768448, true); - //m_questPlayer.AddMoney(Money.GetMoney(0,0,0,2,Util.Random(50)), "You recieve {0} as a reward."); + //m_questPlayer.Wallet.AddMoney(WalletHelper.GetMoney(0,0,0,2,Util.Random(50)), "You recieve {0} as a reward."); } #region Allakhazam Epic Source diff --git a/GameServer/scripts/quests/Midgard/epic/Mystic50.cs b/GameServer/scripts/quests/Midgard/epic/Mystic50.cs index 23a8478f19..1c2de95ede 100644 --- a/GameServer/scripts/quests/Midgard/epic/Mystic50.cs +++ b/GameServer/scripts/quests/Midgard/epic/Mystic50.cs @@ -1621,7 +1621,7 @@ public override void FinishQuest() Danica.SayTo(m_questPlayer, "May it serve you well, knowing that you have helped preserve the history of Midgard!"); m_questPlayer.GainExperience(eXPSource.Quest, 1937768448, true); - //m_questPlayer.AddMoney(Money.GetMoney(0,0,0,2,Util.Random(50)), "You recieve {0} as a reward."); + //m_questPlayer.Wallet.AddMoney(WalletHelper.GetMoney(0,0,0,2,Util.Random(50)), "You recieve {0} as a reward."); } diff --git a/GameServer/scripts/quests/Midgard/epic/Seer50.cs b/GameServer/scripts/quests/Midgard/epic/Seer50.cs index a7e1eb5d86..74ffdd673e 100644 --- a/GameServer/scripts/quests/Midgard/epic/Seer50.cs +++ b/GameServer/scripts/quests/Midgard/epic/Seer50.cs @@ -1173,7 +1173,7 @@ public override void FinishQuest() } m_questPlayer.GainExperience(eXPSource.Quest, 1937768448, true); - //m_questPlayer.AddMoney(Money.GetMoney(0,0,0,2,Util.Random(50)), "You recieve {0} as a reward."); + //m_questPlayer.Wallet.AddMoney(WalletHelper.GetMoney(0,0,0,2,Util.Random(50)), "You recieve {0} as a reward."); } #region Allakhazam Epic Source diff --git a/GameServer/scripts/quests/Midgard/epic/Viking50.cs b/GameServer/scripts/quests/Midgard/epic/Viking50.cs index badbb44afb..66ee16b469 100644 --- a/GameServer/scripts/quests/Midgard/epic/Viking50.cs +++ b/GameServer/scripts/quests/Midgard/epic/Viking50.cs @@ -2334,7 +2334,7 @@ public override void FinishQuest() } m_questPlayer.GainExperience(eXPSource.Quest, 1937768448, true); - //m_questPlayer.AddMoney(Money.GetMoney(0,0,0,2,Util.Random(50)), "You recieve {0} as a reward."); + //m_questPlayer.Wallet.AddMoney(WalletHelper.GetMoney(0,0,0,2,Util.Random(50)), "You recieve {0} as a reward."); } } } diff --git a/GameServer/scripts/quests/Midgard/shrouded isles/AncestralSecrets.cs b/GameServer/scripts/quests/Midgard/shrouded isles/AncestralSecrets.cs index 214b5ab909..bd7c8d3217 100644 --- a/GameServer/scripts/quests/Midgard/shrouded isles/AncestralSecrets.cs +++ b/GameServer/scripts/quests/Midgard/shrouded isles/AncestralSecrets.cs @@ -990,7 +990,7 @@ public override void FinishQuest() (m_questPlayer.ExperienceForNextLevel - m_questPlayer.ExperienceForCurrentLevel) / 2, false); RemoveItem(m_questPlayer, stone_pendant); GiveItem(m_questPlayer, beaded_resisting_stone); - m_questPlayer.AddMoney(Money.GetMoney(0, 0, 121, 41, Util.Random(50)), "You receive {0} as a reward."); + m_questPlayer.Wallet.AddMoney(WalletHelper.ToMoney(0, 0, 121, 41, Util.Random(50)), "You receive {0} as a reward."); base.FinishQuest(); //Defined in Quest, changes the state, stores in DB etc ... diff --git a/GameServer/scripts/startup/script/CharacterCreationSettings.cs b/GameServer/scripts/startup/script/CharacterCreationSettings.cs index 8d47e149b0..d72fd0d63f 100644 --- a/GameServer/scripts/startup/script/CharacterCreationSettings.cs +++ b/GameServer/scripts/startup/script/CharacterCreationSettings.cs @@ -104,10 +104,12 @@ public static void OnCharacterCreation(DOLEvent e, object sender, EventArgs args if (STARTING_MONEY > 0) { long value = STARTING_MONEY; - ch.Copper = Money.GetCopper(value); - ch.Silver = Money.GetSilver(value); - ch.Gold = Money.GetGold(value); - ch.Platinum = Money.GetPlatinum(value); + var (mithril, platinum, gold, silver, copper) = WalletHelper.ToMoneyParts(value); + ch.Copper = copper; + ch.Silver = silver; + ch.Gold = gold; + ch.Platinum = platinum; + ch.Mithril = mithril; } // Property Realm Level diff --git a/GameServer/serverrules/AbstractServerRules.cs b/GameServer/serverrules/AbstractServerRules.cs index d4303bb4a0..0043e0fad3 100644 --- a/GameServer/serverrules/AbstractServerRules.cs +++ b/GameServer/serverrules/AbstractServerRules.cs @@ -1843,7 +1843,7 @@ void RewardMoney() if (money > 0) { - playerToAward.AddMoney(money, "You receive {0}"); + playerToAward.Wallet.AddMoney(money, "You receive {0}"); InventoryLogging.LogInventoryAction(killedPlayer, playerToAward, eInventoryActionType.Other, money); } } diff --git a/Tests/UnitTests/UT_DrainArray.cs b/Tests/UnitTests/UT_DrainArray.cs index 6549ace275..ec03f9210b 100644 --- a/Tests/UnitTests/UT_DrainArray.cs +++ b/Tests/UnitTests/UT_DrainArray.cs @@ -8,7 +8,7 @@ using NUnit.Framework; using NUnit.Framework.Legacy; -namespace DOL.Tests.Unit.GameUtils.Collections +namespace DOL.Tests.Unit.Gameserver { [TestFixture] public class UT_DrainArray diff --git a/Tests/UnitTests/UT_Wallet.cs b/Tests/UnitTests/UT_Wallet.cs new file mode 100644 index 0000000000..2f76ee028a --- /dev/null +++ b/Tests/UnitTests/UT_Wallet.cs @@ -0,0 +1,85 @@ +using System; +using DOL.GS; +using NUnit.Framework; + +namespace DOL.Tests.Unit.Gameserver +{ + public class UT_Wallet + { + private FakePlayer _player; + private Wallet _wallet; + + [OneTimeSetUp] + public void OneTimeSetup() + { + FakeServer.Load(); + _player = new(); + } + + [SetUp] + public void Setup() + { + _wallet = new(_player); + } + + [Test] + public void GetMoney_InitiallyZero() + { + Assert.That(_wallet.GetMoney(), Is.EqualTo(0)); + } + + [Test] + public void LoadMoney_SetsAmount_WhenZero() + { + _wallet.LoadMoney(1000); + Assert.That(_wallet.GetMoney(), Is.EqualTo(1000)); + } + + [Test] + public void LoadMoney_Throws_IfAlreadyLoaded() + { + _wallet.LoadMoney(1000); + Assert.Throws(() => _wallet.LoadMoney(500)); + } + + [Test] + public void LoadMoney_Throws_IfNegative() + { + Assert.Throws(() => _wallet.LoadMoney(-1)); + } + + [Test] + public void AddMoney_IncreasesAmount() + { + _wallet.LoadMoney(500); + _wallet.AddMoney(200); + Assert.That(_wallet.GetMoney(), Is.EqualTo(700)); + } + + [Test] + public void RemoveMoney_DecreasesAmount() + { + _wallet.LoadMoney(1000); + bool result = _wallet.RemoveMoney(400); + Assert.That(result, Is.True); + Assert.That(_wallet.GetMoney(), Is.EqualTo(600)); + } + + [Test] + public void RemoveMoney_ReturnsFalse_IfInsufficientFunds() + { + bool result = _wallet.RemoveMoney(100); + Assert.That(result, Is.False); + Assert.That(_wallet.GetMoney(), Is.EqualTo(0)); + } + + [Test] + public void RemoveMoney_ReturnsFalse_IfInsufficientFunds_AndDoesNotRemoveMoney() + { + _wallet.LoadMoney(300); + bool result = _wallet.RemoveMoney(500); + Assert.That(result, Is.False); + Assert.That(_wallet.GetMoney(), Is.EqualTo(300)); + } + } +}