diff --git a/.gitattributes b/.gitattributes index 608cd3846ee..f0b75e78892 100644 --- a/.gitattributes +++ b/.gitattributes @@ -357,6 +357,7 @@ res/cardsfolder/arcbound_bruiser.txt -text svneol=native#text/plain res/cardsfolder/arcbound_crusher.txt -text svneol=native#text/plain res/cardsfolder/arcbound_hybrid.txt -text svneol=native#text/plain res/cardsfolder/arcbound_lancer.txt -text svneol=native#text/plain +res/cardsfolder/arcbound_overseer.txt -text svneol=native#text/plain res/cardsfolder/arcbound_ravager.txt -text svneol=native#text/plain res/cardsfolder/arcbound_reclaimer.txt -text svneol=native#text/plain res/cardsfolder/arcbound_slith.txt -text svneol=native#text/plain diff --git a/res/cardsfolder/arcbound_overseer.txt b/res/cardsfolder/arcbound_overseer.txt new file mode 100644 index 00000000000..0048ed774fa --- /dev/null +++ b/res/cardsfolder/arcbound_overseer.txt @@ -0,0 +1,11 @@ +Name:Arcbound Overseer +ManaCost:8 +Types:Artifact Creature Golem +Text:no text +PT:0/0 +K:Modular 6 +T:Mode$ Phase | Phase$ Upkeep | TriggerZones$ Battlefield | ValidPlayer$ You | Execute$ TrigPutCounter | TriggerDescription$ At the beginning of your upkeep, put a +1/+1 counter on each creature with modular you control. +SVar:TrigPutCounter:AB$PutCounterAll | Cost$ 0 | ValidCards$ Creature.YouCtrl+withModular | CounterType$ P1P1 | CounterNum$ 1 +SVar:Rarity:Rare +SVar:Picture:http://www.wizards.com/global/images/magic/general/arcbound_overseer.jpg +End \ No newline at end of file diff --git a/src/forge/Card.java b/src/forge/Card.java index e2d9a178bf6..a40d0745a73 100644 --- a/src/forge/Card.java +++ b/src/forge/Card.java @@ -1005,6 +1005,13 @@ public class Card extends MyObservable { sbLong.append(keyword.get(i)); sbLong.append(" (If an opponent was dealt damage this turn, this creature enters the battlefield with a +1/+1 counter on it.)"); } + else if(keyword.get(i).startsWith("Modular")) { + String numCounters = keyword.get(i).split(" ")[1]; + sbLong.append(keyword.get(i)); + sbLong.append(" (This enters the battlefield with "); + sbLong.append(numCounters); + sbLong.append(" +1/+1 counters on it. When it's put into a graveyard, you may put its +1/+1 counters on target artifact creature.)"); + } else { if (i != 0 && sb.length() != 0) sb.append(", "); sb.append(keyword.get(i).toString()); @@ -2718,8 +2725,8 @@ public class Card extends MyObservable { else if (Property.startsWith("with")) // ... Card keywords { - if (Property.startsWith("without") && getKeyword().contains(Property.substring(7))) return false; - if (!Property.startsWith("without") && !getKeyword().contains(Property.substring(4))) return false; + if (Property.startsWith("without") && hasStartOfKeyword(Property.substring(7))) return false; + if (!Property.startsWith("without") && !hasStartOfKeyword(Property.substring(4))) return false; } else if (Property.startsWith("tapped")) diff --git a/src/forge/card/cardFactory/CardFactory.java b/src/forge/card/cardFactory/CardFactory.java index 72a15216bb2..cb7c42cf760 100644 --- a/src/forge/card/cardFactory/CardFactory.java +++ b/src/forge/card/cardFactory/CardFactory.java @@ -858,20 +858,13 @@ public class CardFactory implements NewConstants { } }//Devour - while(hasKeyword(card, "Modular") != -1) { + if(hasKeyword(card, "Modular") != -1) { int n = hasKeyword(card, "Modular"); if(n != -1) { String parse = card.getKeyword().get(n).toString(); - card.removeIntrinsicKeyword(parse); - + final int m = Integer.parseInt(parse.substring(8)); - String t = card.getSpellText(); - if(!t.equals("")) t += "\r\n"; - card.setText(t - + parse - + " (This enters the battlefield with " - + m - + " +1/+1 counters on it. When it's put into a graveyard, you may put its +1/+1 counters on target artifact creature.)");//Erm help? Isn't there a normal way to do this?... + card.addComesIntoPlayCommand(new Command() { private static final long serialVersionUID = 339412525059881775L;