restore kicker to MagicPermanent, needed for enters with X +1/+1 counters

master
melvin 2013-06-19 12:18:44 +08:00
parent a8d133e1cf
commit 1fb607ee59
2 changed files with 12 additions and 3 deletions

View File

@ -57,6 +57,7 @@ public class MagicPermanent implements MagicSource,MagicTarget,Comparable<MagicP
private int abilityPlayedThisTurn;
private int damage;
private int preventDamage;
private int kicker;
private int fixedScore;
private int score;
@ -107,6 +108,7 @@ public class MagicPermanent implements MagicSource,MagicTarget,Comparable<MagicP
chosenTarget = copyMap.copy(sourcePermanent.chosenTarget);
damage=sourcePermanent.damage;
preventDamage=sourcePermanent.preventDamage;
kicker=sourcePermanent.kicker;
fixedScore=sourcePermanent.fixedScore;
score=sourcePermanent.score;
stateId=sourcePermanent.stateId;
@ -148,6 +150,7 @@ public class MagicPermanent implements MagicSource,MagicTarget,Comparable<MagicP
stateFlags,
damage,
preventDamage,
kicker,
equippedCreature.getStateId(),
enchantedCreature.getStateId(),
blockedCreature.getStateId(),
@ -485,12 +488,16 @@ public class MagicPermanent implements MagicSource,MagicTarget,Comparable<MagicP
preventDamage=amount;
}
public void setKicker(final int aKicker) {
kicker = aKicker;
}
public int getKicker() {
return card.getKicker();
return kicker;
}
public boolean isKicked() {
return card.isKicked();
return kicker > 0;
}
public int getLethalDamage(final int toughness) {

View File

@ -27,6 +27,8 @@ public class MagicPlayCardFromStackAction extends MagicPutIntoPlayAction {
@Override
protected MagicPermanent createPermanent(final MagicGame game) {
cardOnStack.setMoveLocation(MagicLocationType.Play);
return game.createPermanent(cardOnStack.getCard(),cardOnStack.getController());
final MagicPermanent permanent = game.createPermanent(cardOnStack.getCard(),cardOnStack.getController());
permanent.setKicker(kicker);
return permanent;
}
}