forked from MagicBane/Server
MagicBot
8 months ago
24 changed files with 1 additions and 1608 deletions
@ -1,105 +0,0 @@ |
|||||||
// • ▌ ▄ ·. ▄▄▄· ▄▄ • ▪ ▄▄· ▄▄▄▄· ▄▄▄· ▐▄▄▄ ▄▄▄ .
|
|
||||||
// ·██ ▐███▪▐█ ▀█ ▐█ ▀ ▪██ ▐█ ▌▪▐█ ▀█▪▐█ ▀█ •█▌ ▐█▐▌·
|
|
||||||
// ▐█ ▌▐▌▐█·▄█▀▀█ ▄█ ▀█▄▐█·██ ▄▄▐█▀▀█▄▄█▀▀█ ▐█▐ ▐▌▐▀▀▀
|
|
||||||
// ██ ██▌▐█▌▐█ ▪▐▌▐█▄▪▐█▐█▌▐███▌██▄▪▐█▐█ ▪▐▌██▐ █▌▐█▄▄▌
|
|
||||||
// ▀▀ █▪▀▀▀ ▀ ▀ ·▀▀▀▀ ▀▀▀·▀▀▀ ·▀▀▀▀ ▀ ▀ ▀▀ █▪ ▀▀▀
|
|
||||||
// Magicbane Emulator Project © 2013 - 2022
|
|
||||||
// www.magicbane.com
|
|
||||||
|
|
||||||
|
|
||||||
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 AuditMobsCmd extends AbstractDevCmd { |
|
||||||
|
|
||||||
public AuditMobsCmd() { |
|
||||||
super("auditmobs"); |
|
||||||
} |
|
||||||
|
|
||||||
@Override |
|
||||||
protected void _doCmd(PlayerCharacter pcSender, String[] words, |
|
||||||
AbstractGameObject target) { |
|
||||||
if (pcSender == null) |
|
||||||
return; |
|
||||||
|
|
||||||
//get Zone to check mobs against
|
|
||||||
|
|
||||||
Zone zone; |
|
||||||
|
|
||||||
if (words.length == 2) { |
|
||||||
if (words[0].equals("all")) { |
|
||||||
int plusplus = 0; |
|
||||||
int count = Integer.parseInt(words[1]); |
|
||||||
for (Zone zoneMicro : ZoneManager.getAllZones()) { |
|
||||||
int size = zoneMicro.zoneMobSet.size(); |
|
||||||
|
|
||||||
if (size >= count) { |
|
||||||
plusplus++; |
|
||||||
throwbackInfo(pcSender, zoneMicro.zoneName + " at location " + zoneMicro.getLoc().toString() + " has " + size + " mobs. "); |
|
||||||
System.out.println(zoneMicro.zoneName + " at location " + zoneMicro.getLoc().toString() + " has " + size + " mobs. "); |
|
||||||
} |
|
||||||
|
|
||||||
|
|
||||||
} |
|
||||||
throwbackInfo(pcSender, " there are " + plusplus + " zones with at least " + count + " mobs in each."); |
|
||||||
} |
|
||||||
return; |
|
||||||
} |
|
||||||
if (words.length > 1) { |
|
||||||
this.sendUsage(pcSender); |
|
||||||
return; |
|
||||||
} else if (words.length == 1) { |
|
||||||
int uuid; |
|
||||||
try { |
|
||||||
uuid = Integer.parseInt(words[0]); |
|
||||||
zone = ZoneManager.getZoneByUUID(uuid); |
|
||||||
} catch (NumberFormatException e) { |
|
||||||
zone = ZoneManager.findSmallestZone(pcSender.getLoc()); |
|
||||||
} |
|
||||||
} else |
|
||||||
zone = ZoneManager.findSmallestZone(pcSender.getLoc()); |
|
||||||
|
|
||||||
if (zone == null) { |
|
||||||
throwbackError(pcSender, "Unable to find the zone"); |
|
||||||
return; |
|
||||||
} |
|
||||||
|
|
||||||
//get list of mobs for zone
|
|
||||||
|
|
||||||
if (zone.zoneMobSet.isEmpty()) { |
|
||||||
throwbackError(pcSender, "No mobs found for this zone."); |
|
||||||
return; |
|
||||||
} |
|
||||||
|
|
||||||
// ConcurrentHashMap<Integer, Mob> spawnMap = Mob.getSpawnMap();
|
|
||||||
//ConcurrentHashMap<Mob, Long> respawnMap = Mob.getRespawnMap();
|
|
||||||
// ConcurrentHashMap<Mob, Long> despawnMap = Mob.getDespawnMap();
|
|
||||||
|
|
||||||
throwbackInfo(pcSender, zone.zoneName + ", numMobs: " + zone.zoneMobSet.size()); |
|
||||||
throwbackInfo(pcSender, "UUID, dbID, inRespawnMap, isAlive, activeAI, Loc"); |
|
||||||
|
|
||||||
|
|
||||||
//mob not found in spawn map, check respawn
|
|
||||||
boolean inRespawn = false; |
|
||||||
|
|
||||||
|
|
||||||
} |
|
||||||
|
|
||||||
|
|
||||||
@Override |
|
||||||
protected String _getUsageString() { |
|
||||||
return "' /auditmobs [zone.UUID]'"; |
|
||||||
} |
|
||||||
|
|
||||||
@Override |
|
||||||
protected String _getHelpString() { |
|
||||||
return "Audits all the mobs in a zone."; |
|
||||||
|
|
||||||
} |
|
||||||
|
|
||||||
} |
|
@ -1,114 +0,0 @@ |
|||||||
// • ▌ ▄ ·. ▄▄▄· ▄▄ • ▪ ▄▄· ▄▄▄▄· ▄▄▄· ▐▄▄▄ ▄▄▄ .
|
|
||||||
// ·██ ▐███▪▐█ ▀█ ▐█ ▀ ▪██ ▐█ ▌▪▐█ ▀█▪▐█ ▀█ •█▌ ▐█▐▌·
|
|
||||||
// ▐█ ▌▐▌▐█·▄█▀▀█ ▄█ ▀█▄▐█·██ ▄▄▐█▀▀█▄▄█▀▀█ ▐█▐ ▐▌▐▀▀▀
|
|
||||||
// ██ ██▌▐█▌▐█ ▪▐▌▐█▄▪▐█▐█▌▐███▌██▄▪▐█▐█ ▪▐▌██▐ █▌▐█▄▄▌
|
|
||||||
// ▀▀ █▪▀▀▀ ▀ ▀ ·▀▀▀▀ ▀▀▀·▀▀▀ ·▀▀▀▀ ▀ ▀ ▀▀ █▪ ▀▀▀
|
|
||||||
// Magicbane Emulator Project © 2013 - 2022
|
|
||||||
// www.magicbane.com
|
|
||||||
|
|
||||||
|
|
||||||
package engine.devcmd.cmds; |
|
||||||
|
|
||||||
import engine.devcmd.AbstractDevCmd; |
|
||||||
import engine.gameManager.DbManager; |
|
||||||
import engine.gameManager.SessionManager; |
|
||||||
import engine.math.Vector3fImmutable; |
|
||||||
import engine.objects.AbstractGameObject; |
|
||||||
import engine.objects.PlayerCharacter; |
|
||||||
import engine.util.MiscUtils; |
|
||||||
|
|
||||||
public class ChangeNameCmd extends AbstractDevCmd { |
|
||||||
|
|
||||||
public ChangeNameCmd() { |
|
||||||
super("changename"); |
|
||||||
} |
|
||||||
|
|
||||||
@Override |
|
||||||
protected void _doCmd(PlayerCharacter pc, String[] words, |
|
||||||
AbstractGameObject target) { |
|
||||||
Vector3fImmutable loc = null; |
|
||||||
|
|
||||||
// Arg Count Check
|
|
||||||
if (words.length < 2) { |
|
||||||
this.sendUsage(pc); |
|
||||||
return; |
|
||||||
} |
|
||||||
|
|
||||||
String oldFirst = words[0]; |
|
||||||
String newFirst = words[1]; |
|
||||||
String newLast = ""; |
|
||||||
if (words.length > 2) { |
|
||||||
newLast = words[2]; |
|
||||||
for (int i = 3; i < words.length; i++) |
|
||||||
newLast += ' ' + words[i]; |
|
||||||
} |
|
||||||
|
|
||||||
//verify new name length
|
|
||||||
if (newFirst.length() < 3) { |
|
||||||
this.throwbackError(pc, "Error: First name is incorrect length. Must be between 3 and 15 characters"); |
|
||||||
return; |
|
||||||
} |
|
||||||
|
|
||||||
//verify old name length
|
|
||||||
if (newLast.length() > 50) { |
|
||||||
this.throwbackError(pc, "Error: Last name is incorrect length. Must be no more than 50 characters"); |
|
||||||
return; |
|
||||||
} |
|
||||||
|
|
||||||
// Check if firstname is valid
|
|
||||||
if (MiscUtils.checkIfFirstNameInvalid(newFirst)) { |
|
||||||
this.throwbackError(pc, "Error: First name is not allowed"); |
|
||||||
return; |
|
||||||
} |
|
||||||
|
|
||||||
|
|
||||||
//get the world ID we're modifying for
|
|
||||||
|
|
||||||
//test if first name is unique, unless new and old first name are equal.
|
|
||||||
if (!(oldFirst.equals(newFirst))) { |
|
||||||
if (!DbManager.PlayerCharacterQueries.IS_CHARACTER_NAME_UNIQUE(newFirst)) { |
|
||||||
this.throwbackError(pc, "Error: First name is not unique."); |
|
||||||
return; |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
//tests passed, update name in database
|
|
||||||
if (!DbManager.PlayerCharacterQueries.UPDATE_NAME(oldFirst, newFirst, newLast)) { |
|
||||||
this.throwbackError(pc, "Error: Database failed to update the name."); |
|
||||||
return; |
|
||||||
} |
|
||||||
|
|
||||||
//Finally update player ingame
|
|
||||||
PlayerCharacter pcTar = null; |
|
||||||
try { |
|
||||||
pcTar = SessionManager |
|
||||||
.getPlayerCharacterByLowerCaseName(words[0]); |
|
||||||
pcTar.setFirstName(newFirst); |
|
||||||
pcTar.setLastName(newLast); |
|
||||||
this.setTarget(pcTar); //for logging
|
|
||||||
|
|
||||||
//specify if last name is ascii characters only
|
|
||||||
String lastAscii = newLast.replaceAll("[^\\p{ASCII}]", ""); |
|
||||||
pcTar.setAsciiLastName(lastAscii.equals(newLast)); |
|
||||||
} catch (Exception e) { |
|
||||||
this.throwbackError(pc, "Database was updated but ingame character failed to update."); |
|
||||||
return; |
|
||||||
} |
|
||||||
|
|
||||||
String out = oldFirst + " was changed to " + newFirst + (newLast.isEmpty() ? "." : (' ' + newLast + '.')); |
|
||||||
this.throwbackInfo(pc, out); |
|
||||||
|
|
||||||
|
|
||||||
} |
|
||||||
|
|
||||||
@Override |
|
||||||
protected String _getHelpString() { |
|
||||||
return "Changes the name of a player"; |
|
||||||
} |
|
||||||
|
|
||||||
@Override |
|
||||||
protected String _getUsageString() { |
|
||||||
return "'./changename oldFirstName newFirstName newLastName'"; |
|
||||||
} |
|
||||||
|
|
||||||
} |
|
@ -1,56 +0,0 @@ |
|||||||
// • ▌ ▄ ·. ▄▄▄· ▄▄ • ▪ ▄▄· ▄▄▄▄· ▄▄▄· ▐▄▄▄ ▄▄▄ .
|
|
||||||
// ·██ ▐███▪▐█ ▀█ ▐█ ▀ ▪██ ▐█ ▌▪▐█ ▀█▪▐█ ▀█ •█▌ ▐█▐▌·
|
|
||||||
// ▐█ ▌▐▌▐█·▄█▀▀█ ▄█ ▀█▄▐█·██ ▄▄▐█▀▀█▄▄█▀▀█ ▐█▐ ▐▌▐▀▀▀
|
|
||||||
// ██ ██▌▐█▌▐█ ▪▐▌▐█▄▪▐█▐█▌▐███▌██▄▪▐█▐█ ▪▐▌██▐ █▌▐█▄▄▌
|
|
||||||
// ▀▀ █▪▀▀▀ ▀ ▀ ·▀▀▀▀ ▀▀▀·▀▀▀ ·▀▀▀▀ ▀ ▀ ▀▀ █▪ ▀▀▀
|
|
||||||
// Magicbane Emulator Project © 2013 - 2022
|
|
||||||
// www.magicbane.com
|
|
||||||
|
|
||||||
|
|
||||||
package engine.devcmd.cmds; |
|
||||||
|
|
||||||
import engine.devcmd.AbstractDevCmd; |
|
||||||
import engine.net.client.msg.TargetedActionMsg; |
|
||||||
import engine.objects.AbstractGameObject; |
|
||||||
import engine.objects.PlayerCharacter; |
|
||||||
|
|
||||||
/** |
|
||||||
* @author Eighty |
|
||||||
*/ |
|
||||||
public class CombatMessageCmd extends AbstractDevCmd { |
|
||||||
|
|
||||||
public CombatMessageCmd() { |
|
||||||
super("cm"); |
|
||||||
} |
|
||||||
|
|
||||||
@Override |
|
||||||
protected void _doCmd(PlayerCharacter pcSender, String[] args, |
|
||||||
AbstractGameObject target) { |
|
||||||
if (pcSender == null) |
|
||||||
return; |
|
||||||
if (args.length != 1) { |
|
||||||
this.sendUsage(pcSender); |
|
||||||
return; |
|
||||||
} |
|
||||||
int num = 0; |
|
||||||
try { |
|
||||||
num = Integer.parseInt(args[0]); |
|
||||||
} catch (NumberFormatException e) { |
|
||||||
throwbackError(pcSender, "Supplied message number " + args[0] + " failed to parse to an Integer"); |
|
||||||
return; |
|
||||||
} |
|
||||||
TargetedActionMsg.un2cnt = num; |
|
||||||
throwbackInfo(pcSender, "CombatMessage set to " + num); |
|
||||||
} |
|
||||||
|
|
||||||
@Override |
|
||||||
protected String _getUsageString() { |
|
||||||
return "' /cm [cmNumber]'"; |
|
||||||
} |
|
||||||
|
|
||||||
@Override |
|
||||||
protected String _getHelpString() { |
|
||||||
return "Sets the combat message to the supplied integer value"; |
|
||||||
} |
|
||||||
|
|
||||||
} |
|
@ -1,122 +0,0 @@ |
|||||||
// • ▌ ▄ ·. ▄▄▄· ▄▄ • ▪ ▄▄· ▄▄▄▄· ▄▄▄· ▐▄▄▄ ▄▄▄ .
|
|
||||||
// ·██ ▐███▪▐█ ▀█ ▐█ ▀ ▪██ ▐█ ▌▪▐█ ▀█▪▐█ ▀█ •█▌ ▐█▐▌·
|
|
||||||
// ▐█ ▌▐▌▐█·▄█▀▀█ ▄█ ▀█▄▐█·██ ▄▄▐█▀▀█▄▄█▀▀█ ▐█▐ ▐▌▐▀▀▀
|
|
||||||
// ██ ██▌▐█▌▐█ ▪▐▌▐█▄▪▐█▐█▌▐███▌██▄▪▐█▐█ ▪▐▌██▐ █▌▐█▄▄▌
|
|
||||||
// ▀▀ █▪▀▀▀ ▀ ▀ ·▀▀▀▀ ▀▀▀·▀▀▀ ·▀▀▀▀ ▀ ▀ ▀▀ █▪ ▀▀▀
|
|
||||||
// Magicbane Emulator Project © 2013 - 2022
|
|
||||||
// www.magicbane.com
|
|
||||||
|
|
||||||
|
|
||||||
package engine.devcmd.cmds; |
|
||||||
|
|
||||||
import engine.devcmd.AbstractDevCmd; |
|
||||||
import engine.jobs.DebugTimerJob; |
|
||||||
import engine.objects.AbstractGameObject; |
|
||||||
import engine.objects.PlayerCharacter; |
|
||||||
|
|
||||||
public class DebugCmd extends AbstractDevCmd { |
|
||||||
|
|
||||||
|
|
||||||
public DebugCmd() { |
|
||||||
super("debug"); |
|
||||||
// super("debug", MBServerStatics.ACCESS_GROUP_ALL_TEAM, 0, false, false);
|
|
||||||
} |
|
||||||
|
|
||||||
private static void toggleDebugTimer(PlayerCharacter pc, String name, int num, int duration, boolean toggle) { |
|
||||||
if (toggle) { |
|
||||||
DebugTimerJob dtj = new DebugTimerJob(pc, name, num, duration); |
|
||||||
pc.renewTimer(name, dtj, duration); |
|
||||||
} else |
|
||||||
pc.cancelTimer(name); |
|
||||||
} |
|
||||||
|
|
||||||
@Override |
|
||||||
protected void _doCmd(PlayerCharacter pc, String[] words, |
|
||||||
AbstractGameObject target) { |
|
||||||
if (words.length < 2) { |
|
||||||
this.sendUsage(pc); |
|
||||||
return; |
|
||||||
} |
|
||||||
|
|
||||||
if (pc == null) |
|
||||||
return; |
|
||||||
|
|
||||||
//pc.setDebug must use bit sizes: 1, 2, 4, 8, 16, 32
|
|
||||||
|
|
||||||
String command = words[0].toLowerCase(); |
|
||||||
boolean toggle = (words[1].toLowerCase().equals("on")) ? true : false; |
|
||||||
|
|
||||||
switch (command) { |
|
||||||
case "magictrek": |
|
||||||
pc.RUN_MAGICTREK = toggle; |
|
||||||
|
|
||||||
break; |
|
||||||
case "combat": |
|
||||||
pc.setDebug(64, toggle); |
|
||||||
|
|
||||||
break; |
|
||||||
case "health": |
|
||||||
toggleDebugTimer(pc, "Debug_Health", 1, 1000, toggle); |
|
||||||
|
|
||||||
break; |
|
||||||
case "mana": |
|
||||||
toggleDebugTimer(pc, "Debug_Mana", 2, 1000, toggle); |
|
||||||
|
|
||||||
break; |
|
||||||
case "stamina": |
|
||||||
toggleDebugTimer(pc, "Debug_Stamina", 3, 500, toggle); |
|
||||||
|
|
||||||
break; |
|
||||||
case "spells": |
|
||||||
pc.setDebug(16, toggle); |
|
||||||
|
|
||||||
break; |
|
||||||
case "damageabsorber": |
|
||||||
pc.setDebug(2, toggle); |
|
||||||
|
|
||||||
break; |
|
||||||
case "recast": |
|
||||||
case "recycle": |
|
||||||
pc.setDebug(4, toggle); |
|
||||||
|
|
||||||
break; |
|
||||||
case "seeinvis": |
|
||||||
pc.setDebug(8, toggle); |
|
||||||
|
|
||||||
break; |
|
||||||
case "movement": |
|
||||||
pc.setDebug(1, toggle); |
|
||||||
|
|
||||||
break; |
|
||||||
case "noaggro": |
|
||||||
pc.setDebug(32, toggle); |
|
||||||
|
|
||||||
break; |
|
||||||
// case "loot":
|
|
||||||
// MBServerStatics.debugLoot = toggle;
|
|
||||||
// break;
|
|
||||||
|
|
||||||
default: |
|
||||||
String output = "Debug for " + command + " not found."; |
|
||||||
throwbackError(pc, output); |
|
||||||
return; |
|
||||||
} |
|
||||||
|
|
||||||
|
|
||||||
setTarget(pc); //for logging
|
|
||||||
|
|
||||||
String output = "Debug for " + command + " turned " + ((toggle) ? "on." : "off."); |
|
||||||
throwbackInfo(pc, output); |
|
||||||
} |
|
||||||
|
|
||||||
@Override |
|
||||||
protected String _getHelpString() { |
|
||||||
return "Runs debug commands"; |
|
||||||
|
|
||||||
} |
|
||||||
|
|
||||||
@Override |
|
||||||
protected String _getUsageString() { |
|
||||||
return "'./Debug command on/off'"; |
|
||||||
} |
|
||||||
} |
|
@ -1,57 +0,0 @@ |
|||||||
// • ▌ ▄ ·. ▄▄▄· ▄▄ • ▪ ▄▄· ▄▄▄▄· ▄▄▄· ▐▄▄▄ ▄▄▄ .
|
|
||||||
// ·██ ▐███▪▐█ ▀█ ▐█ ▀ ▪██ ▐█ ▌▪▐█ ▀█▪▐█ ▀█ •█▌ ▐█▐▌·
|
|
||||||
// ▐█ ▌▐▌▐█·▄█▀▀█ ▄█ ▀█▄▐█·██ ▄▄▐█▀▀█▄▄█▀▀█ ▐█▐ ▐▌▐▀▀▀
|
|
||||||
// ██ ██▌▐█▌▐█ ▪▐▌▐█▄▪▐█▐█▌▐███▌██▄▪▐█▐█ ▪▐▌██▐ █▌▐█▄▄▌
|
|
||||||
// ▀▀ █▪▀▀▀ ▀ ▀ ·▀▀▀▀ ▀▀▀·▀▀▀ ·▀▀▀▀ ▀ ▀ ▀▀ █▪ ▀▀▀
|
|
||||||
// Magicbane Emulator Project © 2013 - 2022
|
|
||||||
// www.magicbane.com
|
|
||||||
|
|
||||||
|
|
||||||
package engine.devcmd.cmds; |
|
||||||
|
|
||||||
import engine.devcmd.AbstractDevCmd; |
|
||||||
import engine.gameManager.ChatManager; |
|
||||||
import engine.objects.AbstractGameObject; |
|
||||||
import engine.objects.PlayerCharacter; |
|
||||||
|
|
||||||
public class DebugMeleeSyncCmd extends AbstractDevCmd { |
|
||||||
|
|
||||||
public DebugMeleeSyncCmd() { |
|
||||||
super("debugmeleesync"); |
|
||||||
} |
|
||||||
|
|
||||||
@Override |
|
||||||
protected void _doCmd(PlayerCharacter pc, String[] words, |
|
||||||
AbstractGameObject target) { |
|
||||||
// Arg Count Check
|
|
||||||
if (words.length != 1) { |
|
||||||
this.sendUsage(pc); |
|
||||||
return; |
|
||||||
} |
|
||||||
|
|
||||||
String s = words[0].toLowerCase(); |
|
||||||
|
|
||||||
if (s.equals("on")) { |
|
||||||
pc.setDebug(64, true); |
|
||||||
ChatManager.chatSayInfo(pc, "Melee Sync Debug ON"); |
|
||||||
} else if (s.equals("off")) { |
|
||||||
pc.setDebug(64, false); |
|
||||||
ChatManager.chatSayInfo(pc, "Melee Sync Debug OFF"); |
|
||||||
} else { |
|
||||||
this.sendUsage(pc); |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
@Override |
|
||||||
protected String _getHelpString() { |
|
||||||
return "Turns on/off melee sync debugging."; |
|
||||||
|
|
||||||
} |
|
||||||
|
|
||||||
@Override |
|
||||||
protected String _getUsageString() { |
|
||||||
return "'./debugmeleesync on|off'"; |
|
||||||
|
|
||||||
} |
|
||||||
|
|
||||||
} |
|
@ -1,54 +0,0 @@ |
|||||||
// • ▌ ▄ ·. ▄▄▄· ▄▄ • ▪ ▄▄· ▄▄▄▄· ▄▄▄· ▐▄▄▄ ▄▄▄ .
|
|
||||||
// ·██ ▐███▪▐█ ▀█ ▐█ ▀ ▪██ ▐█ ▌▪▐█ ▀█▪▐█ ▀█ •█▌ ▐█▐▌·
|
|
||||||
// ▐█ ▌▐▌▐█·▄█▀▀█ ▄█ ▀█▄▐█·██ ▄▄▐█▀▀█▄▄█▀▀█ ▐█▐ ▐▌▐▀▀▀
|
|
||||||
// ██ ██▌▐█▌▐█ ▪▐▌▐█▄▪▐█▐█▌▐███▌██▄▪▐█▐█ ▪▐▌██▐ █▌▐█▄▄▌
|
|
||||||
// ▀▀ █▪▀▀▀ ▀ ▀ ·▀▀▀▀ ▀▀▀·▀▀▀ ·▀▀▀▀ ▀ ▀ ▀▀ █▪ ▀▀▀
|
|
||||||
// Magicbane Emulator Project © 2013 - 2022
|
|
||||||
// www.magicbane.com
|
|
||||||
|
|
||||||
|
|
||||||
package engine.devcmd.cmds; |
|
||||||
|
|
||||||
import engine.Enum; |
|
||||||
import engine.devcmd.AbstractDevCmd; |
|
||||||
import engine.gameManager.DbManager; |
|
||||||
import engine.objects.AbstractGameObject; |
|
||||||
import engine.objects.PlayerCharacter; |
|
||||||
|
|
||||||
/** |
|
||||||
* |
|
||||||
*/ |
|
||||||
public class DecachePlayerCmd extends AbstractDevCmd { |
|
||||||
|
|
||||||
public DecachePlayerCmd() { |
|
||||||
super("decacheplayer"); |
|
||||||
} |
|
||||||
|
|
||||||
@Override |
|
||||||
protected void _doCmd(PlayerCharacter pc, String[] words, |
|
||||||
AbstractGameObject target) { |
|
||||||
if (words.length < 1) { |
|
||||||
this.sendUsage(pc); |
|
||||||
} |
|
||||||
|
|
||||||
int objectUUID = Integer.parseInt(words[0]); |
|
||||||
|
|
||||||
if (DbManager.inCache(Enum.GameObjectType.PlayerCharacter, objectUUID)) { |
|
||||||
this.setTarget(PlayerCharacter.getFromCache(objectUUID)); //for logging
|
|
||||||
PlayerCharacter.getFromCache(objectUUID).removeFromCache(); |
|
||||||
} else { |
|
||||||
this.sendHelp(pc); |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
@Override |
|
||||||
protected String _getHelpString() { |
|
||||||
return "No player found. Please make sure the table ID is correct."; |
|
||||||
} |
|
||||||
|
|
||||||
@Override |
|
||||||
protected String _getUsageString() { |
|
||||||
return "' /decacheplayer <UUID>'"; |
|
||||||
} |
|
||||||
|
|
||||||
} |
|
@ -1,66 +0,0 @@ |
|||||||
// • ▌ ▄ ·. ▄▄▄· ▄▄ • ▪ ▄▄· ▄▄▄▄· ▄▄▄· ▐▄▄▄ ▄▄▄ .
|
|
||||||
// ·██ ▐███▪▐█ ▀█ ▐█ ▀ ▪██ ▐█ ▌▪▐█ ▀█▪▐█ ▀█ •█▌ ▐█▐▌·
|
|
||||||
// ▐█ ▌▐▌▐█·▄█▀▀█ ▄█ ▀█▄▐█·██ ▄▄▐█▀▀█▄▄█▀▀█ ▐█▐ ▐▌▐▀▀▀
|
|
||||||
// ██ ██▌▐█▌▐█ ▪▐▌▐█▄▪▐█▐█▌▐███▌██▄▪▐█▐█ ▪▐▌██▐ █▌▐█▄▄▌
|
|
||||||
// ▀▀ █▪▀▀▀ ▀ ▀ ·▀▀▀▀ ▀▀▀·▀▀▀ ·▀▀▀▀ ▀ ▀ ▀▀ █▪ ▀▀▀
|
|
||||||
// Magicbane Emulator Project © 2013 - 2022
|
|
||||||
// www.magicbane.com
|
|
||||||
|
|
||||||
|
|
||||||
package engine.devcmd.cmds; |
|
||||||
|
|
||||||
import engine.Enum.GameObjectType; |
|
||||||
import engine.devcmd.AbstractDevCmd; |
|
||||||
import engine.objects.AbstractGameObject; |
|
||||||
import engine.objects.Mob; |
|
||||||
import engine.objects.PlayerCharacter; |
|
||||||
|
|
||||||
public class DespawnCmd extends AbstractDevCmd { |
|
||||||
|
|
||||||
public DespawnCmd() { |
|
||||||
super("debugmob"); |
|
||||||
} |
|
||||||
|
|
||||||
@Override |
|
||||||
protected void _doCmd(PlayerCharacter pc, String[] words, |
|
||||||
AbstractGameObject target) { |
|
||||||
|
|
||||||
|
|
||||||
if (pc == null) { |
|
||||||
return; |
|
||||||
} |
|
||||||
|
|
||||||
|
|
||||||
Mob mob = null; |
|
||||||
|
|
||||||
if (target != null && target.getObjectType().equals(GameObjectType.Mob)) |
|
||||||
mob = (Mob) target; |
|
||||||
|
|
||||||
if (mob == null) |
|
||||||
mob = Mob.getFromCache(Integer.parseInt(words[1])); |
|
||||||
|
|
||||||
if (mob == null) |
|
||||||
return; |
|
||||||
|
|
||||||
if (words[0].equalsIgnoreCase("respawn")) { |
|
||||||
mob.respawn(); |
|
||||||
this.throwbackInfo(pc, "Mob with ID " + mob.getObjectUUID() + " Respawned"); |
|
||||||
} else if (words[0].equalsIgnoreCase("despawn")) { |
|
||||||
mob.despawn(); |
|
||||||
this.throwbackInfo(pc, "Mob with ID " + mob.getObjectUUID() + " Despawned"); |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
@Override |
|
||||||
protected String _getHelpString() { |
|
||||||
return "Gets distance from a target."; |
|
||||||
|
|
||||||
} |
|
||||||
|
|
||||||
@Override |
|
||||||
protected String _getUsageString() { |
|
||||||
return "' /distance'"; |
|
||||||
|
|
||||||
} |
|
||||||
|
|
||||||
} |
|
@ -1,65 +0,0 @@ |
|||||||
// • ▌ ▄ ·. ▄▄▄· ▄▄ • ▪ ▄▄· ▄▄▄▄· ▄▄▄· ▐▄▄▄ ▄▄▄ .
|
|
||||||
// ·██ ▐███▪▐█ ▀█ ▐█ ▀ ▪██ ▐█ ▌▪▐█ ▀█▪▐█ ▀█ •█▌ ▐█▐▌·
|
|
||||||
// ▐█ ▌▐▌▐█·▄█▀▀█ ▄█ ▀█▄▐█·██ ▄▄▐█▀▀█▄▄█▀▀█ ▐█▐ ▐▌▐▀▀▀
|
|
||||||
// ██ ██▌▐█▌▐█ ▪▐▌▐█▄▪▐█▐█▌▐███▌██▄▪▐█▐█ ▪▐▌██▐ █▌▐█▄▄▌
|
|
||||||
// ▀▀ █▪▀▀▀ ▀ ▀ ·▀▀▀▀ ▀▀▀·▀▀▀ ·▀▀▀▀ ▀ ▀ ▀▀ █▪ ▀▀▀
|
|
||||||
// Magicbane Emulator Project © 2013 - 2022
|
|
||||||
// www.magicbane.com
|
|
||||||
|
|
||||||
|
|
||||||
package engine.devcmd.cmds; |
|
||||||
|
|
||||||
import engine.devcmd.AbstractDevCmd; |
|
||||||
import engine.math.Vector3fImmutable; |
|
||||||
import engine.objects.AbstractGameObject; |
|
||||||
import engine.objects.AbstractWorldObject; |
|
||||||
import engine.objects.PlayerCharacter; |
|
||||||
|
|
||||||
public class DistanceCmd extends AbstractDevCmd { |
|
||||||
|
|
||||||
public DistanceCmd() { |
|
||||||
super("distance"); |
|
||||||
} |
|
||||||
|
|
||||||
@Override |
|
||||||
protected void _doCmd(PlayerCharacter pc, String[] words, |
|
||||||
AbstractGameObject target) { |
|
||||||
|
|
||||||
|
|
||||||
// Arg Count Check
|
|
||||||
if (words.length != 1) { |
|
||||||
this.sendUsage(pc); |
|
||||||
return; |
|
||||||
} |
|
||||||
if (pc == null) { |
|
||||||
return; |
|
||||||
} |
|
||||||
|
|
||||||
if (target == null || !(target instanceof AbstractWorldObject)) { |
|
||||||
throwbackError(pc, "No target found."); |
|
||||||
return; |
|
||||||
} |
|
||||||
|
|
||||||
AbstractWorldObject awoTarget = (AbstractWorldObject) target; |
|
||||||
|
|
||||||
Vector3fImmutable pcLoc = pc.getLoc(); |
|
||||||
Vector3fImmutable tarLoc = awoTarget.getLoc(); |
|
||||||
String out = "Distance: " + pcLoc.distance(tarLoc) + |
|
||||||
"\r\nYour Loc: " + pcLoc.x + 'x' + pcLoc.y + 'x' + pcLoc.z + |
|
||||||
"\r\nTarget Loc: " + tarLoc.x + 'x' + tarLoc.y + 'x' + tarLoc.z; |
|
||||||
throwbackInfo(pc, out); |
|
||||||
} |
|
||||||
|
|
||||||
@Override |
|
||||||
protected String _getHelpString() { |
|
||||||
return "Gets distance from a target."; |
|
||||||
|
|
||||||
} |
|
||||||
|
|
||||||
@Override |
|
||||||
protected String _getUsageString() { |
|
||||||
return "' /distance'"; |
|
||||||
|
|
||||||
} |
|
||||||
|
|
||||||
} |
|
@ -1,61 +0,0 @@ |
|||||||
// • ▌ ▄ ·. ▄▄▄· ▄▄ • ▪ ▄▄· ▄▄▄▄· ▄▄▄· ▐▄▄▄ ▄▄▄ .
|
|
||||||
// ·██ ▐███▪▐█ ▀█ ▐█ ▀ ▪██ ▐█ ▌▪▐█ ▀█▪▐█ ▀█ •█▌ ▐█▐▌·
|
|
||||||
// ▐█ ▌▐▌▐█·▄█▀▀█ ▄█ ▀█▄▐█·██ ▄▄▐█▀▀█▄▄█▀▀█ ▐█▐ ▐▌▐▀▀▀
|
|
||||||
// ██ ██▌▐█▌▐█ ▪▐▌▐█▄▪▐█▐█▌▐███▌██▄▪▐█▐█ ▪▐▌██▐ █▌▐█▄▄▌
|
|
||||||
// ▀▀ █▪▀▀▀ ▀ ▀ ·▀▀▀▀ ▀▀▀·▀▀▀ ·▀▀▀▀ ▀ ▀ ▀▀ █▪ ▀▀▀
|
|
||||||
// Magicbane Emulator Project © 2013 - 2022
|
|
||||||
// www.magicbane.com
|
|
||||||
|
|
||||||
|
|
||||||
package engine.devcmd.cmds; |
|
||||||
|
|
||||||
import engine.devcmd.AbstractDevCmd; |
|
||||||
import engine.gameManager.ChatManager; |
|
||||||
import engine.gameManager.PowersManager; |
|
||||||
import engine.objects.AbstractGameObject; |
|
||||||
import engine.objects.PlayerCharacter; |
|
||||||
import engine.powers.EffectsBase; |
|
||||||
|
|
||||||
/** |
|
||||||
* @author Eighty |
|
||||||
*/ |
|
||||||
public class EffectCmd extends AbstractDevCmd { |
|
||||||
|
|
||||||
public EffectCmd() { |
|
||||||
super("effect"); |
|
||||||
} |
|
||||||
|
|
||||||
@Override |
|
||||||
protected void _doCmd(PlayerCharacter pcSender, String[] args, |
|
||||||
AbstractGameObject target) { |
|
||||||
int ID = 0; |
|
||||||
int token = 0; |
|
||||||
|
|
||||||
if (args.length != 2) { |
|
||||||
this.sendUsage(pcSender); |
|
||||||
return; |
|
||||||
} |
|
||||||
ID = Integer.parseInt(args[0]); |
|
||||||
token = Integer.parseInt(args[1]); |
|
||||||
|
|
||||||
EffectsBase eb = PowersManager.setEffectToken(ID, token); |
|
||||||
if (eb == null) { |
|
||||||
throwbackError(pcSender, "Unable to find EffectsBase " + ID |
|
||||||
+ " to modify."); |
|
||||||
return; |
|
||||||
} |
|
||||||
ChatManager.chatSayInfo(pcSender, |
|
||||||
"EffectsBase with ID " + ID + " changed token to " + token); |
|
||||||
} |
|
||||||
|
|
||||||
@Override |
|
||||||
protected String _getUsageString() { |
|
||||||
return "' /effect EffectsBaseID Token'"; |
|
||||||
} |
|
||||||
|
|
||||||
@Override |
|
||||||
protected String _getHelpString() { |
|
||||||
return "Temporarily places the effect token with the corresponding EffectsBase on the server"; |
|
||||||
} |
|
||||||
|
|
||||||
} |
|
@ -1,84 +0,0 @@ |
|||||||
package engine.devcmd.cmds; |
|
||||||
|
|
||||||
import engine.Enum.BuildingGroup; |
|
||||||
import engine.Enum.GameObjectType; |
|
||||||
import engine.devcmd.AbstractDevCmd; |
|
||||||
import engine.math.Vector3fImmutable; |
|
||||||
import engine.objects.*; |
|
||||||
|
|
||||||
public class GateInfoCmd extends AbstractDevCmd { |
|
||||||
|
|
||||||
public GateInfoCmd() { |
|
||||||
super("gateinfo"); |
|
||||||
} |
|
||||||
|
|
||||||
// AbstractDevCmd Overridden methods
|
|
||||||
|
|
||||||
@Override |
|
||||||
protected void _doCmd(PlayerCharacter player, String[] args, |
|
||||||
AbstractGameObject target) { |
|
||||||
|
|
||||||
Building targetBuilding; |
|
||||||
String outString; |
|
||||||
Runegate runeGate; |
|
||||||
Blueprint blueprint; |
|
||||||
String newline = "\r\n "; |
|
||||||
targetBuilding = (Building) target; |
|
||||||
|
|
||||||
if (targetBuilding.getObjectType() != GameObjectType.Building) { |
|
||||||
throwbackInfo(player, "GateInfo: target must be a Building"); |
|
||||||
throwbackInfo(player, "Found" + targetBuilding.getObjectType().toString()); |
|
||||||
return; |
|
||||||
} |
|
||||||
|
|
||||||
blueprint = Blueprint._meshLookup.get(targetBuilding.getMeshUUID()); |
|
||||||
|
|
||||||
if (blueprint == null || |
|
||||||
(blueprint.getBuildingGroup() != BuildingGroup.RUNEGATE)) { |
|
||||||
throwbackInfo(player, "showgate: target must be a Runegate"); |
|
||||||
return; |
|
||||||
} |
|
||||||
|
|
||||||
|
|
||||||
runeGate = Runegate._runegates.get(targetBuilding.getObjectUUID()); |
|
||||||
|
|
||||||
outString = "RungateType: " + runeGate.gateBuilding.getName(); |
|
||||||
outString += newline; |
|
||||||
|
|
||||||
outString += "Portal State:"; |
|
||||||
outString += newline; |
|
||||||
|
|
||||||
for (Portal portal : runeGate.getPortals()) { |
|
||||||
|
|
||||||
outString += "Portal: " + portal.portalType.name(); |
|
||||||
outString += " Active: " + portal.isActive(); |
|
||||||
outString += " Dest: " + portal.targetGate.getName(); |
|
||||||
outString += newline; |
|
||||||
outString += " Origin: " + portal.getPortalLocation().x + 'x'; |
|
||||||
outString += " " + portal.getPortalLocation().y + 'y'; |
|
||||||
outString += newline; |
|
||||||
|
|
||||||
Vector3fImmutable offset = portal.getPortalLocation().subtract(targetBuilding.getLoc()); |
|
||||||
outString += " Offset: " + offset.x + "x " + offset.z + 'y'; |
|
||||||
outString += newline; |
|
||||||
outString += newline; |
|
||||||
|
|
||||||
} |
|
||||||
outString += newline; |
|
||||||
throwbackInfo(player, outString); |
|
||||||
} |
|
||||||
|
|
||||||
@Override |
|
||||||
protected String _getHelpString() { |
|
||||||
return "Displays a runegate's gate status"; |
|
||||||
} |
|
||||||
|
|
||||||
@Override |
|
||||||
protected String _getUsageString() { |
|
||||||
|
|
||||||
|
|
||||||
return "/gateinfo <target runegate> \n"; |
|
||||||
} |
|
||||||
|
|
||||||
|
|
||||||
} |
|
@ -1,52 +0,0 @@ |
|||||||
// • ▌ ▄ ·. ▄▄▄· ▄▄ • ▪ ▄▄· ▄▄▄▄· ▄▄▄· ▐▄▄▄ ▄▄▄ .
|
|
||||||
// ·██ ▐███▪▐█ ▀█ ▐█ ▀ ▪██ ▐█ ▌▪▐█ ▀█▪▐█ ▀█ •█▌ ▐█▐▌·
|
|
||||||
// ▐█ ▌▐▌▐█·▄█▀▀█ ▄█ ▀█▄▐█·██ ▄▄▐█▀▀█▄▄█▀▀█ ▐█▐ ▐▌▐▀▀▀
|
|
||||||
// ██ ██▌▐█▌▐█ ▪▐▌▐█▄▪▐█▐█▌▐███▌██▄▪▐█▐█ ▪▐▌██▐ █▌▐█▄▄▌
|
|
||||||
// ▀▀ █▪▀▀▀ ▀ ▀ ·▀▀▀▀ ▀▀▀·▀▀▀ ·▀▀▀▀ ▀ ▀ ▀▀ █▪ ▀▀▀
|
|
||||||
// Magicbane Emulator Project © 2013 - 2022
|
|
||||||
// www.magicbane.com
|
|
||||||
|
|
||||||
|
|
||||||
package engine.devcmd.cmds; |
|
||||||
|
|
||||||
import engine.devcmd.AbstractDevCmd; |
|
||||||
import engine.gameManager.SessionManager; |
|
||||||
import engine.net.client.ClientConnection; |
|
||||||
import engine.net.client.msg.VendorDialogMsg; |
|
||||||
import engine.objects.AbstractGameObject; |
|
||||||
import engine.objects.PlayerCharacter; |
|
||||||
|
|
||||||
/** |
|
||||||
* @author Eighty |
|
||||||
*/ |
|
||||||
public class GetBankCmd extends AbstractDevCmd { |
|
||||||
|
|
||||||
public GetBankCmd() { |
|
||||||
super("getbank"); |
|
||||||
} |
|
||||||
|
|
||||||
@Override |
|
||||||
protected void _doCmd(PlayerCharacter pcSender, String[] args, |
|
||||||
AbstractGameObject target) { |
|
||||||
if (pcSender == null) |
|
||||||
return; |
|
||||||
|
|
||||||
ClientConnection cc = SessionManager.getClientConnection(pcSender); |
|
||||||
if (cc == null) |
|
||||||
return; |
|
||||||
|
|
||||||
VendorDialogMsg.getBank(pcSender, null, cc); |
|
||||||
this.setTarget(pcSender); //for logging
|
|
||||||
} |
|
||||||
|
|
||||||
@Override |
|
||||||
protected String _getUsageString() { |
|
||||||
return "' /getbank'"; |
|
||||||
} |
|
||||||
|
|
||||||
@Override |
|
||||||
protected String _getHelpString() { |
|
||||||
return "Opens bank window"; |
|
||||||
} |
|
||||||
|
|
||||||
} |
|
@ -1,40 +0,0 @@ |
|||||||
// • ▌ ▄ ·. ▄▄▄· ▄▄ • ▪ ▄▄· ▄▄▄▄· ▄▄▄· ▐▄▄▄ ▄▄▄ .
|
|
||||||
// ·██ ▐███▪▐█ ▀█ ▐█ ▀ ▪██ ▐█ ▌▪▐█ ▀█▪▐█ ▀█ •█▌ ▐█▐▌·
|
|
||||||
// ▐█ ▌▐▌▐█·▄█▀▀█ ▄█ ▀█▄▐█·██ ▄▄▐█▀▀█▄▄█▀▀█ ▐█▐ ▐▌▐▀▀▀
|
|
||||||
// ██ ██▌▐█▌▐█ ▪▐▌▐█▄▪▐█▐█▌▐███▌██▄▪▐█▐█ ▪▐▌██▐ █▌▐█▄▄▌
|
|
||||||
// ▀▀ █▪▀▀▀ ▀ ▀ ·▀▀▀▀ ▀▀▀·▀▀▀ ·▀▀▀▀ ▀ ▀ ▀▀ █▪ ▀▀▀
|
|
||||||
// Magicbane Emulator Project © 2013 - 2022
|
|
||||||
// www.magicbane.com
|
|
||||||
|
|
||||||
|
|
||||||
package engine.devcmd.cmds; |
|
||||||
|
|
||||||
import engine.devcmd.AbstractDevCmd; |
|
||||||
import engine.gameManager.DbManager; |
|
||||||
import engine.objects.AbstractGameObject; |
|
||||||
import engine.objects.PlayerCharacter; |
|
||||||
|
|
||||||
public class GetCacheCountCmd extends AbstractDevCmd { |
|
||||||
|
|
||||||
public GetCacheCountCmd() { |
|
||||||
super("getcachecount"); |
|
||||||
this.addCmdString("getcachecount"); |
|
||||||
} |
|
||||||
|
|
||||||
@Override |
|
||||||
protected void _doCmd(PlayerCharacter pcSender, String[] args, |
|
||||||
AbstractGameObject target) { |
|
||||||
DbManager.printCacheCount(pcSender); |
|
||||||
} |
|
||||||
|
|
||||||
@Override |
|
||||||
protected String _getUsageString() { |
|
||||||
return "' /getcachecount'"; |
|
||||||
} |
|
||||||
|
|
||||||
@Override |
|
||||||
protected String _getHelpString() { |
|
||||||
return "Get a count of the objects in the cache"; |
|
||||||
} |
|
||||||
|
|
||||||
} |
|
@ -1,58 +0,0 @@ |
|||||||
// • ▌ ▄ ·. ▄▄▄· ▄▄ • ▪ ▄▄· ▄▄▄▄· ▄▄▄· ▐▄▄▄ ▄▄▄ .
|
|
||||||
// ·██ ▐███▪▐█ ▀█ ▐█ ▀ ▪██ ▐█ ▌▪▐█ ▀█▪▐█ ▀█ •█▌ ▐█▐▌·
|
|
||||||
// ▐█ ▌▐▌▐█·▄█▀▀█ ▄█ ▀█▄▐█·██ ▄▄▐█▀▀█▄▄█▀▀█ ▐█▐ ▐▌▐▀▀▀
|
|
||||||
// ██ ██▌▐█▌▐█ ▪▐▌▐█▄▪▐█▐█▌▐███▌██▄▪▐█▐█ ▪▐▌██▐ █▌▐█▄▄▌
|
|
||||||
// ▀▀ █▪▀▀▀ ▀ ▀ ·▀▀▀▀ ▀▀▀·▀▀▀ ·▀▀▀▀ ▀ ▀ ▀▀ █▪ ▀▀▀
|
|
||||||
// Magicbane Emulator Project © 2013 - 2022
|
|
||||||
// www.magicbane.com
|
|
||||||
|
|
||||||
|
|
||||||
package engine.devcmd.cmds; |
|
||||||
|
|
||||||
import engine.devcmd.AbstractDevCmd; |
|
||||||
import engine.objects.AbstractGameObject; |
|
||||||
import engine.objects.PlayerCharacter; |
|
||||||
|
|
||||||
public class GetMemoryCmd extends AbstractDevCmd { |
|
||||||
|
|
||||||
public GetMemoryCmd() { |
|
||||||
super("getmemory"); |
|
||||||
} |
|
||||||
|
|
||||||
public static String getMemoryOutput(long memory) { |
|
||||||
String out = ""; |
|
||||||
if (memory > 1073741824) |
|
||||||
return (memory / 1073741824) + "GB"; |
|
||||||
else if (memory > 1048576) |
|
||||||
return (memory / 1048576) + "MB"; |
|
||||||
else if (memory > 1024) |
|
||||||
return (memory / 1048576) + "KB"; |
|
||||||
else |
|
||||||
return memory + "B"; |
|
||||||
} |
|
||||||
|
|
||||||
@Override |
|
||||||
protected void _doCmd(PlayerCharacter pcSender, String[] words, |
|
||||||
AbstractGameObject target) { |
|
||||||
if (pcSender == null) |
|
||||||
return; |
|
||||||
|
|
||||||
String hSize = getMemoryOutput(Runtime.getRuntime().totalMemory()); |
|
||||||
String mhSize = getMemoryOutput(Runtime.getRuntime().maxMemory()); |
|
||||||
String fhSize = getMemoryOutput(Runtime.getRuntime().freeMemory()); |
|
||||||
|
|
||||||
String out = "Heap Size: " + hSize + ", Max Heap Size: " + mhSize + ", Free Heap Size: " + fhSize; |
|
||||||
throwbackInfo(pcSender, out); |
|
||||||
} |
|
||||||
|
|
||||||
@Override |
|
||||||
protected String _getUsageString() { |
|
||||||
return "' /getmemory'"; |
|
||||||
} |
|
||||||
|
|
||||||
@Override |
|
||||||
protected String _getHelpString() { |
|
||||||
return "lists memory usage"; |
|
||||||
} |
|
||||||
|
|
||||||
} |
|
@ -1,43 +0,0 @@ |
|||||||
// • ▌ ▄ ·. ▄▄▄· ▄▄ • ▪ ▄▄· ▄▄▄▄· ▄▄▄· ▐▄▄▄ ▄▄▄ .
|
|
||||||
// ·██ ▐███▪▐█ ▀█ ▐█ ▀ ▪██ ▐█ ▌▪▐█ ▀█▪▐█ ▀█ •█▌ ▐█▐▌·
|
|
||||||
// ▐█ ▌▐▌▐█·▄█▀▀█ ▄█ ▀█▄▐█·██ ▄▄▐█▀▀█▄▄█▀▀█ ▐█▐ ▐▌▐▀▀▀
|
|
||||||
// ██ ██▌▐█▌▐█ ▪▐▌▐█▄▪▐█▐█▌▐███▌██▄▪▐█▐█ ▪▐▌██▐ █▌▐█▄▄▌
|
|
||||||
// ▀▀ █▪▀▀▀ ▀ ▀ ·▀▀▀▀ ▀▀▀·▀▀▀ ·▀▀▀▀ ▀ ▀ ▀▀ █▪ ▀▀▀
|
|
||||||
// Magicbane Emulator Project © 2013 - 2022
|
|
||||||
// www.magicbane.com
|
|
||||||
|
|
||||||
|
|
||||||
package engine.devcmd.cmds; |
|
||||||
|
|
||||||
import engine.devcmd.AbstractDevCmd; |
|
||||||
import engine.objects.AbstractGameObject; |
|
||||||
import engine.objects.PlayerCharacter; |
|
||||||
|
|
||||||
|
|
||||||
public class GetRuneDropRateCmd extends AbstractDevCmd { |
|
||||||
|
|
||||||
public GetRuneDropRateCmd() { |
|
||||||
super("getrunedroprate"); |
|
||||||
} |
|
||||||
|
|
||||||
@Override |
|
||||||
protected void _doCmd(PlayerCharacter pcSender, String[] words, |
|
||||||
AbstractGameObject target) { |
|
||||||
if (pcSender == null) |
|
||||||
return; |
|
||||||
|
|
||||||
String out = "Depracated"; |
|
||||||
throwbackInfo(pcSender, out); |
|
||||||
} |
|
||||||
|
|
||||||
@Override |
|
||||||
protected String _getUsageString() { |
|
||||||
return "' /getrunedroprate'"; |
|
||||||
} |
|
||||||
|
|
||||||
@Override |
|
||||||
protected String _getHelpString() { |
|
||||||
return "lists drop rates for runes and contracts in non-hotzone."; |
|
||||||
} |
|
||||||
|
|
||||||
} |
|
@ -1,67 +0,0 @@ |
|||||||
// • ▌ ▄ ·. ▄▄▄· ▄▄ • ▪ ▄▄· ▄▄▄▄· ▄▄▄· ▐▄▄▄ ▄▄▄ .
|
|
||||||
// ·██ ▐███▪▐█ ▀█ ▐█ ▀ ▪██ ▐█ ▌▪▐█ ▀█▪▐█ ▀█ •█▌ ▐█▐▌·
|
|
||||||
// ▐█ ▌▐▌▐█·▄█▀▀█ ▄█ ▀█▄▐█·██ ▄▄▐█▀▀█▄▄█▀▀█ ▐█▐ ▐▌▐▀▀▀
|
|
||||||
// ██ ██▌▐█▌▐█ ▪▐▌▐█▄▪▐█▐█▌▐███▌██▄▪▐█▐█ ▪▐▌██▐ █▌▐█▄▄▌
|
|
||||||
// ▀▀ █▪▀▀▀ ▀ ▀ ·▀▀▀▀ ▀▀▀·▀▀▀ ·▀▀▀▀ ▀ ▀ ▀▀ █▪ ▀▀▀
|
|
||||||
// Magicbane Emulator Project © 2013 - 2022
|
|
||||||
// www.magicbane.com
|
|
||||||
|
|
||||||
|
|
||||||
package engine.devcmd.cmds; |
|
||||||
|
|
||||||
import engine.devcmd.AbstractDevCmd; |
|
||||||
import engine.gameManager.ZoneManager; |
|
||||||
import engine.objects.AbstractGameObject; |
|
||||||
import engine.objects.PlayerCharacter; |
|
||||||
import engine.objects.Zone; |
|
||||||
|
|
||||||
import java.util.ArrayList; |
|
||||||
|
|
||||||
public class GetZoneCmd extends AbstractDevCmd { |
|
||||||
|
|
||||||
public GetZoneCmd() { |
|
||||||
super("getzone"); |
|
||||||
} |
|
||||||
|
|
||||||
@Override |
|
||||||
protected void _doCmd(PlayerCharacter pcSender, String[] words, |
|
||||||
AbstractGameObject target) { |
|
||||||
if (pcSender == null) |
|
||||||
return; |
|
||||||
|
|
||||||
if (words.length != 1) { |
|
||||||
this.sendUsage(pcSender); |
|
||||||
return; |
|
||||||
} |
|
||||||
|
|
||||||
ArrayList<Zone> allIn = new ArrayList<>(); |
|
||||||
switch (words[0].toLowerCase()) { |
|
||||||
case "all": |
|
||||||
throwbackInfo(pcSender, "All zones currently in"); |
|
||||||
allIn = ZoneManager.getAllZonesIn(pcSender.getLoc()); |
|
||||||
break; |
|
||||||
case "smallest": |
|
||||||
throwbackInfo(pcSender, "Smallest zone currently in"); |
|
||||||
Zone zone = ZoneManager.findSmallestZone(pcSender.getLoc()); |
|
||||||
allIn.add(zone); |
|
||||||
break; |
|
||||||
default: |
|
||||||
this.sendUsage(pcSender); |
|
||||||
return; |
|
||||||
} |
|
||||||
|
|
||||||
for (Zone zone : allIn) |
|
||||||
throwbackInfo(pcSender, zone.zoneName + "; UUID: " + zone.getObjectUUID() + ", loadNum: " + zone.templateID); |
|
||||||
} |
|
||||||
|
|
||||||
@Override |
|
||||||
protected String _getUsageString() { |
|
||||||
return "' /getzone smallest/all'"; |
|
||||||
} |
|
||||||
|
|
||||||
@Override |
|
||||||
protected String _getHelpString() { |
|
||||||
return "lists what zones a player is in"; |
|
||||||
} |
|
||||||
|
|
||||||
} |
|
@ -1,107 +0,0 @@ |
|||||||
// • ▌ ▄ ·. ▄▄▄· ▄▄ • ▪ ▄▄· ▄▄▄▄· ▄▄▄· ▐▄▄▄ ▄▄▄ .
|
|
||||||
// ·██ ▐███▪▐█ ▀█ ▐█ ▀ ▪██ ▐█ ▌▪▐█ ▀█▪▐█ ▀█ •█▌ ▐█▐▌·
|
|
||||||
// ▐█ ▌▐▌▐█·▄█▀▀█ ▄█ ▀█▄▐█·██ ▄▄▐█▀▀█▄▄█▀▀█ ▐█▐ ▐▌▐▀▀▀
|
|
||||||
// ██ ██▌▐█▌▐█ ▪▐▌▐█▄▪▐█▐█▌▐███▌██▄▪▐█▐█ ▪▐▌██▐ █▌▐█▄▄▌
|
|
||||||
// ▀▀ █▪▀▀▀ ▀ ▀ ·▀▀▀▀ ▀▀▀·▀▀▀ ·▀▀▀▀ ▀ ▀ ▀▀ █▪ ▀▀▀
|
|
||||||
// Magicbane Emulator Project © 2013 - 2022
|
|
||||||
// www.magicbane.com
|
|
||||||
|
|
||||||
|
|
||||||
package engine.devcmd.cmds; |
|
||||||
|
|
||||||
import engine.Enum.GameObjectType; |
|
||||||
import engine.devcmd.AbstractDevCmd; |
|
||||||
import engine.math.Vector3fImmutable; |
|
||||||
import engine.objects.AbstractGameObject; |
|
||||||
import engine.objects.Building; |
|
||||||
import engine.objects.PlayerCharacter; |
|
||||||
|
|
||||||
public class GotoBoundsCmd extends AbstractDevCmd { |
|
||||||
|
|
||||||
public GotoBoundsCmd() { |
|
||||||
super("gotobounds"); |
|
||||||
} |
|
||||||
|
|
||||||
@Override |
|
||||||
protected void _doCmd(PlayerCharacter player, String[] words, |
|
||||||
AbstractGameObject target) { |
|
||||||
|
|
||||||
String corner = words[0]; |
|
||||||
Vector3fImmutable targetLoc = Vector3fImmutable.ZERO; |
|
||||||
|
|
||||||
if (target == null || !target.getObjectType().equals(GameObjectType.Building)) { |
|
||||||
this.throwbackError(player, "No Building Selected"); |
|
||||||
return; |
|
||||||
} |
|
||||||
|
|
||||||
Building building = (Building) target; |
|
||||||
|
|
||||||
if (building.getBounds() == null) { |
|
||||||
this.throwbackInfo(player, "No valid Bounds for building UUID " + building.getObjectUUID()); |
|
||||||
return; |
|
||||||
} |
|
||||||
float x = building.getBounds().getHalfExtents().x; |
|
||||||
float z = building.getBounds().getHalfExtents().y; |
|
||||||
|
|
||||||
if (building.getBlueprint() != null) { |
|
||||||
x = building.getBlueprint().getExtents().x; |
|
||||||
z = building.getBlueprint().getExtents().y; |
|
||||||
} |
|
||||||
|
|
||||||
float topLeftX = building.getLoc().x - x; |
|
||||||
float topLeftY = building.getLoc().z - z; |
|
||||||
|
|
||||||
float topRightX = building.getLoc().x + x; |
|
||||||
float topRightY = building.getLoc().z - z; |
|
||||||
|
|
||||||
float bottomLeftX = building.getLoc().x - x; |
|
||||||
float bottomLeftY = building.getLoc().z + z; |
|
||||||
|
|
||||||
float bottomRightX = building.getLoc().x + x; |
|
||||||
float bottomRightY = building.getLoc().z + z; |
|
||||||
|
|
||||||
|
|
||||||
switch (corner) { |
|
||||||
case "topleft": |
|
||||||
targetLoc = new Vector3fImmutable(topLeftX, 0, topLeftY); |
|
||||||
break; |
|
||||||
case "topright": |
|
||||||
targetLoc = new Vector3fImmutable(topRightX, 0, topRightY); |
|
||||||
break; |
|
||||||
case "bottomleft": |
|
||||||
targetLoc = new Vector3fImmutable(bottomLeftX, 0, bottomLeftY); |
|
||||||
break; |
|
||||||
case "bottomright": |
|
||||||
targetLoc = new Vector3fImmutable(bottomRightX, 0, bottomRightY); |
|
||||||
break; |
|
||||||
default: |
|
||||||
this.throwbackInfo(player, "wrong corner name. use topleft , topright , bottomleft , bottomright"); |
|
||||||
return; |
|
||||||
|
|
||||||
} |
|
||||||
|
|
||||||
targetLoc = Vector3fImmutable.transform(building.getLoc(), targetLoc, building.getBounds().getRotationDegrees()); |
|
||||||
|
|
||||||
// Teleport player
|
|
||||||
|
|
||||||
if (targetLoc == Vector3fImmutable.ZERO) { |
|
||||||
this.throwbackError(player, "Failed to locate UUID"); |
|
||||||
return; |
|
||||||
} |
|
||||||
|
|
||||||
player.teleport(targetLoc); |
|
||||||
|
|
||||||
} |
|
||||||
|
|
||||||
@Override |
|
||||||
protected String _getHelpString() { |
|
||||||
return "Teleports player to a UUID"; |
|
||||||
} |
|
||||||
|
|
||||||
@Override |
|
||||||
protected String _getUsageString() { |
|
||||||
return "' /gotoobj <UID>'"; |
|
||||||
|
|
||||||
} |
|
||||||
|
|
||||||
} |
|
@ -1,72 +0,0 @@ |
|||||||
// • ▌ ▄ ·. ▄▄▄· ▄▄ • ▪ ▄▄· ▄▄▄▄· ▄▄▄· ▐▄▄▄ ▄▄▄ .
|
|
||||||
// ·██ ▐███▪▐█ ▀█ ▐█ ▀ ▪██ ▐█ ▌▪▐█ ▀█▪▐█ ▀█ •█▌ ▐█▐▌·
|
|
||||||
// ▐█ ▌▐▌▐█·▄█▀▀█ ▄█ ▀█▄▐█·██ ▄▄▐█▀▀█▄▄█▀▀█ ▐█▐ ▐▌▐▀▀▀
|
|
||||||
// ██ ██▌▐█▌▐█ ▪▐▌▐█▄▪▐█▐█▌▐███▌██▄▪▐█▐█ ▪▐▌██▐ █▌▐█▄▄▌
|
|
||||||
// ▀▀ █▪▀▀▀ ▀ ▀ ·▀▀▀▀ ▀▀▀·▀▀▀ ·▀▀▀▀ ▀ ▀ ▀▀ █▪ ▀▀▀
|
|
||||||
// Magicbane Emulator Project © 2013 - 2022
|
|
||||||
// www.magicbane.com
|
|
||||||
|
|
||||||
|
|
||||||
package engine.devcmd.cmds; |
|
||||||
|
|
||||||
import engine.Enum; |
|
||||||
import engine.Enum.GameObjectType; |
|
||||||
import engine.devcmd.AbstractDevCmd; |
|
||||||
import engine.objects.AbstractGameObject; |
|
||||||
import engine.objects.Item; |
|
||||||
import engine.objects.PlayerCharacter; |
|
||||||
|
|
||||||
|
|
||||||
/** |
|
||||||
* @author |
|
||||||
*/ |
|
||||||
public class ItemInfoCmd extends AbstractDevCmd { |
|
||||||
|
|
||||||
public ItemInfoCmd() { |
|
||||||
super("iteminfo"); |
|
||||||
} |
|
||||||
|
|
||||||
@Override |
|
||||||
protected void _doCmd(PlayerCharacter pc, String[] words,AbstractGameObject target) { |
|
||||||
if (pc == null) { |
|
||||||
return; |
|
||||||
} |
|
||||||
if(target.getObjectType().equals(GameObjectType.Item) == false){ |
|
||||||
throwbackInfo(pc, "Must Select An Item"); |
|
||||||
return; |
|
||||||
} |
|
||||||
Item item = (Item)target; |
|
||||||
String newline = "\r\n "; |
|
||||||
String output = ""; |
|
||||||
output += "Required Races:" + newline; |
|
||||||
for (Enum.MonsterType required : item.template.item_race_req) |
|
||||||
output += " " + required.name() + newline; |
|
||||||
output += "Restricted Races:" + newline; |
|
||||||
for (Enum.MonsterType required : item.template.item_race_res) |
|
||||||
output += " " + required.name() + newline; |
|
||||||
output += "Required Classes:" + newline; |
|
||||||
for (Enum.ClassType required : item.template.item_class_req) |
|
||||||
output += " " + required.name() + newline; |
|
||||||
output += "Restricted Classes:" + newline; |
|
||||||
for (Enum.ClassType required : item.template.item_class_res) |
|
||||||
output += " " + required.name() + newline; |
|
||||||
output += "Required Disciplines:" + newline; |
|
||||||
for (Enum.DisciplineType required : item.template.item_disc_req) |
|
||||||
output += " " + required.name() + newline; |
|
||||||
output += "Restricted Disciplines:" + newline; |
|
||||||
for (Enum.DisciplineType required : item.template.item_disc_res) |
|
||||||
output += " " + required.name() + newline; |
|
||||||
throwbackInfo(pc, output); |
|
||||||
} |
|
||||||
|
|
||||||
@Override |
|
||||||
protected String _getHelpString() { |
|
||||||
return "Gets information on an Object."; |
|
||||||
} |
|
||||||
|
|
||||||
@Override |
|
||||||
protected String _getUsageString() { |
|
||||||
return "' /iteminfo'"; |
|
||||||
} |
|
||||||
|
|
||||||
} |
|
@ -1,35 +0,0 @@ |
|||||||
package engine.devcmd.cmds; |
|
||||||
|
|
||||||
import engine.devcmd.AbstractDevCmd; |
|
||||||
import engine.objects.AbstractGameObject; |
|
||||||
import engine.objects.PlayerCharacter; |
|
||||||
|
|
||||||
public class ResetLevelCmd extends AbstractDevCmd { |
|
||||||
|
|
||||||
public ResetLevelCmd() { |
|
||||||
super("resetlevel"); |
|
||||||
} |
|
||||||
|
|
||||||
// AbstractDevCmd Overridden methods
|
|
||||||
|
|
||||||
@Override |
|
||||||
protected void _doCmd(PlayerCharacter player, String[] args, |
|
||||||
AbstractGameObject target) { |
|
||||||
|
|
||||||
player.ResetLevel(Short.parseShort(args[0])); |
|
||||||
} |
|
||||||
|
|
||||||
@Override |
|
||||||
protected String _getHelpString() { |
|
||||||
return "Resets character level to `level`. All training points are reset. Player must relog for changes to update."; |
|
||||||
} |
|
||||||
|
|
||||||
@Override |
|
||||||
protected String _getUsageString() { |
|
||||||
|
|
||||||
|
|
||||||
return "/resetlevel <level>"; |
|
||||||
} |
|
||||||
|
|
||||||
|
|
||||||
} |
|
@ -1,60 +0,0 @@ |
|||||||
// • ▌ ▄ ·. ▄▄▄· ▄▄ • ▪ ▄▄· ▄▄▄▄· ▄▄▄· ▐▄▄▄ ▄▄▄ .
|
|
||||||
// ·██ ▐███▪▐█ ▀█ ▐█ ▀ ▪██ ▐█ ▌▪▐█ ▀█▪▐█ ▀█ •█▌ ▐█▐▌·
|
|
||||||
// ▐█ ▌▐▌▐█·▄█▀▀█ ▄█ ▀█▄▐█·██ ▄▄▐█▀▀█▄▄█▀▀█ ▐█▐ ▐▌▐▀▀▀
|
|
||||||
// ██ ██▌▐█▌▐█ ▪▐▌▐█▄▪▐█▐█▌▐███▌██▄▪▐█▐█ ▪▐▌██▐ █▌▐█▄▄▌
|
|
||||||
// ▀▀ █▪▀▀▀ ▀ ▀ ·▀▀▀▀ ▀▀▀·▀▀▀ ·▀▀▀▀ ▀ ▀ ▀▀ █▪ ▀▀▀
|
|
||||||
// Magicbane Emulator Project © 2013 - 2022
|
|
||||||
// www.magicbane.com
|
|
||||||
|
|
||||||
|
|
||||||
package engine.devcmd.cmds; |
|
||||||
|
|
||||||
import engine.Enum; |
|
||||||
import engine.devcmd.AbstractDevCmd; |
|
||||||
import engine.gameManager.ChatManager; |
|
||||||
import engine.gameManager.MaintenanceManager; |
|
||||||
import engine.objects.AbstractGameObject; |
|
||||||
import engine.objects.Building; |
|
||||||
import engine.objects.PlayerCharacter; |
|
||||||
|
|
||||||
import java.time.LocalDateTime; |
|
||||||
|
|
||||||
public class SetMaintCmd extends AbstractDevCmd { |
|
||||||
|
|
||||||
public SetMaintCmd() { |
|
||||||
super("setMaint"); |
|
||||||
this.addCmdString("setmaint"); |
|
||||||
} |
|
||||||
|
|
||||||
@Override |
|
||||||
protected void _doCmd(PlayerCharacter player, String[] words, |
|
||||||
AbstractGameObject target) { |
|
||||||
|
|
||||||
if (!target.getObjectType().equals(Enum.GameObjectType.Building)) { |
|
||||||
ChatManager.chatSayInfo(player, "Target is not a valid building"); |
|
||||||
return; |
|
||||||
} |
|
||||||
|
|
||||||
Building targetBuilding = (Building) target; |
|
||||||
|
|
||||||
if (targetBuilding.getProtectionState().equals(Enum.ProtectionState.NPC)) { |
|
||||||
ChatManager.chatSayInfo(player, "Target is not a valid building"); |
|
||||||
return; |
|
||||||
} |
|
||||||
|
|
||||||
MaintenanceManager.setMaintDateTime(targetBuilding, LocalDateTime.now().minusDays(1).withHour(13).withMinute(0).withSecond(0).withNano(0)); |
|
||||||
ChatManager.chatSayInfo(player, "Maint will run for UUID: " + targetBuilding.getObjectUUID()); |
|
||||||
} |
|
||||||
|
|
||||||
|
|
||||||
@Override |
|
||||||
protected String _getHelpString() { |
|
||||||
return "Sets the Rank of either the targets object or the object specified by ID."; |
|
||||||
} |
|
||||||
|
|
||||||
@Override |
|
||||||
protected String _getUsageString() { |
|
||||||
return "' /setrank ID rank' || ' /setrank rank' || ' /rank ID rank' || ' /rank rank'"; |
|
||||||
} |
|
||||||
|
|
||||||
} |
|
@ -1,80 +0,0 @@ |
|||||||
// • ▌ ▄ ·. ▄▄▄· ▄▄ • ▪ ▄▄· ▄▄▄▄· ▄▄▄· ▐▄▄▄ ▄▄▄ .
|
|
||||||
// ·██ ▐███▪▐█ ▀█ ▐█ ▀ ▪██ ▐█ ▌▪▐█ ▀█▪▐█ ▀█ •█▌ ▐█▐▌·
|
|
||||||
// ▐█ ▌▐▌▐█·▄█▀▀█ ▄█ ▀█▄▐█·██ ▄▄▐█▀▀█▄▄█▀▀█ ▐█▐ ▐▌▐▀▀▀
|
|
||||||
// ██ ██▌▐█▌▐█ ▪▐▌▐█▄▪▐█▐█▌▐███▌██▄▪▐█▐█ ▪▐▌██▐ █▌▐█▄▄▌
|
|
||||||
// ▀▀ █▪▀▀▀ ▀ ▀ ·▀▀▀▀ ▀▀▀·▀▀▀ ·▀▀▀▀ ▀ ▀ ▀▀ █▪ ▀▀▀
|
|
||||||
// Magicbane Emulator Project © 2013 - 2022
|
|
||||||
// www.magicbane.com
|
|
||||||
|
|
||||||
|
|
||||||
package engine.devcmd.cmds; |
|
||||||
|
|
||||||
|
|
||||||
import engine.Enum.GameObjectType; |
|
||||||
import engine.devcmd.AbstractDevCmd; |
|
||||||
import engine.gameManager.BuildingManager; |
|
||||||
import engine.gameManager.ChatManager; |
|
||||||
import engine.gameManager.DbManager; |
|
||||||
import engine.objects.AbstractGameObject; |
|
||||||
import engine.objects.Building; |
|
||||||
import engine.objects.Mine; |
|
||||||
import engine.objects.PlayerCharacter; |
|
||||||
|
|
||||||
/** |
|
||||||
* @author Eighty |
|
||||||
*/ |
|
||||||
public class SetMineExpansion extends AbstractDevCmd { |
|
||||||
|
|
||||||
public SetMineExpansion() { |
|
||||||
super("setexpansion"); |
|
||||||
this.addCmdString("setexpansion"); |
|
||||||
} |
|
||||||
|
|
||||||
@Override |
|
||||||
protected void _doCmd(PlayerCharacter pcSender, String[] args, |
|
||||||
AbstractGameObject target) { |
|
||||||
|
|
||||||
|
|
||||||
if (target.getObjectType() != GameObjectType.Building) |
|
||||||
return; |
|
||||||
Building mineBuilding = BuildingManager.getBuilding(target.getObjectUUID()); |
|
||||||
if (mineBuilding == null) |
|
||||||
return; |
|
||||||
Mine mine = Mine.getMineFromTower(mineBuilding.getObjectUUID()); |
|
||||||
if (mine == null) |
|
||||||
return; |
|
||||||
int bit = 2; |
|
||||||
switch (args[0].toUpperCase()) { |
|
||||||
case "ON": |
|
||||||
|
|
||||||
bit |= mine.getFlags(); |
|
||||||
if (!DbManager.MineQueries.SET_FLAGS(mine, bit)) |
|
||||||
return; |
|
||||||
mine.setFlags(bit); |
|
||||||
ChatManager.chatSystemInfo(pcSender, mine.getZoneName() + "'s " + mine.getMineType().name + " is now an expansion mine."); |
|
||||||
break; |
|
||||||
|
|
||||||
case "OFF": |
|
||||||
bit &= ~mine.getFlags(); |
|
||||||
if (!DbManager.MineQueries.SET_FLAGS(mine, bit)) |
|
||||||
return; |
|
||||||
mine.setFlags(bit); |
|
||||||
ChatManager.chatSystemInfo(pcSender, mine.getZoneName() + "'s " + mine.getMineType().name + " is no longer an expansion mine."); |
|
||||||
break; |
|
||||||
|
|
||||||
} |
|
||||||
|
|
||||||
|
|
||||||
} |
|
||||||
|
|
||||||
@Override |
|
||||||
protected String _getUsageString() { |
|
||||||
return "' /setmineexpansion on|off"; |
|
||||||
} |
|
||||||
|
|
||||||
@Override |
|
||||||
protected String _getHelpString() { |
|
||||||
return "enables or disables an expansion type for a mine."; |
|
||||||
} |
|
||||||
|
|
||||||
} |
|
@ -1,62 +0,0 @@ |
|||||||
// • ▌ ▄ ·. ▄▄▄· ▄▄ • ▪ ▄▄· ▄▄▄▄· ▄▄▄· ▐▄▄▄ ▄▄▄ .
|
|
||||||
// ·██ ▐███▪▐█ ▀█ ▐█ ▀ ▪██ ▐█ ▌▪▐█ ▀█▪▐█ ▀█ •█▌ ▐█▐▌·
|
|
||||||
// ▐█ ▌▐▌▐█·▄█▀▀█ ▄█ ▀█▄▐█·██ ▄▄▐█▀▀█▄▄█▀▀█ ▐█▐ ▐▌▐▀▀▀
|
|
||||||
// ██ ██▌▐█▌▐█ ▪▐▌▐█▄▪▐█▐█▌▐███▌██▄▪▐█▐█ ▪▐▌██▐ █▌▐█▄▄▌
|
|
||||||
// ▀▀ █▪▀▀▀ ▀ ▀ ·▀▀▀▀ ▀▀▀·▀▀▀ ·▀▀▀▀ ▀ ▀ ▀▀ █▪ ▀▀▀
|
|
||||||
// Magicbane Emulator Project © 2013 - 2022
|
|
||||||
// www.magicbane.com
|
|
||||||
|
|
||||||
|
|
||||||
package engine.devcmd.cmds; |
|
||||||
|
|
||||||
|
|
||||||
import engine.Enum.GameObjectType; |
|
||||||
import engine.devcmd.AbstractDevCmd; |
|
||||||
import engine.gameManager.BuildingManager; |
|
||||||
import engine.gameManager.ChatManager; |
|
||||||
import engine.gameManager.DbManager; |
|
||||||
import engine.objects.*; |
|
||||||
|
|
||||||
/** |
|
||||||
* @author Eighty |
|
||||||
*/ |
|
||||||
public class SetMineTypeCmd extends AbstractDevCmd { |
|
||||||
|
|
||||||
public SetMineTypeCmd() { |
|
||||||
super("setminetype"); |
|
||||||
this.addCmdString("setminetype"); |
|
||||||
} |
|
||||||
|
|
||||||
@Override |
|
||||||
protected void _doCmd(PlayerCharacter pcSender, String[] args, |
|
||||||
AbstractGameObject target) { |
|
||||||
|
|
||||||
MineProduction mineType = MineProduction.valueOf(args[0].toUpperCase()); |
|
||||||
if (mineType == null) |
|
||||||
return; |
|
||||||
|
|
||||||
if (target.getObjectType() != GameObjectType.Building) |
|
||||||
return; |
|
||||||
Building mineBuilding = BuildingManager.getBuilding(target.getObjectUUID()); |
|
||||||
if (mineBuilding == null) |
|
||||||
return; |
|
||||||
Mine mine = Mine.getMineFromTower(mineBuilding.getObjectUUID()); |
|
||||||
if (mine == null) |
|
||||||
return; |
|
||||||
if (!DbManager.MineQueries.CHANGE_TYPE(mine, mineType)) |
|
||||||
return; |
|
||||||
mine.setMineType(mineType.name()); |
|
||||||
ChatManager.chatSystemInfo(pcSender, "The mine in " + mine.getZoneName() + " is now a(n) " + mine.getMineType().name); |
|
||||||
} |
|
||||||
|
|
||||||
@Override |
|
||||||
protected String _getUsageString() { |
|
||||||
return "' /setminetype gold|ore|magic|lumber"; |
|
||||||
} |
|
||||||
|
|
||||||
@Override |
|
||||||
protected String _getHelpString() { |
|
||||||
return "Changes the mine type of the current mine."; |
|
||||||
} |
|
||||||
|
|
||||||
} |
|
@ -1,66 +0,0 @@ |
|||||||
// • ▌ ▄ ·. ▄▄▄· ▄▄ • ▪ ▄▄· ▄▄▄▄· ▄▄▄· ▐▄▄▄ ▄▄▄ .
|
|
||||||
// ·██ ▐███▪▐█ ▀█ ▐█ ▀ ▪██ ▐█ ▌▪▐█ ▀█▪▐█ ▀█ •█▌ ▐█▐▌·
|
|
||||||
// ▐█ ▌▐▌▐█·▄█▀▀█ ▄█ ▀█▄▐█·██ ▄▄▐█▀▀█▄▄█▀▀█ ▐█▐ ▐▌▐▀▀▀
|
|
||||||
// ██ ██▌▐█▌▐█ ▪▐▌▐█▄▪▐█▐█▌▐███▌██▄▪▐█▐█ ▪▐▌██▐ █▌▐█▄▄▌
|
|
||||||
// ▀▀ █▪▀▀▀ ▀ ▀ ·▀▀▀▀ ▀▀▀·▀▀▀ ·▀▀▀▀ ▀ ▀ ▀▀ █▪ ▀▀▀
|
|
||||||
// Magicbane Emulator Project © 2013 - 2022
|
|
||||||
// www.magicbane.com
|
|
||||||
|
|
||||||
|
|
||||||
package engine.devcmd.cmds; |
|
||||||
|
|
||||||
import engine.Enum.GameObjectType; |
|
||||||
import engine.InterestManagement.WorldGrid; |
|
||||||
import engine.devcmd.AbstractDevCmd; |
|
||||||
import engine.objects.AbstractGameObject; |
|
||||||
import engine.objects.MobBase; |
|
||||||
import engine.objects.NPC; |
|
||||||
import engine.objects.PlayerCharacter; |
|
||||||
|
|
||||||
public class SetNpcMobbaseCmd extends AbstractDevCmd { |
|
||||||
|
|
||||||
public SetNpcMobbaseCmd() { |
|
||||||
super("setmobbase"); |
|
||||||
this.addCmdString("npcmobbase"); |
|
||||||
} |
|
||||||
|
|
||||||
@Override |
|
||||||
protected void _doCmd(PlayerCharacter player, String[] words, |
|
||||||
AbstractGameObject target) { |
|
||||||
|
|
||||||
// Arg Count Check
|
|
||||||
if (words.length != 1) { |
|
||||||
this.sendUsage(player); |
|
||||||
return; |
|
||||||
} |
|
||||||
|
|
||||||
if (target.getObjectType() != GameObjectType.NPC) { |
|
||||||
this.sendUsage(player); |
|
||||||
return; |
|
||||||
} |
|
||||||
|
|
||||||
NPC npc = (NPC) target; |
|
||||||
|
|
||||||
int mobBaseID = Integer.parseInt(words[0]); |
|
||||||
|
|
||||||
if (MobBase.getMobBase(mobBaseID) == null) { |
|
||||||
this.throwbackError(player, "Cannot find Mobbase for ID " + mobBaseID); |
|
||||||
return; |
|
||||||
} |
|
||||||
NPC.UpdateRaceID(npc, mobBaseID); |
|
||||||
|
|
||||||
WorldGrid.updateObject(npc); |
|
||||||
|
|
||||||
} |
|
||||||
|
|
||||||
@Override |
|
||||||
protected String _getHelpString() { |
|
||||||
return "Sets mobbase override for an NPC"; |
|
||||||
} |
|
||||||
|
|
||||||
@Override |
|
||||||
protected String _getUsageString() { |
|
||||||
return "' /setmobbase mobBaseID'"; |
|
||||||
} |
|
||||||
|
|
||||||
} |
|
@ -1,59 +0,0 @@ |
|||||||
// • ▌ ▄ ·. ▄▄▄· ▄▄ • ▪ ▄▄· ▄▄▄▄· ▄▄▄· ▐▄▄▄ ▄▄▄ .
|
|
||||||
// ·██ ▐███▪▐█ ▀█ ▐█ ▀ ▪██ ▐█ ▌▪▐█ ▀█▪▐█ ▀█ •█▌ ▐█▐▌·
|
|
||||||
// ▐█ ▌▐▌▐█·▄█▀▀█ ▄█ ▀█▄▐█·██ ▄▄▐█▀▀█▄▄█▀▀█ ▐█▐ ▐▌▐▀▀▀
|
|
||||||
// ██ ██▌▐█▌▐█ ▪▐▌▐█▄▪▐█▐█▌▐███▌██▄▪▐█▐█ ▪▐▌██▐ █▌▐█▄▄▌
|
|
||||||
// ▀▀ █▪▀▀▀ ▀ ▀ ·▀▀▀▀ ▀▀▀·▀▀▀ ·▀▀▀▀ ▀ ▀ ▀▀ █▪ ▀▀▀
|
|
||||||
// Magicbane Emulator Project © 2013 - 2022
|
|
||||||
// www.magicbane.com
|
|
||||||
|
|
||||||
|
|
||||||
package engine.devcmd.cmds; |
|
||||||
|
|
||||||
import engine.Enum.GameObjectType; |
|
||||||
import engine.devcmd.AbstractDevCmd; |
|
||||||
import engine.gameManager.ChatManager; |
|
||||||
import engine.gameManager.ZoneManager; |
|
||||||
import engine.math.Vector3fImmutable; |
|
||||||
import engine.objects.AbstractGameObject; |
|
||||||
import engine.objects.Building; |
|
||||||
import engine.objects.PlayerCharacter; |
|
||||||
|
|
||||||
public class convertLoc extends AbstractDevCmd { |
|
||||||
|
|
||||||
public convertLoc() { |
|
||||||
super("convertLoc"); |
|
||||||
} |
|
||||||
|
|
||||||
@Override |
|
||||||
protected void _doCmd(PlayerCharacter pc, String[] words, |
|
||||||
AbstractGameObject target) { |
|
||||||
|
|
||||||
|
|
||||||
if (target == null) { |
|
||||||
Vector3fImmutable convertLoc = ZoneManager.findSmallestZone(pc.getLoc()).getLoc().subtract(pc.getLoc()); |
|
||||||
ChatManager.chatSystemInfo(pc, Vector3fImmutable.toString(convertLoc)); |
|
||||||
return; |
|
||||||
} |
|
||||||
|
|
||||||
|
|
||||||
if (target.getObjectType() != GameObjectType.Building) |
|
||||||
return; |
|
||||||
Building toConvert = (Building) target; |
|
||||||
Vector3fImmutable convertedLoc = ZoneManager.convertWorldToLocal(toConvert, pc.getLoc()); |
|
||||||
ChatManager.chatSystemInfo(pc, Vector3fImmutable.toString(convertedLoc)); |
|
||||||
|
|
||||||
|
|
||||||
} |
|
||||||
|
|
||||||
@Override |
|
||||||
protected String _getHelpString() { |
|
||||||
return "Temporarily Changes SubRace"; |
|
||||||
} |
|
||||||
|
|
||||||
@Override |
|
||||||
protected String _getUsageString() { |
|
||||||
return "' /setBuildingCollidables add/remove 'add creates a collision line.' needs 4 integers. startX, endX, startY, endY"; |
|
||||||
|
|
||||||
} |
|
||||||
|
|
||||||
} |
|
Loading…
Reference in new issue