@Override public boolean behave(double time) { if (RandomUtil.getRandomInt(200) == 0) { double a = RandomUtil.getRandomGaussian(RandomUtil.getRandomDouble(Angles.PI_2), 0.1); double rad = 300; SceneEntity target = temple; double speed = RandomUtil.getRandomDouble(0.1) + 0.2; double x = rad * Math.cos(a); double y = rad * Math.sin(a); double ang = Math.atan2(target.getAABB().y - y, target.getAABB().x - x); Vector2D velocity = new Vector2D(speed * Math.cos(ang), speed * Math.sin(ang)); SpawnerBubble spawner = new SpawnerBubble(getSceneVeil(), x, y, 180. + Angles.toDegrees(a), velocity, target, 20); spawners.add(spawner); getSceneVeil().addEntity(spawner); } return false; }