mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-16 10:48:00 +00:00
- Added Wiitigo.
This commit is contained in:
1
.gitattributes
vendored
1
.gitattributes
vendored
@@ -12701,6 +12701,7 @@ res/cardsfolder/w/wicker_warcrawler.txt svneol=native#text/plain
|
||||
res/cardsfolder/w/wickerbough_elder.txt svneol=native#text/plain
|
||||
res/cardsfolder/w/wielding_the_green_dragon.txt svneol=native#text/plain
|
||||
res/cardsfolder/w/wight_of_precinct_six.txt -text
|
||||
res/cardsfolder/w/wiitigo.txt -text
|
||||
res/cardsfolder/w/wild_aesthir.txt svneol=native#text/plain
|
||||
res/cardsfolder/w/wild_beastmaster.txt -text
|
||||
res/cardsfolder/w/wild_cantor.txt svneol=native#text/plain
|
||||
|
||||
10
res/cardsfolder/w/wiitigo.txt
Normal file
10
res/cardsfolder/w/wiitigo.txt
Normal file
@@ -0,0 +1,10 @@
|
||||
Name:Wiitigo
|
||||
ManaCost:3 G G G
|
||||
Types:Creature Yeti
|
||||
PT:0/0
|
||||
K:etbCounter:P1P1:6
|
||||
T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigPutCounter2 | TriggerDescription$ At the beginning of your upkeep, put a +1/+1 counter on CARDNAME if it has blocked or been blocked since your last upkeep. Otherwise, remove a +1/+1 counter from it.
|
||||
SVar:TrigPutCounter2:AB$ PutCounter | Cost$ 0 | CounterType$ P1P1 | CounterNum$ 1 | ConditionPresent$ Card.Self+blockedOrBeenBlockedSinceYourLastUpkeep | SubAbility$ RemCounter
|
||||
SVar:RemCounter:DB$ RemoveCounter | CounterType$ P1P1 | CounterNum$ 1 | ConditionPresent$ Card.Self+blockedOrBeenBlockedSinceYourLastUpkeep | ConditionCompare$ EQ0
|
||||
SVar:Picture:http://www.wizards.com/global/images/magic/general/wiitigo.jpg
|
||||
Oracle:Wiitigo enters the battlefield with six +1/+1 counters on it.\nAt the beginning of your upkeep, put a +1/+1 counter on Wiitigo if it has blocked or been blocked since your last upkeep. Otherwise, remove a +1/+1 counter from it.
|
||||
@@ -6146,6 +6146,11 @@ public class Card extends GameEntity implements Comparable<Card> {
|
||||
&& !this.getDamageHistory().hasBlockedSinceLastUpkeepOf(sourceController)) {
|
||||
return false;
|
||||
}
|
||||
} else if (property.equals("blockedOrBeenBlockedSinceYourLastUpkeep")) {
|
||||
if (!this.getDamageHistory().hasBeenBlockedSinceLastUpkeepOf(sourceController)
|
||||
&& !this.getDamageHistory().hasBlockedSinceLastUpkeepOf(sourceController)) {
|
||||
return false;
|
||||
}
|
||||
} else if (property.startsWith("dealtDamageToYouThisTurn")) {
|
||||
if (!this.getDamageHistory().getThisTurnDamaged().contains(sourceController)) {
|
||||
return false;
|
||||
|
||||
@@ -22,6 +22,7 @@ public class CardDamageHistory {
|
||||
private final List<Player> creatureAttackedLastTurnOf = new ArrayList<Player>();
|
||||
private final List<Player> NotAttackedSinceLastUpkeepOf = new ArrayList<Player>();
|
||||
private final List<Player> NotBlockedSinceLastUpkeepOf = new ArrayList<Player>();
|
||||
private final List<Player> NotBeenBlockedSinceLastUpkeepOf = new ArrayList<Player>();
|
||||
private final List<Player> damagedThisTurn = new ArrayList<Player>();
|
||||
private final List<Player> damagedThisTurnInCombat = new ArrayList<Player>();
|
||||
private final List<Player> damagedThisGame = new ArrayList<Player>();
|
||||
@@ -169,6 +170,31 @@ public class CardDamageHistory {
|
||||
public final boolean hasBlockedSinceLastUpkeepOf(final Player p) {
|
||||
return !NotBlockedSinceLastUpkeepOf.contains(p);
|
||||
}
|
||||
/**
|
||||
* <p>
|
||||
* Setter for the field <code>NotAttackedSinceLastUpkeepOf</code>.
|
||||
* </p>
|
||||
*
|
||||
* @param value
|
||||
* a boolean.
|
||||
*/
|
||||
public final void setNotBeenBlockedSinceLastUpkeepOf(final Player p) {
|
||||
NotBeenBlockedSinceLastUpkeepOf.add(p);
|
||||
}
|
||||
|
||||
public final void clearNotBeenBlockedSinceLastUpkeepOf() {
|
||||
NotBeenBlockedSinceLastUpkeepOf.clear();
|
||||
}
|
||||
/**
|
||||
* <p>
|
||||
* Getter for the field <code>NotAttackedSinceLastUpkeepOf</code>.
|
||||
* </p>
|
||||
*
|
||||
* @return a boolean.
|
||||
*/
|
||||
public final boolean hasBeenBlockedSinceLastUpkeepOf(final Player p) {
|
||||
return !NotBeenBlockedSinceLastUpkeepOf.contains(p);
|
||||
}
|
||||
/**
|
||||
* <p>
|
||||
* Setter for the field <code>creatureBlockedThisCombat</code>.
|
||||
|
||||
@@ -300,6 +300,7 @@ public class GameAction {
|
||||
for (Player p : game.getPlayers()) {
|
||||
copied.getDamageHistory().setNotAttackedSinceLastUpkeepOf(p);
|
||||
copied.getDamageHistory().setNotBlockedSinceLastUpkeepOf(p);
|
||||
copied.getDamageHistory().setNotBeenBlockedSinceLastUpkeepOf(p);
|
||||
}
|
||||
} else if (zoneTo.is(ZoneType.Graveyard)) {
|
||||
copied.setTimestamp(game.getNextTimestamp());
|
||||
|
||||
@@ -446,6 +446,7 @@ public class PhaseHandler implements java.io.Serializable {
|
||||
for (Card c : game.getCardsIn(ZoneType.Battlefield)) {
|
||||
c.getDamageHistory().setNotAttackedSinceLastUpkeepOf(this.getPlayerTurn());
|
||||
c.getDamageHistory().setNotBlockedSinceLastUpkeepOf(this.getPlayerTurn());
|
||||
c.getDamageHistory().setNotBeenBlockedSinceLastUpkeepOf(this.getPlayerTurn());
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -629,6 +630,10 @@ public class PhaseHandler implements java.io.Serializable {
|
||||
}
|
||||
|
||||
for (final Card a : combat.getAttackers()) {
|
||||
if (combat.isBlocked(a)) {
|
||||
a.getDamageHistory().clearNotBeenBlockedSinceLastUpkeepOf();
|
||||
}
|
||||
|
||||
List<Card> blockers = combat.getBlockers(a);
|
||||
if ( blockers.isEmpty() )
|
||||
continue;
|
||||
|
||||
Reference in New Issue
Block a user