forked from MagicBane/Server
				
			
				 2 changed files with 0 additions and 128 deletions
			
			
		| @ -1,127 +0,0 @@@@ -1,127 +0,0 @@ | ||||
| // • ▌ ▄ ·.  ▄▄▄·  ▄▄ • ▪   ▄▄· ▄▄▄▄·  ▄▄▄·  ▐▄▄▄  ▄▄▄ .
 | ||||
| // ·██ ▐███▪▐█ ▀█ ▐█ ▀ ▪██ ▐█ ▌▪▐█ ▀█▪▐█ ▀█ •█▌ ▐█▐▌·
 | ||||
| // ▐█ ▌▐▌▐█·▄█▀▀█ ▄█ ▀█▄▐█·██ ▄▄▐█▀▀█▄▄█▀▀█ ▐█▐ ▐▌▐▀▀▀
 | ||||
| // ██ ██▌▐█▌▐█ ▪▐▌▐█▄▪▐█▐█▌▐███▌██▄▪▐█▐█ ▪▐▌██▐ █▌▐█▄▄▌
 | ||||
| // ▀▀  █▪▀▀▀ ▀  ▀ ·▀▀▀▀ ▀▀▀·▀▀▀ ·▀▀▀▀  ▀  ▀ ▀▀  █▪ ▀▀▀
 | ||||
| //      Magicbane Emulator Project © 2013 - 2022
 | ||||
| //                www.magicbane.com
 | ||||
| 
 | ||||
| 
 | ||||
| package engine.devcmd.cmds; | ||||
| 
 | ||||
| import engine.ai.MobileFSMManager; | ||||
| import engine.devcmd.AbstractDevCmd; | ||||
| import engine.gameManager.DbManager; | ||||
| import engine.objects.AbstractGameObject; | ||||
| import engine.objects.PlayerCharacter; | ||||
| import engine.server.MBServerStatics; | ||||
| 
 | ||||
| /** | ||||
|  * @author Steve | ||||
|  */ | ||||
| public class SetAICmd extends AbstractDevCmd { | ||||
| 
 | ||||
|     public SetAICmd() { | ||||
|         super("setAI"); | ||||
|         this.addCmdString("ai"); | ||||
|     } | ||||
| 
 | ||||
|     @Override | ||||
|     protected void _doCmd(PlayerCharacter pc, String[] words, | ||||
|                           AbstractGameObject target) { | ||||
|         if (words.length < 2) { | ||||
|             this.sendUsage(pc); | ||||
|             return; | ||||
|         } | ||||
| 
 | ||||
|         int amount; | ||||
| 
 | ||||
|         try { | ||||
|             amount = Integer.valueOf(words[1]); | ||||
|         } catch (NumberFormatException e) { | ||||
|             this.throwbackError(pc, "Failed to parse amount"); | ||||
|             return; | ||||
|         } | ||||
| 
 | ||||
|         switch (words[0]) { | ||||
|             case "angle": | ||||
|                 float angle = Float.parseFloat(words[1]); | ||||
| 
 | ||||
|                 MobileFSMManager.AI_MAX_ANGLE = angle; | ||||
|                 break; | ||||
|             case "aggrorange": | ||||
|                 MobileFSMManager.AI_BASE_AGGRO_RANGE = amount; | ||||
|                 DbManager.MobBaseQueries.UPDATE_AI_DEFAULTS(); | ||||
|                 this.throwbackInfo(pc, "Aggro Range is now set to " + amount); | ||||
|                 break; | ||||
|             case "dropaggrorange": | ||||
|                 MobileFSMManager.AI_DROP_AGGRO_RANGE = amount; | ||||
|                 DbManager.MobBaseQueries.UPDATE_AI_DEFAULTS(); | ||||
|                 this.throwbackInfo(pc, "Drop Aggro Range is now set to " + amount); | ||||
|                 break; | ||||
|             case "patroldivisor": | ||||
|                 MobileFSMManager.AI_PATROL_DIVISOR = amount; | ||||
|                 DbManager.MobBaseQueries.UPDATE_AI_DEFAULTS(); | ||||
|                 this.throwbackInfo(pc, "Patrol Chance is now set to " + amount); | ||||
|                 break; | ||||
|             case "pulse": | ||||
|                 if (amount < 500) { | ||||
|                     this.throwbackError(pc, "pulse amount must be greather than 500 to execute."); | ||||
|                     return; | ||||
|                 } | ||||
|                 MobileFSMManager.AI_PULSE_MOB_THRESHOLD = amount; | ||||
|                 this.throwbackInfo(pc, "Pulse is now set to " + amount); | ||||
|                 break; | ||||
|             case "sleepthread": | ||||
|                 if (amount < 500) { | ||||
|                     this.throwbackError(pc, "sleep amount must be greather than 500 to execute."); | ||||
|                     return; | ||||
|                 } | ||||
|                 MobileFSMManager.AI_THREAD_SLEEP = amount; | ||||
|                 this.throwbackInfo(pc, "Thread Sleep is now set to " + amount); | ||||
|                 break; | ||||
|             case "recallrange": | ||||
|                 MobileFSMManager.AI_RECALL_RANGE = amount; | ||||
|                 DbManager.MobBaseQueries.UPDATE_AI_DEFAULTS(); | ||||
|                 this.throwbackInfo(pc, "Recall Range is now set to " + amount); | ||||
|                 break; | ||||
|             case "powerdivisor": | ||||
|                 MobileFSMManager.AI_POWER_DIVISOR = amount; | ||||
|                 DbManager.MobBaseQueries.UPDATE_AI_DEFAULTS(); | ||||
|                 this.throwbackInfo(pc, "Power Divisor is now set to " + amount); | ||||
|                 break; | ||||
|             case "losehate": | ||||
|                 MBServerStatics.PLAYER_HATE_DELIMITER = amount; | ||||
|                 break; | ||||
|             case "hatemodcombat": | ||||
|                 MBServerStatics.PLAYER_COMBAT_HATE_MODIFIER = amount; | ||||
|             default: | ||||
|                 this.throwbackError(pc, words[0] + " is not a valid AI Command."); | ||||
|                 break; | ||||
|         } | ||||
|     } | ||||
| 
 | ||||
|     @Override | ||||
|     protected String _getHelpString() { | ||||
|         String help = "Modifies Mob AI Statics. Commands:"; | ||||
|         help += "\n AGGRORANGE: Sets the range when a mob will aggro it's target. Aggro range is currently " + MobileFSMManager.AI_BASE_AGGRO_RANGE; | ||||
|         help += "\n DROPAGGRORANGE: Sets the range when a mob will drop aggro from it's target. Drop aggro range is currently " + MobileFSMManager.AI_DROP_AGGRO_RANGE; | ||||
|         help += "\n PATROLDIVISOR: Sets the Patrol Divisor for Mob AI. Setting this will give a 1/[amount] chance to parol the area. Patrol Chance is currently 1/" + MobileFSMManager.AI_PATROL_DIVISOR; | ||||
|         help += "\n PULSE: sets how often to run mob's AI. Measured in MS. Pulse is currently  " + MobileFSMManager.AI_PULSE_MOB_THRESHOLD + "ms."; | ||||
|         help += "\n SLEEPTHREAD: Sets how long to sleep the AI for ALL mobs.Thread sleep is currently " + MobileFSMManager.AI_THREAD_SLEEP + "ms."; | ||||
|         help += "\n RECALLRANGE: Sets the range of a mob to recall back to it's bind location. Recall range is currently " + MobileFSMManager.AI_RECALL_RANGE; | ||||
|         help += "\n POWERDIVISOR: Sets the Power Divisor for Mob AI.Setting this will give a 1/[amount] chance to use power on a player. Power Divisor is currently " + MobileFSMManager.AI_POWER_DIVISOR; | ||||
|         help += "\n LOSEHATE: Sets the amount per second to reduce hate amount for player while they are idle. Hate Delimiter is currently " + MBServerStatics.PLAYER_HATE_DELIMITER; | ||||
|         help += "\n HATEMODCOMBAT: sets the modifier for Hate value for Combat. Hate Value is `Damage *[HATEMODCOMBAT]`.Hate Mod Combat is currently " + MBServerStatics.PLAYER_COMBAT_HATE_MODIFIER; | ||||
| 
 | ||||
|         return help; | ||||
|     } | ||||
| 
 | ||||
|     @Override | ||||
|     protected String _getUsageString() { | ||||
|         String usage = "' /setai  `command` `amount` `"; | ||||
|         usage += '\n' + _getHelpString(); | ||||
|         return usage; | ||||
|     } | ||||
| 
 | ||||
| } | ||||
					Loading…
					
					
				
		Reference in new issue