diff --git a/src/engine/objects/Corpse.java b/src/engine/objects/Corpse.java index ae661b3a..a0ad105c 100644 --- a/src/engine/objects/Corpse.java +++ b/src/engine/objects/Corpse.java @@ -63,10 +63,8 @@ public class Corpse extends AbstractWorldObject { this.inBuilding = belongsTo.getInBuilding(); this.inFloorID = belongsTo.getInFloorID(); this.inBuildingID = belongsTo.getInBuildingID(); - if(belongsTo.isMoving()) - this.setLoc(belongsTo.getMovementLoc()); - else - this.setLoc(belongsTo.getLoc()); + belongsTo.stopMovement(belongsTo.getMovementLoc()); + this.setLoc(belongsTo.getMovementLoc()); } else { Logger.error("No player passed in for corpse"); this.firstName = ""; diff --git a/src/engine/objects/Mob.java b/src/engine/objects/Mob.java index a635b525..72f7d26e 100644 --- a/src/engine/objects/Mob.java +++ b/src/engine/objects/Mob.java @@ -858,6 +858,9 @@ public class Mob extends AbstractIntelligenceAgent { public void updateLocation() { + if(true) + return; + if (!this.isMoving()) return; diff --git a/src/engine/server/world/WorldServer.java b/src/engine/server/world/WorldServer.java index ad588203..a73e8254 100644 --- a/src/engine/server/world/WorldServer.java +++ b/src/engine/server/world/WorldServer.java @@ -247,20 +247,24 @@ public class WorldServer { nextWareHousePushTime = LocalDateTime.now().plusMinutes(15); } - switch(LocalDateTime.now().getHour()){ - case 0: - case 4: - case 8: - case 12: - case 16: - case 20: - for(Mob dropper : Mob.disciplineDroppers) { - if (!dropper.isAlive()) { - Zone.respawnQue.add(dropper); + + if(LocalDateTime.now().isAfter(nextDiscSpawn)) { + switch (LocalDateTime.now().getHour()) { + case 0: + case 4: + case 8: + case 12: + case 16: + case 20: + for (Mob dropper : Mob.disciplineDroppers) { + if (!dropper.isAlive()) { + Zone.respawnQue.add(dropper); + } } - } - break; + break; + } + nextDiscSpawn = nextDiscSpawn.plusHours(1); } ThreadUtils.sleep(50); }