diff --git a/src/main/java/forge/Card.java b/src/main/java/forge/Card.java index c35ce09aa0b..7daaf5445c8 100644 --- a/src/main/java/forge/Card.java +++ b/src/main/java/forge/Card.java @@ -268,6 +268,7 @@ public class Card extends GameEntity implements Comparable { // regeneration private int nShield; + private int regeneratedThisTurn; private int turnInZone; @@ -2853,6 +2854,18 @@ public class Card extends GameEntity implements Comparable { public final void subtractShield() { nShield--; } + + public final void addRegeneratedThisTurn() { + regeneratedThisTurn += 1; + } + + public final int getRegeneratedThisTurn() { + return regeneratedThisTurn; + } + + public final void setRegeneratedThisTurn(final int n) { + regeneratedThisTurn = n; + } /** *

diff --git a/src/main/java/forge/GameAction.java b/src/main/java/forge/GameAction.java index 54623ad9445..d3b3ced3e18 100644 --- a/src/main/java/forge/GameAction.java +++ b/src/main/java/forge/GameAction.java @@ -1215,6 +1215,7 @@ public class GameAction { c.subtractShield(); c.setDamage(0); c.tap(); + c.addRegeneratedThisTurn(); AllZone.getCombat().removeFromCombat(c); return false; } diff --git a/src/main/java/forge/Phase.java b/src/main/java/forge/Phase.java index 6fb51dcecd1..bbe7884868e 100644 --- a/src/main/java/forge/Phase.java +++ b/src/main/java/forge/Phase.java @@ -380,6 +380,7 @@ public class Phase extends MyObservable implements java.io.Serializable { c.resetDealtDamageToThisTurn(); c.setDealtDmgToHumanThisTurn(false); c.setDealtDmgToComputerThisTurn(false); + c.setRegeneratedThisTurn(0); } AllZone.getHumanPlayer().resetPreventNextDamage(); AllZone.getComputerPlayer().resetPreventNextDamage(); diff --git a/src/main/java/forge/card/cardfactory/CardFactoryUtil.java b/src/main/java/forge/card/cardfactory/CardFactoryUtil.java index be4f4849dc5..edb28c4ba29 100644 --- a/src/main/java/forge/card/cardfactory/CardFactoryUtil.java +++ b/src/main/java/forge/card/cardfactory/CardFactoryUtil.java @@ -2922,6 +2922,10 @@ public class CardFactoryUtil { if (sq[0].equals("DamageDoneThisTurn")) { return CardFactoryUtil.doXMath(c.getDamageDoneThisTurn(), m, c); } + + if (sq[0].contains("RegeneratedThisTurn")) { + return CardFactoryUtil.doXMath(c.getRegeneratedThisTurn(), m, c); + } CardList someCards = new CardList();