diff --git a/res/cards.txt b/res/cards.txt index ca4b8be5db4..ed57f9e5ca3 100644 --- a/res/cards.txt +++ b/res/cards.txt @@ -1,3 +1,26 @@ +Enclave Elite +2 U +Creature Merfolk Soldier +Enclave Elite enters the battlefield with a +1/+1 counter on it for each time it was kicked. +2/2 +Islandwalk +Multikicker 1 U + +Apex Hawks +2 W +Creature Bird +Apex Hawks enters the battlefield with a +1/+1 counter on it for each time it was kicked. +2/2 +Flying +Multikicker 1 W + +Gnarlid Pack +1 G +Creature Beast +Gnarlid Pack enters the battlefield with a +1/+1 counter on it for each time it was kicked. +2/2 +Multikicker 1 G + Absorb Vis 6 B Sorcery diff --git a/src/forge/Card.java b/src/forge/Card.java index 8bab3a98dc9..dae36224247 100644 --- a/src/forge/Card.java +++ b/src/forge/Card.java @@ -80,6 +80,8 @@ public class Card extends MyObservable { private int X = 0; + private int multiKickerMagnitude = 0; + private String owner = ""; private String controller = ""; private String name = ""; @@ -1139,6 +1141,21 @@ public class Card extends MyObservable { return upkeepDamage; } + public void addMultiKickerMagnitude(int n) + { + multiKickerMagnitude += n; + } + + public void setMultiKickerMagnitude(int n) + { + multiKickerMagnitude = n; + } + + public int getMultiKickerMagnitude() + { + return multiKickerMagnitude; + } + //public int getAttack(){return attack;} //for cards like Giant Growth, etc. diff --git a/src/forge/CardFactory.java b/src/forge/CardFactory.java index 41d9d273e7c..dc72c03af71 100644 --- a/src/forge/CardFactory.java +++ b/src/forge/CardFactory.java @@ -215,6 +215,20 @@ public class CardFactory implements NewConstants { } } + if (hasKeyword(card, "Multikicker") != -1) + { + int n = hasKeyword(card, "Multikicker"); + if (n!= -1) + { + String parse = card.getKeyword().get(n).toString(); + String k[] = parse.split("kicker "); + + SpellAbility sa = card.getSpellAbility()[0]; + sa.setIsMultiKicker(true); + sa.setMultiKickerManaCost(k[1]); + } + } + /* //Creatures with simple, self-targeted mana-activated keyword adding abilities //-1 means not found while(hasKeyword(card, "KPump") != -1) diff --git a/src/forge/CardFactoryUtil.java b/src/forge/CardFactoryUtil.java index b0c9043e2d2..2cc734f9813 100644 --- a/src/forge/CardFactoryUtil.java +++ b/src/forge/CardFactoryUtil.java @@ -1994,6 +1994,45 @@ public class CardFactoryUtil { return count; } + public static String sumManaCost(String manacost1, String manacost2) + { + String tokenized1[] = manacost1.split("\\s"); + String tokenized2[] = manacost2.split("\\s"); + + StringBuilder sb = new StringBuilder(); + + int totalNumberCost = 0; + if (Character.isDigit(tokenized1[0].charAt(0)) && Character.isDigit(tokenized2[0].charAt(0))) + { + int cost1 = Integer.parseInt(tokenized1[0]); + int cost2 = Integer.parseInt(tokenized2[0]); + totalNumberCost = cost1 + cost2; + } + else if (Character.isDigit(tokenized1[0].charAt(0))) + totalNumberCost = Integer.parseInt(tokenized1[0]); + else if (Character.isDigit(tokenized2[0].charAt(0))) + totalNumberCost = Integer.parseInt(tokenized2[0]); + + if (totalNumberCost != 0) { + sb.append(totalNumberCost); + } + + for (int i=1;i