// • ▌ ▄ ·. ▄▄▄· ▄▄ • ▪ ▄▄· ▄▄▄▄· ▄▄▄· ▐▄▄▄ ▄▄▄ . // ·██ ▐███▪▐█ ▀█ ▐█ ▀ ▪██ ▐█ ▌▪▐█ ▀█▪▐█ ▀█ •█▌ ▐█▐▌· // ▐█ ▌▐▌▐█·▄█▀▀█ ▄█ ▀█▄▐█·██ ▄▄▐█▀▀█▄▄█▀▀█ ▐█▐ ▐▌▐▀▀▀ // ██ ██▌▐█▌▐█ ▪▐▌▐█▄▪▐█▐█▌▐███▌██▄▪▐█▐█ ▪▐▌██▐ █▌▐█▄▄▌ // ▀▀ █▪▀▀▀ ▀ ▀ ·▀▀▀▀ ▀▀▀·▀▀▀ ·▀▀▀▀ ▀ ▀ ▀▀ █▪ ▀▀▀ // Magicbane Emulator Project © 2013 - 2022 // www.magicbane.com package engine.devcmd.cmds; import engine.devcmd.AbstractDevCmd; import engine.jobs.DebugTimerJob; import engine.objects.AbstractGameObject; import engine.objects.PlayerCharacter; public class DebugCmd extends AbstractDevCmd { public DebugCmd() { super("debug"); // super("debug", MBServerStatics.ACCESS_GROUP_ALL_TEAM, 0, false, false); } private static void toggleDebugTimer(PlayerCharacter pc, String name, int num, int duration, boolean toggle) { if (toggle) { DebugTimerJob dtj = new DebugTimerJob(pc, name, num, duration); pc.renewTimer(name, dtj, duration); } else pc.cancelTimer(name); } @Override protected void _doCmd(PlayerCharacter pc, String[] words, AbstractGameObject target) { if (words.length < 2) { this.sendUsage(pc); return; } if (pc == null) return; //pc.setDebug must use bit sizes: 1, 2, 4, 8, 16, 32 String command = words[0].toLowerCase(); boolean toggle = (words[1].toLowerCase().equals("on")) ? true : false; switch (command) { case "magictrek": pc.RUN_MAGICTREK = toggle; break; case "combat": pc.setDebug(64, toggle); break; case "health": toggleDebugTimer(pc, "Debug_Health", 1, 1000, toggle); break; case "mana": toggleDebugTimer(pc, "Debug_Mana", 2, 1000, toggle); break; case "stamina": toggleDebugTimer(pc, "Debug_Stamina", 3, 500, toggle); break; case "spells": pc.setDebug(16, toggle); break; case "damageabsorber": pc.setDebug(2, toggle); break; case "recast": case "recycle": pc.setDebug(4, toggle); break; case "seeinvis": pc.setDebug(8, toggle); break; case "movement": pc.setDebug(1, toggle); break; case "noaggro": pc.setDebug(32, toggle); break; // case "loot": // MBServerStatics.debugLoot = toggle; // break; default: String output = "Debug for " + command + " not found."; throwbackError(pc, output); return; } setTarget(pc); //for logging String output = "Debug for " + command + " turned " + ((toggle) ? "on." : "off."); throwbackInfo(pc, output); } @Override protected String _getHelpString() { return "Runs debug commands"; } @Override protected String _getUsageString() { return "'./Debug command on/off'"; } }