diff --git a/src/main/java/com/projectswg/holocore/resources/support/global/commands/callbacks/admin/CmdNpc.java b/src/main/java/com/projectswg/holocore/resources/support/global/commands/callbacks/admin/CmdNpc.java new file mode 100644 index 000000000..33dc32e59 --- /dev/null +++ b/src/main/java/com/projectswg/holocore/resources/support/global/commands/callbacks/admin/CmdNpc.java @@ -0,0 +1,61 @@ +/*********************************************************************************** + * Copyright (c) 2018 /// Project SWG /// www.projectswg.com * + * * + * ProjectSWG is the first NGE emulator for Star Wars Galaxies founded on * + * July 7th, 2011 after SOE announced the official shutdown of Star Wars Galaxies. * + * Our goal is to create an emulator which will provide a server for players to * + * continue playing a game similar to the one they used to play. We are basing * + * it on the final publish of the game prior to end-game events. * + * * + * This file is part of Holocore. * + * * + * --------------------------------------------------------------------------------* + * * + * Holocore is free software: you can redistribute it and/or modify * + * it under the terms of the GNU Affero General Public License as * + * published by the Free Software Foundation, either version 3 of the * + * License, or (at your option) any later version. * + * * + * Holocore is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU Affero General Public License for more details. * + * * + * You should have received a copy of the GNU Affero General Public License * + * along with Holocore. If not, see . * + ***********************************************************************************/ + +package com.projectswg.holocore.resources.support.global.commands.callbacks.admin; + +import com.projectswg.holocore.intents.support.global.chat.SystemMessageIntent; +import com.projectswg.holocore.resources.support.global.commands.ICmdCallback; +import com.projectswg.holocore.resources.support.global.player.AccessLevel; +import com.projectswg.holocore.resources.support.global.player.Player; +import com.projectswg.holocore.resources.support.npc.spawn.Spawner; +import com.projectswg.holocore.resources.support.objects.swg.SWGObject; +import com.projectswg.holocore.resources.support.objects.swg.creature.CreatureObject; +import com.projectswg.holocore.resources.support.objects.swg.custom.AIObject; +import com.projectswg.holocore.services.support.objects.ObjectStorageService.ObjectLookup; +import me.joshlarson.jlcommon.control.IntentChain; +import org.jetbrains.annotations.NotNull; + +public final class CmdNpc implements ICmdCallback { + + @Override + public void execute(@NotNull Player player, SWGObject target, @NotNull String args) { + CreatureObject creature = player.getCreatureObject(); + if (player.getAccessLevel() == AccessLevel.PLAYER || creature == null) + return; + SWGObject lookAtTarget = ObjectLookup.getObjectById(creature.getLookAtTargetId()); + if (!(lookAtTarget instanceof AIObject)) + return; + AIObject aiObject = (AIObject) lookAtTarget; + Spawner spawner = aiObject.getSpawner(); + + IntentChain.broadcastChain( + new SystemMessageIntent(player, "NPC: " + spawner.getId()), + new SystemMessageIntent(player, " Mode: " + aiObject.getActiveMode().getClass().getSimpleName()) + ); + } + +}