- Update scripts for Sneak Attack. Started to convert hidden keyword "At the beginning of the end step, destroy/exile/sacrifice CARDNAME."

This commit is contained in:
swordshine
2014-03-17 08:49:40 +00:00
parent e485704cb4
commit 9de574b38f
3 changed files with 13 additions and 2 deletions

View File

@@ -49,6 +49,10 @@ public class DelayedTriggerEffect extends SpellAbilityEffect {
if (triggerRemembered != null) { if (triggerRemembered != null) {
for (final Object o : AbilityUtils.getDefinedObjects(sa.getHostCard(), triggerRemembered, sa)) { for (final Object o : AbilityUtils.getDefinedObjects(sa.getHostCard(), triggerRemembered, sa)) {
if (o instanceof SpellAbility) {
// "RememberObjects$ Remembered" don't remember spellability
continue;
}
delTrig.addRemembered(o); delTrig.addRemembered(o);
} }
} }

View File

@@ -137,7 +137,12 @@ public abstract class Trigger extends TriggerReplacementBase {
@Override @Override
public final String toString() { public final String toString() {
if (this.mapParams.containsKey("TriggerDescription") && !this.isSuppressed()) { if (this.mapParams.containsKey("TriggerDescription") && !this.isSuppressed()) {
return this.mapParams.get("TriggerDescription").replace("CARDNAME", this.getHostCard().getName()); StringBuilder sb = new StringBuilder();
sb.append(this.mapParams.get("TriggerDescription").replace("CARDNAME", this.getHostCard().getName()));
if (!this.triggerRemembered.isEmpty()) {
sb.append(" (").append(this.triggerRemembered).append(")");
}
return sb.toString();
} else { } else {
return ""; return "";
} }

View File

@@ -2,7 +2,9 @@ Name:Sneak Attack
ManaCost:3 R ManaCost:3 R
Types:Enchantment Types:Enchantment
A:AB$ ChangeZone | Cost$ R | Origin$ Hand | Destination$ Battlefield | ChangeType$ Creature.YouCtrl | SubAbility$ DBPump | RememberChanged$ True | ForgetOtherRemembered$ True | AILogic$ BeforeCombat | SpellDescription$ You may put a creature card from your hand onto the battlefield. That creature gains haste. Sacrifice the creature at the beginning of the next end step. A:AB$ ChangeZone | Cost$ R | Origin$ Hand | Destination$ Battlefield | ChangeType$ Creature.YouCtrl | SubAbility$ DBPump | RememberChanged$ True | ForgetOtherRemembered$ True | AILogic$ BeforeCombat | SpellDescription$ You may put a creature card from your hand onto the battlefield. That creature gains haste. Sacrifice the creature at the beginning of the next end step.
SVar:DBPump:DB$ Pump | KW$ Haste & HIDDEN At the beginning of the end step, sacrifice CARDNAME. | Defined$ Remembered | Permanent$ True | SubAbility$ DBCleanup SVar:DBPump:DB$ Pump | KW$ Haste | Defined$ Remembered | Permanent$ True | SubAbility$ DelTrig
SVar:DelTrig:DB$ DelayedTrigger | Mode$ Phase | Phase$ End Of Turn | Execute$ TrigSac | RememberObjects$ Remembered | TriggerDescription$ CARDNAME - Sacrifice the creature at the beginning of the next end step. | SubAbility$ DBCleanup
SVar:TrigSac:AB$ SacrificeAll | Cost$ 0 | Defined$ DelayTriggerRemembered | Controller$ You
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
SVar:NonStackingEffect:True SVar:NonStackingEffect:True
SVar:RemAIDeck:True SVar:RemAIDeck:True