mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-18 03:38:01 +00:00
- A somewhat more transparent implementation of DelayedTriggerRemembered fix.
This commit is contained in:
@@ -197,13 +197,18 @@ public class AbilityUtils {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else if (defined.equals("DelayTriggerRemembered")) {
|
} else if (defined.equals("DelayTriggerRemembered")) {
|
||||||
SpellAbility trigSa = sa.isTrigger() ? sa : sa.getRootAbility().isTrigger() ? sa.getRootAbility() : null;
|
SpellAbility trigSa = sa;
|
||||||
|
while (trigSa != null && !trigSa.isTrigger()) {
|
||||||
|
trigSa = sa.getRootAbility();
|
||||||
|
}
|
||||||
if (trigSa != null) {
|
if (trigSa != null) {
|
||||||
for (Object o : trigSa.getTriggerRemembered()) {
|
for (Object o : trigSa.getTriggerRemembered()) {
|
||||||
if (o instanceof Card) {
|
if (o instanceof Card) {
|
||||||
cards.addAll(addRememberedFromCardState(game, (Card)o));
|
cards.addAll(addRememberedFromCardState(game, (Card)o));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
System.err.println("Warning: couldn't find trigger SA in the chain of SpellAbility " + sa);
|
||||||
}
|
}
|
||||||
} else if (defined.equals("FirstRemembered")) {
|
} else if (defined.equals("FirstRemembered")) {
|
||||||
Object o = Iterables.getFirst(hostCard.getRemembered(), null);
|
Object o = Iterables.getFirst(hostCard.getRemembered(), null);
|
||||||
@@ -923,13 +928,14 @@ public class AbilityUtils {
|
|||||||
}
|
}
|
||||||
else if (defined.startsWith("DelayTriggerRemembered")) {
|
else if (defined.startsWith("DelayTriggerRemembered")) {
|
||||||
SpellAbility trigSa = sa;
|
SpellAbility trigSa = sa;
|
||||||
while (!trigSa.isTrigger() && sa.getRootAbility() != null) {
|
while (trigSa != null && !trigSa.isTrigger()) {
|
||||||
trigSa = sa.getRootAbility();
|
trigSa = sa.getRootAbility();
|
||||||
}
|
}
|
||||||
if (!trigSa.isTrigger()) {
|
if (trigSa != null) {
|
||||||
System.err.println("Warning: unable to find trigger in the parent chain of SubAbility " + sa);
|
|
||||||
}
|
|
||||||
addPlayer(trigSa.getTriggerRemembered(), defined, players);
|
addPlayer(trigSa.getTriggerRemembered(), defined, players);
|
||||||
|
} else {
|
||||||
|
System.err.println("Warning: couldn't find trigger SA in the chain of SpellAbility " + sa);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else if (defined.equals("ImprintedController")) {
|
else if (defined.equals("ImprintedController")) {
|
||||||
for (final Card rem : card.getImprintedCards()) {
|
for (final Card rem : card.getImprintedCards()) {
|
||||||
|
|||||||
Reference in New Issue
Block a user