forked from External/mage
Many changes to split cards handling (showing arrows and log text for fused spells., handling protection and other things correctly).
This commit is contained in:
parent
22bdb209ab
commit
101194acf7
11 changed files with 165 additions and 98 deletions
|
|
@ -56,8 +56,6 @@ import java.util.ArrayList;
|
|||
import java.util.List;
|
||||
import java.util.UUID;
|
||||
import mage.Constants;
|
||||
import static mage.Constants.SpellAbilityType.SPLIT_LEFT;
|
||||
import static mage.Constants.SpellAbilityType.SPLIT_RIGHT;
|
||||
import mage.cards.SplitCard;
|
||||
|
||||
/**
|
||||
|
|
@ -139,7 +137,7 @@ public class Spell<T extends Spell<T>> implements StackObject, Card {
|
|||
result = false;
|
||||
boolean legalParts = false;
|
||||
for(SpellAbility spellAbility: this.spellAbilities) {
|
||||
if (spellAbility.getTargets().stillLegal(ability, game)) {
|
||||
if (spellAbility.getTargets().stillLegal(spellAbility, game)) {
|
||||
legalParts = true;
|
||||
updateOptionalCosts(index);
|
||||
result |= spellAbility.resolve(game);
|
||||
|
|
@ -270,6 +268,11 @@ public class Spell<T extends Spell<T>> implements StackObject, Card {
|
|||
return card.getName();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getImageName() {
|
||||
return card.getImageName();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setName(String name) {}
|
||||
|
||||
|
|
@ -301,6 +304,11 @@ public class Spell<T extends Spell<T>> implements StackObject, Card {
|
|||
return card.getSupertype();
|
||||
}
|
||||
|
||||
|
||||
public List<SpellAbility> getSpellAbilities() {
|
||||
return spellAbilities;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Abilities<Ability> getAbilities() {
|
||||
return card.getAbilities();
|
||||
|
|
@ -361,26 +369,12 @@ public class Spell<T extends Spell<T>> implements StackObject, Card {
|
|||
|
||||
@Override
|
||||
public List<String> getRules() {
|
||||
switch (ability.getSpellAbilityType()) {
|
||||
case SPLIT_LEFT:
|
||||
return ((SplitCard)card).getLeftHalfCard().getRules();
|
||||
case SPLIT_RIGHT:
|
||||
return ((SplitCard)card).getRightHalfCard().getRules();
|
||||
default:
|
||||
return card.getRules();
|
||||
}
|
||||
return card.getRules();
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Watcher> getWatchers() {
|
||||
switch (ability.getSpellAbilityType()) {
|
||||
case SPLIT_LEFT:
|
||||
return ((SplitCard)card).getLeftHalfCard().getWatchers();
|
||||
case SPLIT_RIGHT:
|
||||
return ((SplitCard)card).getLeftHalfCard().getWatchers();
|
||||
default:
|
||||
return card.getWatchers();
|
||||
}
|
||||
return card.getWatchers();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue