Skip to content
friarsol edited this page Apr 10, 2022 · 1 revision

Replacement create replacement effects, as you'd expect. Their script follows the format introduced by AbilityFactory; simply begin a line with "R:", to indicate that it's for a replacement effect, followed by a collection of name-value pairs (name and value are separated by $) separated by pipes (|). All Replacement effects expect an "Event$" parameter, which declares what event should be replaced. Most replacement effects will also have a "ReplaceWith$" parameter which points to an SVar which contains what should replace the event. They may have a "Prevent$True" parameter, instead though, which means that nothing happens instead of the event.

Similarly to triggers, the replacing code can access special variables pertaining to the event it replaced (like triggered-variables). These are specific to each event, and is listed below. Most replacement effects will also have a "Description$" parameter which is simply the card text for the ability.

DamageDone

DamageDone events are checked when damage is about to be assigned to a card or player. There are 5 special parameters:

  • ValidSource - The damage source must match this for the event to be replaced.
  • ValidTarget - The damage target must match this for the event to be replaced.
  • DamageAmount - The amount of damage must match this.
  • IsCombat - If true, the damage must be combat damage, if false, it can't be.
  • IsEquipping - If true, the host card must be equipping something.

There are 3 Replaced-variables:

  • DamageAmount - The amount of damage to be assigned.
  • Target - The target of the damage.
  • Source - The source of the damage.

Discard

Discard events are checked when a player is about to discard a card. There are 4 special parameters:

  • ValidPlayer - The player who would discard must match this.
  • ValidCard - The the card that would be discarded must match this.
  • ValidSource - The card causing the discard must match this.
  • DiscardFromEffect - If true, only discards caused by spells/effects will be replaced. Cleanup/statebased discards will not.

There are 2 Replaced-variables:

  • Card - The card that would be discarded.
  • Player - The player that would have discarded

Draw

Draw events are checked when a player is about to draw a card. There is 1 special parameter:

  • ValidPlayer - The player who would draw must match this.

There are no Replaced-variables.

GainLife

GainLife events are checked when a player would gain life. There is 1 special parameter:

  • ValidPlayer - The player who would gain life must match this.

There is 1 Replaced-variable:

  • LifeGained - The amount of damage to be gained.

GameLoss

GameLoss events are checked when a player would lose. There is 1 special parameter:

  • ValidPlayer - The player who would lose must match this.

There are no Replaced-variables.

Moved

Moved events are checked when a card would be moved between zones. There are 3 special parameters:

  • ValidCard - The moving card must match this.
  • Origin - The card must be moving from this zone.
  • Destination - The card must be moving to this zone.

There is 1 Replaced-variable:

  • Card - The moving card.
Clone this wiki locally