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")) {