- 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

@@ -4,7 +4,7 @@ Types:Creature Horror
Text:no text Text:no text
PT:1/1 PT:1/1
T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ Card.Self | Execute$ TrigSac | TriggerController$ TriggeredCardController | TriggerDescription$ When CARDNAME is put into a graveyard from the battlefield, each player sacrifices a creature. T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ Card.Self | Execute$ TrigSac | TriggerController$ TriggeredCardController | TriggerDescription$ When CARDNAME is put into a graveyard from the battlefield, each player sacrifices a creature.
SVar:TrigSac:AB$Sacrifice | Cost$ 0 | SacValid$ Creature | Defined$ Each SVar:TrigSac:AB$ Sacrifice | Cost$ 0 | SacValid$ Creature | Defined$ Each
SVar:Rarity:Common SVar:Rarity:Common
SVar:Picture:http://www.wizards.com/global/images/magic/general/abyssal_gatekeeper.jpg SVar:Picture:http://www.wizards.com/global/images/magic/general/abyssal_gatekeeper.jpg
SetInfo:WTH|Common|http://magiccards.info/scans/en/wl/1.jpg SetInfo:WTH|Common|http://magiccards.info/scans/en/wl/1.jpg

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

@@ -4,7 +4,7 @@ Types:Creature Goblin Shaman
Text:no text Text:no text
PT:1/1 PT:1/1
T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ Card.Self | Execute$ TrigSac | TriggerController$ TriggeredCardController | TriggerDescription$ When CARDNAME is put into a graveyard from the battlefield, each player sacrifices a land. T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ Card.Self | Execute$ TrigSac | TriggerController$ TriggeredCardController | TriggerDescription$ When CARDNAME is put into a graveyard from the battlefield, each player sacrifices a land.
SVar:TrigSac:AB$Sacrifice | Cost$ 0 | SacValid$ Land | Defined$ Each SVar:TrigSac:AB$ Sacrifice | Cost$ 0 | SacValid$ Land | Defined$ Each
SVar:Rarity:Common SVar:Rarity:Common
SVar:Picture:http://www.wizards.com/global/images/magic/general/akki_blizzard_herder.jpg SVar:Picture:http://www.wizards.com/global/images/magic/general/akki_blizzard_herder.jpg
SetInfo:BOK|Common|http://magiccards.info/scans/en/bok/91.jpg SetInfo:BOK|Common|http://magiccards.info/scans/en/bok/91.jpg

View File

@@ -7,8 +7,8 @@ T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | IsPresent$ Card.Self+counters
T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | IsPresent$ Card.Self+counters_EQ0_SCREAM | PresentZone$ Exile | Execute$ TrigMoveToGraveyard | TriggerZones$ Exile | Secondary$ True | TriggerDescription$ Put CARDNAME into your graveyard and return all creatures to the battlefield. T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | IsPresent$ Card.Self+counters_EQ0_SCREAM | PresentZone$ Exile | Execute$ TrigMoveToGraveyard | TriggerZones$ Exile | Secondary$ True | TriggerDescription$ Put CARDNAME into your graveyard and return all creatures to the battlefield.
SVar:TrigRemoveCounter:AB$ RemoveCounter | Cost$ 0 | Defined$ Self | CounterType$ SCREAM | CounterNum$ 1 SVar:TrigRemoveCounter:AB$ RemoveCounter | Cost$ 0 | Defined$ Self | CounterType$ SCREAM | CounterNum$ 1
SVar:TrigMoveToGraveyard:AB$ ChangeZone | Cost$ 0 | Origin$ Exile | Destination$ Graveyard | Defined$ Self | SubAbility$ DBResurrection SVar:TrigMoveToGraveyard:AB$ ChangeZone | Cost$ 0 | Origin$ Exile | Destination$ Graveyard | Defined$ Self | SubAbility$ DBResurrection
SVar:DBResurrection:DB$ChangeZoneAll | Origin$ Graveyard | Destination$ Battlefield | ChangeType$ Creature SVar:DBResurrection:DB$ ChangeZoneAll | Origin$ Graveyard | Destination$ Battlefield | ChangeType$ Creature
SVar:DBPutCounter:DB$PutCounter | Defined$ Remembered | CounterType$ SCREAM | CounterNum$ 2 SVar:DBPutCounter:DB$ PutCounter | Defined$ Remembered | CounterType$ SCREAM | CounterNum$ 2
SVar:Rarity:Rare SVar:Rarity:Rare
SVar:Picture:http://www.wizards.com/global/images/magic/general/all_hallows_eve.jpg SVar:Picture:http://www.wizards.com/global/images/magic/general/all_hallows_eve.jpg
SetInfo:LEG|Rare|http://magiccards.info/scans/en/lg/2.jpg SetInfo:LEG|Rare|http://magiccards.info/scans/en/lg/2.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);
} }