* Fixed that modes (if more than one was selected) did not resolve in the order they are written on the card but in order of selection by user.

This commit is contained in:
LevelX2 2015-04-11 12:08:09 +02:00
parent 0fb7cf8317
commit 4d7f1a05bf
8 changed files with 51 additions and 22 deletions

View file

@ -190,7 +190,7 @@ public class Spell implements StackObject, Card {
for(SpellAbility spellAbility: this.spellAbilities) {
if (spellAbilityHasLegalParts(spellAbility, game)) {
for (UUID modeId :spellAbility.getModes().getSelectedModes()) {
spellAbility.getModes().setMode(spellAbility.getModes().get(modeId));
spellAbility.getModes().setActiveMode(modeId);
if (spellAbility.getTargets().stillLegal(spellAbility, game)) {
if (!spellAbility.getSpellAbilityType().equals(SpellAbilityType.SPLICE)) {
updateOptionalCosts(index);
@ -269,7 +269,7 @@ public class Spell implements StackObject, Card {
boolean targetedMode = false;
boolean legalTargetedMode = false;
for (UUID modeId :spellAbility.getModes().getSelectedModes()) {
spellAbility.getModes().setMode(spellAbility.getModes().get(modeId));
spellAbility.getModes().setActiveMode(modeId);
if (spellAbility.getTargets().size() > 0) {
targetedMode = true;
if (spellAbility.getTargets().stillLegal(spellAbility, game)) {