@Override public boolean apply(Game game, Ability source) { Player player1 = game.getPlayer(source.getFirstTarget()); Player player2 = game.getPlayer(source.getTargets().get(1).getFirstTarget()); if (player1 != null && player2 != null) { int lifePlayer1 = player1.getLife(); int lifePlayer2 = player2.getLife(); if (lifePlayer1 == lifePlayer2) return false; if (!player1.isLifeTotalCanChange() || !player2.isLifeTotalCanChange()) return false; // 20110930 - 118.7, 118.8 if (lifePlayer1 < lifePlayer2 && (!player1.isCanGainLife() || !player2.isCanLoseLife())) return false; if (lifePlayer1 > lifePlayer2 && (!player1.isCanLoseLife() || !player2.isCanGainLife())) return false; player1.setLife(lifePlayer2, game); player2.setLife(lifePlayer1, game); return true; } return false; }