- Temporarily removed Arboria

- Fixed Quicksilver Dragon
This commit is contained in:
swordshine
2013-11-11 00:22:11 +00:00
parent c9f491a483
commit 2064b6517e
7 changed files with 76 additions and 18 deletions

1
.gitattributes vendored
View File

@@ -471,7 +471,6 @@ forge-gui/res/cardsfolder/a/arbalest_elite.txt svneol=native#text/plain
forge-gui/res/cardsfolder/a/arbiter_of_knollridge.txt svneol=native#text/plain
forge-gui/res/cardsfolder/a/arbor_colossus.txt -text
forge-gui/res/cardsfolder/a/arbor_elf.txt svneol=native#text/plain
forge-gui/res/cardsfolder/a/arboria.txt -text
forge-gui/res/cardsfolder/a/arc_blade.txt svneol=native#text/plain
forge-gui/res/cardsfolder/a/arc_lightning.txt svneol=native#text/plain
forge-gui/res/cardsfolder/a/arc_mage.txt svneol=native#text/plain

View File

@@ -1,12 +0,0 @@
Name:Arboria
ManaCost:2 G G
Types:World Enchantment
S:Mode$ CantAttack | ValidCard$ Creature | Target$ Player.IsNotRemembered | Description$ Creatures can't attack a player unless that player cast a spell or put a nontoken permanent onto the battlefield during his or her last turn.
T:Mode$ Phase | Phase$ Upkeep | Execute$ TrigForget | Static$ True
SVar:TrigForget:DB$ Pump | ForgetObjects$ TriggeredPlayer
T:Mode$ SpellCast | ValidActivatingPlayer$ ActivePlayer | Execute$ TrigRemember | Static$ True
SVar:TrigRemember:DB$ Pump | RememberObjects$ TriggeredActivator
T:Mode$ ChangesZone | ValidCard$ Permanent.nonToken+ActivePlayerCtrl | Origin$ Any | Destination$ Battlefield | Execute$ TrigRemember2 | Static$ True
SVar:TrigRemember2:DB$ Pump | RememberObjects$ TriggeredCardController
SVar:Picture:http://www.wizards.com/global/images/magic/general/arboria.jpg
Oracle:Creatures can't attack a player unless that player cast a spell or put a nontoken permanent onto the battlefield during his or her last turn.

View File

@@ -4,7 +4,7 @@ Types:Creature Dragon
PT:5/5
K:Flying
K:Morph:4 U
A:AB$ ChangeTargets | Cost$ U | TargetType$ Spell | ValidTgts$ Card | TargetValidTargeting$ Card.Self | TargetsSingleTarget$ True | TargetRestriction$ Creature.Other | SpellDescription$ If target spell has only one target and that target is CARDNAME, change that spell's target to another creature.
A:AB$ ChangeTargets | Cost$ U | TargetType$ Spell | ValidTgts$ Card | ConditionTargetValidTargeting$ Card.Self | ConditionTargetsSingleTarget$ True | TargetRestriction$ Creature.Other | SpellDescription$ If target spell has only one target and that target is CARDNAME, change that spell's target to another creature.
SVar:RemAIDeck:True
SVar:Picture:http://www.wizards.com/global/images/magic/general/quicksilver_dragon.jpg
Oracle:Flying\n{U}: If target spell has only one target and that target is Quicksilver Dragon, change that spell's target to another creature.\nMorph {4}{U} (You may cast this face down as a 2/2 creature for {3}. Turn it face up any time for its morph cost.)

View File

@@ -25,6 +25,7 @@ import org.apache.commons.lang3.StringUtils;
import forge.Card;
import forge.CardLists;
import forge.GameObject;
import forge.card.MagicColor;
import forge.card.ability.AbilityUtils;
import forge.card.cardfactory.CardFactoryUtil;
@@ -164,6 +165,12 @@ public class SpellAbilityCondition extends SpellAbilityVariables {
this.setSvarOperator(params.get("ConditionSVarCompare").substring(0, 2));
this.setSvarOperand(params.get("ConditionSVarCompare").substring(2));
}
if (params.containsKey("ConditionTargetValidTargeting")) {
this.setTargetValidTargeting(params.get("ConditionTargetValidTargeting"));
}
if (params.containsKey("ConditionTargetsSingleTarget")) {
this.setTargetsSingleTarget(true);
}
} // setConditions
@@ -310,6 +317,34 @@ public class SpellAbilityCondition extends SpellAbilityVariables {
return false;
}
}
if (this.getTargetValidTargeting() != null) {
final TargetChoices matchTgt = sa.getTargets();
if (matchTgt == null || matchTgt.getFirstTargetedSpell() == null
|| matchTgt.getFirstTargetedSpell().getTargets() == null) {
return false;
}
boolean result = false;
for (final GameObject o : matchTgt.getFirstTargetedSpell().getTargets().getTargets()) {
if (o.isValid(this.getTargetValidTargeting().split(","), sa.getActivatingPlayer(), sa.getSourceCard())) {
result = true;
break;
}
}
if (!result) {
return false;
}
}
if (this.targetsSingleTarget()) {
final TargetChoices matchTgt = sa.getTargets();
if (matchTgt == null || matchTgt.getFirstTargetedSpell() == null
|| matchTgt.getFirstTargetedSpell().getTargets() == null
|| matchTgt.getFirstTargetedSpell().getTargets().getNumTargeted() != 1) {
return false;
}
}
if (StringUtils.isNotEmpty(this.getManaSpent())) {
byte manaSpent = MagicColor.fromName(getManaSpent()); // they always check for single color

View File

@@ -86,6 +86,8 @@ public class SpellAbilityVariables {
this.lifeTotal = sav.getLifeTotal();
this.lifeAmount = sav.getLifeAmount();
this.manaSpent = sav.getManaSpent();
this.targetValidTargeting = sav.getTargetValidTargeting();
this.targetsSingleTarget = sav.targetsSingleTarget();
this.pwAbility = sav.isPwAbility();
}
@@ -197,7 +199,12 @@ public class SpellAbilityVariables {
/** The chosen colors string. */
private String chosenColors = null;
/** The target valid targeting */
private String targetValidTargeting = null;
/** The b targetsSingleTargeting */
private boolean targetsSingleTarget = false;
/**
* <p>
@@ -1032,4 +1039,32 @@ public class SpellAbilityVariables {
return this.chosenColors;
}
/**
* @return the targetValidTargeting
*/
public String getTargetValidTargeting() {
return targetValidTargeting;
}
/**
* @param targetValidTargeting the targetValidTargeting to set
*/
public void setTargetValidTargeting(String targetValidTargeting) {
this.targetValidTargeting = targetValidTargeting;
}
/**
* @return the targetsSingleTarget
*/
public boolean targetsSingleTarget() {
return targetsSingleTarget;
}
/**
* @param b the targetsSingleTarget to set
*/
public void setTargetsSingleTarget(boolean b) {
this.targetsSingleTarget = b;
}
} // end class SpellAbilityVariables

View File

@@ -167,8 +167,9 @@ if __name__ == '__main__':
ignoredSet = [ 'ASTRAL', 'ATH', 'BD', 'BR', 'CM1', 'DD2', 'DDC', 'DDD', 'DDE', 'DDF',
'DDG', 'DDH', 'DDI', 'DDJ', 'DKM', 'DRB', 'DREAM', 'EVG', 'H09', 'ME2',
'ME3', 'ME4', 'MED', 'PD2', 'PD3', 'SDC', 'UG', 'UGL', 'UNH', 'V09', 'V10', 'V11', 'V12', '']
'DDG', 'DDH', 'DDI', 'DDJ', 'DDK', 'DDL', 'DKM', 'DRB', 'DREAM', 'EVG', 'H09', 'ME2',
'ME3', 'ME4', 'MED', 'PD2', 'PD3', 'SDC', 'UG', 'UGL', 'UNH', 'V09', 'V10', 'V11', 'V12',
'V13', '']
for currentSet in setCodes :
# Ignore any sets that we don't tabulate

View File

@@ -1,5 +1,5 @@
Name:Standard|Sets:ISD, DKA, AVR, M13, RTR, GTC, DGM, M14
Name:Standard|Sets:RTR, GTC, DGM, M14, THS
Name:Extended|Sets:ZEN, WWK, ROE, M11, SOM, MBS, NPH, M12, ISD, DKA, AVR, M13, RTR, GTC, DGM, M14|Banned:Stoneforge Mystic; Jace, the Mind Sculptor; Ponder; Preordain; Mental Misstep
Name:Modern|Sets:8ED, MRD, DST, 5DN, CHK, BOK, SOK, 9ED, RAV, GPT, DIS, CSP, TSP, PLC, FUT, 10E, LRW, EVE, SHM, MOR, ALA, CFX, ARB, M10, ZEN, WWK, ROE, M11, SOM, MBS, NPH, M12, ISD, DKA, AVR, M13, RTR, GTC, DGM, M14
Name:Modern|Sets:8ED, MRD, DST, 5DN, CHK, BOK, SOK, 9ED, RAV, GPT, DIS, CSP, TSP, PLC, FUT, 10E, LRW, EVE, SHM, MOR, ALA, CFX, ARB, M10, ZEN, WWK, ROE, M11, SOM, MBS, NPH, M12, ISD, DKA, AVR, M13, RTR, GTC, DGM, M14, THS
Name:Legacy
Name:Vintage