Dev commands, BuildingManager, ChatManager, ForgeManager, NPCManager, NPC, Warehouse, WorkOrder and ManageNPCMsg now call CObjectTemplate.lookup instead of ItemTemplate.templates.get. Forge production cost reads getItemResourceCosts(). Only the DB loader and linkCacheTemplates still use the legacy class (removed in Task 1.8). Removes the static_item_templates ParityCheck comparator. Final parity (offline p17.py, 7586 rows): every id has a cache template, 0 item_type differences, 0 item_resource_costs differences (84 ITEMs have costs). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
79 lines
2.6 KiB
Java
79 lines
2.6 KiB
Java
// • ▌ ▄ ·. ▄▄▄· ▄▄ • ▪ ▄▄· ▄▄▄▄· ▄▄▄· ▐▄▄▄ ▄▄▄ .
|
|
// ·██ ▐███▪▐█ ▀█ ▐█ ▀ ▪██ ▐█ ▌▪▐█ ▀█▪▐█ ▀█ •█▌ ▐█▐▌·
|
|
// ▐█ ▌▐▌▐█·▄█▀▀█ ▄█ ▀█▄▐█·██ ▄▄▐█▀▀█▄▄█▀▀█ ▐█▐ ▐▌▐▀▀▀
|
|
// ██ ██▌▐█▌▐█ ▪▐▌▐█▄▪▐█▐█▌▐███▌██▄▪▐█▐█ ▪▐▌██▐ █▌▐█▄▄▌
|
|
// ▀▀ █▪▀▀▀ ▀ ▀ ·▀▀▀▀ ▀▀▀·▀▀▀ ·▀▀▀▀ ▀ ▀ ▀▀ █▪ ▀▀▀
|
|
// Magicbane Emulator Project © 2013 - 2026
|
|
// https://www.magicbane.com
|
|
|
|
|
|
package engine.devcmd.cmds;
|
|
|
|
import engine.devcmd.AbstractDevCmd;
|
|
import engine.objects.*;
|
|
import engine.parsers.objects.CObjectTemplate;
|
|
|
|
import java.util.ArrayList;
|
|
|
|
public class PrintBankCmd extends AbstractDevCmd {
|
|
|
|
public PrintBankCmd() {
|
|
super("printbank");
|
|
}
|
|
|
|
@Override
|
|
protected void _doCmd(PlayerCharacter pc, String[] words,
|
|
AbstractGameObject target) {
|
|
|
|
AbstractWorldObject tar;
|
|
String name;
|
|
String type = "PlayerCharacter";
|
|
|
|
if (target != null) {
|
|
if (target instanceof AbstractCharacter) {
|
|
tar = (AbstractCharacter) target;
|
|
name = ((AbstractCharacter) tar).getFirstName();
|
|
} else {
|
|
tar = pc;
|
|
name = ((AbstractCharacter) tar).getFirstName();
|
|
}
|
|
} else {
|
|
tar = pc;
|
|
name = ((AbstractCharacter) tar).getFirstName();
|
|
}
|
|
|
|
if (!(tar instanceof PlayerCharacter)) {
|
|
throwbackError(pc, "Must target player");
|
|
return;
|
|
}
|
|
|
|
|
|
CharacterItemManager cim = ((AbstractCharacter) tar).charItemManager;
|
|
ArrayList<Item> list = cim.getBank();
|
|
throwbackInfo(pc, "Bank for " + type + ' ' + name + " (" + tar.getObjectUUID() + ')');
|
|
|
|
for (Item item : list) {
|
|
CObjectTemplate template = CObjectTemplate.lookup(item.templateID);
|
|
throwbackInfo(pc, " " + template.getItemBaseName() + ", count: " + item.getNumOfItems());
|
|
}
|
|
|
|
Item gold = cim.getGoldBank();
|
|
|
|
if (gold != null)
|
|
throwbackInfo(pc, " Gold, count: " + gold.getNumOfItems());
|
|
else
|
|
throwbackInfo(pc, " NULL Gold");
|
|
}
|
|
|
|
@Override
|
|
protected String _getHelpString() {
|
|
return "Returns the player's current bank";
|
|
}
|
|
|
|
@Override
|
|
protected String _getUsageString() {
|
|
return "' /printbank'";
|
|
}
|
|
|
|
}
|