- More cards ready for multiplayer

This commit is contained in:
moomarc
2012-12-28 18:43:22 +00:00
parent ff9ec261bd
commit e4cb871104
8 changed files with 42 additions and 31 deletions

View File

@@ -2,10 +2,10 @@ Name:Acidic Soil
ManaCost:2 R ManaCost:2 R
Types:Sorcery Types:Sorcery
Text:no text Text:no text
A:SP$ DealDamage | Cost$ 2 R | Defined$ You | NumDmg$ X | SubAbility$ DBDamageOpp | References$ X | SpellDescription$ CARDNAME deals damage to each player equal to the number of lands he or she controls. A:SP$ RepeatEach | Cost$ 2 R | RepeatPlayers$ Player | RepeatSubAbility$ DBDamageOpp | SpellDescription$ CARDNAME deals damage to each player equal to the number of lands he or she controls.
SVar:DBDamageOpp:DB$DealDamage | Defined$ Opponent | NumDmg$ Y | References$ Y SVar:DBDamageOpp:DB$ DealDamage | Defined$ Remembered | NumDmg$ X | References$ X
SVar:X:Count$TypeYouCtrl.Land SVar:X:Count$Valid Land.RememberedPlayerCtrl
SVar:Y:Count$TypeOppCtrl.Land SVar:AIPlayForSub:True
SVar:RemAIDeck:True SVar:RemAIDeck:True
SVar:Rarity:Uncommon SVar:Rarity:Uncommon
SVar:Picture:http://www.wizards.com/global/images/magic/general/acidic_soil.jpg SVar:Picture:http://www.wizards.com/global/images/magic/general/acidic_soil.jpg

View File

@@ -2,13 +2,11 @@ Name:Antagonism
ManaCost:3 R ManaCost:3 R
Types:Enchantment Types:Enchantment
Text:no text Text:no text
T:Mode$ Phase | Phase$ End of Turn | ValidPlayer$ You | Execute$ TeaseYou | TriggerZones$ Battlefield | TriggerDescription$ At the beginning of each player's end step, CARDNAME deals 2 damage to that player unless one of his or her opponents was dealt damage this turn. T:Mode$ Phase | Phase$ End of Turn | ValidPlayer$ Player | Execute$ TeaseYou | TriggerZones$ Battlefield | TriggerDescription$ At the beginning of each player's end step, CARDNAME deals 2 damage to that player unless one of his or her opponents was dealt damage this turn.
SVar:TeaseYou:DB$ DealDamage | Defined$ You | NumDmg$ 2 | ConditionCheckSVar$ AntagonismX | ConditionSVarCompare$ LE0 | References$ AntagonismX SVar:TeaseYou:DB$ DealDamage | Defined$ TriggeredPlayer | NumDmg$ 2 | ConditionCheckSVar$ AntagonismX | ConditionSVarCompare$ LE0 | References$ AntagonismX
SVar:AntagonismX:Count$OppDamageThisTurn SVar:AntagonismX:TriggeredPlayer$DamageToOppsThisTurn
T:Mode$ Phase | Phase$ End of Turn | ValidPlayer$ Opponent | Execute$ TeaseOpp | TriggerZones$ Battlefield | Secondary$ True | TriggerDescription$ At the beginning of each player's end step, CARDNAME deals 2 damage to that player unless one of his or her opponents was dealt damage this turn. SVar:Check:PlayerCountOpponents$DamageToOppsThisTurn
SVar:TeaseOpp:DB$ DealDamage | Defined$ Opponent | NumDmg$ 2 | ConditionCheckSVar$ AntagonismY | ConditionSVarCompare$ LE0 | References$ AntagonismY | SVar:NeedsToPlayVar:Check GE1
SVar:AntagonismY:Count$YourDamageThisTurn
SVar:NeedsToPlayVar:AntagonismX GE1
SVar:RemRandomDeck:True SVar:RemRandomDeck:True
SVar:Rarity:Rare SVar:Rarity:Rare
SVar:Picture:http://www.wizards.com/global/images/magic/general/antagonism.jpg SVar:Picture:http://www.wizards.com/global/images/magic/general/antagonism.jpg

View File

@@ -1126,14 +1126,12 @@ public class AbilityFactory {
if (!players.contains(p)) { if (!players.contains(p)) {
players.add(p); players.add(p);
} }
} else if (defined.equals("You") || defined.equals("Opponent") || defined.equals("Each")) { } else if (defined.equals("You")) {
if (defined.equals("You") || defined.equals("Each")) {
players.add(sa.getActivatingPlayer()); players.add(sa.getActivatingPlayer());
} } else if (defined.equals("Each")) {
players.addAll(Singletons.getModel().getGame().getPlayers());
if (defined.equals("Opponent") || defined.equals("Each")) { } else if (defined.equals("Opponent")) {
players.add(sa.getActivatingPlayer().getOpponent()); players.add(sa.getActivatingPlayer().getOpponent());
}
} else { } else {
for (Player p : Singletons.getModel().getGame().getPlayers()) { for (Player p : Singletons.getModel().getGame().getPlayers()) {
if (p.isValid(defined, sa.getActivatingPlayer(), sa.getSourceCard())) { if (p.isValid(defined, sa.getActivatingPlayer(), sa.getSourceCard())) {

View File

@@ -42,13 +42,6 @@ public class SacrificeAllEffect extends SpellEffect {
valid = sa.getParam("ValidCards"); valid = sa.getParam("ValidCards");
} }
// Ugh. If calculateAmount needs to be called with DestroyAll it _needs_
// to use the X variable
// We really need a better solution to this
if (valid.contains("X")) {
valid = valid.replace("X", Integer.toString(AbilityFactory.calculateAmount(card, "X", sa)));
}
List<Card> list; List<Card> list;
if (sa.hasParam("Defined")) { if (sa.hasParam("Defined")) {
list = new ArrayList<Card>(AbilityFactory.getDefinedCards(sa.getSourceCard(), sa.getParam("Defined"), sa)); list = new ArrayList<Card>(AbilityFactory.getDefinedCards(sa.getSourceCard(), sa.getParam("Defined"), sa));

View File

@@ -1884,8 +1884,10 @@ public class CardFactoryUtil {
} }
if (sq[0].contains("LifeLostThisTurn")) { if (sq[0].contains("LifeLostThisTurn")) {
if (players.size() > 0) {
return CardFactoryUtil.doXMath(players.get(0).getLifeLostThisTurn(), m, source); return CardFactoryUtil.doXMath(players.get(0).getLifeLostThisTurn(), m, source);
} }
}
if (sq[0].contains("TopOfLibraryCMC")) { if (sq[0].contains("TopOfLibraryCMC")) {
if (players.size() > 0) { if (players.size() > 0) {
@@ -1918,6 +1920,26 @@ public class CardFactoryUtil {
} }
} }
if (sq[0].contains("DamageToOppsThisTurn")) {
if (players.size() > 0) {
int oppDmg = 0;
for (Player opp : players.get(0).getOpponents()) {
oppDmg += opp.getAssignedDamage();
}
return CardFactoryUtil.doXMath(oppDmg, m, source);
}
}
if (sq[0].contains("DamageThisTurn")) {
if (players.size() > 0) {
int totDmg = 0;
for (Player p : players) {
totDmg += p.getAssignedDamage();
}
return CardFactoryUtil.doXMath(totDmg, m, source);
}
}
return CardFactoryUtil.doXMath(n, m, source); return CardFactoryUtil.doXMath(n, m, source);
} }