diff --git a/.project b/.project index 9bde672ce24..8c93e4340a3 100644 --- a/.project +++ b/.project @@ -15,15 +15,9 @@ - - net.sf.eclipsecs.core.CheckstyleBuilder - - - org.eclipse.m2e.core.maven2Nature org.eclipse.jdt.core.javanature - net.sf.eclipsecs.core.CheckstyleNature diff --git a/res/cardsfolder/l/lightmine_field.txt b/res/cardsfolder/l/lightmine_field.txt index 8a491127ae3..41ea3d9f743 100644 --- a/res/cardsfolder/l/lightmine_field.txt +++ b/res/cardsfolder/l/lightmine_field.txt @@ -2,8 +2,8 @@ Name:Lightmine Field ManaCost:2 W W Types:Enchantment Text:no text -T:Mode$ Attacks | ValidCard$ Creature | Execute$ TrigDamage | TriggerZones$ Battlefield | TriggerDescription$ Whenever one or more creatures attack, CARDNAME deals damage to each of those creatures equal to the number of attacking creatures. -SVar:TrigDamage:AB$DealDamage | Cost$ 0 | Defined$ TriggeredAttacker | NumDmg$ X +T:Mode$ AttackersDeclared | Execute$ TrigDamage | TriggerZones$ Battlefield | TriggerDescription$ Whenever one or more creatures attack, CARDNAME deals damage to each of those creatures equal to the number of attacking creatures. +SVar:TrigDamage:AB$DealDamage | Cost$ 0 | Defined$ TriggeredAttackers | NumDmg$ X SVar:X:Count$Valid Creature.attacking SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/lightmine_field.jpg diff --git a/src/main/java/forge/PhaseUtil.java b/src/main/java/forge/PhaseUtil.java index ab6088e5458..55c630bdb93 100644 --- a/src/main/java/forge/PhaseUtil.java +++ b/src/main/java/forge/PhaseUtil.java @@ -4,6 +4,7 @@ import forge.card.cardFactory.CardFactoryUtil; import forge.gui.input.Input; import java.util.ArrayList; +import java.util.HashMap; /** *

PhaseUtil class.

@@ -425,7 +426,11 @@ public class PhaseUtil { // Make sure exalted effects get applied only once per combat } - + + HashMap runParams = new HashMap(); + runParams.put("Attackers", list); + AllZone.getTriggerHandler().runTrigger("AttackersDeclared", runParams); + for (Card c : list) CombatUtil.checkDeclareAttackers(c); AllZone.getStack().unfreezeStack(); diff --git a/src/main/java/forge/card/abilityFactory/AbilityFactory.java b/src/main/java/forge/card/abilityFactory/AbilityFactory.java index 5d0a5752c03..7f95447f30a 100644 --- a/src/main/java/forge/card/abilityFactory/AbilityFactory.java +++ b/src/main/java/forge/card/abilityFactory/AbilityFactory.java @@ -1343,6 +1343,12 @@ public class AbilityFactory { if (crd instanceof Card) { c = AllZoneUtil.getCardState((Card) crd); } + else if (crd instanceof CardList) { + for(Card cardItem : (CardList)crd) + { + cards.add(cardItem); + } + } } else if (defined.equals("Remembered")) { for (Object o : hostCard.getRemembered()) { if (o instanceof Card) { diff --git a/src/main/java/forge/card/trigger/TriggerHandler.java b/src/main/java/forge/card/trigger/TriggerHandler.java index 8fdbf5a87c3..7cfcbd44b17 100644 --- a/src/main/java/forge/card/trigger/TriggerHandler.java +++ b/src/main/java/forge/card/trigger/TriggerHandler.java @@ -106,6 +106,8 @@ public class TriggerHandler { ret = new Trigger_Always(mapParams, host, intrinsic); } else if (mode.equals("AttackerBlocked")) { ret = new Trigger_AttackerBlocked(mapParams, host, intrinsic); + } else if (mode.equals("AttackersDeclared")) { + ret = new Trigger_AttackersDeclared(mapParams, host, intrinsic); } else if (mode.equals("AttackerUnblocked")) { ret = new Trigger_AttackerUnblocked(mapParams, host, intrinsic); } else if (mode.equals("Attacks")) {