forked from MagicBane/Server
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
46 lines
1.3 KiB
46 lines
1.3 KiB
package engine.mobileAI.Threads; |
|
|
|
import engine.mobileAI.MobAI; |
|
import engine.gameManager.ZoneManager; |
|
import engine.objects.Mob; |
|
import engine.objects.Zone; |
|
import org.pmw.tinylog.Logger; |
|
|
|
public class MobAIThread implements Runnable{ |
|
public static int AI_BASE_AGGRO_RANGE = 60; |
|
public static int AI_DROP_AGGRO_RANGE = 60; |
|
public static int AI_PULSE_MOB_THRESHOLD = 200; |
|
public static int AI_PATROL_DIVISOR = 15; |
|
public static int AI_POWER_DIVISOR = 20; |
|
// Thread constructor |
|
|
|
public MobAIThread() { |
|
Logger.info(" MobAIThread thread has started!"); |
|
|
|
} |
|
|
|
@Override |
|
public void run() { |
|
while (true) { |
|
for (Zone zone : ZoneManager.getAllZones()) { |
|
|
|
for (Mob mob : zone.zoneMobSet) { |
|
|
|
try { |
|
if (mob != null) |
|
MobAI.DetermineAction(mob); |
|
} catch (Exception e) { |
|
Logger.error("Mob: " + mob.getName() + " UUID: " + mob.getObjectUUID() + " ERROR: " + e); |
|
e.printStackTrace(); |
|
} |
|
} |
|
} |
|
} |
|
} |
|
public static void startAIThread() { |
|
Thread aiThread; |
|
aiThread = new Thread(new MobAIThread()); |
|
aiThread.setName("aiThread"); |
|
aiThread.start(); |
|
} |
|
}
|
|
|