Initial Repository Push
This commit is contained in:
@@ -0,0 +1,109 @@
|
||||
// • ▌ ▄ ·. ▄▄▄· ▄▄ • ▪ ▄▄· ▄▄▄▄· ▄▄▄· ▐▄▄▄ ▄▄▄ .
|
||||
// ·██ ▐███▪▐█ ▀█ ▐█ ▀ ▪██ ▐█ ▌▪▐█ ▀█▪▐█ ▀█ •█▌ ▐█▐▌·
|
||||
// ▐█ ▌▐▌▐█·▄█▀▀█ ▄█ ▀█▄▐█·██ ▄▄▐█▀▀█▄▄█▀▀█ ▐█▐ ▐▌▐▀▀▀
|
||||
// ██ ██▌▐█▌▐█ ▪▐▌▐█▄▪▐█▐█▌▐███▌██▄▪▐█▐█ ▪▐▌██▐ █▌▐█▄▄▌
|
||||
// ▀▀ █▪▀▀▀ ▀ ▀ ·▀▀▀▀ ▀▀▀·▀▀▀ ·▀▀▀▀ ▀ ▀ ▀▀ █▪ ▀▀▀
|
||||
// Magicbane Emulator Project © 2013 - 2022
|
||||
// www.magicbane.com
|
||||
|
||||
|
||||
package engine.devcmd.cmds;
|
||||
|
||||
import engine.Enum.ItemType;
|
||||
import engine.devcmd.AbstractDevCmd;
|
||||
import engine.objects.*;
|
||||
|
||||
import java.text.DecimalFormat;
|
||||
import java.util.ArrayList;
|
||||
|
||||
public class PrintInventoryCmd extends AbstractDevCmd {
|
||||
|
||||
public PrintInventoryCmd() {
|
||||
super("printinventory");
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void _doCmd(PlayerCharacter pc, String[] words,
|
||||
AbstractGameObject target) {
|
||||
|
||||
if (target == null || (!(target instanceof AbstractCharacter) && !(target instanceof Corpse))) {
|
||||
target = pc;
|
||||
}
|
||||
|
||||
|
||||
String type = target.getClass().getSimpleName();
|
||||
String name = "";
|
||||
ArrayList<Item> inventory = null;
|
||||
Item gold = null;
|
||||
DecimalFormat df = new DecimalFormat("###,###,###,##0");
|
||||
|
||||
if (target instanceof AbstractCharacter) {
|
||||
AbstractCharacter tar = (AbstractCharacter)target;
|
||||
|
||||
name = tar.getFirstName();
|
||||
|
||||
if (tar instanceof Mob) {
|
||||
Mob mob = (Mob) tar;
|
||||
MobBase mb = mob.getMobBase();
|
||||
if (mb != null) {
|
||||
name = mb.getFirstName();
|
||||
}
|
||||
} else if (tar instanceof NPC) {
|
||||
NPC npc = (NPC) tar;
|
||||
Contract contract = npc.getContract();
|
||||
if (contract != null) {
|
||||
if (contract.isTrainer()) {
|
||||
name = tar.getName() + ", " + contract.getName();
|
||||
} else {
|
||||
name = tar.getName() + " the " + contract.getName();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
CharacterItemManager cim = tar.getCharItemManager();
|
||||
inventory = cim.getInventory(); //this list can contain gold when tar is a PC that is dead
|
||||
gold = cim.getGoldInventory();
|
||||
throwbackInfo(pc, " Weight : " + (cim.getInventoryWeight() + cim.getEquipWeight()));
|
||||
} else if (target instanceof Corpse) {
|
||||
Corpse corpse = (Corpse) target;
|
||||
name = "of " + corpse.getName();
|
||||
inventory = corpse.getInventory();
|
||||
}
|
||||
|
||||
throwbackInfo(pc, "Inventory for " + type + ' ' + name + " (" + target.getObjectUUID() + ')');
|
||||
|
||||
int goldCount = 0;
|
||||
|
||||
for (Item item : inventory) {
|
||||
if (item.getItemBase().getType().equals(ItemType.GOLD) == false) {
|
||||
String chargeInfo = "";
|
||||
byte chargeMax = item.getChargesMax();
|
||||
if (chargeMax > 0) {
|
||||
byte charges = item.getChargesRemaining();
|
||||
chargeInfo = " charges: " + charges + '/' + chargeMax;
|
||||
}
|
||||
throwbackInfo(pc, " " + item.getItemBase().getName() + ", count: " + item.getNumOfItems() + chargeInfo);
|
||||
} else goldCount += item.getNumOfItems();
|
||||
}
|
||||
if (gold != null) {
|
||||
goldCount += gold.getNumOfItems();
|
||||
}
|
||||
|
||||
if (goldCount > 0 || gold != null) {
|
||||
throwbackInfo(pc, " Gold, count: " + df.format(goldCount));
|
||||
} else {
|
||||
throwbackInfo(pc, " NULL Gold");
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected String _getHelpString() {
|
||||
return "Returns the player's current inventory";
|
||||
}
|
||||
|
||||
@Override
|
||||
protected String _getUsageString() {
|
||||
return "' /printinventory'";
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user