kevin
3 months ago
4 changed files with 76 additions and 0 deletions
@ -0,0 +1,61 @@
@@ -0,0 +1,61 @@
|
||||
package engine.devcmd.cmds; |
||||
|
||||
import engine.devcmd.AbstractDevCmd; |
||||
import engine.gameManager.ZoneManager; |
||||
import engine.objects.AbstractGameObject; |
||||
import engine.objects.PlayerCharacter; |
||||
import engine.objects.Zone; |
||||
|
||||
public class SetCampLevelCmd extends AbstractDevCmd { |
||||
public SetCampLevelCmd() { super("setcamplevel"); } |
||||
|
||||
@Override |
||||
protected void _doCmd(PlayerCharacter pcSender, String[] args, AbstractGameObject target) { |
||||
|
||||
if (args.length > 1) |
||||
{ |
||||
this.sendUsage(pcSender); |
||||
} |
||||
|
||||
// Get the current occupied camp
|
||||
Zone playerZone = ZoneManager.findSmallestZone(pcSender.loc); |
||||
|
||||
// Make sure that the zone we're targeting is valid for action
|
||||
if (playerZone == null || |
||||
playerZone.zoneMobSet.isEmpty() || |
||||
playerZone.isPlayerCity()) |
||||
{ |
||||
throwbackError(pcSender, "Current zone must own mobs, and NOT be a city."); |
||||
return; |
||||
} |
||||
|
||||
int targetLevel = 0; |
||||
if (args.length == 1) |
||||
{ |
||||
try |
||||
{ |
||||
targetLevel = Integer.parseInt(args[0]); |
||||
} |
||||
catch (NumberFormatException nfe) |
||||
{ |
||||
throwbackError(pcSender, "Argument MUST be integer. Received: " + args[0]); |
||||
} |
||||
catch (Exception e) |
||||
{ |
||||
throwbackError(pcSender, "Unknown command parsing provided camp level: " + args[0]); |
||||
} |
||||
} |
||||
|
||||
playerZone.setCampLvl(targetLevel); |
||||
} |
||||
|
||||
@Override |
||||
protected String _getUsageString() { |
||||
return "Sets the level of the currently occupied camp to the desired level"; |
||||
} |
||||
|
||||
@Override |
||||
protected String _getHelpString() { |
||||
return "'./setcamplevel levelNum'"; |
||||
} |
||||
} |
Loading…
Reference in new issue