Combat ends if no defenders

Some commands put you in combat even without a defender, so this will
end that combat after a few seconds.
This commit is contained in:
Treeku
2014-06-02 17:58:13 +01:00
parent a8aaae692b
commit 1f18e8c585
+11 -7
View File
@@ -126,6 +126,13 @@ public class PlayerService implements INetworkDispatch {
creature.getClient().getSession().write(packet);
}, 45, 45, TimeUnit.SECONDS));
scheduleList.add(scheduler.scheduleAtFixedRate(() -> {
PlayerObject player = (PlayerObject) creature.getSlottedObject("ghost");
player.setTotalPlayTime((int) (player.getTotalPlayTime() + ((System.currentTimeMillis() - player.getLastPlayTimeUpdate()) / 1000)));
player.setLastPlayTimeUpdate(System.currentTimeMillis());
core.collectionService.checkExplorationRegions(creature);
}, 30, 30, TimeUnit.SECONDS));
scheduleList.add(scheduler.scheduleAtFixedRate(() -> {
if (creature.isInStealth() && !creature.getOption(Options.INVULNERABLE) && ((PlayerObject) creature.getSlottedObject("ghost")).getGodLevel() == 0) {
List<SWGObject> objects = core.simulationService.get(creature.getPlanet(), creature.getPosition().x, creature.getPosition().z, 64);
@@ -149,15 +156,12 @@ public class PlayerService implements INetworkDispatch {
}
}
}
if (creature.getDefendersList().size() == 0 && creature.isInCombat()) {
creature.setInCombat(false);
}
}, 15, 15, TimeUnit.SECONDS));
scheduleList.add(scheduler.scheduleAtFixedRate(() -> {
PlayerObject player = (PlayerObject) creature.getSlottedObject("ghost");
player.setTotalPlayTime((int) (player.getTotalPlayTime() + ((System.currentTimeMillis() - player.getLastPlayTimeUpdate()) / 1000)));
player.setLastPlayTimeUpdate(System.currentTimeMillis());
core.collectionService.checkExplorationRegions(creature);
}, 30, 30, TimeUnit.SECONDS));
scheduleList.add(scheduler.scheduleAtFixedRate(() -> {
if(creature.getAction() < creature.getMaxAction() && creature.getPosture() != 14) {
if(!creature.isInCombat())