Browse Source

hotzone dev command updated.

master
MagicBot 2 years ago
parent
commit
0dad677bc0
  1. 61
      src/engine/devcmd/cmds/HotzoneCmd.java

61
src/engine/devcmd/cmds/HotzoneCmd.java

@ -22,9 +22,8 @@ import engine.server.world.WorldServer; @@ -22,9 +22,8 @@ import engine.server.world.WorldServer;
/**
* ./hotzone <- display the current hotzone & time remaining
* ./hotzone random <- change hotzone to random new zone
* ./hotzone name of a macrozone <- change hotzone to the zone name provided
*
*/
public class HotzoneCmd extends AbstractDevCmd {
public HotzoneCmd() {
@ -36,78 +35,36 @@ public class HotzoneCmd extends AbstractDevCmd { @@ -36,78 +35,36 @@ public class HotzoneCmd extends AbstractDevCmd {
AbstractGameObject target) {
StringBuilder data = new StringBuilder();
for (String s : words) {
data.append(s);
data.append(' ');
}
String input = data.toString().trim();
if (input.length() == 0) {
throwbackInfo(pc, "Current hotzone: " + hotzoneInfo());
throwbackInfo(pc, "Current hotZone: " + ZoneManager.hotZone.getName());
return;
}
Zone zone;
if (input.equalsIgnoreCase("random")) {
throwbackInfo(pc, "Previous hotzone: " + hotzoneInfo());
throwbackInfo(pc, "Previous hotZone: " + ZoneManager.hotZone.getName());
ZoneManager.generateAndSetRandomHotzone();
zone = ZoneManager.hotZone;
} else {
zone = ZoneManager.findMacroZoneByName(input);
if (zone == null) {
throwbackError(pc, "Cannot find a macrozone with that name.");
return;
}
if (zone == ZoneManager.hotZone) {
throwbackInfo(pc, "That macrozone is already the Hotzone.");
return;
}
if (ZoneManager.validHotZone(zone) == false) {
throwbackError(pc, "That macrozone cannot be set as the Hotzone.");
return;
}
throwbackInfo(pc, "Previous hotzone: " + hotzoneInfo());
ZoneManager.setHotZone(zone);
throwbackInfo(pc, "New hotZone: " + ZoneManager.hotZone.getName());
}
throwbackInfo(pc, "New hotzone: " + hotzoneInfo());
HotzoneChangeMsg hcm = new HotzoneChangeMsg(zone.getObjectType().ordinal(), zone.getObjectUUID());
return;
}
@Override
protected String _getHelpString() {
return "Use no arguments to see the current hotzone. Specify a macrozone name to change the hotzone, or \"random\" to change it randomly.";
return "Use no arguments to see the current hotzone or \"random\" to change it randomly.";
}
@Override
protected String _getUsageString() {
return "'./hotzone [random | <macroZoneName>]";
return "'./hotzone [random]";
}
private static String hotzoneInfo() {
final int hotzoneTimeLeft = FastMath.secondsUntilNextHour();
final Zone hotzone = ZoneManager.hotZone;
String hotzoneInfo;
if (hotzone == null) {
hotzoneInfo = "none";
} else {
int hr = hotzoneTimeLeft/3600;
int rem = hotzoneTimeLeft%3600;
int mn = rem/60;
int sec = rem%60;
hotzoneInfo = hotzone.getName() +
" (" + (hr<10 ? "0" : "") + hr + ':' +
(mn<10 ? "0" : "") + mn + ':' +
(sec<10 ? "0" : "") + sec +
" remaining)";
}
return hotzoneInfo;
}
}

Loading…
Cancel
Save