Fix New Blood not fully working

This commit is contained in:
tool4EvEr
2021-11-22 00:15:12 +01:00
parent 72bead4941
commit c272df37f7
3 changed files with 9 additions and 9 deletions

View File

@@ -70,7 +70,7 @@ public class ChangeTextEffect extends SpellAbilityEffect {
kindOfType = "basic land"; kindOfType = "basic land";
} else if (changedTypeWordsArray[0].equals("ChooseCreatureType")) { } else if (changedTypeWordsArray[0].equals("ChooseCreatureType")) {
validTypes.addAll(CardType.Constant.CREATURE_TYPES); validTypes.addAll(CardType.Constant.CREATURE_TYPES);
kindOfType = "creature"; kindOfType = "Creature";
} }
changedTypeWordOriginal = sa.getActivatingPlayer().getController().chooseSomeType(kindOfType, sa, validTypes, Lists.newArrayList()); changedTypeWordOriginal = sa.getActivatingPlayer().getController().chooseSomeType(kindOfType, sa, validTypes, Lists.newArrayList());
} else { } else {
@@ -86,7 +86,7 @@ public class ChangeTextEffect extends SpellAbilityEffect {
kindOfType = "basic land"; kindOfType = "basic land";
} else if (changedTypeWordsArray[1].equals("ChooseCreatureType")) { } else if (changedTypeWordsArray[1].equals("ChooseCreatureType")) {
validTypes.addAll(CardType.Constant.CREATURE_TYPES); validTypes.addAll(CardType.Constant.CREATURE_TYPES);
kindOfType = "creature"; kindOfType = "Creature";
} }
changedTypeWordNew = sa.getActivatingPlayer().getController().chooseSomeType(kindOfType, sa, validTypes, forbiddenTypes); changedTypeWordNew = sa.getActivatingPlayer().getController().chooseSomeType(kindOfType, sa, validTypes, forbiddenTypes);
} else { } else {
@@ -123,6 +123,8 @@ public class ChangeTextEffect extends SpellAbilityEffect {
} }
game.fireEvent(new GameEventCardStatsChanged(c)); game.fireEvent(new GameEventCardStatsChanged(c));
c.updateStateForView();
c.updateTypesForView();
} }
} }

View File

@@ -3533,7 +3533,7 @@ public class Card extends GameEntity implements Comparable<Card>, IHasSVars {
return getType(currentState); return getType(currentState);
} }
public final CardTypeView getType(CardState state) { public final CardTypeView getType(CardState state) {
if (changedCardTypes.isEmpty() && changedCardTypesCharacterDefining.isEmpty()) { if (changedCardTypes.isEmpty() && changedCardTypesCharacterDefining.isEmpty() && changedTypeByText == null) {
return state.getType(); return state.getType();
} }
// CR 506.4 attacked planeswalkers leave combat // CR 506.4 attacked planeswalkers leave combat
@@ -3548,14 +3548,12 @@ public class Card extends GameEntity implements Comparable<Card>, IHasSVars {
public final CardTypeView getOriginalType() { public final CardTypeView getOriginalType() {
return getOriginalType(currentState); return getOriginalType(currentState);
} }
public final CardTypeView getOriginalType(CardState state) { public final CardTypeView getOriginalType(CardState state) {
return state.getType(); return state.getType();
} }
// TODO add changed type by card text // TODO add changed type by card text
public Iterable<CardChangedType> getChangedCardTypes() { public Iterable<CardChangedType> getChangedCardTypes() {
Iterable<CardChangedType> byText = changedTypeByText == null ? ImmutableList.of() : ImmutableList.of(this.changedTypeByText); Iterable<CardChangedType> byText = changedTypeByText == null ? ImmutableList.of() : ImmutableList.of(this.changedTypeByText);
return Iterables.unmodifiableIterable(Iterables.concat( return Iterables.unmodifiableIterable(Iterables.concat(