- Unbreak the advanced Flash logic

This commit is contained in:
Michael Kamensky
2021-02-26 19:19:35 +03:00
parent 473620495a
commit 48042a1ce3
2 changed files with 3 additions and 2 deletions

View File

@@ -88,7 +88,7 @@ public class AttachAi extends SpellAbilityAi {
if (ai.getController().isAI()) { if (ai.getController().isAI()) {
advancedFlash = ((PlayerControllerAi)ai.getController()).getAi().getBooleanProperty(AiProps.FLASH_ENABLE_ADVANCED_LOGIC); advancedFlash = ((PlayerControllerAi)ai.getController()).getAi().getBooleanProperty(AiProps.FLASH_ENABLE_ADVANCED_LOGIC);
} }
if (!ai.canCastSorcery() && sa.canCastTiming(ai) if ((source.hasKeyword(Keyword.FLASH) || (!ai.canCastSorcery() && sa.canCastTiming(ai)))
&& source.isAura() && advancedFlash && !doAdvancedFlashAuraLogic(ai, sa, sa.getTargetCard())) { && source.isAura() && advancedFlash && !doAdvancedFlashAuraLogic(ai, sa, sa.getTargetCard())) {
return false; return false;
} }

View File

@@ -9,6 +9,7 @@ import forge.game.card.Card;
import forge.game.card.CardLists; import forge.game.card.CardLists;
import forge.game.card.CardUtil; import forge.game.card.CardUtil;
import forge.game.combat.Combat; import forge.game.combat.Combat;
import forge.game.keyword.Keyword;
import forge.game.phase.PhaseHandler; import forge.game.phase.PhaseHandler;
import forge.game.phase.PhaseType; import forge.game.phase.PhaseType;
import forge.game.player.Player; import forge.game.player.Player;
@@ -86,7 +87,7 @@ public class PermanentCreatureAi extends PermanentAi {
if (ai.getController().isAI()) { if (ai.getController().isAI()) {
advancedFlash = ((PlayerControllerAi)ai.getController()).getAi().getBooleanProperty(AiProps.FLASH_ENABLE_ADVANCED_LOGIC); advancedFlash = ((PlayerControllerAi)ai.getController()).getAi().getBooleanProperty(AiProps.FLASH_ENABLE_ADVANCED_LOGIC);
} }
if (!ai.canCastSorcery() && sa.canCastTiming(ai)) { if (card.hasKeyword(Keyword.FLASH) || (!ai.canCastSorcery() && sa.canCastTiming(ai))) {
if (advancedFlash) { if (advancedFlash) {
return doAdvancedFlashLogic(card, ai, sa); return doAdvancedFlashLogic(card, ai, sa);
} else { } else {