mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-14 01:38:13 +00:00
- Temporarily removed Arboria
- Fixed Quicksilver Dragon
This commit is contained in:
1
.gitattributes
vendored
1
.gitattributes
vendored
@@ -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/arbiter_of_knollridge.txt svneol=native#text/plain
|
||||||
forge-gui/res/cardsfolder/a/arbor_colossus.txt -text
|
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/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_blade.txt svneol=native#text/plain
|
||||||
forge-gui/res/cardsfolder/a/arc_lightning.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
|
forge-gui/res/cardsfolder/a/arc_mage.txt svneol=native#text/plain
|
||||||
|
|||||||
@@ -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.
|
|
||||||
@@ -4,7 +4,7 @@ Types:Creature Dragon
|
|||||||
PT:5/5
|
PT:5/5
|
||||||
K:Flying
|
K:Flying
|
||||||
K:Morph:4 U
|
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:RemAIDeck:True
|
||||||
SVar:Picture:http://www.wizards.com/global/images/magic/general/quicksilver_dragon.jpg
|
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.)
|
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.)
|
||||||
|
|||||||
@@ -25,6 +25,7 @@ import org.apache.commons.lang3.StringUtils;
|
|||||||
|
|
||||||
import forge.Card;
|
import forge.Card;
|
||||||
import forge.CardLists;
|
import forge.CardLists;
|
||||||
|
import forge.GameObject;
|
||||||
import forge.card.MagicColor;
|
import forge.card.MagicColor;
|
||||||
import forge.card.ability.AbilityUtils;
|
import forge.card.ability.AbilityUtils;
|
||||||
import forge.card.cardfactory.CardFactoryUtil;
|
import forge.card.cardfactory.CardFactoryUtil;
|
||||||
@@ -164,6 +165,12 @@ public class SpellAbilityCondition extends SpellAbilityVariables {
|
|||||||
this.setSvarOperator(params.get("ConditionSVarCompare").substring(0, 2));
|
this.setSvarOperator(params.get("ConditionSVarCompare").substring(0, 2));
|
||||||
this.setSvarOperand(params.get("ConditionSVarCompare").substring(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
|
} // setConditions
|
||||||
|
|
||||||
@@ -310,6 +317,34 @@ public class SpellAbilityCondition extends SpellAbilityVariables {
|
|||||||
return false;
|
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())) {
|
if (StringUtils.isNotEmpty(this.getManaSpent())) {
|
||||||
byte manaSpent = MagicColor.fromName(getManaSpent()); // they always check for single color
|
byte manaSpent = MagicColor.fromName(getManaSpent()); // they always check for single color
|
||||||
|
|||||||
@@ -86,6 +86,8 @@ public class SpellAbilityVariables {
|
|||||||
this.lifeTotal = sav.getLifeTotal();
|
this.lifeTotal = sav.getLifeTotal();
|
||||||
this.lifeAmount = sav.getLifeAmount();
|
this.lifeAmount = sav.getLifeAmount();
|
||||||
this.manaSpent = sav.getManaSpent();
|
this.manaSpent = sav.getManaSpent();
|
||||||
|
this.targetValidTargeting = sav.getTargetValidTargeting();
|
||||||
|
this.targetsSingleTarget = sav.targetsSingleTarget();
|
||||||
this.pwAbility = sav.isPwAbility();
|
this.pwAbility = sav.isPwAbility();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -197,7 +199,12 @@ public class SpellAbilityVariables {
|
|||||||
|
|
||||||
/** The chosen colors string. */
|
/** The chosen colors string. */
|
||||||
private String chosenColors = null;
|
private String chosenColors = null;
|
||||||
|
|
||||||
|
/** The target valid targeting */
|
||||||
|
private String targetValidTargeting = null;
|
||||||
|
|
||||||
|
/** The b targetsSingleTargeting */
|
||||||
|
private boolean targetsSingleTarget = false;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>
|
* <p>
|
||||||
@@ -1032,4 +1039,32 @@ public class SpellAbilityVariables {
|
|||||||
return this.chosenColors;
|
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
|
} // end class SpellAbilityVariables
|
||||||
|
|||||||
@@ -167,8 +167,9 @@ if __name__ == '__main__':
|
|||||||
|
|
||||||
|
|
||||||
ignoredSet = [ 'ASTRAL', 'ATH', 'BD', 'BR', 'CM1', 'DD2', 'DDC', 'DDD', 'DDE', 'DDF',
|
ignoredSet = [ 'ASTRAL', 'ATH', 'BD', 'BR', 'CM1', 'DD2', 'DDC', 'DDD', 'DDE', 'DDF',
|
||||||
'DDG', 'DDH', 'DDI', 'DDJ', 'DKM', 'DRB', 'DREAM', 'EVG', 'H09', 'ME2',
|
'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', '']
|
'ME3', 'ME4', 'MED', 'PD2', 'PD3', 'SDC', 'UG', 'UGL', 'UNH', 'V09', 'V10', 'V11', 'V12',
|
||||||
|
'V13', '']
|
||||||
|
|
||||||
for currentSet in setCodes :
|
for currentSet in setCodes :
|
||||||
# Ignore any sets that we don't tabulate
|
# Ignore any sets that we don't tabulate
|
||||||
|
|||||||
@@ -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: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:Legacy
|
||||||
Name:Vintage
|
Name:Vintage
|
||||||
Reference in New Issue
Block a user