From d76403a0c83d0376e99ae0b32988b3bc8a6f2ee1 Mon Sep 17 00:00:00 2001 From: FatBoy-DOTC Date: Mon, 10 Feb 2025 19:34:26 -0600 Subject: [PATCH] Ai Players --- src/engine/AiPlayers/AiPlayer.java | 6 ++++-- src/engine/AiPlayers/AiPlayerManager.java | 7 +++++-- src/engine/workthreads/UpdateThread.java | 7 +++++++ 3 files changed, 16 insertions(+), 4 deletions(-) diff --git a/src/engine/AiPlayers/AiPlayer.java b/src/engine/AiPlayers/AiPlayer.java index 0cd6fc0f..0d1ddc3b 100644 --- a/src/engine/AiPlayers/AiPlayer.java +++ b/src/engine/AiPlayers/AiPlayer.java @@ -60,9 +60,11 @@ public class AiPlayer { } public void runAfterLoad(){ - WorldGrid.addObject(this.emulated,this.emulated.bindLoc.x,this.emulated.bindLoc.z); City hamlet = AiPlayerManager.getRandomHamlet(); - this.emulated.teleport(Vector3fImmutable.getRandomPointOnCircle(hamlet.getTOL().loc,30)); + Vector3fImmutable binder = Vector3fImmutable.getRandomPointOnCircle(hamlet.getTOL().loc,30); + this.emulated.bindLoc = binder; + WorldGrid.addObject(this.emulated,binder.x,binder.z); + this.emulated.setLoc(binder); WorldGrid.updateObject(this.emulated); this.emulated.removeEffectBySource(Enum.EffectSourceType.Invisibility,40,true); this.emulated.removeEffectBySource(Enum.EffectSourceType.Invulnerability,40,true); diff --git a/src/engine/AiPlayers/AiPlayerManager.java b/src/engine/AiPlayers/AiPlayerManager.java index e2098951..e2b62e1b 100644 --- a/src/engine/AiPlayers/AiPlayerManager.java +++ b/src/engine/AiPlayers/AiPlayerManager.java @@ -36,9 +36,12 @@ public class AiPlayerManager { while(AiPlayers.size() < totalPlayers){ try { AiPlayer aiPlayer = new AiPlayer(); - if (aiPlayer != null) - if (aiPlayer.emulated != null) + if (aiPlayer != null) { + if (aiPlayer.emulated != null) { AiPlayers.add(aiPlayer); + aiPlayer.runAfterLoad(); + } + } }catch(Exception e){ Logger.error(e); } diff --git a/src/engine/workthreads/UpdateThread.java b/src/engine/workthreads/UpdateThread.java index 27d5f4b2..d180749a 100644 --- a/src/engine/workthreads/UpdateThread.java +++ b/src/engine/workthreads/UpdateThread.java @@ -9,6 +9,8 @@ package engine.workthreads; +import engine.AiPlayers.AiPlayer; +import engine.AiPlayers.AiPlayerManager; import engine.Enum; import engine.gameManager.SessionManager; import engine.gameManager.SimulationManager; @@ -35,6 +37,11 @@ public class UpdateThread implements Runnable { player.update(true); } } + for(AiPlayer player : AiPlayerManager.AiPlayers){ + if (player != null) { + player.update(); + } + } } catch (Exception e) { Logger.error("UPDATE ERROR",e); }