StaticAbilityContinuous: fix OriginalHost for abilities gained by static abilities

This commit is contained in:
Hans Mackowiak
2021-03-04 07:23:01 +01:00
parent ab537a9e69
commit 7525a1062e
6 changed files with 15 additions and 10 deletions

View File

@@ -21,6 +21,7 @@ import com.google.common.base.Function;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import forge.card.CardStateName;
import forge.game.CardTraitBase;
import forge.game.IHasSVars;
import forge.game.ability.effects.CharmEffect;
import forge.game.card.Card;
@@ -226,7 +227,14 @@ public final class AbilityFactory {
msg.append(". Looking for API: ").append(api);
throw new RuntimeException(msg.toString());
}
spellAbility.setCardState(state);
if (sVarHolder instanceof CardState) {
spellAbility.setCardState((CardState)sVarHolder);
} else if (sVarHolder instanceof CardTraitBase) {
spellAbility.setCardState(((CardTraitBase)sVarHolder).getCardState());
} else {
spellAbility.setCardState(state);
}
if (mapParams.containsKey("Forecast")) {
spellAbility.putParam("ActivationZone", "Hand");

View File

@@ -736,6 +736,7 @@ public final class StaticAbilityContinuous {
if (abilty.startsWith("AB") || abilty.startsWith("ST")) { // grant the ability
final SpellAbility sa = AbilityFactory.getAbility(abilty, affectedCard, stAb);
sa.setIntrinsic(false);
sa.setGrantorStatic(stAb);
addedAbilities.add(sa);
}
}