- 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()) {
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())) {
return false;
}

View File

@@ -9,6 +9,7 @@ import forge.game.card.Card;
import forge.game.card.CardLists;
import forge.game.card.CardUtil;
import forge.game.combat.Combat;
import forge.game.keyword.Keyword;
import forge.game.phase.PhaseHandler;
import forge.game.phase.PhaseType;
import forge.game.player.Player;
@@ -86,7 +87,7 @@ public class PermanentCreatureAi extends PermanentAi {
if (ai.getController().isAI()) {
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) {
return doAdvancedFlashLogic(card, ai, sa);
} else {