mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-16 10:48:00 +00:00
update
This commit is contained in:
@@ -400,13 +400,21 @@ public abstract class SpellAbilityEffect {
|
|||||||
addedTrigger.setIntrinsic(true);
|
addedTrigger.setIntrinsic(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected static void addExileOnCastTrigger(final Card card) {
|
protected static void addExileOnCastOrMoveTrigger(final Card card, final String zone) {
|
||||||
String trig = "Mode$ SpellCast | ValidCard$ Card.IsRemembered | TriggerZones$ Command | Static$ True";
|
String trig = "Mode$ SpellCast | ValidCard$ Card.IsRemembered | TriggerZones$ Command | Static$ True";
|
||||||
String effect = "DB$ ChangeZone | Defined$ Self | Origin$ Command | Destination$ Exile";
|
String effect = "DB$ ChangeZone | Defined$ Self | Origin$ Command | Destination$ Exile";
|
||||||
final Trigger parsedTrigger = TriggerHandler.parseTrigger(trig, card, true);
|
final Trigger parsedTrigger = TriggerHandler.parseTrigger(trig, card, true);
|
||||||
parsedTrigger.setOverridingAbility(AbilityFactory.getAbility(effect, card));
|
parsedTrigger.setOverridingAbility(AbilityFactory.getAbility(effect, card));
|
||||||
final Trigger addedTrigger = card.addTrigger(parsedTrigger);
|
final Trigger addedTrigger = card.addTrigger(parsedTrigger);
|
||||||
addedTrigger.setIntrinsic(true);
|
addedTrigger.setIntrinsic(true);
|
||||||
|
//Any on Destination will cause the effect to remove itself when cancelling to play the card
|
||||||
|
String trig2 = "Mode$ ChangesZone | ValidCard$ Card.IsRemembered | Origin$ " + zone + " | Destination$ Hand,Library,Graveyard,Battlefield,Command,Sideboard | TriggerZones$ Command | Static$ True";
|
||||||
|
String effect2 = "DB$ ChangeZone | Defined$ Self | Origin$ Command | Destination$ Exile";
|
||||||
|
final Trigger parsedTrigger2 = TriggerHandler.parseTrigger(trig2, card, true);
|
||||||
|
parsedTrigger2.setOverridingAbility(AbilityFactory.getAbility(effect2, card));
|
||||||
|
final Trigger addedTrigger2 = card.addTrigger(parsedTrigger2);
|
||||||
|
addedTrigger2.setIntrinsic(true);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
protected static void addExileOnCounteredTrigger(final Card card) {
|
protected static void addExileOnCounteredTrigger(final Card card) {
|
||||||
|
|||||||
@@ -228,7 +228,7 @@ public class EffectEffect extends SpellAbilityEffect {
|
|||||||
} else if (sa.hasParam("ExileOnMoved")) {
|
} else if (sa.hasParam("ExileOnMoved")) {
|
||||||
addExileOnMovedTrigger(eff, sa.getParam("ExileOnMoved"));
|
addExileOnMovedTrigger(eff, sa.getParam("ExileOnMoved"));
|
||||||
} else if (sa.hasParam("ExileOnCast")) {
|
} else if (sa.hasParam("ExileOnCast")) {
|
||||||
addExileOnCastTrigger(eff);
|
addExileOnCastOrMoveTrigger(eff, sa.getParam("ExileOnCast"));
|
||||||
}
|
}
|
||||||
if (sa.hasParam("ForgetOnPhasedIn")) {
|
if (sa.hasParam("ForgetOnPhasedIn")) {
|
||||||
addForgetOnPhasedInTrigger(eff);
|
addForgetOnPhasedInTrigger(eff);
|
||||||
|
|||||||
@@ -3855,7 +3855,7 @@ public class CardFactoryUtil {
|
|||||||
|
|
||||||
SpellAbility saExile = AbilityFactory.getAbility(abExile, card);
|
SpellAbility saExile = AbilityFactory.getAbility(abExile, card);
|
||||||
|
|
||||||
String abEffect = "DB$ Effect | RememberObjects$ Self | StaticAbilities$ Play | ExileOnCast$ True | Duration$ Permanent | ConditionDefined$ Self | ConditionPresent$ Card.nonCopiedSpell";
|
String abEffect = "DB$ Effect | RememberObjects$ Self | StaticAbilities$ Play | ExileOnCast$ Exile | Duration$ Permanent | ConditionDefined$ Self | ConditionPresent$ Card.nonCopiedSpell";
|
||||||
AbilitySub saEffect = (AbilitySub)AbilityFactory.getAbility(abEffect, card);
|
AbilitySub saEffect = (AbilitySub)AbilityFactory.getAbility(abEffect, card);
|
||||||
|
|
||||||
StringBuilder sbPlay = new StringBuilder();
|
StringBuilder sbPlay = new StringBuilder();
|
||||||
|
|||||||
Reference in New Issue
Block a user