*Added wasCastFrom<Zone> card property. It is set when the card is moved to the stack and cleared whenever it is moved anywhere else except from the stack to the battlefield(for Myojins,Phage,Iname, Epochrasite etc...)

*Added wasNotCastFrom<Zone> as well, doi.
*Added Count$wasCastFrom<Zone>.<truevalue>.<falsevalue>
*Converted
	Burning Vengeance
	Coal Stoker
	Dread Cacodemon
	Furnace Dragon
	Hypnox
	Iname as One
	Myojin of Cleansing Fire
	Myojin of Infinite Rage
	Myojin of Life's Web
	Myojin of Night's Reach
	Myojin of Seeing Winds
	Reiver Demon
This commit is contained in:
Hellfish
2012-01-11 09:57:00 +00:00
parent 993196f0fd
commit fd959651fe
15 changed files with 65 additions and 24 deletions

View File

@@ -2,7 +2,8 @@ Name:Burning Vengeance
ManaCost:2 R ManaCost:2 R
Types:Enchantment Types:Enchantment
Text:no text Text:no text
T:Mode$ ChangesZone | ValidCard$ Card.YouOwn | Origin$ Graveyard | Destination$ Stack | Execute$ TrigDamage | TriggerZones$ Battlefield | TriggerDescription$ Whenever you cast a spell from your graveyard, CARDNAME deals 2 damage to target creature or player. T:Mode$ SpellCast | ValidCard$ Card.YouOwn+wasCastFromGraveyard | Execute$ TrigDamage | TriggerZones$ Battlefield | TriggerDescription$ Whenever you cast a spell from your graveyard, CARDNAME deals 2 damage to target creature or player.
#T:Mode$ ChangesZone | ValidCard$ Card.YouOwn | Origin$ Graveyard | Destination$ Stack | Execute$ TrigDamage | TriggerZones$ Battlefield | TriggerDescription$ Whenever you cast a spell from your graveyard, CARDNAME deals 2 damage to target creature or player.
SVar:TrigDamage:AB$ DealDamage | Cost$ 0| Tgt$ TgtCP | NumDmg$ 2 SVar:TrigDamage:AB$ DealDamage | Cost$ 0| Tgt$ TgtCP | NumDmg$ 2
SVar:RemRandomDeck:True SVar:RemRandomDeck:True
SVar:Rarity:Uncommon SVar:Rarity:Uncommon

View File

@@ -3,8 +3,7 @@ ManaCost:3 R
Types:Creature Elemental Types:Creature Elemental
Text:no text Text:no text
PT:3/3 PT:3/3
T:Mode$ ChangesZone | ValidCard$ Card.Self | Origin$ Hand | Destination$ Stack | Static$ True | DelayedTrigger$ CastFromHand | TriggerDescription$ When CARDNAME enters the battlefield, if you cast it from your hand, add R R R to your mana pool. T:Mode$ ChangesZone | Destination$ Battlefield | ValidCard$ Card.wasCastFromHand+Self | Execute$ TrigMana | TriggerDescription$ When CARDNAME enters the battlefield, if you cast it from your hand, add R R R to your mana pool.
SVar:CastFromHand:Mode$ ChangesZone | Origin$ Stack | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigMana | TriggerDescription$ When CARDNAME enters the battlefield, if you cast it from your hand, add R R R to your mana pool.
SVar:TrigMana:AB$Mana | Cost$ 0 | Produced$ R | Amount$ 3 SVar:TrigMana:AB$Mana | Cost$ 0 | Produced$ R | Amount$ 3
SVar:Rarity:Common SVar:Rarity:Common
SVar:Picture:http://www.wizards.com/global/images/magic/general/coal_stoker.jpg SVar:Picture:http://www.wizards.com/global/images/magic/general/coal_stoker.jpg

View File

@@ -3,8 +3,7 @@ ManaCost:7 B B B
Types:Creature Demon Types:Creature Demon
Text:no text Text:no text
PT:8/8 PT:8/8
T:Mode$ ChangesZone | ValidCard$ Card.Self | Origin$ Hand | Destination$ Stack | Static$ True | DelayedTrigger$ CastFromHand | TriggerDescription$ When CARDNAME enters the battlefield, if you cast it from your hand, destroy all creatures your opponents control, then tap all other creatures you control. T:Mode$ ChangesZone | ValidCard$ Card.wasCastFromHand+Self | Destination$ Battlefield | Execute$ TrigDestroy | TriggerDescription$ When CARDNAME enters the battlefield, if you cast it from your hand, destroy all creatures your opponents control, then tap all other creatures you control.
SVar:CastFromHand:Mode$ ChangesZone | ValidCard$ Card.Self | Origin$ Stack | Destination$ Battlefield | Execute$ TrigDestroy | TriggerDescription$ When CARDNAME enters the battlefield, if you cast it from your hand, destroy all creatures your opponents control, then tap all other creatures you control.
SVar:TrigDestroy:AB$ DestroyAll | Cost$ 0 | ValidCards$ Creature.YouDontCtrl | SubAbility$ DBTapAll SVar:TrigDestroy:AB$ DestroyAll | Cost$ 0 | ValidCards$ Creature.YouDontCtrl | SubAbility$ DBTapAll
SVar:DBTapAll:DB$TapAll | ValidCards$ Creature.YouCtrl+Other SVar:DBTapAll:DB$TapAll | ValidCards$ Creature.YouCtrl+Other
SVar:RemAIDeck:True SVar:RemAIDeck:True

View File

@@ -5,8 +5,7 @@ Text:Affinity for artifacts (This spell costs 1 less to cast for each artifact y
PT:5/5 PT:5/5
K:Flying K:Flying
K:CostChange:Player:Less:1:Self:All:All:Affinity/Artifact K:CostChange:Player:Less:1:Self:All:All:Affinity/Artifact
T:Mode$ ChangesZone | ValidCard$ Card.Self | Origin$ Hand | Destination$ Stack | Static$ True | DelayedTrigger$ CastFromHand T:Mode$ ChangesZone | ValidCard$ Card.wasCastFromHand+Self | Destination$ Battlefield | Execute$ TrigExile | TriggerDescription$ When CARDNAME enters the battlefield, if you cast it from your hand, exile all artifacts.
SVar:CastFromHand:Mode$ ChangesZone | ValidCard$ Card.Self | Origin$ Stack | Destination$ Battlefield | Execute$ TrigExile | TriggerDescription$ When CARDNAME enters the battlefield, if you cast it from your hand, exile all artifacts.
SVar:TrigExile:AB$ChangeZoneAll | Cost$ 0 | ChangeType$ Artifact | Origin$ Battlefield | Destination$ Exile SVar:TrigExile:AB$ChangeZoneAll | Cost$ 0 | ChangeType$ Artifact | Origin$ Battlefield | Destination$ Exile
SVar:Rarity:Rare SVar:Rarity:Rare
SVar:Picture:http://www.wizards.com/global/images/magic/general/furnace_dragon.jpg SVar:Picture:http://www.wizards.com/global/images/magic/general/furnace_dragon.jpg

View File

@@ -4,8 +4,7 @@ Types:Creature Nightmare Horror
Text:no text Text:no text
PT:8/8 PT:8/8
K:Flying K:Flying
T:Mode$ ChangesZone | ValidCard$ Card.Self | Origin$ Hand | Destination$ Stack | Static$ True | DelayedTrigger$ CastFromHand | TriggerDescription$ When CARDNAME enters the battlefield, if you cast it from your hand, exile all cards from target opponent's hand. T:Mode$ ChangesZone | ValidCard$ Card.wasCastFromHand+Self | Destination$ Battlefield | Execute$ TrigExile | TriggerDescription$ When CARDNAME enters the battlefield, if you cast it from your hand, exile all cards from target opponent's hand.
SVar:CastFromHand:Mode$ ChangesZone | ValidCard$ Card.Self | Origin$ Stack | Destination$ Battlefield | Execute$ TrigExile | TriggerDescription$ When CARDNAME enters the battlefield, if you cast it from your hand, exile all cards from target opponent's hand.
SVar:TrigExile:AB$ChangeZoneAll | Cost$ 0 | ValidTgts$ Opponent | ChangeType$ Card.YouDontCtrl | Origin$ Hand | Destination$ Exile | RememberChanged$ True SVar:TrigExile:AB$ChangeZoneAll | Cost$ 0 | ValidTgts$ Opponent | ChangeType$ Card.YouDontCtrl | Origin$ Hand | Destination$ Exile | RememberChanged$ True
T:Mode$ ChangesZone | ValidCard$ Card.Self | Origin$ Battlefield | Destination$ Any | Execute$ TrigReturn | TriggerDescription$ When CARDNAME leaves the battlefield, return the exiled cards to their owner's hand. T:Mode$ ChangesZone | ValidCard$ Card.Self | Origin$ Battlefield | Destination$ Any | Execute$ TrigReturn | TriggerDescription$ When CARDNAME leaves the battlefield, return the exiled cards to their owner's hand.
SVar:TrigReturn:AB$ChangeZone | Cost$ 0 | Defined$ Remembered | Origin$ Exile | Destination$ Hand | SubAbility$ DBCleanup SVar:TrigReturn:AB$ChangeZone | Cost$ 0 | Defined$ Remembered | Origin$ Exile | Destination$ Hand | SubAbility$ DBCleanup

View File

@@ -3,8 +3,7 @@ ManaCost:8 B B G G
Types:Legendary Creature Spirit Types:Legendary Creature Spirit
Text:no text Text:no text
PT:8/8 PT:8/8
T:Mode$ ChangesZone | ValidCard$ Card.Self | Origin$ Hand | Destination$ Stack | Static$ True | DelayedTrigger$ CastFromHand T:Mode$ ChangesZone | ValidCard$ Card.wasCastFromHand+Self | Destination$ Battlefield | Execute$ TrigSearch | OptionalDecider$ You | TriggerDescription$ When CARDNAME enters the battlefield, if you cast it from your hand, you may search your library for a Spirit permanent card, put it onto the battlefield, then shuffle your library.
SVar:CastFromHand:Mode$ ChangesZone | ValidCard$ Card.Self | Origin$ Stack | Destination$ Battlefield | Execute$ TrigSearch | OptionalDecider$ You | TriggerDescription$ When CARDNAME enters the battlefield, if you cast it from your hand, you may search your library for a Spirit permanent card, put it onto the battlefield, then shuffle your library.
SVar:TrigSearch:AB$ChangeZone | Cost$ 0 | Origin$ Library | Destination$ Battlefield | ChangeType$ Spirit.YouCtrl | ChangeNum$ 1 SVar:TrigSearch:AB$ChangeZone | Cost$ 0 | Origin$ Library | Destination$ Battlefield | ChangeType$ Spirit.YouCtrl | ChangeNum$ 1
T:Mode$ ChangesZone | ValidCard$ Card.Self | Origin$ Battlefield | Destination$ Graveyard | Execute$ TrigExile | OptionalDecider$ You | TriggerDescription$ When CARDNAME dies, you may exile it. If you do, return target Spirit permanent card from your graveyard to the battlefield. T:Mode$ ChangesZone | ValidCard$ Card.Self | Origin$ Battlefield | Destination$ Graveyard | Execute$ TrigExile | OptionalDecider$ You | TriggerDescription$ When CARDNAME dies, you may exile it. If you do, return target Spirit permanent card from your graveyard to the battlefield.
SVar:TrigExile:AB$ChangeZone | Cost$ 0 | Origin$ Graveyard | Destination$ Exile | ValidCard$ Card.Self | SubAbility$ DBReturn SVar:TrigExile:AB$ChangeZone | Cost$ 0 | Origin$ Graveyard | Destination$ Exile | ValidCard$ Card.Self | SubAbility$ DBReturn

View File

@@ -3,8 +3,7 @@ ManaCost:5 W W W
Types:Legendary Creature Spirit Types:Legendary Creature Spirit
Text:no text Text:no text
PT:4/6 PT:4/6
T:Mode$ ChangesZone | ValidCard$ Card.Self | Origin$ Hand | Destination$ Stack | Static$ True | DelayedTrigger$ CastFromHand | TriggerDescription$ CARDNAME enters the battlefield with a divinity counter on it if you cast it from your hand. T:Mode$ ChangesZone | ValidCard$ Card.wasCastFromHand+Self | Destination$ Battlefield | Static$ True | Execute$ ETBCounter | TriggerDescription$ CARDNAME enters the battlefield with a divinity counter on it if you cast it from your hand.
SVar:CastFromHand:Mode$ ChangesZone | Origin$ Stack | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ ETBCounter | Static$ True
SVar:ETBCounter:AB$PutCounter | Cost$ 0 | Defined$ Self | CounterType$ DIVINITY | CounterNum$ 1 SVar:ETBCounter:AB$PutCounter | Cost$ 0 | Defined$ Self | CounterType$ DIVINITY | CounterNum$ 1
S:Mode$ Continuous | Affected$ Card.Self+counters_GE1_DIVINITY | AddKeyword$ Indestructible | Description$ CARDNAME is indestructible as long as it has a divinity counter on it. S:Mode$ Continuous | Affected$ Card.Self+counters_GE1_DIVINITY | AddKeyword$ Indestructible | Description$ CARDNAME is indestructible as long as it has a divinity counter on it.
A:AB$DestroyAll | Cost$ SubCounter<1/DIVINITY> | ValidCards$ Creature.Other | SpellDescription$ Destroy all other creatures. A:AB$DestroyAll | Cost$ SubCounter<1/DIVINITY> | ValidCards$ Creature.Other | SpellDescription$ Destroy all other creatures.

View File

@@ -3,8 +3,7 @@ ManaCost:7 R R R
Types:Legendary Creature Spirit Types:Legendary Creature Spirit
Text:no text Text:no text
PT:7/4 PT:7/4
T:Mode$ ChangesZone | ValidCard$ Card.Self | Origin$ Hand | Destination$ Stack | Static$ True | DelayedTrigger$ CastFromHand | TriggerDescription$ CARDNAME enters the battlefield with a divinity counter on it if you cast it from your hand. T:Mode$ ChangesZone | ValidCard$ Card.wasCastFromHand+Self | Destination$ Battlefield | Static$ True | Execute$ ETBCounter | TriggerDescription$ CARDNAME enters the battlefield with a divinity counter on it if you cast it from your hand.
SVar:CastFromHand:Mode$ ChangesZone | Origin$ Stack | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ ETBCounter | Static$ True
SVar:ETBCounter:AB$PutCounter | Cost$ 0 | Defined$ Self | CounterType$ DIVINITY | CounterNum$ 1 SVar:ETBCounter:AB$PutCounter | Cost$ 0 | Defined$ Self | CounterType$ DIVINITY | CounterNum$ 1
S:Mode$ Continuous | Affected$ Card.Self+counters_GE1_DIVINITY | AddKeyword$ Indestructible | Description$ CARDNAME is indestructible as long as it has a divinity counter on it. S:Mode$ Continuous | Affected$ Card.Self+counters_GE1_DIVINITY | AddKeyword$ Indestructible | Description$ CARDNAME is indestructible as long as it has a divinity counter on it.
A:AB$DestroyAll | Cost$ SubCounter<1/DIVINITY> | ValidCards$ Land | SpellDescription$ Destroy all lands. A:AB$DestroyAll | Cost$ SubCounter<1/DIVINITY> | ValidCards$ Land | SpellDescription$ Destroy all lands.

View File

@@ -3,8 +3,7 @@ ManaCost:6 G G G
Types:Legendary Creature Spirit Types:Legendary Creature Spirit
Text:no text Text:no text
PT:8/8 PT:8/8
T:Mode$ ChangesZone | ValidCard$ Card.Self | Origin$ Hand | Destination$ Stack | Static$ True | DelayedTrigger$ CastFromHand | TriggerDescription$ CARDNAME enters the battlefield with a divinity counter on it if you cast it from your hand. T:Mode$ ChangesZone | ValidCard$ Card.wasCastFromHand+Self | Destination$ Battlefield | Static$ True | Execute$ ETBCounter | TriggerDescription$ CARDNAME enters the battlefield with a divinity counter on it if you cast it from your hand.
SVar:CastFromHand:Mode$ ChangesZone | Origin$ Stack | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ ETBCounter | Static$ True
SVar:ETBCounter:AB$PutCounter | Cost$ 0 | Defined$ Self | CounterType$ DIVINITY | CounterNum$ 1 SVar:ETBCounter:AB$PutCounter | Cost$ 0 | Defined$ Self | CounterType$ DIVINITY | CounterNum$ 1
S:Mode$ Continuous | Affected$ Card.Self+counters_GE1_DIVINITY | AddKeyword$ Indestructible | Description$ CARDNAME is indestructible as long as it has a divinity counter on it. S:Mode$ Continuous | Affected$ Card.Self+counters_GE1_DIVINITY | AddKeyword$ Indestructible | Description$ CARDNAME is indestructible as long as it has a divinity counter on it.
A:AB$ ChangeZone | Cost$ SubCounter<1/DIVINITY> | Origin$ Hand | Destination$ Battlefield | ChangeType$ Creature | ChangeNum$ X | SpellDescription$ Put any number of creature cards from your hand onto the battlefield. A:AB$ ChangeZone | Cost$ SubCounter<1/DIVINITY> | Origin$ Hand | Destination$ Battlefield | ChangeType$ Creature | ChangeNum$ X | SpellDescription$ Put any number of creature cards from your hand onto the battlefield.

View File

@@ -3,8 +3,7 @@ ManaCost:5 B B B
Types:Legendary Creature Spirit Types:Legendary Creature Spirit
Text:no text Text:no text
PT:5/2 PT:5/2
T:Mode$ ChangesZone | ValidCard$ Card.Self | Origin$ Hand | Destination$ Stack | Static$ True | DelayedTrigger$ CastFromHand | TriggerDescription$ CARDNAME enters the battlefield with a divinity counter on it if you cast it from your hand. T:Mode$ ChangesZone | ValidCard$ Card.wasCastFromHand+Self | Destination$ Battlefield | Static$ True | Execute$ ETBCounter | TriggerDescription$ CARDNAME enters the battlefield with a divinity counter on it if you cast it from your hand.
SVar:CastFromHand:Mode$ ChangesZone | Origin$ Stack | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ ETBCounter | Static$ True
SVar:ETBCounter:AB$PutCounter | Cost$ 0 | Defined$ Self | CounterType$ DIVINITY | CounterNum$ 1 SVar:ETBCounter:AB$PutCounter | Cost$ 0 | Defined$ Self | CounterType$ DIVINITY | CounterNum$ 1
S:Mode$ Continuous | Affected$ Card.Self+counters_GE1_DIVINITY | AddKeyword$ Indestructible | Description$ CARDNAME is indestructible as long as it has a divinity counter on it. S:Mode$ Continuous | Affected$ Card.Self+counters_GE1_DIVINITY | AddKeyword$ Indestructible | Description$ CARDNAME is indestructible as long as it has a divinity counter on it.
A:AB$ Discard | Cost$ SubCounter<1/DIVINITY> | Defined$ Opponent | Mode$ Hand | SpellDescription$ Each opponent discards his or her hand. A:AB$ Discard | Cost$ SubCounter<1/DIVINITY> | Defined$ Opponent | Mode$ Hand | SpellDescription$ Each opponent discards his or her hand.

View File

@@ -3,8 +3,7 @@ ManaCost:7 U U U
Types:Legendary Creature Spirit Types:Legendary Creature Spirit
Text:no text Text:no text
PT:3/3 PT:3/3
T:Mode$ ChangesZone | ValidCard$ Card.Self | Origin$ Hand | Destination$ Stack | Static$ True | DelayedTrigger$ CastFromHand | TriggerDescription$ CARDNAME enters the battlefield with a divinity counter on it if you cast it from your hand. T:Mode$ ChangesZone | ValidCard$ Card.wasCastFromHand+Self | Destination$ Battlefield | Static$ True | Execute$ ETBCounter | TriggerDescription$ CARDNAME enters the battlefield with a divinity counter on it if you cast it from your hand.
SVar:CastFromHand:Mode$ ChangesZone | Origin$ Stack | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ ETBCounter | Static$ True
SVar:ETBCounter:AB$PutCounter | Cost$ 0 | Defined$ Self | CounterType$ DIVINITY | CounterNum$ 1 SVar:ETBCounter:AB$PutCounter | Cost$ 0 | Defined$ Self | CounterType$ DIVINITY | CounterNum$ 1
S:Mode$ Continuous | Affected$ Card.Self+counters_GE1_DIVINITY | AddKeyword$ Indestructible | Description$ CARDNAME is indestructible as long as it has a divinity counter on it. S:Mode$ Continuous | Affected$ Card.Self+counters_GE1_DIVINITY | AddKeyword$ Indestructible | Description$ CARDNAME is indestructible as long as it has a divinity counter on it.
A:AB$ Draw | Cost$ SubCounter<1/DIVINITY> | NumCards$ X | SpellDescription$ Draw a card for each permanent you control. A:AB$ Draw | Cost$ SubCounter<1/DIVINITY> | NumCards$ X | SpellDescription$ Draw a card for each permanent you control.

View File

@@ -4,8 +4,7 @@ Types:Creature Demon
Text:no text Text:no text
PT:6/6 PT:6/6
K:Flying K:Flying
T:Mode$ ChangesZone | ValidCard$ Card.Self | Origin$ Hand | Destination$ Stack | Static$ True | DelayedTrigger$ CastFromHand | TriggerDescription$ When CARDNAME enters the battlefield, if you cast it from your hand, destroy all nonartifact, nonblack creatures. They can't be regenerated. T:Mode$ ChangesZone | ValidCard$ Card.wasCastFromHand+Self | Destination$ Battlefield | Execute$ TrigDestroyAll | TriggerDescription$ When CARDNAME enters the battlefield, if you cast it from your hand, destroy all nonartifact, nonblack creatures. They can't be regenerated.
SVar:CastFromHand:Mode$ ChangesZone | ValidCard$ Card.Self | Origin$ Stack | Destination$ Battlefield | Execute$ TrigDestroyAll | TriggerDescription$ When CARDNAME enters the battlefield, if you cast it from your hand, destroy all nonartifact, nonblack creatures. They can't be regenerated.
SVar:TrigDestroyAll:AB$DestroyAll | Cost$ 0 | ValidCards$ Creature.nonArtifact+nonBlack | NoRegen$ True SVar:TrigDestroyAll:AB$DestroyAll | Cost$ 0 | ValidCards$ Creature.nonArtifact+nonBlack | NoRegen$ True
SVar:RemAIDeck:True SVar:RemAIDeck:True
SVar:Rarity:Rare SVar:Rarity:Rare

View File

@@ -69,6 +69,8 @@ public class Card extends GameEntity implements Comparable<Card> {
private boolean isDoubleFaced = false; private boolean isDoubleFaced = false;
private boolean isFlip = false; private boolean isFlip = false;
private Zone castFrom = null;
/** /**
* Instantiates a new card. * Instantiates a new card.
*/ */
@@ -2768,6 +2770,9 @@ public class Card extends GameEntity implements Comparable<Card> {
} }
sb.append("Remove CARDNAME from your deck before playing if you're not playing for ante.\r\n"); sb.append("Remove CARDNAME from your deck before playing if you're not playing for ante.\r\n");
} }
if(keyword.equals("Rebound")) {
sb.append(keyword).append("\r\n");
}
} }
return sb; return sb;
} }
@@ -7172,6 +7177,18 @@ public class Card extends GameEntity implements Comparable<Card> {
if (!b) { if (!b) {
return false; return false;
} }
} else if (property.startsWith("wasCastFrom")) {
String strZone = property.substring(11);
Zone realZone = Constant.Zone.smartValueOf(strZone);
if(realZone != this.getCastFrom()) {
return false;
}
} else if (property.startsWith("wasNotCastFrom")) {
String strZone = property.substring(14);
Zone realZone = Constant.Zone.smartValueOf(strZone);
if(realZone == this.getCastFrom()) {
return false;
}
} else { } else {
if (property.equals("ChosenType")) { if (property.equals("ChosenType")) {
if (!this.isType(source.getChosenType())) { if (!this.isType(source.getChosenType())) {
@@ -8705,4 +8722,20 @@ public class Card extends GameEntity implements Comparable<Card> {
this.getCharacteristics().getReplacementEffects().add(replacementEffectCopy); this.getCharacteristics().getReplacementEffects().add(replacementEffectCopy);
} }
/**
* Returns what zone this card was cast from (from what zone it was moved to the stack)
*
* @return the castFrom
*/
public Zone getCastFrom() {
return castFrom;
}
/**
* @param castFrom0 the castFrom to set
*/
public void setCastFrom(Zone castFrom0) {
this.castFrom = castFrom0;
}
} // end Card class } // end Card class

View File

@@ -238,6 +238,13 @@ public class GameAction {
c = GameAction.changeZone(prev, zone, c); c = GameAction.changeZone(prev, zone, c);
if(zone.is(Zone.Stack)) {
c.setCastFrom(prev.getZoneType());
}
else if(!(zone.is(Zone.Battlefield) && prev.is(Zone.Stack))){
c.setCastFrom(null);
}
if (c.isAura() && zone.is(Constant.Zone.Battlefield) && ((prev == null) || !prev.is(Constant.Zone.Stack))) { if (c.isAura() && zone.is(Constant.Zone.Battlefield) && ((prev == null) || !prev.is(Constant.Zone.Stack))) {
// TODO Need a way to override this for Abilities that put Auras // TODO Need a way to override this for Abilities that put Auras
// into play attached to things // into play attached to things

View File

@@ -2931,7 +2931,7 @@ public class CardFactoryUtil {
} }
} }
// Count$FatefulHour.<numFH>.numNotFH> // Count$FatefulHour.<numFH>.<numNotFH>
if (sq[0].contains("FatefulHour")) { if (sq[0].contains("FatefulHour")) {
if (cardController.getLife() <= 5) { if (cardController.getLife() <= 5) {
return CardFactoryUtil.doXMath(Integer.parseInt(sq[1]), m, c); return CardFactoryUtil.doXMath(Integer.parseInt(sq[1]), m, c);
@@ -2940,6 +2940,17 @@ public class CardFactoryUtil {
} }
} }
// Count$wasCastFrom<Zone>.<true>.<false>
if (sq[0].startsWith("wasCastFrom")) {
String strZone = sq[0].substring(11);
Zone realZone = Zone.smartValueOf(strZone);
if(c.getCastFrom() == realZone) {
return CardFactoryUtil.doXMath(Integer.parseInt(sq[1]), m, c);
} else {
return CardFactoryUtil.doXMath(Integer.parseInt(sq[2]), m, c);
}
}
if (sq[0].contains("Threshold")) { if (sq[0].contains("Threshold")) {
if (cardController.hasThreshold()) { if (cardController.hasThreshold()) {
return CardFactoryUtil.doXMath(Integer.parseInt(sq[1]), m, c); return CardFactoryUtil.doXMath(Integer.parseInt(sq[1]), m, c);