Files
prestonbane/src/engine/devcmd/cmds/AddMobCmd.java
T

89 lines
3.0 KiB
Java
Raw Normal View History

2022-04-30 09:41:17 -04:00
// • ▌ ▄ ·. ▄▄▄· ▄▄ • ▪ ▄▄· ▄▄▄▄· ▄▄▄· ▐▄▄▄ ▄▄▄ .
// ·██ ▐███▪▐█ ▀█ ▐█ ▀ ▪██ ▐█ ▌▪▐█ ▀█▪▐█ ▀█ •█▌ ▐█▐▌·
// ▐█ ▌▐▌▐█·▄█▀▀█ ▄█ ▀█▄▐█·██ ▄▄▐█▀▀█▄▄█▀▀█ ▐█▐ ▐▌▐▀▀▀
// ██ ██▌▐█▌▐█ ▪▐▌▐█▄▪▐█▐█▌▐███▌██▄▪▐█▐█ ▪▐▌██▐ █▌▐█▄▄▌
// ▀▀ █▪▀▀▀ ▀ ▀ ·▀▀▀▀ ▀▀▀·▀▀▀ ·▀▀▀▀ ▀ ▀ ▀▀ █▪ ▀▀▀
// Magicbane Emulator Project © 2013 - 2022
// www.magicbane.com
package engine.devcmd.cmds;
2023-09-01 20:57:09 -05:00
import engine.Enum;
2022-04-30 09:41:17 -04:00
import engine.devcmd.AbstractDevCmd;
import engine.gameManager.ChatManager;
import engine.gameManager.ZoneManager;
2024-01-28 11:30:54 -05:00
import engine.objects.AbstractGameObject;
import engine.objects.Mob;
import engine.objects.PlayerCharacter;
import engine.objects.Zone;
2022-04-30 09:41:17 -04:00
import org.pmw.tinylog.Logger;
public class AddMobCmd extends AbstractDevCmd {
2023-07-15 09:23:48 -04:00
public AddMobCmd() {
2022-04-30 09:41:17 -04:00
super("mob");
}
2023-07-15 09:23:48 -04:00
@Override
protected void _doCmd(PlayerCharacter pc, String[] words,
AbstractGameObject target) {
if (words.length != 1) {
this.sendUsage(pc);
return;
}
Zone zone = ZoneManager.findSmallestZone(pc.getLoc());
int loadID;
2024-01-28 11:30:54 -05:00
2023-07-15 09:23:48 -04:00
try {
loadID = Integer.parseInt(words[0]);
} catch (NumberFormatException e) {
throwbackError(pc, "Supplied type " + words[0]
+ " failed to parse to an Integer");
return;
} catch (Exception e) {
throwbackError(pc,
"An unknown exception occurred when trying to use mob command for type "
+ words[0]);
return; // NaN
}
if (zone == null) {
throwbackError(pc, "Failed to find zone to place mob in.");
return;
}
2023-09-20 16:05:57 -04:00
if (zone.guild_zone) {
2023-07-15 09:23:48 -04:00
throwbackError(pc, "Cannot use ./mob on Player cities. Try ./servermob instead.");
return;
}
Mob mob = Mob.createMob(loadID, pc.getLoc(),
2023-09-01 20:57:09 -05:00
null, zone, null, null, "", 1, Enum.AIAgentType.MOBILE);
2024-01-28 11:30:54 -05:00
2023-07-15 09:23:48 -04:00
if (mob != null) {
mob.updateDatabase();
ChatManager.chatSayInfo(pc,
"Mob with ID " + mob.getDBID() + " added");
this.setResult(String.valueOf(mob.getDBID()));
} else {
throwbackError(pc, "Failed to create mob of type " + loadID);
Logger.error("Failed to create mob of type "
+ loadID);
}
}
@Override
protected String _getHelpString() {
2022-04-30 09:41:17 -04:00
return "Creates a Mob of type 'mobID' at the location your character is standing";
2023-07-15 09:23:48 -04:00
}
2022-04-30 09:41:17 -04:00
2023-07-15 09:23:48 -04:00
@Override
protected String _getUsageString() {
2022-04-30 09:41:17 -04:00
return "' /mob mobID'";
2023-07-15 09:23:48 -04:00
}
2022-04-30 09:41:17 -04:00
}