during simulation of declare attackers, each creature that has a choice has 50% chance of attacking

master
melvin 2011-07-03 21:37:15 +08:00
parent a5a45145e3
commit 4a5272f41e
1 changed files with 26 additions and 0 deletions

View File

@ -9,6 +9,7 @@ import magic.model.MagicGame;
import magic.model.MagicPermanent;
import magic.model.MagicPermanentState;
import magic.model.MagicPlayer;
import magic.model.MagicRandom;
import magic.model.MagicSource;
import magic.model.event.MagicEvent;
import magic.ui.GameController;
@ -34,6 +35,31 @@ public class MagicDeclareAttackersChoice extends MagicChoice {
return builder.buildResults();
}
@Override
public Object[] getSimulationChoiceResult(
final MagicGame game,
final MagicEvent event,
final MagicPlayer player,
final MagicSource source) {
final MagicDeclareAttackersResult result = new MagicDeclareAttackersResult();
final MagicCombatCreatureBuilder builder = new MagicCombatCreatureBuilder(game,player,game.getOpponent(player));
builder.buildBlockers();
if (builder.buildAttackers()) {
for (final MagicCombatCreature attacker : builder.getAttackers()) {
if (attacker.hasAbility(MagicAbility.AttacksEachTurnIfAble) ||
MagicRandom.nextInt(2) == 1) {
//creatures must attack OR
//creature has 50% chance of attacking
result.add(attacker.permanent);
}
}
}
return new Object[]{result};
}
@Override
public Object[] getPlayerChoiceResults(
final GameController controller,