diff --git a/src/main/java/emu/lunarcore/command/commands/SetLevelCommand.java b/src/main/java/emu/lunarcore/command/commands/SetLevelCommand.java new file mode 100644 index 0000000..1433f7f --- /dev/null +++ b/src/main/java/emu/lunarcore/command/commands/SetLevelCommand.java @@ -0,0 +1,22 @@ +package emu.lunarcore.command.commands; + +import emu.lunarcore.util.Utils; +import emu.lunarcore.LunarCore; +import emu.lunarcore.GameConstants; +import emu.lunarcore.command.Command; +import emu.lunarcore.command.CommandArgs; +import emu.lunarcore.command.CommandHandler; +import emu.lunarcore.game.player.Player; + +@Command(label = "setlevel", aliases = {"level"}, permission = "player.setlevel", desc = "/setlevel - Set your Equilibrium level.") +public class SetLevelCommand implements CommandHandler { + + @Override + public void execute(Player sender, CommandArgs args) { + int targetLevel = Utils.parseSafeInt(args.get(0)); + sender.setLevel(targetLevel); + + this.sendMessage(sender, "Set level to "+args.get(0)); + } + +} diff --git a/src/main/java/emu/lunarcore/game/player/Player.java b/src/main/java/emu/lunarcore/game/player/Player.java index 5ccc09c..23bde44 100644 --- a/src/main/java/emu/lunarcore/game/player/Player.java +++ b/src/main/java/emu/lunarcore/game/player/Player.java @@ -188,6 +188,16 @@ public class Player { public Account getAccount() { return session.getAccount(); } + + public void setLevel(int newLevel) { + if (newLevel >= 71) { + newLevel = 70; + } + this.level = (newLevel); + this.exp = 0; + this.sendPacket(new PacketPlayerSyncScNotify(this)); + this.save(); + } public boolean isOnline() { return this.getSession() != null && this.loggedIn;