From 3264995f5c2dcfed2d2d2586a58abc7b6ab8b066 Mon Sep 17 00:00:00 2001 From: swordshine Date: Tue, 26 Mar 2013 12:02:45 +0000 Subject: [PATCH] - Added 8 planes --- .gitattributes | 8 ++++++++ res/cardsfolder/o/onakke_catacomb.txt | 9 +++++++++ res/cardsfolder/o/orochi_colony.txt | 10 ++++++++++ res/cardsfolder/o/otaria.txt | 9 +++++++++ res/cardsfolder/s/shiv.txt | 10 ++++++++++ res/cardsfolder/s/shrouded_serpent.txt | 2 +- res/cardsfolder/s/skybreen.txt | 11 +++++++++++ res/cardsfolder/s/sokenzan.txt | 10 ++++++++++ res/cardsfolder/s/stronghold_furnace.txt | 13 +++++++++++++ res/cardsfolder/t/tazeem.txt | 10 ++++++++++ src/main/java/forge/Card.java | 12 ++++++++++++ src/main/java/forge/gui/CardDetailPanel.java | 2 +- 12 files changed, 104 insertions(+), 2 deletions(-) create mode 100644 res/cardsfolder/o/onakke_catacomb.txt create mode 100644 res/cardsfolder/o/orochi_colony.txt create mode 100644 res/cardsfolder/o/otaria.txt create mode 100644 res/cardsfolder/s/shiv.txt create mode 100644 res/cardsfolder/s/skybreen.txt create mode 100644 res/cardsfolder/s/sokenzan.txt create mode 100644 res/cardsfolder/s/stronghold_furnace.txt create mode 100644 res/cardsfolder/t/tazeem.txt diff --git a/.gitattributes b/.gitattributes index a5b3da3ede2..aee56634ad8 100644 --- a/.gitattributes +++ b/.gitattributes @@ -7374,6 +7374,7 @@ res/cardsfolder/o/omen_of_fire.txt svneol=native#text/plain res/cardsfolder/o/omnath_locus_of_mana.txt svneol=native#text/plain res/cardsfolder/o/omnibian.txt svneol=native#text/plain res/cardsfolder/o/omniscience.txt -text +res/cardsfolder/o/onakke_catacomb.txt -text res/cardsfolder/o/ondu_cleric.txt svneol=native#text/plain res/cardsfolder/o/ondu_giant.txt svneol=native#text/plain res/cardsfolder/o/one_dozen_eyes.txt svneol=native#text/plain @@ -7474,6 +7475,7 @@ res/cardsfolder/o/orims_touch.txt -text svneol=unset#text/plain res/cardsfolder/o/oriss_samite_guardian.txt -text res/cardsfolder/o/ornate_kanzashi.txt -text res/cardsfolder/o/ornithopter.txt svneol=native#text/plain +res/cardsfolder/o/orochi_colony.txt -text res/cardsfolder/o/orochi_eggwatcher_shidako_broodmistress.txt -text res/cardsfolder/o/orochi_hatchery.txt svneol=native#text/plain res/cardsfolder/o/orochi_leafcaller.txt svneol=native#text/plain @@ -7492,6 +7494,7 @@ res/cardsfolder/o/orzhova_the_church_of_deals.txt svneol=native#text/plain res/cardsfolder/o/osai_vultures.txt -text svneol=unset#text/plain res/cardsfolder/o/ostiary_thrull.txt svneol=native#text/plain res/cardsfolder/o/ostracize.txt svneol=native#text/plain +res/cardsfolder/o/otaria.txt -text res/cardsfolder/o/otarian_juggernaut.txt svneol=native#text/plain res/cardsfolder/o/otherworld_atlas.txt -text res/cardsfolder/o/otherworldly_journey.txt svneol=native#text/plain @@ -9425,6 +9428,7 @@ res/cardsfolder/s/shinka_gatekeeper.txt svneol=native#text/plain res/cardsfolder/s/shinka_the_bloodsoaked_keep.txt svneol=native#text/plain res/cardsfolder/s/shirei_shizos_caretaker.txt -text res/cardsfolder/s/shisato_whispering_hunter.txt -text +res/cardsfolder/s/shiv.txt -text res/cardsfolder/s/shivan_dragon.txt svneol=native#text/plain res/cardsfolder/s/shivan_emissary.txt svneol=native#text/plain res/cardsfolder/s/shivan_gorge.txt svneol=native#text/plain @@ -9677,6 +9681,7 @@ res/cardsfolder/s/sky_spirit.txt svneol=native#text/plain res/cardsfolder/s/sky_swallower.txt svneol=native#text/plain res/cardsfolder/s/sky_weaver.txt svneol=native#text/plain res/cardsfolder/s/skyblinder_staff.txt -text +res/cardsfolder/s/skybreen.txt -text res/cardsfolder/s/skyclaw_thrash.txt -text res/cardsfolder/s/skycloud_egg.txt svneol=native#text/plain res/cardsfolder/s/skycloud_expanse.txt svneol=native#text/plain @@ -9825,6 +9830,7 @@ res/cardsfolder/s/soar.txt -text res/cardsfolder/s/soaring_hope.txt svneol=native#text/plain res/cardsfolder/s/soaring_seacliff.txt svneol=native#text/plain res/cardsfolder/s/soilshaper.txt svneol=native#text/plain +res/cardsfolder/s/sokenzan.txt -text res/cardsfolder/s/sokenzan_bruiser.txt svneol=native#text/plain res/cardsfolder/s/sokenzan_renegade.txt -text svneol=unset#text/plain res/cardsfolder/s/sokenzan_spellblade.txt -text @@ -10394,6 +10400,7 @@ res/cardsfolder/s/strongarm_thug.txt svneol=native#text/plain res/cardsfolder/s/stronghold_assassin.txt svneol=native#text/plain res/cardsfolder/s/stronghold_biologist.txt svneol=native#text/plain res/cardsfolder/s/stronghold_discipline.txt svneol=native#text/plain +res/cardsfolder/s/stronghold_furnace.txt -text res/cardsfolder/s/stronghold_machinist.txt svneol=native#text/plain res/cardsfolder/s/stronghold_overseer.txt svneol=native#text/plain res/cardsfolder/s/stronghold_rats.txt svneol=native#text/plain @@ -10698,6 +10705,7 @@ res/cardsfolder/t/tavern_swindler.txt -text res/cardsfolder/t/tawnos.txt -text res/cardsfolder/t/tawnoss_wand.txt svneol=native#text/plain res/cardsfolder/t/tawnoss_weaponry.txt svneol=native#text/plain +res/cardsfolder/t/tazeem.txt -text res/cardsfolder/t/teardrop_kami.txt svneol=native#text/plain res/cardsfolder/t/tears_of_rage.txt svneol=native#text/plain res/cardsfolder/t/tectonic_break.txt svneol=native#text/plain diff --git a/res/cardsfolder/o/onakke_catacomb.txt b/res/cardsfolder/o/onakke_catacomb.txt new file mode 100644 index 00000000000..fe5c6383176 --- /dev/null +++ b/res/cardsfolder/o/onakke_catacomb.txt @@ -0,0 +1,9 @@ +Name:Onakke Catacomb +ManaCost:no cost +Types:Plane Shandalar +S:Mode$ Continuous | EffectZone$ Command | Affected$ Creature | SetColor$ Black | AddKeyword$ Deathtouch | Description$ All creatures are black and have deathtouch. +T:Mode$ PlanarDice | Result$ Chaos | TriggerZones$ Command | Execute$ RolledChaos | TriggerDescription$ Whenever you roll Chaos, creatures you control get +1/+0 and gain first strike until end of turn. +SVar:RolledChaos:AB$ PumpAll | Cost$ 0 | ValidCards$ Creature.YouCtrl | NumAtt$ +1 | KW$ First Strike +SVar:Picture:http://www.wizards.com/global/images/magic/general/onakke_catacomb.jpg +Oracle:All creatures are black and have deathtouch.\nWhenever you roll {C}, creatures you control get +1/+0 and gain first strike until end of turn. +SetInfo:PC2 Common \ No newline at end of file diff --git a/res/cardsfolder/o/orochi_colony.txt b/res/cardsfolder/o/orochi_colony.txt new file mode 100644 index 00000000000..7cea1440bf2 --- /dev/null +++ b/res/cardsfolder/o/orochi_colony.txt @@ -0,0 +1,10 @@ +Name:Orochi Colony +ManaCost:no cost +Types:Plane Kamigawa +T:Mode$ DamageDone | ValidSource$ Creature.YouCtrl | ValidTarget$ Opponent | CombatDamage$ True | Execute$ TrigRamp | TriggerZones$ Command | TriggerDescription$ Whenever a creature you control deals combat damage to a player, you may search your library for a basic land card, put it onto the battlefield tapped, then shuffle your library. +SVar:TrigRamp:AB$ ChangeZone | Cost$ 0 | Origin$ Library | Destination$ Battlefield | Tapped$ True | ChangeType$ Land.Basic | ChangeNum$ 1 +T:Mode$ PlanarDice | Result$ Chaos | TriggerZones$ Command | Execute$ RolledChaos | TriggerDescription$ Whenever you roll Chaos, target creature is unblockable this turn. +SVar:RolledChaos:AB$ Pump | Cost$ 0 | ValidTgts$ Creature | KW$ HIDDEN Unblockable +SVar:Picture:http://www.wizards.com/global/images/magic/general/orochi_colony.jpg +Oracle:Whenever a creature you control deals combat damage to a player, you may search your library for a basic land card, put it onto the battlefield tapped, then shuffle your library.\nWhenever you roll {C}, target creature is unblockable this turn. +SetInfo:PC2 Common \ No newline at end of file diff --git a/res/cardsfolder/o/otaria.txt b/res/cardsfolder/o/otaria.txt new file mode 100644 index 00000000000..78ed5a50a84 --- /dev/null +++ b/res/cardsfolder/o/otaria.txt @@ -0,0 +1,9 @@ +Name:Otaria +ManaCost:no cost +Types:Plane Dominaria +S:Mode$ Continuous | Affected$ Instant,Sorcery | EffectZone$ Command | AffectedZone$ Graveyard | AddKeyword$ Flashback | Description$ Instant and sorcery cards in graveyards have flashback. The flashback cost is equal to the card's mana cost. (Its owner may cast the card from his or her graveyard for its mana cost. Then he or she exiles it.) +T:Mode$ PlanarDice | Result$ Chaos | TriggerZones$ Command | Execute$ RolledChaos | TriggerDescription$ Whenever you roll Chaos, take an extra turn after this one. +SVar:RolledChaos:AB$ AddTurn | Cost$ 0 | NumTurns$ 1 +SVar:Picture:http://www.wizards.com/global/images/magic/general/otaria.jpg +Oracle:Instant and sorcery cards in graveyards have flashback. The flashback cost is equal to the card's mana cost. (Its owner may cast the card from his or her graveyard for its mana cost. Then he or she exiles it.)\nWhenever you roll {C}, take an extra turn after this one. +SetInfo:HOP Common \ No newline at end of file diff --git a/res/cardsfolder/s/shiv.txt b/res/cardsfolder/s/shiv.txt new file mode 100644 index 00000000000..334ba72bb87 --- /dev/null +++ b/res/cardsfolder/s/shiv.txt @@ -0,0 +1,10 @@ +Name:Shiv +ManaCost:no cost +Types:Plane Dominaria +S:Mode$ Continuous | Affected$ Creature | EffectZone$ Command | AddAbility$ Pump | Description$ All creatures have "R: This creature gets +1/+0 until end of turn." +SVar:Pump:AB$ Pump | Cost$ R | NumAtt$ +1 | SpellDescription$ CARDNAME gets +1/+0 until end of turn. +T:Mode$ PlanarDice | Result$ Chaos | TriggerZones$ Command | Execute$ RolledChaos | TriggerDescription$ Whenever you roll Chaos, put a 5/5 red Dragon creature token with flying onto the battlefield. +SVar:RolledChaos:AB$ Token | Cost$ 0 | TokenOwner$ You | TokenAmount$ 1 | TokenName$ Dragon | TokenTypes$ Creature,Dragon | TokenColors$ Red | TokenPower$ 5 | TokenToughness$ 5 | TokenKeywords$ Flying +SVar:Picture:http://www.wizards.com/global/images/magic/general/shiv.jpg +Oracle:All creatures have "{R}: This creature gets +1/+0 until end of turn."\nWhenever you roll {C}, put a 5/5 red Dragon creature token with flying onto the battlefield. +SetInfo:HOP Common \ No newline at end of file diff --git a/res/cardsfolder/s/shrouded_serpent.txt b/res/cardsfolder/s/shrouded_serpent.txt index 3f25a1f3cbd..117b954d3ed 100644 --- a/res/cardsfolder/s/shrouded_serpent.txt +++ b/res/cardsfolder/s/shrouded_serpent.txt @@ -3,7 +3,7 @@ ManaCost:4 U U U Types:Creature Serpent PT:4/4 T:Mode$ Attacks | ValidCard$ Card.Self | Execute$ TrigPump | TriggerDescription$ Whenever CARDNAME attacks, defending player may pay 4. If he or she doesn't, CARDNAME is unblockable this turn. -SVar:TrigPump:AB$ Pump | Cost$ 0 | Defined$ Self | KW$ HIDDEN Unblockable | UnlessCost$ 4 | UnlessPayer$ DefendingPlayer | SpellDescription$ Target creature is unblockable this turn. +SVar:TrigPump:AB$ Pump | Cost$ 0 | Defined$ Self | KW$ HIDDEN Unblockable | UnlessCost$ 4 | UnlessPayer$ DefendingPlayer SVar:RemAIDeck:True SVar:Picture:http://www.wizards.com/global/images/magic/general/shrouded_serpent.jpg Oracle:Whenever Shrouded Serpent attacks, defending player may pay {4}. If he or she doesn't, Shrouded Serpent is unblockable this turn. diff --git a/res/cardsfolder/s/skybreen.txt b/res/cardsfolder/s/skybreen.txt new file mode 100644 index 00000000000..567e67ce766 --- /dev/null +++ b/res/cardsfolder/s/skybreen.txt @@ -0,0 +1,11 @@ +Name:Skybreen +ManaCost:no cost +Types:Plane Kaldheim +K:Players play with the top card of their libraries revealed. +S:Mode$ CantBeCast | EffectZone$ Command | ValidCard$ Card.sharesCardTypeWith EachTopLibrary | Description$ Spells that share a card type with the top card of a library can't be cast. +T:Mode$ PlanarDice | Result$ Chaos | TriggerZones$ Command | Execute$ RolledChaos | TriggerDescription$ Whenever you roll Chaos, target player loses life equal to the number of cards in his or her hand. +SVar:RolledChaos:AB$ LoseLife | Cost$ 0 | ValidTgts$ Player | LifeAmount$ Y | References$ Y +SVar:Y:TargetedPlayer$CardsInHand +SVar:Picture:http://www.wizards.com/global/images/magic/general/skybreen.jpg +Oracle:Players play with the top card of their libraries revealed.\nSpells that share a card type with the top card of a library can't be cast.\nWhenever you roll {C}, target player loses life equal to the number of cards in his or her hand. +SetInfo:HOP Common \ No newline at end of file diff --git a/res/cardsfolder/s/sokenzan.txt b/res/cardsfolder/s/sokenzan.txt new file mode 100644 index 00000000000..07d805b8ce0 --- /dev/null +++ b/res/cardsfolder/s/sokenzan.txt @@ -0,0 +1,10 @@ +Name:Sokenzan +ManaCost:no cost +Types:Plane Kamigawa +S:Mode$ Continuous | EffectZone$ Command | Affected$ Creature | AddPower$ 1 | AddToughness$ 1 | AddKeyword$ Haste | Description$ All creatures get +1/+1 and have haste. +T:Mode$ PlanarDice | Result$ Chaos | TriggerZones$ Command | Execute$ RolledChaos | TriggerDescription$ Whenever you roll Chaos, untap all creatures that attacked this turn. After this main phase, there is an additional combat phase followed by an additional main phase. +SVar:RolledChaos:AB$ UntapAll | Cost$ 0 | ValidCards$ Creature.attackedThisTurn | SubAbility$ DBAddCombat | SpellDescription$ Untap all creatures that attacked this turn. After this main phase, there is an additional combat phase followed by an additional main phase. +SVar:DBAddCombat:DB$ AddPhase | ExtraPhase$ BeginCombat | FollowedBy$ ThisPhase | ConditionPhases$ Main1,Main2 +SVar:Picture:http://www.wizards.com/global/images/magic/general/sokenzan.jpg +Oracle:All creatures get +1/+1 and have haste.\nWhenever you roll {C}, untap all creatures that attacked this turn. After this main phase, there is an additional combat phase followed by an additional main phase. +SetInfo:HOP Common \ No newline at end of file diff --git a/res/cardsfolder/s/stronghold_furnace.txt b/res/cardsfolder/s/stronghold_furnace.txt new file mode 100644 index 00000000000..0fb22e9fdf7 --- /dev/null +++ b/res/cardsfolder/s/stronghold_furnace.txt @@ -0,0 +1,13 @@ +Name:Stronghold Furnace +ManaCost:no cost +Types:Plane Rath +R:Event$ DamageDone | ActiveZones$ Command | ValidSource$ Card | ValidTarget$ Creature,Player | ReplaceWith$ DmgTwice | IsCombat$ False | Description$ If a source would deal damage to a creature or player, it deals double that damage to that creature or player instead. +R:Event$ DamageDone | ActiveZones$ Command | ValidSource$ Card | ValidTarget$ Creature,Player | ReplaceWith$ DmgTwiceCombat | IsCombat$ True | Secondary$ True | Description$ If a source would deal damage to a creature or player, it deals double that damage to that creature or player instead. +SVar:DmgTwice:AB$ DealDamage | Cost$ 0 | Defined$ ReplacedTarget | DamageSource$ ReplacedSource | NumDmg$ Y | References$ Y +SVar:DmgTwiceCombat:AB$DealDamage | Cost$ 0 | CombatDamage$ True | Defined$ ReplacedTarget | DamageSource$ ReplacedSource | NumDmg$ Y | References$ Y +SVar:Y:ReplaceCount$DamageAmount/Twice +T:Mode$ PlanarDice | Result$ Chaos | TriggerZones$ Command | Execute$ RolledChaos | TriggerDescription$ Whenever you roll Chaos, CARDNAME deals 1 damage to target creature or player. +SVar:RolledChaos:AB$ DealDamage | Cost$ 0 | ValidTgts$ Creature,Player | TgtPrompt$ Select target creature or player | NumDmg$ 1 +SVar:Picture:http://www.wizards.com/global/images/magic/general/stronghold_furnace.jpg +Oracle:If a source would deal damage to a creature or player, it deals double that damage to that creature or player instead.\nWhenever you roll {C}, Stronghold Furnace deals 1 damage to target creature or player. +SetInfo:HOP Common \ No newline at end of file diff --git a/res/cardsfolder/t/tazeem.txt b/res/cardsfolder/t/tazeem.txt new file mode 100644 index 00000000000..d1e36072b6f --- /dev/null +++ b/res/cardsfolder/t/tazeem.txt @@ -0,0 +1,10 @@ +Name:Tazeem +ManaCost:no cost +Types:Plane Zendikar +S:Mode$ Continuous | Affected$ Creature | EffectZone$ Command | AddHiddenKeyword$ CARDNAME can't block. | Description$ Creatures can't block. +T:Mode$ PlanarDice | Result$ Chaos | TriggerZones$ Command | Execute$ RolledChaos | TriggerDescription$ Whenever you roll Chaos, draw a card for each land you control. +SVar:RolledChaos:AB$ Draw | Cost$ 0 | NumCards$ Y | Defined$ You +SVar:Y:Count$Valid Land.YouCtrl +SVar:Picture:http://www.wizards.com/global/images/magic/general/tazeem.jpg +Oracle:Creatures can't block.\nWhenever you roll {C}, draw a card for each land you control. +SetInfo:HOP Special \ No newline at end of file diff --git a/src/main/java/forge/Card.java b/src/main/java/forge/Card.java index 3c7b330cc7b..6d40d6064f1 100644 --- a/src/main/java/forge/Card.java +++ b/src/main/java/forge/Card.java @@ -6646,6 +6646,18 @@ public class Card extends GameEntity implements Comparable { } } return false; + } else if (restriction.equals("EachTopLibrary")) { + final List list = new ArrayList(); + for (Player p : Singletons.getModel().getGame().getPlayers()) { + final Card top = p.getCardsIn(ZoneType.Library).get(0); + list.add(top); + } + for (Card c : list) { + if (this.sharesCardTypeWith(c)) { + return true; + } + } + return false; } } } else if (property.startsWith("sharesNameWith")) { diff --git a/src/main/java/forge/gui/CardDetailPanel.java b/src/main/java/forge/gui/CardDetailPanel.java index 0f6741417b0..22c8a3eb1e6 100644 --- a/src/main/java/forge/gui/CardDetailPanel.java +++ b/src/main/java/forge/gui/CardDetailPanel.java @@ -404,7 +404,7 @@ public class CardDetailPanel extends FPanel { if ((card.hasKeyword("Play with the top card of your library revealed.") || card .hasKeyword("Players play with the top card of their libraries revealed.")) && (card.getController() != null) - && (card.isInZone(ZoneType.Battlefield) || (card.isType("Vanguard") && card.isInZone(ZoneType.Command))) + && (card.isInZone(ZoneType.Battlefield) || ((card.isType("Vanguard") || card.isType("Plane")) && card.isInZone(ZoneType.Command))) && !card.getController().getZone(ZoneType.Library).isEmpty()) { area.append("\r\nTop card of your library: "); area.append(card.getController().getCardsIn(ZoneType.Library, 1));