diff --git a/src/engine/devcmd/cmds/AddGoldCmd.java b/src/engine/devcmd/cmds/AddGoldCmd.java index e998fc5b..9d15ad21 100644 --- a/src/engine/devcmd/cmds/AddGoldCmd.java +++ b/src/engine/devcmd/cmds/AddGoldCmd.java @@ -14,6 +14,7 @@ import engine.gameManager.ChatManager; import engine.objects.AbstractGameObject; import engine.objects.Item; import engine.objects.PlayerCharacter; +import engine.server.MBServerStatics; /** * @author Eighty @@ -46,10 +47,10 @@ public class AddGoldCmd extends AbstractDevCmd { throwbackError(pc, "Quantity must be a number, " + words[0] + " is invalid"); return; } - if (amt < 1 || amt > 10000000) { - throwbackError(pc, "Quantity must be between 1 and 10000000 (10 million)"); + if (amt < 1 || amt > MBServerStatics.PLAYER_GOLD_LIMIT) { + throwbackError(pc, "Quantity must be between 1 and " + MBServerStatics.PLAYER_GOLD_LIMIT); return; - } else if ((curAmt + amt) > 10000000) { + } else if ((curAmt + amt) > MBServerStatics.PLAYER_GOLD_LIMIT) { throwbackError(pc, "This would place your inventory over 10,000,000 gold."); return; } diff --git a/src/engine/gameManager/ChatManager.java b/src/engine/gameManager/ChatManager.java index 496cfb6c..5cecc089 100644 --- a/src/engine/gameManager/ChatManager.java +++ b/src/engine/gameManager/ChatManager.java @@ -189,6 +189,24 @@ public enum ChatManager { return; } + if(text.startsWith("./junk")){ + //junk command + PlayerCharacter pc = (PlayerCharacter)player; + for(Item i : pc.getCharItemManager().getInventory()){ + ItemBase ib = i.getItemBase(); + if(ib.isGlass() || ib.getType().equals(Enum.ItemType.CONTRACT) || ib.isVorg() || ib.getType().equals(Enum.ItemType.RUNE) + || ib.getType().equals(Enum.ItemType.SCROLL) || ib.getType().equals(Enum.ItemType.POTION)) + continue; + + int value = ib.getBaseValue(); + if(pc.getCharItemManager().getGoldInventory().getNumOfItems() + value > MBServerStatics.PLAYER_GOLD_LIMIT) + continue; // cannot hold gold value + + pc.getCharItemManager().addGoldToInventory(value,false); + pc.getCharItemManager().junk(i); + } + pc.getCharItemManager().updateInventory(); + } if (ChatManager.isDevCommand(text) == true) { ChatManager.processDevCommand(player, text); return; diff --git a/src/engine/net/client/ClientMessagePump.java b/src/engine/net/client/ClientMessagePump.java index 9f9811ac..7dadc9c9 100644 --- a/src/engine/net/client/ClientMessagePump.java +++ b/src/engine/net/client/ClientMessagePump.java @@ -1287,7 +1287,7 @@ public class ClientMessagePump implements NetMsgHandler { cost *= profit; - if (gold.getNumOfItems() + cost > 10000000) { + if (gold.getNumOfItems() + cost > MBServerStatics.PLAYER_GOLD_LIMIT) { return; } diff --git a/src/engine/objects/CharacterItemManager.java b/src/engine/objects/CharacterItemManager.java index a15abba4..46fc01e0 100644 --- a/src/engine/objects/CharacterItemManager.java +++ b/src/engine/objects/CharacterItemManager.java @@ -2334,7 +2334,7 @@ public class CharacterItemManager { } - if (this.getGoldInventory().getNumOfItems() + goldFrom2 > 10000000) { + if (this.getGoldInventory().getNumOfItems() + goldFrom2 > MBServerStatics.PLAYER_GOLD_LIMIT) { PlayerCharacter pc = (PlayerCharacter) this.absCharacter; if (pc.getClientConnection() != null) ErrorPopupMsg.sendErrorPopup(pc, 202); @@ -2342,7 +2342,7 @@ public class CharacterItemManager { } - if (tradingWith.getGoldInventory().getNumOfItems() + goldFrom1 > 10000000) { + if (tradingWith.getGoldInventory().getNumOfItems() + goldFrom1 > MBServerStatics.PLAYER_GOLD_LIMIT) { PlayerCharacter pc = (PlayerCharacter) tradingWith.absCharacter; if (pc.getClientConnection() != null) ErrorPopupMsg.sendErrorPopup(pc, 202); diff --git a/src/engine/objects/ItemBase.java b/src/engine/objects/ItemBase.java index 17c5a00c..7e6a8ebe 100644 --- a/src/engine/objects/ItemBase.java +++ b/src/engine/objects/ItemBase.java @@ -914,4 +914,8 @@ public class ItemBase { public void setAutoID(boolean autoID) { this.autoID = autoID; } + + public boolean isVorg(){ + return (this.name.contains("Vorgrim") || this.name.contains("Bellugh") || this.name.contains("Crimson Circle")); + } }