- Latest attempt at fixing City of Brass triggers without screwing up Priority.

This commit is contained in:
Sol
2012-07-22 03:10:03 +00:00
parent f5070b5aaf
commit b6547808cd

View File

@@ -455,17 +455,8 @@ public class MagicStack extends MyObservable {
System.out.println(sp.getSourceCard().getName() + " - activatingPlayer not set before adding to stack."); System.out.println(sp.getSourceCard().getName() + " - activatingPlayer not set before adding to stack.");
} }
// 2012-07-21 the following comparison needs to move below the pushes but somehow screws up priority if (Singletons.getModel().getGameState().getPhaseHandler().is(PhaseType.CLEANUP)) {
// When it's down there. That makes absolutely no sense to me, so i'm putting it back for now // If something triggers during Cleanup, need to repeat
if (!((sp instanceof AbilityTriggered) || (sp instanceof AbilityStatic))) {
// when something is added we need to setPriority
Singletons.getModel().getGameState().getPhaseHandler().setPriority(sp.getActivatingPlayer());
}
if (Singletons.getModel().getGameState().getPhaseHandler().is(PhaseType.CLEANUP)) { // If something
// triggers during
// Cleanup, need to
// repeat
Singletons.getModel().getGameState().getPhaseHandler().repeatPhase(); Singletons.getModel().getGameState().getPhaseHandler().repeatPhase();
} }
@@ -864,11 +855,6 @@ public class MagicStack extends MyObservable {
} }
} }
/*
* if (sp.getTargetCard() != null)
* CardFactoryUtil.checkTargetingEffects(sp, sp.getTargetCard());
*/
if (this.getSimultaneousStackEntryList().size() > 0) { if (this.getSimultaneousStackEntryList().size() > 0) {
Singletons.getModel().getGameState().getPhaseHandler().passPriority(); Singletons.getModel().getGameState().getPhaseHandler().passPriority();
} }
@@ -916,6 +902,13 @@ public class MagicStack extends MyObservable {
final SpellAbilityStackInstance si = new SpellAbilityStackInstance(sp); final SpellAbilityStackInstance si = new SpellAbilityStackInstance(sp);
this.getStack().push(si); this.getStack().push(si);
// 2012-07-21 the following comparison needs to move below the pushes but somehow screws up priority
// When it's down there. That makes absolutely no sense to me, so i'm putting it back for now
if (!((sp instanceof AbilityTriggered) || (sp instanceof AbilityStatic))) {
// when something is added we need to setPriority
Singletons.getModel().getGameState().getPhaseHandler().setPriority(sp.getActivatingPlayer());
}
SDisplayUtil.showTab(EDocID.REPORT_STACK.getDoc()); SDisplayUtil.showTab(EDocID.REPORT_STACK.getDoc());
this.updateObservers(); this.updateObservers();