From 52a26ba4a52ddc910f8ba79b6299a6fd4ca8cbab Mon Sep 17 00:00:00 2001 From: Sol Date: Sun, 23 Jun 2013 17:20:44 +0000 Subject: [PATCH] - Added Urza's Engine, Icatian Skirmishers, Camel --- .gitattributes | 3 +++ res/cardsfolder/c/camel.txt | 8 ++++++++ res/cardsfolder/i/icatian_skirmishers.txt | 10 ++++++++++ res/cardsfolder/u/urzas_engine.txt | 10 ++++++++++ src/main/java/forge/Card.java | 12 ++++++++++++ 5 files changed, 43 insertions(+) create mode 100644 res/cardsfolder/c/camel.txt create mode 100644 res/cardsfolder/i/icatian_skirmishers.txt create mode 100644 res/cardsfolder/u/urzas_engine.txt diff --git a/.gitattributes b/.gitattributes index e792ac68039..8a7c3fed5d2 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1492,6 +1492,7 @@ res/cardsfolder/c/callow_jushi_jaraku_the_interloper.txt -text res/cardsfolder/c/calming_licid.txt -text res/cardsfolder/c/calming_verse.txt svneol=native#text/plain res/cardsfolder/c/caltrops.txt svneol=native#text/plain +res/cardsfolder/c/camel.txt -text res/cardsfolder/c/cancel.txt svneol=native#text/plain res/cardsfolder/c/candelabra_of_tawnos.txt svneol=native#text/plain res/cardsfolder/c/candles_of_leng.txt -text svneol=unset#text/plain @@ -5255,6 +5256,7 @@ res/cardsfolder/i/icatian_moneychanger.txt svneol=native#text/plain res/cardsfolder/i/icatian_phalanx.txt -text res/cardsfolder/i/icatian_priest.txt svneol=native#text/plain res/cardsfolder/i/icatian_scout.txt svneol=native#text/plain +res/cardsfolder/i/icatian_skirmishers.txt -text res/cardsfolder/i/icatian_store.txt svneol=native#text/plain res/cardsfolder/i/icatian_town.txt svneol=native#text/plain res/cardsfolder/i/ice_cage.txt svneol=native#text/plain @@ -11887,6 +11889,7 @@ res/cardsfolder/u/urzas_avenger.txt -text res/cardsfolder/u/urzas_bauble.txt -text res/cardsfolder/u/urzas_blueprints.txt svneol=native#text/plain res/cardsfolder/u/urzas_chalice.txt svneol=native#text/plain +res/cardsfolder/u/urzas_engine.txt -text res/cardsfolder/u/urzas_factory.txt svneol=native#text/plain res/cardsfolder/u/urzas_filter.txt -text res/cardsfolder/u/urzas_guilt.txt svneol=native#text/plain diff --git a/res/cardsfolder/c/camel.txt b/res/cardsfolder/c/camel.txt new file mode 100644 index 00000000000..86c33ee566a --- /dev/null +++ b/res/cardsfolder/c/camel.txt @@ -0,0 +1,8 @@ +Name:Camel +ManaCost:W +Types:Creature Camel +PT:0/1 +K:Banding +S:Mode$ Continuous | Affected$ Creature.Self+attacking,Creature.attackersBandedWith | AddKeyword$ PreventAllDamageBy Desert | Description$ As long as Camel is attacking, prevent all damage Deserts would deal to Camel and to creatures banded with Camel. +SVar:Picture:http://www.wizards.com/global/images/magic/general/camel.jpg +Oracle:Banding (Any creatures with banding, and up to one without, can attack in a band. Bands are blocked as a group. If any creatures with banding you control are blocking or being blocked by a creature, you divide that creature's combat damage, not its controller, among any of the creatures it's being blocked by or is blocking.)\nAs long as Camel is attacking, prevent all damage Deserts would deal to Camel and to creatures banded with Camel. diff --git a/res/cardsfolder/i/icatian_skirmishers.txt b/res/cardsfolder/i/icatian_skirmishers.txt new file mode 100644 index 00000000000..7b7812431c1 --- /dev/null +++ b/res/cardsfolder/i/icatian_skirmishers.txt @@ -0,0 +1,10 @@ +Name:Icatian Skirmishers +ManaCost:3 W +Types:Creature Human Soldier +PT:1/1 +K:First Strike +K:Banding +T:Mode$ Attacks | ValidCard$ Card.Self | TriggerZones$ Battlefield | Execute$ TrigPump | TriggerDescription$ Whenever CARDNAME attacks, all creatures banded with it gain first strike until end of turn. +SVar:TrigPump:DB$ PumpAll | ValidCards$ Creature.attackersBandedWith | KW$ First Strike +SVar:Picture:http://www.wizards.com/global/images/magic/general/icatian_skirmishers.jpg +Oracle:First strike, banding (Any creatures with banding, and up to one without, can attack in a band. Bands are blocked as a group. If any creatures with banding you control are blocking or being blocked by a creature, you divide that creature's combat damage, not its controller, among any of the creatures it's being blocked by or is blocking.)\nWhenever Icatian Skirmishers attacks, all creatures banded with it gain first strike until end of turn. diff --git a/res/cardsfolder/u/urzas_engine.txt b/res/cardsfolder/u/urzas_engine.txt new file mode 100644 index 00000000000..c0392b63869 --- /dev/null +++ b/res/cardsfolder/u/urzas_engine.txt @@ -0,0 +1,10 @@ +Name:Urza's Engine +ManaCost:5 +Types:Artifact Creature Juggernaut +PT:1/5 +K:Trample +A:AB$ Pump | Cost$ 3 | KW$ Banding | SpellDescription$ CARDNAME gains banding until end of turn. +A:AB$ PumpAll | Cost$ 3 | ValidCards$ Creature.attackersBandedWith | KW$ Trample | SpellDescription$ Attacking creatures banded with Urza's Engine gain trample until end of turn. +SVar:RemAIDeck:True +SVar:Picture:http://www.wizards.com/global/images/magic/general/urzas_engine.jpg +Oracle:Trample\n{3}: Urza's Engine gains banding until end of turn. (Any creatures with banding, and up to one without, can attack in a band. Bands are blocked as a group. If any creatures with banding you control are blocking or being blocked by a creature, you divide that creature's combat damage, not its controller, among any of the creatures it's being blocked by or is blocking.)\n{3}: Attacking creatures banded with Urza's Engine gain trample until end of turn. diff --git a/src/main/java/forge/Card.java b/src/main/java/forge/Card.java index c0dcc8ae3aa..067201f8841 100644 --- a/src/main/java/forge/Card.java +++ b/src/main/java/forge/Card.java @@ -69,6 +69,7 @@ import forge.card.trigger.ZCTrigger; import forge.game.Game; import forge.game.GameActionUtil; import forge.game.GlobalRuleChange; +import forge.game.combat.AttackingBand; import forge.game.event.GameEventCardDamaged; import forge.game.event.GameEventCardDamaged.DamageType; import forge.game.event.GameEventCardEquipped; @@ -6570,6 +6571,17 @@ public class Card extends GameEntity implements Comparable { if (!getGame().getCombat().isUnblocked(this)) { return false; } + } else if (property.equals("attackersBandedWith")) { + if (this.equals(source)) { + // You don't band with yourself + return false; + } + + Combat combat = getGame().getCombat(); + AttackingBand band = combat.getBandByAttacker(source); + if (band == null || !band.getAttackers().contains(this)) { + return false; + } } else if (property.startsWith("kicked")) { if (property.equals("kicked")) { if (this.getKickerMagnitude() == 0) {