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