diff --git a/src/engine/devcmd/cmds/MakeBaneCmd.java b/src/engine/devcmd/cmds/MakeBaneCmd.java deleted file mode 100644 index 4eb6aaec..00000000 --- a/src/engine/devcmd/cmds/MakeBaneCmd.java +++ /dev/null @@ -1,212 +0,0 @@ -// • ▌ ▄ ·. ▄▄▄· ▄▄ • ▪ ▄▄· ▄▄▄▄· ▄▄▄· ▐▄▄▄ ▄▄▄ . -// ·██ ▐███▪▐█ ▀█ ▐█ ▀ ▪██ ▐█ ▌▪▐█ ▀█▪▐█ ▀█ •█▌ ▐█▐▌· -// ▐█ ▌▐▌▐█·▄█▀▀█ ▄█ ▀█▄▐█·██ ▄▄▐█▀▀█▄▄█▀▀█ ▐█▐ ▐▌▐▀▀▀ -// ██ ██▌▐█▌▐█ ▪▐▌▐█▄▪▐█▐█▌▐███▌██▄▪▐█▐█ ▪▐▌██▐ █▌▐█▄▄▌ -// ▀▀ █▪▀▀▀ ▀ ▀ ·▀▀▀▀ ▀▀▀·▀▀▀ ·▀▀▀▀ ▀ ▀ ▀▀ █▪ ▀▀▀ -// Magicbane Emulator Project © 2013 - 2022 -// www.magicbane.com - - -package engine.devcmd.cmds; - -import engine.InterestManagement.WorldGrid; -import engine.devcmd.AbstractDevCmd; -import engine.gameManager.BuildingManager; -import engine.gameManager.ChatManager; -import engine.gameManager.DbManager; -import engine.gameManager.ZoneManager; -import engine.math.Vector3f; -import engine.math.Vector3fImmutable; -import engine.mbEnums.ProtectionState; -import engine.objects.*; -import org.pmw.tinylog.Logger; - -/** - * @author Eighty - */ -public class MakeBaneCmd extends AbstractDevCmd { - - public MakeBaneCmd() { - super("makebane"); - } - - @Override - protected void _doCmd(PlayerCharacter pc, String[] words, - AbstractGameObject target) { - if (words.length < 1 || words.length > 2) { - this.sendUsage(pc); - return; - } - - int attackerID = 0; - int rank = 8; - - if (words.length == 2) { - try { - attackerID = Integer.parseInt(words[0]); - rank = Integer.parseInt(words[1]); - } catch (NumberFormatException e) { - throwbackError(pc, "AttackerGuildID must be a number, " + words[0] + " is invalid"); - return; - } - } else if (words.length == 1) { - if (target == null) { - throwbackError(pc, "No target specified"); - return; - } - - if (!(target instanceof PlayerCharacter)) { - throwbackError(pc, "Target is not a player"); - return; - } - attackerID = target.getObjectUUID(); - - try { - rank = Integer.parseInt(words[0]); - } catch (NumberFormatException e) { - throwbackError(pc, "Rank must be specified, 1 through 8"); - return; - } - } - - if (rank < 1 || rank > 8) { - throwbackError(pc, "Rank must be 1 through 8"); - return; - } - - PlayerCharacter player = PlayerCharacter.getPlayerCharacter(attackerID); - - - if (player.getGuild().isEmptyGuild()) { - throwbackError(pc, "Errant's can not place banes"); - return; - } - - AbstractCharacter attackerAGL = Guild.GetGL(player.getGuild()); - - if (attackerAGL == null) { - throwbackError(pc, "No guild leader found for attacking guild."); - return; - } - - if (!(attackerAGL instanceof PlayerCharacter)) { - throwbackError(pc, "Attacking guild leader is an NPC."); - return; - } - - if (player.getGuild().isNPCGuild()) { - throwbackError(pc, "The guild used is an npc guild. They can not bane."); - return; - } - - // if (player.getGuild().getOwnedCity() != null) { - // throwbackError(pc, "The attacking guild already has a city."); - // return; - // } - - Zone zone = ZoneManager.findSmallestZone(pc.getLoc()); - - if (zone == null) { - throwbackError(pc, "Unable to find the zone you're in."); - return; - } - - if (!zone.guild_zone) { - throwbackError(pc, "This is not a player city."); - return; - } - - City city = City.getCity(zone.playerCityUUID); - if (city == null) { - throwbackError(pc, "Unable to find the city associated with this zone."); - return; - } - - if (city.getTOL() == null) { - throwbackError(pc, "Unable to find the tree of life for this city."); - return; - } - - if (city.getBane() != null) { - throwbackError(pc, "This city is already baned."); - return; - } - - if (Bane.getBaneByAttackerGuild(player.getGuild()) != null) { - throwbackError(pc, "This guild is already baning someone."); - return; - } - - Blueprint blueprint = Blueprint.getBlueprint(24300); - - if (blueprint == null) { - throwbackError(pc, "Unable to find building set for banestone."); - return; - } - - Vector3f rot = new Vector3f(0, 0, 0); - - // *** Refactor : Overlap test goes here - - //Let's drop a banestone! - Vector3fImmutable localLocation = ZoneManager.worldToLocal(pc.getLoc(), zone); - - if (localLocation == null) { - ChatManager.chatSystemError(pc, "Failed to convert world location to zone location. Contact a CCR."); - Logger.info("Failed to Convert World coordinates to local zone coordinates"); - return; - } - - Building stone = DbManager.BuildingQueries.CREATE_BUILDING( - zone.getObjectUUID(), pc.getObjectUUID(), blueprint.getName(), blueprint.getBlueprintUUID(), - localLocation, 1.0f, blueprint.getMaxHealth(rank), ProtectionState.PROTECTED, 0, rank, - null, blueprint.getBlueprintUUID(), 1, 0.0f); - - if (stone == null) { - ChatManager.chatSystemError(pc, "Failed to create banestone."); - return; - } - stone.addEffectBit((1 << 19)); - BuildingManager.setRank(stone, (byte) rank); - stone.setMaxHitPoints(blueprint.getMaxHealth(stone.getRank())); - stone.setCurrentHitPoints(stone.getMaxHitPoints()); - BuildingManager.setUpgradeDateTime(stone, null, 0); - - //Make the bane - - Bane bane = Bane.makeBane(player, city, stone); - - if (bane == null) { - - //delete bane stone, failed to make bane object - DbManager.BuildingQueries.DELETE_FROM_DATABASE(stone); - - throwbackError(pc, "Failed to create bane."); - return; - } - - WorldGrid.addObject(stone, pc); - - //Add baned effect to TOL - city.getTOL().addEffectBit((1 << 16)); - city.getTOL().updateEffects(); - - Vector3fImmutable movePlayerOutsideStone = player.getLoc(); - movePlayerOutsideStone = movePlayerOutsideStone.setX(movePlayerOutsideStone.x + 10); - movePlayerOutsideStone = movePlayerOutsideStone.setZ(movePlayerOutsideStone.z + 10); - player.teleport(movePlayerOutsideStone); - - throwbackInfo(pc, "The city has been succesfully baned."); - } - - @Override - protected String _getHelpString() { - return "Creates an bane."; - } - - @Override - protected String _getUsageString() { - return "'./makebane playerUUID baneRank'"; - } - -} diff --git a/src/engine/gameManager/DevCmdManager.java b/src/engine/gameManager/DevCmdManager.java index 8458c61a..d06e3d20 100644 --- a/src/engine/gameManager/DevCmdManager.java +++ b/src/engine/gameManager/DevCmdManager.java @@ -8,9 +8,9 @@ package engine.gameManager; -import engine.mbEnums; import engine.devcmd.AbstractDevCmd; import engine.devcmd.cmds.*; +import engine.mbEnums; import engine.objects.AbstractGameObject; import engine.objects.Account; import engine.objects.PlayerCharacter; @@ -91,7 +91,6 @@ public enum DevCmdManager { DevCmdManager.registerDevCmd(new RenameCmd()); DevCmdManager.registerDevCmd(new CreateItemCmd()); DevCmdManager.registerDevCmd(new SetRankCmd()); - DevCmdManager.registerDevCmd(new MakeBaneCmd()); DevCmdManager.registerDevCmd(new RemoveBaneCmd()); DevCmdManager.registerDevCmd(new SetBaneActiveCmd()); DevCmdManager.registerDevCmd(new SetAdminRuneCmd());