mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-14 17:58:01 +00:00
expand DigEffect.java to support Hans
This commit is contained in:
@@ -1,5 +1,7 @@
|
|||||||
package forge.game.ability.effects;
|
package forge.game.ability.effects;
|
||||||
|
|
||||||
|
import com.google.common.collect.Iterables;
|
||||||
|
import com.google.common.collect.Maps;
|
||||||
import forge.card.MagicColor;
|
import forge.card.MagicColor;
|
||||||
import forge.game.Game;
|
import forge.game.Game;
|
||||||
import forge.game.GameActionUtil;
|
import forge.game.GameActionUtil;
|
||||||
@@ -317,19 +319,34 @@ public class DigEffect extends SpellAbilityEffect {
|
|||||||
}
|
}
|
||||||
if (sa.hasParam("Attacking")) {
|
if (sa.hasParam("Attacking")) {
|
||||||
final Combat combat = game.getCombat();
|
final Combat combat = game.getCombat();
|
||||||
if ( null != combat ) {
|
String attacking = sa.getParam("Attacking");
|
||||||
final FCollectionView<GameEntity> e = combat.getDefenders();
|
GameEntity defender = null;
|
||||||
|
FCollectionView<GameEntity> defs = null;
|
||||||
final GameEntity defender = sa.getActivatingPlayer().getController().chooseSingleEntityForEffect(e, sa,
|
if (null != combat) {
|
||||||
Localizer.getInstance().getMessage("lblChooseDefenderToAttackWithCard", CardTranslation.getTranslatedName(c.getName())), null);
|
if ("True".equalsIgnoreCase(attacking)) {
|
||||||
|
defs = combat.getDefenders();
|
||||||
if (defender != null) {
|
} else if (sa.hasParam("ChoosePlayerOrPlaneswalker")) {
|
||||||
combat.addAttacker(c, defender);
|
Player defendingPlayer = Iterables.getFirst(AbilityUtils.getDefinedPlayers(host,
|
||||||
game.getCombat().getBandOfAttacker(c).setBlocked(false);
|
attacking, sa), null);
|
||||||
game.fireEvent(new GameEventCombatChanged());
|
if (defendingPlayer != null) {
|
||||||
|
defs = game.getCombat().getDefendersControlledBy(defendingPlayer);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (defs != null) {
|
||||||
|
Map<String, Object> params = Maps.newHashMap();
|
||||||
|
params.put("Attacker", c);
|
||||||
|
defender = player.getController().chooseSingleEntityForEffect(defs, sa,
|
||||||
|
Localizer.getInstance().getMessage("lblChooseDefenderToAttackWithCard",
|
||||||
|
CardTranslation.getTranslatedName(c.getName())),false,
|
||||||
|
params);
|
||||||
|
}
|
||||||
|
if (defender != null) {
|
||||||
|
combat.addAttacker(c, defender);
|
||||||
|
game.getCombat().getBandOfAttacker(c).setBlocked(false);
|
||||||
|
game.fireEvent(new GameEventCombatChanged());
|
||||||
|
}
|
||||||
|
}
|
||||||
} else if (destZone1.equals(ZoneType.Exile)) {
|
} else if (destZone1.equals(ZoneType.Exile)) {
|
||||||
c.setExiledWith(effectHost);
|
c.setExiledWith(effectHost);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user