- Added Carom.

This commit is contained in:
Sloth
2013-10-13 19:26:17 +00:00
parent 768a26a5d4
commit 2cea9debcf
4 changed files with 30 additions and 0 deletions

1
.gitattributes vendored
View File

@@ -1608,6 +1608,7 @@ res/cardsfolder/c/carnival_hellsteed.txt -text
res/cardsfolder/c/carnival_of_souls.txt svneol=native#text/plain
res/cardsfolder/c/carnivorous_plant.txt svneol=native#text/plain
res/cardsfolder/c/carnophage.txt svneol=native#text/plain
res/cardsfolder/c/carom.txt -text
res/cardsfolder/c/carpet_of_flowers.txt -text
res/cardsfolder/c/carrier_pigeons.txt svneol=native#text/plain
res/cardsfolder/c/carrion.txt svneol=native#text/plain

View File

@@ -0,0 +1,20 @@
Name:Carom
ManaCost:1 W
Types:Instant
A:SP$ Pump | Cost$ 1 W | ValidTgts$ Creature | TgtPrompt$ Select target creature to redirect damage to | ImprintTargets$ True | SubAbility$ DBEffect | StackDescription$ SpellDescription | SpellDescription$ The next 1 damage that would be dealt to target creature this turn is dealt to another target creature instead. Draw a card.
SVar:DBEffect:DB$ Effect | ValidTgts$ Creature | TgtPrompt$ Select target creature to redirect damage from | TargetUnique$ True | ReplacementEffects$ SelflessCombat,SelflessNonCombat | Triggers$ OutOfSight | SVars$ CombatDmg,NonCombatDmg,RestDmgCombat,RestDmg,ExileEffect,X,Y | References$ SelflessCombat,SelflessNonCombat,OutOfSight,CombatDmg,NonCombatDmg,RestDmgCombat,RestDmg,ExileEffect,X,Y | RememberObjects$ Targeted | ImprintCards$ Imprinted | SubAbility$ DBCleanup
SVar:SelflessCombat:Event$ DamageDone | ValidTarget$ Card.IsRemembered | IsCombat$ True | ReplaceWith$ CombatDmg | Description$ The next 1 damage that would be dealt to target creature this turn is dealt to another target creature instead.
SVar:SelflessNonCombat:Event$ DamageDone | ValidTarget$ Card.IsRemembered | IsCombat$ False | ReplaceWith$ NonCombatDmg | Secondary$ True | Description$ The next 1 damage that would be dealt to target creature this turn is dealt to another target creature instead.
SVar:CombatDmg:AB$ DealDamage | Cost$ 0 | Defined$ Imprinted | DamageSource$ ReplacedSource | CombatDamage$ True | NumDmg$ 1 | SubAbility$ RestDmgCombat | ConditionCheckSVar$ Y | ConditionSVarCompare$ GE1
SVar:NonCombatDmg:AB$ DealDamage | Cost$ 0 | Defined$ Imprinted | DamageSource$ ReplacedSource | NumDmg$ 1 | SubAbility$ RestDmg | ConditionCheckSVar$ Y | ConditionSVarCompare$ GE1
SVar:RestDmgCombat:DB$ DealDamage | Defined$ Remembered | DamageSource$ ReplacedSource | CombatDamage$ True | NumDmg$ X | SubAbility$ ExileEffect
SVar:RestDmg:DB$ DealDamage | Defined$ Remembered | DamageSource$ ReplacedSource | NumDmg$ X | SubAbility$ ExileEffect
SVar:OutOfSight:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Any | ValidCard$ Creature.IsRemembered | Execute$ ExileEffect | Static$ True
SVar:ExileEffect:DB$ ChangeZone | Defined$ Self | Origin$ Command | Destination$ Exile | Static$ True
SVar:X:ReplaceCount$DamageAmount/Minus.1
SVar:Y:ReplaceCount$DamageAmount
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True | ClearImprinted$ True | SubAbility$ DBDraw
SVar:DBDraw:DB$ Draw | NumCards$ 1
SVar:RemAIDeck:True
SVar:Picture:http://www.wizards.com/global/images/magic/general/carom.jpg
Oracle:The next 1 damage that would be dealt to target creature this turn is dealt to another target creature instead.\nDraw a card.

View File

@@ -1189,6 +1189,12 @@ public class AbilityUtils {
}
}
if (sa.hasParam("ImprintTargets") && sa.getTargetRestrictions() != null) {
for (final Card c : sa.getTargets().getTargetCards()) {
host.addImprinted(c);
}
}
if (sa.hasParam("RememberCostCards")) {
if (sa.getParam("Cost").contains("Exile")) {
final List<Card> paidListExiled = sa.getPaidList("Exiled");

View File

@@ -60,6 +60,9 @@ import forge.card.spellability.SpellAbility;
if (stackDesc != null) {
if ("SpellDescription".equalsIgnoreCase(stackDesc)) { // by typing "none" they want to suppress output
sb.append(params.get("SpellDescription").replace("CARDNAME", sa.getSourceCard().getName()));
if (sa.getTargets() != null && !sa.getTargets().getTargets().isEmpty()) {
sb.append(" (Targeting: " + sa.getTargets().getTargets() + ")");
}
} else if (!"None".equalsIgnoreCase(stackDesc)) { // by typing "none" they want to suppress output
makeSpellDescription(sa, sb, stackDesc);
}