mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-19 20:28:00 +00:00
- C14: Added Nahiri, the Lithomancer
This commit is contained in:
@@ -8,6 +8,7 @@ import forge.game.ability.AbilityUtils;
|
|||||||
import forge.game.ability.ApiType;
|
import forge.game.ability.ApiType;
|
||||||
import forge.game.ability.SpellAbilityEffect;
|
import forge.game.ability.SpellAbilityEffect;
|
||||||
import forge.game.card.Card;
|
import forge.game.card.Card;
|
||||||
|
import forge.game.card.CardCollection;
|
||||||
import forge.game.card.CardCollectionView;
|
import forge.game.card.CardCollectionView;
|
||||||
import forge.game.card.CardLists;
|
import forge.game.card.CardLists;
|
||||||
import forge.game.player.Player;
|
import forge.game.player.Player;
|
||||||
@@ -19,6 +20,8 @@ import forge.util.Lang;
|
|||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
import com.google.common.collect.Iterables;
|
||||||
|
|
||||||
public class AttachEffect extends SpellAbilityEffect {
|
public class AttachEffect extends SpellAbilityEffect {
|
||||||
@Override
|
@Override
|
||||||
public void resolve(SpellAbility sa) {
|
public void resolve(SpellAbility sa) {
|
||||||
@@ -38,15 +41,23 @@ public class AttachEffect extends SpellAbilityEffect {
|
|||||||
|
|
||||||
final List<GameObject> targets = getTargets(sa);
|
final List<GameObject> targets = getTargets(sa);
|
||||||
|
|
||||||
if (sa.hasParam("Object")) {
|
|
||||||
card = AbilityUtils.getDefinedCards(source, sa.getParam("Object"), sa).get(0);
|
|
||||||
}
|
|
||||||
|
|
||||||
final Player p = sa.getActivatingPlayer();
|
final Player p = sa.getActivatingPlayer();
|
||||||
String message = "Do you want to attach " + card + " to " + targets + "?";
|
String message = "Do you want to attach " + card + " to " + targets + "?";
|
||||||
if ( sa.hasParam("Optional") && !p.getController().confirmAction(sa, null, message) )
|
if ( sa.hasParam("Optional") && !p.getController().confirmAction(sa, null, message) )
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
if (sa.hasParam("Object")) {
|
||||||
|
CardCollection lists = AbilityUtils.getDefinedCards(source, sa.getParam("Object"), sa);
|
||||||
|
if (sa.hasParam("ChooseAnObject")) {
|
||||||
|
card = p.getController().chooseSingleEntityForEffect(lists, sa, sa.getParam("ChooseAnObject"));
|
||||||
|
} else {
|
||||||
|
card = Iterables.getFirst(lists, null);
|
||||||
|
}
|
||||||
|
if (card == null) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// If Cast Targets will be checked on the Stack
|
// If Cast Targets will be checked on the Stack
|
||||||
for (final Object o : targets) {
|
for (final Object o : targets) {
|
||||||
handleAttachment(card, o, sa);
|
handleAttachment(card, o, sa);
|
||||||
|
|||||||
Reference in New Issue
Block a user