- RemAIDeck update: next iteration.

This commit is contained in:
Agetian
2017-10-07 14:50:51 +00:00
parent 6e518df398
commit 1cbf075036
6 changed files with 9 additions and 11 deletions

View File

@@ -1,13 +1,7 @@
package forge.ai.ability;
import com.google.common.base.Predicates;
import forge.ai.AiPlayDecision;
import forge.ai.ComputerUtil;
import forge.ai.ComputerUtilAbility;
import forge.ai.ComputerUtilCost;
import forge.ai.ComputerUtilMana;
import forge.ai.PlayerControllerAi;
import forge.ai.SpellAbilityAi;
import forge.ai.*;
import forge.card.ColorSet;
import forge.card.MagicColor;
import forge.card.mana.ManaCost;
@@ -20,6 +14,7 @@ import forge.game.phase.PhaseType;
import forge.game.player.Player;
import forge.game.spellability.SpellAbility;
import forge.game.zone.ZoneType;
import java.util.Arrays;
import java.util.List;
@@ -170,6 +165,9 @@ public class ManaEffectAi extends SpellAbilityAi {
}
SpellAbility testSaNoCost = testSa.copyWithNoManaCost();
if (testSaNoCost == null) {
continue;
}
testSaNoCost.setActivatingPlayer(ai);
if (((PlayerControllerAi)ai.getController()).getAi().canPlaySa(testSaNoCost) == AiPlayDecision.WillPlay) {
if (testSa.getHostCard().isPermanent() && !testSa.getHostCard().hasKeyword("Haste")

View File

@@ -842,6 +842,9 @@ public abstract class SpellAbility extends CardTraitBase implements ISpellAbilit
public SpellAbility copyWithNoManaCost() {
final SpellAbility newSA = copy();
if (newSA == null) {
return null; // the ability was not copyable, e.g. a Suspend SA may get here
}
newSA.setPayCosts(newSA.getPayCosts().copyWithNoMana());
if (!newSA.hasParam("WithoutManaCost")) {
newSA.mapParams.put("WithoutManaCost", "True");

View File

@@ -4,6 +4,5 @@ Types:Creature Skeleton
PT:1/1
A:AB$ ChangeZone | Cost$ 2 B B | ValidTgts$ Creature | TgtPrompt$ Select target creature | Origin$ Battlefield | Destination$ Exile | UnlessCost$ 2 | UnlessPayer$ TargetedController | ActivationZone$ Graveyard | UnlessResolveSubs$ WhenNotPaid | SubAbility$ ExileME | SpellDescription$ Exile CARDNAME and target creature unless that creature's controller pays {2}. Activate this ability only if CARDNAME is in your graveyard.
SVar:ExileME:DB$ChangeZone | Origin$ Graveyard | Destination$ Exile | Defined$ Self
SVar:RemAIDeck:True
SVar:Picture:http://www.wizards.com/global/images/magic/general/carrionette.jpg
Oracle:{2}{B}{B}: Exile Carrionette and target creature unless that creature's controller pays {2}. Activate this ability only if Carrionette is in your graveyard.

View File

@@ -4,6 +4,6 @@ Types:Land
A:AB$ Mana | Cost$ T | Produced$ G | SubAbility$ DBPain | SpellDescription$ Add {G} to your mana pool. CARDNAME deals 1 damage to you.
A:AB$ Pump | Cost$ G T Sac<1/CARDNAME> | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ 3 | NumDef$ 3 | Activation$ Threshold | PrecostDesc$ Threshold — | SpellDescription$ Target creature gets +3/+3 until end of turn. Activate this ability only if seven or more cards are in your graveyard.
SVar:DBPain:DB$ DealDamage | NumDmg$ 1 | Defined$ You
SVar:RemAIDeck:True
SVar:RemRandomDeck:True
SVar:Picture:http://www.wizards.com/global/images/magic/general/centaur_garden.jpg
Oracle:{T}: Add {G} to your mana pool. Centaur Garden deals 1 damage to you.\nThreshold — {G}, {T}, Sacrifice Centaur Garden: Target creature gets +3/+3 until end of turn. Activate this ability only if seven or more cards are in your graveyard.

View File

@@ -4,6 +4,5 @@ Types:Instant
A:SP$ ChangeZone | Cost$ W | ValidTgts$ Creature.YouCtrl | Origin$ Battlefield | Destination$ Exile | TgtPrompt$ Select target creature you control | RememberTargets$ True | SubAbility$ DBReturn | SpellDescription$ Exile target creature you control, then return that card to the battlefield under your control.
SVar:DBReturn:DB$ ChangeZone | Defined$ Remembered | Origin$ All | Destination$ Battlefield | GainControl$ True | SubAbility$ DBCleanup
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
SVar:RemAIDeck:True
SVar:Picture:http://www.wizards.com/global/images/magic/general/cloudshift.jpg
Oracle:Exile target creature you control, then return that card to the battlefield under your control.

View File

@@ -6,7 +6,6 @@ SVar:TrigStrife:AB$PutCounter | Cost$ 0 | Defined$ Self | CounterType$ STRIFE |
S:Mode$ Continuous | Affected$ Creature.attacking | AddPower$ X | Description$ Attacking creatures get +1/+0 for each strife counter on CARDNAME.
S:Mode$ Continuous | Affected$ Creature.blocking+YouCtrl | AddPower$ X | Description$ Blocking creatures you control get +1/+0 for each strife counter on CARDNAME.
SVar:X:Count$CardCounters.STRIFE
SVar:RemAIDeck:True
SVar:RemRandomDeck:True
SVar:Picture:http://www.wizards.com/global/images/magic/general/crescendo_of_war.jpg
Oracle:At the beginning of each upkeep, put a strife counter on Crescendo of War.\nAttacking creatures get +1/+0 for each strife counter on Crescendo of War.\nBlocking creatures you control get +1/+0 for each strife counter on Crescendo of War.