@Override public boolean update(SolGame game, SolShip owner, boolean tryToUse) { myShouldTeleport = false; if (!tryToUse) return false; Vector2 pos = owner.getPos(); Fraction frac = owner.getPilot().getFraction(); SolShip ne = game.getFractionMan().getNearestEnemy(game, MAX_RADIUS, frac, pos); if (ne == null) return false; Vector2 nePos = ne.getPos(); Planet np = game.getPlanetMan().getNearestPlanet(); if (np.isNearGround(nePos)) return false; for (int i = 0; i < 5; i++) { myNewPos.set(pos); myNewPos.sub(nePos); myAngle = myConfig.angle * SolMath.rnd(.5f, 1) * SolMath.toInt(SolMath.test(.5f)); SolMath.rotate(myNewPos, myAngle); myNewPos.add(nePos); if (game.isPlaceEmpty(myNewPos, false)) { myShouldTeleport = true; return true; } } return false; }