forked from MagicBane/Server
invis mob solution
This commit is contained in:
@@ -9,6 +9,7 @@
|
|||||||
package engine.mobileAI;
|
package engine.mobileAI;
|
||||||
|
|
||||||
import engine.Enum;
|
import engine.Enum;
|
||||||
|
import engine.InterestManagement.InterestManager;
|
||||||
import engine.InterestManagement.WorldGrid;
|
import engine.InterestManagement.WorldGrid;
|
||||||
import engine.gameManager.*;
|
import engine.gameManager.*;
|
||||||
import engine.math.Vector3f;
|
import engine.math.Vector3f;
|
||||||
@@ -161,6 +162,12 @@ public class MobAI {
|
|||||||
if (target.getPet().getCombatTarget() == null && target.getPet().assist == true)
|
if (target.getPet().getCombatTarget() == null && target.getPet().assist == true)
|
||||||
target.getPet().setCombatTarget(mob);
|
target.getPet().setCombatTarget(mob);
|
||||||
|
|
||||||
|
try{
|
||||||
|
InterestManager.forceLoad(mob);
|
||||||
|
}catch(Exception e){
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
Logger.info(mob.getObjectUUID() + " " + mob.getName() + " Failed At: AttackPlayer" + " " + e.getMessage());
|
Logger.info(mob.getObjectUUID() + " " + mob.getName() + " Failed At: AttackPlayer" + " " + e.getMessage());
|
||||||
}
|
}
|
||||||
@@ -1221,6 +1228,7 @@ public class MobAI {
|
|||||||
if (!mob.BehaviourType.isWimpy && mob.getCombatTarget() != null)
|
if (!mob.BehaviourType.isWimpy && mob.getCombatTarget() != null)
|
||||||
CheckForAttack(mob);
|
CheckForAttack(mob);
|
||||||
|
|
||||||
|
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
Logger.info(mob.getObjectUUID() + " " + mob.getName() + " Failed At: DefaultLogic" + " " + e.getMessage());
|
Logger.info(mob.getObjectUUID() + " " + mob.getName() + " Failed At: DefaultLogic" + " " + e.getMessage());
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -43,14 +43,13 @@ public class MobRespawnThread implements Runnable {
|
|||||||
if (zones != null) {
|
if (zones != null) {
|
||||||
for (Zone zone : zones) {
|
for (Zone zone : zones) {
|
||||||
synchronized (zone) { // Optional: Synchronize on zone
|
synchronized (zone) { // Optional: Synchronize on zone
|
||||||
if (!zone.respawnQue.isEmpty() &&
|
if (!Zone.respawnQue.isEmpty() && Zone.lastRespawn + RESPAWN_INTERVAL < System.currentTimeMillis()) {
|
||||||
zone.lastRespawn + RESPAWN_INTERVAL < System.currentTimeMillis()) {
|
|
||||||
|
|
||||||
Mob respawner = zone.respawnQue.iterator().next();
|
Mob respawner = Zone.respawnQue.iterator().next();
|
||||||
if (respawner != null) {
|
if (respawner != null) {
|
||||||
respawner.respawn();
|
respawner.respawn();
|
||||||
zone.respawnQue.remove(respawner);
|
Zone.respawnQue.remove(respawner);
|
||||||
zone.lastRespawn = System.currentTimeMillis();
|
Zone.lastRespawn = System.currentTimeMillis();
|
||||||
Thread.sleep(100);
|
Thread.sleep(100);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user