mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-16 02:38:02 +00:00
- Fixed Treacherous Werewolf.
This commit is contained in:
@@ -2,8 +2,8 @@ Name:Treacherous Werewolf
|
||||
ManaCost:2 B
|
||||
Types:Creature Werewolf Minion
|
||||
PT:2/2
|
||||
S:Mode$ Continuous | Affected$ Card.Self | AddPower$ 2 | AddToughness$ 2 | AddTrigger$ Dies | AddSVar$ TrigLose | Condition$ Threshold | Description$ Threshold - As long as seven or more cards are in your graveyard, CARDNAME gets +2/+2 and has "When CARDNAME dies, you lose 4 life."
|
||||
SVar:Dies:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ Card.Self | TriggerZones$ Battlefield | Execute$ TrigLose | Secondary$ True | TriggerController$ TriggeredCardController | TriggerDescription$ When CARDNAME dies, you lose 4 life.
|
||||
S:Mode$ Continuous | Affected$ Card.Self | AddPower$ 2 | AddToughness$ 2 | AddTrigger$ Dies | Condition$ Threshold | Description$ Threshold - As long as seven or more cards are in your graveyard, CARDNAME gets +2/+2 and has "When CARDNAME dies, you lose 4 life."
|
||||
SVar:Dies:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ Card.Self | Execute$ TrigLose | Secondary$ True | TriggerController$ TriggeredCardController | TriggerDescription$ When CARDNAME dies, you lose 4 life.
|
||||
SVar:TrigLose:AB$ LoseLife | Cost$ 0 | Defined$ You | LifeAmount$ 4
|
||||
SVar:Picture:http://www.wizards.com/global/images/magic/general/treacherous_werewolf.jpg
|
||||
Oracle:Threshold - As long as seven or more cards are in your graveyard, Treacherous Werewolf gets +2/+2 and has "When Treacherous Werewolf dies, you lose 4 life."
|
||||
|
||||
@@ -784,10 +784,10 @@ public class Card extends GameEntity implements Comparable<Card> {
|
||||
* @param trigs
|
||||
* a {@link java.util.ArrayList} object.
|
||||
*/
|
||||
public final void setTriggers(final List<Trigger> trigs) {
|
||||
public final void setTriggers(final List<Trigger> trigs, boolean intrinsicOnly) {
|
||||
final List<Trigger> copyList = new CopyOnWriteArrayList<Trigger>();
|
||||
for (final Trigger t : trigs) {
|
||||
if (t.isIntrinsic()) {
|
||||
if (!intrinsicOnly || t.isIntrinsic()) {
|
||||
copyList.add(t.getCopyForHostCard(this));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -121,7 +121,7 @@ public final class CardUtil {
|
||||
newCopy.setController(in.getController(), 0);
|
||||
newCopy.getCharacteristics().copyFrom(in.getState(in.getCurState()));
|
||||
newCopy.setType(new ArrayList<String>(in.getType()));
|
||||
newCopy.setTriggers(in.getTriggers());
|
||||
newCopy.setTriggers(in.getTriggers(), false);
|
||||
for (SpellAbility sa : in.getManaAbility()) {
|
||||
newCopy.addSpellAbility(sa);
|
||||
sa.setSourceCard(in);
|
||||
|
||||
@@ -495,7 +495,7 @@ public class CardFactory {
|
||||
to.setIntrinsicAbilities(from.getUnparsedAbilities());
|
||||
|
||||
to.setImageKey(from.getImageKey());
|
||||
to.setTriggers(from.getTriggers());
|
||||
to.setTriggers(from.getTriggers(), true);
|
||||
to.setReplacementEffects(from.getReplacementEffects());
|
||||
to.setStaticAbilityStrings(from.getStaticAbilityStrings());
|
||||
|
||||
@@ -523,7 +523,7 @@ public class CardFactory {
|
||||
CardCharacteristics characteristics = from.getState(stateToCopy);
|
||||
to.getCharacteristics().copyFrom(characteristics);
|
||||
// handle triggers and replacement effect through Card class interface
|
||||
to.setTriggers(characteristics.getTriggers());
|
||||
to.setTriggers(characteristics.getTriggers(), true);
|
||||
}
|
||||
|
||||
public static void copySpellAbility(SpellAbility from, SpellAbility to) {
|
||||
|
||||
@@ -466,6 +466,7 @@ public abstract class Trigger extends TriggerReplacementBase {
|
||||
copy.setMode(this.getMode());
|
||||
copy.setTriggerPhases(this.validPhases);
|
||||
copy.setActiveZone(validHostZones);
|
||||
copy.setTemporary(isTemporary());
|
||||
return copy;
|
||||
}
|
||||
|
||||
|
||||
@@ -243,12 +243,15 @@ public class TriggerHandler {
|
||||
boolean checkStatics = false;
|
||||
List<Card> playerCards = player.getAllCards();
|
||||
|
||||
// add cards that move to hidden zones
|
||||
// check LKI copies for triggers
|
||||
if (runParams.containsKey("Destination") && runParams.containsKey("Card")) {
|
||||
Card card = (Card) runParams.get("Card");
|
||||
if( !playerCards.contains(card) && player.equals(card.getController())) {
|
||||
if (game.getZoneOf(card) == null || game.getZoneOf(card).getZoneType().isHidden()) {
|
||||
playerCards.add(card);
|
||||
if (card.getController() == player) {
|
||||
for (final Trigger t : card.getTriggers()) {
|
||||
if (!t.isStatic() && t.isTemporary() && canRunTrigger(t, mode, runParams)) {
|
||||
this.runSingleTrigger(t, runParams);
|
||||
checkStatics = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user