diff --git a/forge-game/src/main/java/forge/game/cost/Cost.java b/forge-game/src/main/java/forge/game/cost/Cost.java index 272d8ab116a..bb744d6e2b5 100644 --- a/forge-game/src/main/java/forge/game/cost/Cost.java +++ b/forge-game/src/main/java/forge/game/cost/Cost.java @@ -890,9 +890,9 @@ public class Cost implements Serializable { } else { costParts.add(0, new CostPartMana(oldManaCost.toManaCost(), r)); } - } else if (part instanceof CostDiscard || part instanceof CostTapType || + } else if (part instanceof CostDiscard || part instanceof CostDraw || part instanceof CostAddMana || part instanceof CostPayLife - || part instanceof CostPutCounter) { + || part instanceof CostPutCounter || part instanceof CostTapType) { boolean alreadyAdded = false; for (final CostPart other : costParts) { if ((other.getClass().equals(part.getClass()) || (part instanceof CostPutCounter && ((CostPutCounter)part).getCounter().is(CounterEnumType.LOYALTY))) && @@ -916,6 +916,8 @@ public class Cost implements Serializable { } } else if (part instanceof CostDiscard) { costParts.add(new CostDiscard(amount, part.getType(), part.getTypeDescription())); + } else if (part instanceof CostDraw) { + costParts.add(new CostDraw(amount, part.getType())); } else if (part instanceof CostTapType) { CostTapType tappart = (CostTapType)part; costParts.add(new CostTapType(amount, part.getType(), part.getTypeDescription(), !tappart.canTapSource)); diff --git a/forge-gui/res/cardsfolder/m/master_of_waves.txt b/forge-gui/res/cardsfolder/m/master_of_waves.txt index 648b73ba57d..5481c3e1597 100644 --- a/forge-gui/res/cardsfolder/m/master_of_waves.txt +++ b/forge-gui/res/cardsfolder/m/master_of_waves.txt @@ -8,8 +8,7 @@ T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.S SVar:TrigToken:DB$ Token | TokenAmount$ X | TokenScript$ u_1_0_elemental | TokenOwner$ You | LegacyImage$ u 1 0 elemental ths SVar:X:Count$Devotion.Blue SVar:PlayMain1:TRUE -# TODO doesn't work because the YouCtrl part can't be checked SVar:AIEvaluationModifier:SVar$AIElemPTBonus/Plus.AIElemTokenGenBonus -SVar:AIElemPTBonus:Count$Valid Elemental.YouCtrl/Times.25 -SVar:AIElemTokenGenBonus:Count$Valid Elemental.token+YouCtrl/Times.15 +SVar:AIElemPTBonus:PlayerCountPropertyYou$Valid Elemental.YouCtrl/Times.25 +SVar:AIElemTokenGenBonus:PlayerCountPropertyYou$Valid Elemental.token+YouCtrl/Times.15 Oracle:Protection from red\nElemental creatures you control get +1/+1.\nWhen Master of Waves enters the battlefield, create a number of 1/0 blue Elemental creature tokens equal to your devotion to blue. (Each {U} in the mana costs of permanents you control counts toward your devotion to blue.) diff --git a/forge-gui/res/cardsfolder/r/rayami_first_of_the_fallen.txt b/forge-gui/res/cardsfolder/r/rayami_first_of_the_fallen.txt index 3c7fe64055d..fc14e0b4ba7 100644 --- a/forge-gui/res/cardsfolder/r/rayami_first_of_the_fallen.txt +++ b/forge-gui/res/cardsfolder/r/rayami_first_of_the_fallen.txt @@ -2,7 +2,7 @@ Name:Rayami, First of the Fallen ManaCost:1 B G U Types:Legendary Creature Vampire PT:5/4 -R:Event$ Moved | ActiveZones$ Battlefield | Origin$ Battlefield | Destination$ Graveyard | ValidLKI$ Creature.nonToken | ReplaceWith$ Exile | Description$ If a nontoken creature would die, exile that card with a blood counter on it instead. +R:Event$ Moved | ActiveZones$ Battlefield | Origin$ Battlefield | Destination$ Graveyard | CheckSelfLKIZone$ True | ValidLKI$ Creature.nonToken | ReplaceWith$ Exile | Description$ If a nontoken creature would die, exile that card with a blood counter on it instead. SVar:Exile:DB$ ChangeZone | Defined$ ReplacedCard | Origin$ Battlefield | Destination$ Exile | WithCountersType$ BLOOD | WithCountersAmount$ 1 S:Mode$ Continuous | EffectZone$ Battlefield | Affected$ Card.Self | CharacteristicDefining$ True | SharedKeywordsZone$ Exile | SharedRestrictions$ Creature.counters_GE1_BLOOD | AddKeyword$ Flying & First Strike & Double Strike & Deathtouch & Haste & Hexproof & Indestructible & Lifelink & Menace & Protection & Reach & Trample & Vigilance | Description$ As long as an exiled creature card with a blood counter on it has flying, CARDNAME has flying. The same is true for first strike, double strike, deathtouch, haste, hexproof, indestructible, lifelink, menace, protection, reach, trample, and vigilance. Oracle:If a nontoken creature would die, exile that card with a blood counter on it instead.\nAs long as an exiled creature card with a blood counter on it has flying, Rayami, First of the Fallen has flying. The same is true for first strike, double strike, deathtouch, haste, hexproof, indestructible, lifelink, menace, protection, reach, trample, and vigilance.