Added Affinity for Type as a condition for the CostChange keyword. Added Frogmite

This commit is contained in:
jendave
2011-08-06 04:57:18 +00:00
parent 2833e1c3af
commit 76e5bba259
3 changed files with 34 additions and 14 deletions

View File

@@ -38,6 +38,7 @@ snow_covered_mountain.jpg http://www.wizards.com/global/images/magic/gene
snow_covered_mountain1.jpg http://www.wizards.com/global/images/magic/general/snow_covered_mountain.jpg snow_covered_mountain1.jpg http://www.wizards.com/global/images/magic/general/snow_covered_mountain.jpg
snow_covered_mountain2.jpg http://www.magickartenmarkt.de/img/cards/Ice_Age/snow_covered_mountain.jpg snow_covered_mountain2.jpg http://www.magickartenmarkt.de/img/cards/Ice_Age/snow_covered_mountain.jpg
snow_covered_mountain3.jpg http://www.magickartenmarkt.de/img/cards/Ice_Age/snow_covered_mountain.jpg snow_covered_mountain3.jpg http://www.magickartenmarkt.de/img/cards/Ice_Age/snow_covered_mountain.jpg
frogmite.jpg http://www.wizards.com/global/images/magic/general/frogmite.jpg
eye_of_ugin.jpg http://www.wizards.com/global/images/magic/general/eye_of_ugin.jpg eye_of_ugin.jpg http://www.wizards.com/global/images/magic/general/eye_of_ugin.jpg
edgewalker.jpg http://www.wizards.com/global/images/magic/general/edgewalker.jpg edgewalker.jpg http://www.wizards.com/global/images/magic/general/edgewalker.jpg
thunderscape_familiar.jpg http://www.wizards.com/global/images/magic/general/thunderscape_familiar.jpg thunderscape_familiar.jpg http://www.wizards.com/global/images/magic/general/thunderscape_familiar.jpg

View File

@@ -1,3 +1,10 @@
Frogmite
4
Artifact Creature Frog
Affinity for artifacts (This spell costs 1 less to cast for each artifact you control.)
2/2
CostChange:Player:Less:1:Self:All:All:Affinity/Artifact
Eye of Ugin Eye of Ugin
no cost no cost
Legendary Land Legendary Land

View File

@@ -1609,6 +1609,7 @@ public class GameAction {
return false; return false;
} }
}); });
Cards_In_Play.add(originalCard);
String Mana = manaCost.toString(); String Mana = manaCost.toString();
CardList Player_Play = new CardList(AllZone.getZone(Constant.Zone.Play, sa.getSourceCard().getController()).getCards()); CardList Player_Play = new CardList(AllZone.getZone(Constant.Zone.Play, sa.getSourceCard().getController()).getCards());
int XBonus = 0; int XBonus = 0;
@@ -1645,7 +1646,8 @@ public class GameAction {
} }
if((k[1].equals("Player") && card.getController().equals(sa.getSourceCard().getController()) if((k[1].equals("Player") && card.getController().equals(sa.getSourceCard().getController())
|| (k[1].equals("Opponent") && card.getController().equals(AllZone.GameAction.getOpponent(sa.getSourceCard().getController()))) || k[1].equals("All")) || (k[1].equals("Opponent") && card.getController().equals(AllZone.GameAction.getOpponent(sa.getSourceCard().getController()))) || k[1].equals("All"))
&& ((k[4].equals("Spell") && sa.isSpell() == true) || (k[4].equals("Ability") && sa.isAbility() == true) || k[4].equals("All")) && ((k[4].equals("Spell") && sa.isSpell() == true) || (k[4].equals("Ability") && sa.isAbility() == true)
|| (k[4].equals("Self") && originalCard.equals(card)) || k[4].equals("All"))
&& ((CardUtil.getColors(sa.getSourceCard()).contains(k[5])) || k[5].equals("All")) && ((CardUtil.getColors(sa.getSourceCard()).contains(k[5])) || k[5].equals("All"))
&& ((sa.getSourceCard().getType().contains(k[6])) || k[6].equals("All"))) { && ((sa.getSourceCard().getType().contains(k[6])) || k[6].equals("All"))) {
if(k[7].equals("CardIsTapped")) { if(k[7].equals("CardIsTapped")) {
@@ -1654,6 +1656,15 @@ public class GameAction {
if(k[7].equals("TargetInPlay")) { if(k[7].equals("TargetInPlay")) {
if(Player_Play.contains(sa.getSourceCard())) k[3] = "0"; if(Player_Play.contains(sa.getSourceCard())) k[3] = "0";
} }
if(k[7].contains("Affinity")) {
String spilt = k[7];
String color_spilt[] = spilt.split("/");
k[7] = color_spilt[1];
PlayerZone PlayerPlay = AllZone.getZone(Constant.Zone.Play, originalCard.getController());
CardList PlayerList = new CardList(PlayerPlay.getCards());
PlayerList = PlayerList.getType(k[7]);
k[3] = String.valueOf(PlayerList.size());
}
String[] Numbers = new String[Max]; String[] Numbers = new String[Max];
if(!"WUGRB".contains(k[3])) { if(!"WUGRB".contains(k[3])) {
for(int no = 0; no < Max; no ++) Numbers[no] = String.valueOf(no); for(int no = 0; no < Max; no ++) Numbers[no] = String.valueOf(no);
@@ -1714,7 +1725,8 @@ public class GameAction {
} }
if((k[1].equals("Player") && card.getController().equals(sa.getSourceCard().getController()) if((k[1].equals("Player") && card.getController().equals(sa.getSourceCard().getController())
|| (k[1].equals("Opponent") && card.getController().equals(AllZone.GameAction.getOpponent(sa.getSourceCard().getController()))) || k[1].equals("All")) || (k[1].equals("Opponent") && card.getController().equals(AllZone.GameAction.getOpponent(sa.getSourceCard().getController()))) || k[1].equals("All"))
&& ((k[4].equals("Spell") && sa.isSpell() == true) || (k[4].equals("Ability") && sa.isAbility() == true) || k[4].equals("All")) && ((k[4].equals("Spell") && sa.isSpell() == true) || (k[4].equals("Ability") && sa.isAbility() == true)
|| (k[4].equals("Self") && originalCard.equals(card)) || k[4].equals("All"))
&& ((CardUtil.getColors(sa.getSourceCard()).contains(k[5])) || k[5].equals("All")) && ((CardUtil.getColors(sa.getSourceCard()).contains(k[5])) || k[5].equals("All"))
&& ((sa.getSourceCard().getType().contains(k[6])) || k[6].equals("All"))) { && ((sa.getSourceCard().getType().contains(k[6])) || k[6].equals("All"))) {
if(k[7].equals("CardIsTapped")) { if(k[7].equals("CardIsTapped")) {
@@ -1723,7 +1735,15 @@ public class GameAction {
if(k[7].equals("TargetInPlay")) { if(k[7].equals("TargetInPlay")) {
if(Player_Play.contains(sa.getSourceCard())) k[3] = "0"; if(Player_Play.contains(sa.getSourceCard())) k[3] = "0";
} }
if(k[7].contains("Affinity")) {
String spilt = k[7];
String color_spilt[] = spilt.split("/");
k[7] = color_spilt[1];
PlayerZone PlayerPlay = AllZone.getZone(Constant.Zone.Play, originalCard.getController());
CardList PlayerList = new CardList(PlayerPlay.getCards());
PlayerList = PlayerList.getType(k[7]);
k[3] = String.valueOf(PlayerList.size());
}
String[] Numbers = new String[Max]; String[] Numbers = new String[Max];
if(!"WUGRB".contains(k[3])) { if(!"WUGRB".contains(k[3])) {
@@ -1744,9 +1764,11 @@ public class GameAction {
manaCost = new ManaCost(Mana); manaCost = new ManaCost(Mana);
} }
} else { } else {
// JOptionPane.showMessageDialog(null, Mana + " " + Mana.replaceFirst(k[3],""), "", JOptionPane.INFORMATION_MESSAGE);
if(Mana.equals(Mana.replaceFirst(k[3], ""))) { if(Mana.equals(Mana.replaceFirst(k[3], ""))) {
// if(sa.isXCost()) sa.getSourceCard().addXManaCostPaid(1); Not Included as X Costs are not in Colored Mana // if(sa.isXCost()) sa.getSourceCard().addXManaCostPaid(1); Not Included as X Costs are not in Colored Mana
if(sa.isMultiKicker()) CostCutting_GetMultiMickerManaCostPaid_Colored = CostCutting_GetMultiMickerManaCostPaid_Colored + k[3]; if(sa.isMultiKicker()) CostCutting_GetMultiMickerManaCostPaid_Colored = CostCutting_GetMultiMickerManaCostPaid_Colored + k[3];
// JOptionPane.showMessageDialog(null, CostCutting_GetMultiMickerManaCostPaid_Colored, "", JOptionPane.INFORMATION_MESSAGE);
} else { } else {
Mana = Mana.replaceFirst(k[3], ""); Mana = Mana.replaceFirst(k[3], "");
Mana = Mana.trim(); Mana = Mana.trim();
@@ -1767,7 +1789,6 @@ public class GameAction {
} }
} }
} }
if(sa.isXCost()) { if(sa.isXCost()) {
for(int XPaid = 0; XPaid < XBonus; XPaid++) sa.getSourceCard().addXManaCostPaid(1); for(int XPaid = 0; XPaid < XBonus; XPaid++) sa.getSourceCard().addXManaCostPaid(1);
@@ -1776,15 +1797,6 @@ public class GameAction {
CostCutting_GetMultiMickerManaCostPaid = 0; CostCutting_GetMultiMickerManaCostPaid = 0;
for(int XPaid = 0; XPaid < XBonus; XPaid++) CostCutting_GetMultiMickerManaCostPaid = CostCutting_GetMultiMickerManaCostPaid + 1; for(int XPaid = 0; XPaid < XBonus; XPaid++) CostCutting_GetMultiMickerManaCostPaid = CostCutting_GetMultiMickerManaCostPaid + 1;
} }
/**
if(sa.isMultiKicker()) {
for(int XPaid = 0; XPaid < XBonus ; XPaid++) {
// AllZone.ManaPool.has = AllZone.ManaPool.has.replaceFirst("1", "");
AllZone.ManaPool.addMana("1");;
}
}
**/
} }
if(originalCard.getName().equals("Khalni Hydra") && spell.isSpell() == true) { if(originalCard.getName().equals("Khalni Hydra") && spell.isSpell() == true) {
String player = AllZone.Phase.getActivePlayer(); String player = AllZone.Phase.getActivePlayer();
@@ -1807,7 +1819,7 @@ public class GameAction {
} }
} // Khalni Hydra } // Khalni Hydra
return manaCost; return manaCost;
} }
public void playSpellAbility(SpellAbility sa) { public void playSpellAbility(SpellAbility sa) {
ManaCost manaCost = GetSpellCostChange(sa); ManaCost manaCost = GetSpellCostChange(sa);