From 1a48b7d12426e1d65dbb1d279df9e937d106cbdd Mon Sep 17 00:00:00 2001 From: jendave Date: Sat, 6 Aug 2011 15:31:27 +0000 Subject: [PATCH] *Updated to triggers: Cackling Fiend Cave People Centaur Safeguard Charging Paladin Citanul Druid Close Quarters Coastal Piracy Contemplation Cosi's Ravager Crystal Rod *Removed superfluous runTrigger call which caused Attacks-triggers to go off twice. *Updated playLand-functions for both players to use moveTo* functions. --- res/cardsfolder/cackling_fiend.txt | 3 ++- res/cardsfolder/cave_people.txt | 3 ++- res/cardsfolder/centaur_safeguard.txt | 3 ++- res/cardsfolder/charging_paladin.txt | 3 ++- res/cardsfolder/citanul_druid.txt | 3 ++- res/cardsfolder/close_quarters.txt | 3 ++- res/cardsfolder/coastal_piracy.txt | 3 ++- res/cardsfolder/contemplation.txt | 3 ++- res/cardsfolder/cosis_ravager.txt | 3 ++- res/cardsfolder/crystal_rod.txt | 3 ++- src/forge/ComputerUtil.java | 5 +++-- src/forge/GameAction.java | 5 +++-- src/forge/PhaseUtil.java | 14 -------------- src/forge/TriggerHandler.java | 1 + 14 files changed, 27 insertions(+), 28 deletions(-) diff --git a/res/cardsfolder/cackling_fiend.txt b/res/cardsfolder/cackling_fiend.txt index a5b057c5241..ea85cafe54b 100644 --- a/res/cardsfolder/cackling_fiend.txt +++ b/res/cardsfolder/cackling_fiend.txt @@ -3,7 +3,8 @@ ManaCost:2 B B Types:Creature Zombie Text:no text PT:2/1 -K:WheneverKeyword:EntersBattleField:Self:Play:DiscardCards/1:ControllingPlayer_Opponent:ASAP:No_Condition:No Special Condition:When Cackling Fiend enters the battlefield, each opponent discards a card. +T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigDiscard | TriggerDescription$ When CARDNAME enters the battlefield, each opponent discards a card. +SVar:TrigDiscard:AB$Discard | Cost$ 0 | Defined$ Opponent | NumCards$ 1 | Mode$ TgtChoose SVar:Rarity:Common SVar:Picture:http://www.wizards.com/global/images/magic/general/cackling_fiend.jpg SetInfo:USG|Common|http://magiccards.info/scans/en/us/121.jpg diff --git a/res/cardsfolder/cave_people.txt b/res/cardsfolder/cave_people.txt index 1a5b140fd00..1d33f5c46f5 100644 --- a/res/cardsfolder/cave_people.txt +++ b/res/cardsfolder/cave_people.txt @@ -3,8 +3,9 @@ ManaCost:1 R R Types:Creature Human Text:no text PT:1/4 -K:WheneverKeyword:Attacks:Self:Play:StatsPumpEOT/1/-2:Self:ASAP:No_Condition:No Special Condition:Whenever Cave People attacks, it gets +1/-2 until end of turn. +T:Mode$ Attacks | ValidCard$ Card.Self | Execute$ TrigPump | TriggerDescription$ Whenever CARDNAME attacks, it gets +1/-2 until end of turn. A:AB$Pump | Cost$ 1 R R T | ValidTgts$ Creature | TgtPrompt$ Select target creature | KW$ Mountainwalk | SpellDescription$ Target creature gains mountainwalk until end of turn. +SVar:TrigPump:AB$Pump | Cost$ 0 | Defined$ Self | NumAtt$ 1 | NumDef$ -2 SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/cave_people.jpg SetInfo:5ED|Uncommon|http://magiccards.info/scans/en/5e/215.jpg diff --git a/res/cardsfolder/centaur_safeguard.txt b/res/cardsfolder/centaur_safeguard.txt index cdab875bde0..fe3be199a24 100644 --- a/res/cardsfolder/centaur_safeguard.txt +++ b/res/cardsfolder/centaur_safeguard.txt @@ -3,7 +3,8 @@ ManaCost:2 GW Types:Creature Centaur Warrior Text:no text PT:3/1 -K:WheneverKeyword:PermanentIntoGraveyard:Self:Graveyard:ModifyLife/3:ControllingPlayer_Self:ASAP:Yes_No:No Special Condition:When Centaur Safeguard is put into a graveyard from the battlefield, you may gain 3 life. +T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ Card.Self | Optional$ True | Execute$ TrigGainLife | TriggerDescription$ When CARDNAME is put into a graveyard from the battlefield, you may gain 3 life. +SVar:TrigGainLife:AB$GainLife | Cost$ 0 | Defined$ You | LifeAmount$ 3 SVar:Rarity:Common SVar:Picture:http://www.wizards.com/global/images/magic/general/centaur_safeguard.jpg SetInfo:RAV|Common|http://magiccards.info/scans/en/rav/244.jpg diff --git a/res/cardsfolder/charging_paladin.txt b/res/cardsfolder/charging_paladin.txt index e8592768daa..21ff7b701da 100644 --- a/res/cardsfolder/charging_paladin.txt +++ b/res/cardsfolder/charging_paladin.txt @@ -3,7 +3,8 @@ ManaCost:2 W Types:Creature Human Knight Text:no text PT:2/2 -K:WheneverKeyword:Attacks:Self:Play:StatsPumpEOT/0/3:Self:ASAP:No_Condition:No Special Condition:Whenever Charging Paladin attacks, it gets +0/+3 until end of turn. +T:Mode$ Attacks | ValidCard$ Card.Self | Execute$ TrigPump | TriggerDescription$ Whenever CARDNAME attacks, it gets +0/+3 until end of turn. +SVar:TrigPump:AB$Pump | Cost$ 0 | Defined$ Self | NumDef$ 3 SVar:Rarity:Common SVar:Picture:http://www.wizards.com/global/images/magic/general/charging_paladin.jpg SetInfo:EXO|Common|http://magiccards.info/scans/en/ex/4.jpg diff --git a/res/cardsfolder/citanul_druid.txt b/res/cardsfolder/citanul_druid.txt index 3e4764f8737..275bcf6571c 100644 --- a/res/cardsfolder/citanul_druid.txt +++ b/res/cardsfolder/citanul_druid.txt @@ -3,7 +3,8 @@ ManaCost:1 G Types:Creature Human Druid Text:no text PT:1/1 -K:WheneverKeyword:CastSpell/Opponent:Type/Artifact:Play:+1+1 Counters/1:Self:ASAP:No_Condition:No Special Condition:Whenever an opponent casts an artifact spell, put a +1/+1 counter on Citanul Druid. +T:Mode$ SpellCast | ValidCard$ Artifact.YouDontCtrl | TriggerZones$ Battlefield | Execute$ TrigPutCounter | TriggerDescription$ Whenever an opponent casts an artifact spell, put a +1/+1 counter on CARDNAME. +SVar:TrigPutCounter:AB$PutCounter | Cost$ 0 | Defined$ Self | CounterType$ P1P1 | CounterNum$ 1 SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/citanul_druid.jpg SetInfo:ATQ|Uncommon|http://magiccards.info/scans/en/aq/61.jpg diff --git a/res/cardsfolder/close_quarters.txt b/res/cardsfolder/close_quarters.txt index 7b5f716d589..19d8f5369e8 100644 --- a/res/cardsfolder/close_quarters.txt +++ b/res/cardsfolder/close_quarters.txt @@ -2,7 +2,8 @@ Name:Close Quarters ManaCost:2 R R Types:Enchantment Text:no text -K:WheneverKeyword:BecomesBlocked:No_Initiator:Play:Damage/1:InputType - CreatureORPlayer:ASAP:No_Condition:Initiator - OwnedByController!SingleTarget:Whenever a creature you control becomes blocked, Close Quarters deals 1 damage to target creature or player. +T:Mode$ AttackerBlocked | ValidCard$ Card.YouCtrl | TriggerZones$ Battlefield | Execute$ TrigDealDamage | TriggerDescription$ Whenever a creature you control becomes blocked, CARDNAME deals 1 damage to target creature or player. +SVar:TrigDealDamage:AB$DealDamage | Cost$ 0 | Tgt$ TgtCP | NumDmg$ 1 SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/close_quarters.jpg SetInfo:MMQ|Uncommon|http://magiccards.info/scans/en/mm/184.jpg diff --git a/res/cardsfolder/coastal_piracy.txt b/res/cardsfolder/coastal_piracy.txt index cd4cb42d14e..708ae906c0b 100644 --- a/res/cardsfolder/coastal_piracy.txt +++ b/res/cardsfolder/coastal_piracy.txt @@ -2,7 +2,8 @@ Name:Coastal Piracy ManaCost:2 U U Types:Enchantment Text:no text -K:WheneverKeyword:DealsCombatDamage/Opponent:Type/Creature:Play:DrawCards/1:ControllingPlayer_Self:ASAP:Yes_No:Initiator - OwnedByController:Whenever a creature you control deals combat damage to an opponent, you may draw a card. +T:Mode$ DamageDone | ValidSource$ Creature.YouCtrl | ValidTarget$ Opponent | CombatDamage$ True | Optional$ True | Execute$ TrigDraw | TriggerDescription$ Whenever a creature you control deals combat damage to an opponent, you may draw a card. +SVar:TrigDraw:AB$Draw | Cost$ 0 | NumCards$ 1 SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/coastal_piracy.jpg SetInfo:8ED|Rare|http://magiccards.info/scans/en/8e/67.jpg diff --git a/res/cardsfolder/contemplation.txt b/res/cardsfolder/contemplation.txt index c713e6e4727..268e47e0a34 100644 --- a/res/cardsfolder/contemplation.txt +++ b/res/cardsfolder/contemplation.txt @@ -2,7 +2,8 @@ Name:Contemplation ManaCost:1 W W Types:Enchantment Text:no text -K:WheneverKeyword:CastSpell/Controller:None:Play:ModifyLife/1:ControllingPlayer_Self:ASAP:No_Condition:No Special Condition:Whenever you cast a spell, you gain 1 life. +T:Mode$ SpellCast | ValidCard$ Card.YouCtrl | TriggerZones$ Battlefield | Execute$ TrigGainLife | TriggerDescription$ Whenever you cast a spell, you gain 1 life. +SVar:TrigGainLife:AB$GainLife | Cost$ 0 | Defined$ You | LifeAmount$ 1 SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/contemplation.jpg SetInfo:STH|Uncommon|http://magiccards.info/scans/en/sh/104.jpg diff --git a/res/cardsfolder/cosis_ravager.txt b/res/cardsfolder/cosis_ravager.txt index b406114b79d..ce98d0762be 100644 --- a/res/cardsfolder/cosis_ravager.txt +++ b/res/cardsfolder/cosis_ravager.txt @@ -3,7 +3,8 @@ ManaCost:3 R Types:Creature Elemental Text:no text PT:2/2 -K:WheneverKeyword:EntersBattleField:Type/Land:Play:Damage/1:NormalInput/Player:ASAP:Yes_No:Initiator - OwnedByController:Landfall - Whenever a land enters the battlefield under your control, you may have Cosi's Ravager deal 1 damage to target player. +T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Land.YouCtrl | TriggerZones$ Battlefield | Optional$ True | Execute$ TrigDealDamage | TriggerDescription$ Landfall - Whenever a land enters the battlefield under your control, you may have CARDNAME deal 1 damage to target player. +SVar:TrigDealDamage:AB$DealDamage | Cost$ 0 | Tgt$ TgtP | NumDmg$ 1 SVar:Rarity:Common SVar:Picture:http://www.wizards.com/global/images/magic/general/cosis_ravager.jpg SetInfo:WWK|Common|http://magiccards.info/scans/en/wwk/77.jpg diff --git a/res/cardsfolder/crystal_rod.txt b/res/cardsfolder/crystal_rod.txt index 0ab5806d8a7..ecf8bc823a5 100644 --- a/res/cardsfolder/crystal_rod.txt +++ b/res/cardsfolder/crystal_rod.txt @@ -2,7 +2,8 @@ Name:Crystal Rod ManaCost:1 Types:Artifact Text:no text -K:WheneverKeyword:CastSpell/Any:Color/blue:Play:ModifyLife/1:ControllingPlayer_Self:ASAP:PayMana/1:No Special Condition:Whenever a player casts a blue spell, you may pay 1. If you do, you gain 1 life. +T:Mode$ SpellCast | ValidCard$ Card.Blue | TriggerZones$ Battlefield | Optional$ True | Execute$ TrigGainLife | TriggerDescription$ Whenever a player casts a blue spell, you may pay 1. If you do, you gain 1 life. +SVar:TrigGainLife:AB$GainLife | Cost$ 1 | Defined$ You | LifeAmount$ 1 SVar:RemAIDeck:True SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/crystal_rod.jpg diff --git a/src/forge/ComputerUtil.java b/src/forge/ComputerUtil.java index b307ef19cef..e2c148bfad6 100644 --- a/src/forge/ComputerUtil.java +++ b/src/forge/ComputerUtil.java @@ -575,8 +575,9 @@ public class ComputerUtil static public void playLand(Card land, PlayerZone zone) { - zone.remove(land); - AllZone.Computer_Battlefield.add(land); + AllZone.GameAction.moveToPlay(land); + /*zone.remove(land); + AllZone.Computer_Battlefield.add(land);*/ CardFactoryUtil.playLandEffects(land); AllZone.GameInfo.incrementComputerPlayedLands(); } diff --git a/src/forge/GameAction.java b/src/forge/GameAction.java index 9e837ffb279..904a6162a91 100644 --- a/src/forge/GameAction.java +++ b/src/forge/GameAction.java @@ -2688,8 +2688,9 @@ public class GameAction { static public void playLand(Card land, PlayerZone zone) { if (CardFactoryUtil.canHumanPlayLand()){ - zone.remove(land); - AllZone.Human_Battlefield.add(land); + AllZone.GameAction.moveToPlay(land); + /*zone.remove(land); + AllZone.Human_Battlefield.add(land);*/ CardFactoryUtil.playLandEffects(land); AllZone.GameInfo.incrementHumanPlayedLands(); } diff --git a/src/forge/PhaseUtil.java b/src/forge/PhaseUtil.java index ffc62d5355b..103a1cdade8 100644 --- a/src/forge/PhaseUtil.java +++ b/src/forge/PhaseUtil.java @@ -383,20 +383,6 @@ public class PhaseUtil { boolean last = (i == size-1); CombatUtil.checkPropagandaEffects(c, last); } - - //Run triggers - HashMap runParams = new HashMap(); - runParams.put("Side", "Attacker"); - CardList otherAttackers = new CardList(); - for(int i=0;i< list.size();i++) - { - otherAttackers.clear(); - otherAttackers.add(list); - otherAttackers.remove(list.get(i)); - runParams.put("Attacker", list.get(i)); - runParams.put("OtherAttackers", otherAttackers); - AllZone.TriggerHandler.runTrigger("Attacks", runParams); - } } public static void handleAttackingTriggers(){ diff --git a/src/forge/TriggerHandler.java b/src/forge/TriggerHandler.java index b52116c9e1a..ead395eafd5 100644 --- a/src/forge/TriggerHandler.java +++ b/src/forge/TriggerHandler.java @@ -142,6 +142,7 @@ public class TriggerHandler { public void runTrigger(String mode,HashMap runParams) { + System.out.println("Running: " + mode); //AP for(Trigger regtrig : registeredTriggers) {