diff --git a/src/engine/devcmd/cmds/StaticFlagCmd.java b/src/engine/devcmd/cmds/StaticFlagCmd.java new file mode 100644 index 00000000..dfa586c8 --- /dev/null +++ b/src/engine/devcmd/cmds/StaticFlagCmd.java @@ -0,0 +1,50 @@ +// • ▌ ▄ ·. ▄▄▄· ▄▄ • ▪ ▄▄· ▄▄▄▄· ▄▄▄· ▐▄▄▄ ▄▄▄ . +// ·██ ▐███▪▐█ ▀█ ▐█ ▀ ▪██ ▐█ ▌▪▐█ ▀█▪▐█ ▀█ •█▌ ▐█▐▌· +// ▐█ ▌▐▌▐█·▄█▀▀█ ▄█ ▀█▄▐█·██ ▄▄▐█▀▀█▄▄█▀▀█ ▐█▐ ▐▌▐▀▀▀ +// ██ ██▌▐█▌▐█ ▪▐▌▐█▄▪▐█▐█▌▐███▌██▄▪▐█▐█ ▪▐▌██▐ █▌▐█▄▄▌ +// ▀▀ █▪▀▀▀ ▀ ▀ ·▀▀▀▀ ▀▀▀·▀▀▀ ·▀▀▀▀ ▀ ▀ ▀▀ █▪ ▀▀▀ +// Magicbane Emulator Project © 2013 - 2026 +// https://www.magicbane.com + + +package engine.devcmd.cmds; + +import engine.devcmd.AbstractDevCmd; +import engine.objects.AbstractGameObject; +import engine.objects.AbstractWorldObject; +import engine.objects.PlayerCharacter; + +// Temporary: lets Task 0.6 be tested before Task 2.3 creates static objects. Revert after testing. +public class StaticFlagCmd extends AbstractDevCmd { + + public StaticFlagCmd() { + super("staticflag"); + } + + @Override + protected void _doCmd(PlayerCharacter pc, String[] words, + AbstractGameObject target) { + + AbstractWorldObject worldObject; + + if (!(target instanceof AbstractWorldObject)) { + throwbackError(pc, "Select a building, NPC or mob"); + return; + } + + worldObject = (AbstractWorldObject) target; + worldObject.setStaticWorldObject(!worldObject.isStaticWorldObject()); + throwbackInfo(pc, target.getObjectType() + " " + target.getObjectUUID() + " static: " + worldObject.isStaticWorldObject()); + } + + @Override + protected String _getHelpString() { + return "Toggles the static world flag on the selected object until reboot"; + } + + @Override + protected String _getUsageString() { + return "' /staticflag' with an object selected"; + } + +} diff --git a/src/engine/gameManager/DevCmdManager.java b/src/engine/gameManager/DevCmdManager.java index d3f01730..0f591635 100644 --- a/src/engine/gameManager/DevCmdManager.java +++ b/src/engine/gameManager/DevCmdManager.java @@ -125,6 +125,7 @@ public enum DevCmdManager { DevCmdManager.registerDevCmd(new RegionCmd()); DevCmdManager.registerDevCmd(new ApplyBonusCmd()); DevCmdManager.registerDevCmd(new SlotTestCmd()); + DevCmdManager.registerDevCmd(new StaticFlagCmd()); } private static void registerDevCmd(AbstractDevCmd cmd) {