Browse Source

instate new mob AI

lakebane-recovery
FatBoy-DOTC 3 days ago
parent
commit
e839727076
  1. 7
      src/engine/mobileAI/MobHandlers/MobHandler.java
  2. 35
      src/engine/mobileAI/Threads/MobAIThread.java

7
src/engine/mobileAI/MobHandlers/MobHandler.java

@ -1,14 +1,7 @@ @@ -1,14 +1,7 @@
package engine.mobileAI.MobHandlers;
import engine.Enum;
import engine.InterestManagement.InterestManager;
import engine.InterestManagement.WorldGrid;
import engine.gameManager.ChatManager;
import engine.gameManager.PowersManager;
import engine.gameManager.ZoneManager;
import engine.math.Vector3f;
import engine.math.Vector3fImmutable;
import engine.mobileAI.MobAI;
import engine.mobileAI.Threads.MobAIThread;
import engine.mobileAI.utilities.CombatUtilities;
import engine.mobileAI.utilities.MovementUtilities;

35
src/engine/mobileAI/Threads/MobAIThread.java

@ -1,11 +1,10 @@ @@ -1,11 +1,10 @@
package engine.mobileAI.Threads;
import engine.gameManager.ConfigManager;
import engine.mobileAI.MobAI;
import engine.gameManager.ZoneManager;
import engine.mobileAI.SuperSimpleMobAI;
import engine.objects.Mob;
import engine.objects.Zone;
import engine.server.MBServerStatics;
import org.pmw.tinylog.Logger;
public class MobAIThread implements Runnable{
@ -28,12 +27,40 @@ public class MobAIThread implements Runnable{ @@ -28,12 +27,40 @@ public class MobAIThread implements Runnable{
AI_BASE_AGGRO_RANGE = (int)(60 * Float.parseFloat(ConfigManager.MB_AI_AGGRO_RANGE.getValue()));
while (true) {
for (Zone zone : ZoneManager.getAllZones()) {
if (zone != null && zone.zoneMobSet != null) {
if (zone != null) {
synchronized (zone.zoneMobSet) {
for (Mob mob : zone.zoneMobSet) {
try {
if (mob != null) {
MobAI.DetermineAction(mob);
//MobAI.DetermineAction(mob);
if(mob.isSiege() || mob.isPet() || mob.isPlayerGuard()){
SuperSimpleMobAI.run(mob);
return;
}
boolean override;
switch (mob.BehaviourType) {
case GuardCaptain:
case GuardMinion:
case GuardWallArcher:
case Pet1:
case HamletGuard:
override = false;
break;
default:
override = true;
break;
}
if(mob.isSiege())
override = false;
if(mob.isPet())
override = false;
if(override){
SuperSimpleMobAI.run(mob);
return;
}
}
} catch (Exception e) {
Logger.error("Error processing Mob [Name: {}, UUID: {}]", mob.getName(), mob.getObjectUUID(), e);

Loading…
Cancel
Save