mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-18 03:38:01 +00:00
- More cards ready for multiplayer
This commit is contained in:
@@ -4,7 +4,7 @@ Types:Creature Horror
|
||||
Text:no text
|
||||
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.
|
||||
SVar:TrigSac:AB$Sacrifice | Cost$ 0 | SacValid$ Creature | Defined$ Each
|
||||
SVar:TrigSac:AB$ Sacrifice | Cost$ 0 | SacValid$ Creature | Defined$ Each
|
||||
SVar:Rarity:Common
|
||||
SVar:Picture:http://www.wizards.com/global/images/magic/general/abyssal_gatekeeper.jpg
|
||||
SetInfo:WTH|Common|http://magiccards.info/scans/en/wl/1.jpg
|
||||
|
||||
@@ -2,10 +2,10 @@ Name:Acidic Soil
|
||||
ManaCost:2 R
|
||||
Types:Sorcery
|
||||
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.
|
||||
SVar:DBDamageOpp:DB$DealDamage | Defined$ Opponent | NumDmg$ Y | References$ Y
|
||||
SVar:X:Count$TypeYouCtrl.Land
|
||||
SVar:Y:Count$TypeOppCtrl.Land
|
||||
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$ Remembered | NumDmg$ X | References$ X
|
||||
SVar:X:Count$Valid Land.RememberedPlayerCtrl
|
||||
SVar:AIPlayForSub:True
|
||||
SVar:RemAIDeck:True
|
||||
SVar:Rarity:Uncommon
|
||||
SVar:Picture:http://www.wizards.com/global/images/magic/general/acidic_soil.jpg
|
||||
|
||||
@@ -4,7 +4,7 @@ Types:Creature Goblin Shaman
|
||||
Text:no text
|
||||
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.
|
||||
SVar:TrigSac:AB$Sacrifice | Cost$ 0 | SacValid$ Land | Defined$ Each
|
||||
SVar:TrigSac:AB$ Sacrifice | Cost$ 0 | SacValid$ Land | Defined$ Each
|
||||
SVar:Rarity:Common
|
||||
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
|
||||
|
||||
@@ -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.
|
||||
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:DBResurrection:DB$ChangeZoneAll | Origin$ Graveyard | Destination$ Battlefield | ChangeType$ Creature
|
||||
SVar:DBPutCounter:DB$PutCounter | Defined$ Remembered | CounterType$ SCREAM | CounterNum$ 2
|
||||
SVar:DBResurrection:DB$ ChangeZoneAll | Origin$ Graveyard | Destination$ Battlefield | ChangeType$ Creature
|
||||
SVar:DBPutCounter:DB$ PutCounter | Defined$ Remembered | CounterType$ SCREAM | CounterNum$ 2
|
||||
SVar:Rarity:Rare
|
||||
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
|
||||
|
||||
@@ -2,13 +2,11 @@ Name:Antagonism
|
||||
ManaCost:3 R
|
||||
Types:Enchantment
|
||||
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.
|
||||
SVar:TeaseYou:DB$ DealDamage | Defined$ You | NumDmg$ 2 | ConditionCheckSVar$ AntagonismX | ConditionSVarCompare$ LE0 | References$ AntagonismX
|
||||
SVar:AntagonismX:Count$OppDamageThisTurn
|
||||
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:TeaseOpp:DB$ DealDamage | Defined$ Opponent | NumDmg$ 2 | ConditionCheckSVar$ AntagonismY | ConditionSVarCompare$ LE0 | References$ AntagonismY |
|
||||
SVar:AntagonismY:Count$YourDamageThisTurn
|
||||
SVar:NeedsToPlayVar:AntagonismX GE1
|
||||
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$ TriggeredPlayer | NumDmg$ 2 | ConditionCheckSVar$ AntagonismX | ConditionSVarCompare$ LE0 | References$ AntagonismX
|
||||
SVar:AntagonismX:TriggeredPlayer$DamageToOppsThisTurn
|
||||
SVar:Check:PlayerCountOpponents$DamageToOppsThisTurn
|
||||
SVar:NeedsToPlayVar:Check GE1
|
||||
SVar:RemRandomDeck:True
|
||||
SVar:Rarity:Rare
|
||||
SVar:Picture:http://www.wizards.com/global/images/magic/general/antagonism.jpg
|
||||
|
||||
@@ -1126,14 +1126,12 @@ public class AbilityFactory {
|
||||
if (!players.contains(p)) {
|
||||
players.add(p);
|
||||
}
|
||||
} else if (defined.equals("You") || defined.equals("Opponent") || defined.equals("Each")) {
|
||||
if (defined.equals("You") || defined.equals("Each")) {
|
||||
players.add(sa.getActivatingPlayer());
|
||||
}
|
||||
|
||||
if (defined.equals("Opponent") || defined.equals("Each")) {
|
||||
players.add(sa.getActivatingPlayer().getOpponent());
|
||||
}
|
||||
} else if (defined.equals("You")) {
|
||||
players.add(sa.getActivatingPlayer());
|
||||
} else if (defined.equals("Each")) {
|
||||
players.addAll(Singletons.getModel().getGame().getPlayers());
|
||||
} else if (defined.equals("Opponent")) {
|
||||
players.add(sa.getActivatingPlayer().getOpponent());
|
||||
} else {
|
||||
for (Player p : Singletons.getModel().getGame().getPlayers()) {
|
||||
if (p.isValid(defined, sa.getActivatingPlayer(), sa.getSourceCard())) {
|
||||
|
||||
@@ -42,13 +42,6 @@ public class SacrificeAllEffect extends SpellEffect {
|
||||
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;
|
||||
if (sa.hasParam("Defined")) {
|
||||
list = new ArrayList<Card>(AbilityFactory.getDefinedCards(sa.getSourceCard(), sa.getParam("Defined"), sa));
|
||||
|
||||
@@ -1884,7 +1884,9 @@ public class CardFactoryUtil {
|
||||
}
|
||||
|
||||
if (sq[0].contains("LifeLostThisTurn")) {
|
||||
return CardFactoryUtil.doXMath(players.get(0).getLifeLostThisTurn(), m, source);
|
||||
if (players.size() > 0) {
|
||||
return CardFactoryUtil.doXMath(players.get(0).getLifeLostThisTurn(), m, source);
|
||||
}
|
||||
}
|
||||
|
||||
if (sq[0].contains("TopOfLibraryCMC")) {
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user