mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-16 10:48:00 +00:00
StaticAbilityContinuous: fix OriginalHost for abilities gained by static abilities
This commit is contained in:
@@ -21,6 +21,7 @@ import com.google.common.base.Function;
|
||||
import com.google.common.collect.Lists;
|
||||
import com.google.common.collect.Maps;
|
||||
import forge.card.CardStateName;
|
||||
import forge.game.CardTraitBase;
|
||||
import forge.game.IHasSVars;
|
||||
import forge.game.ability.effects.CharmEffect;
|
||||
import forge.game.card.Card;
|
||||
@@ -226,7 +227,14 @@ public final class AbilityFactory {
|
||||
msg.append(". Looking for API: ").append(api);
|
||||
throw new RuntimeException(msg.toString());
|
||||
}
|
||||
spellAbility.setCardState(state);
|
||||
|
||||
if (sVarHolder instanceof CardState) {
|
||||
spellAbility.setCardState((CardState)sVarHolder);
|
||||
} else if (sVarHolder instanceof CardTraitBase) {
|
||||
spellAbility.setCardState(((CardTraitBase)sVarHolder).getCardState());
|
||||
} else {
|
||||
spellAbility.setCardState(state);
|
||||
}
|
||||
|
||||
if (mapParams.containsKey("Forecast")) {
|
||||
spellAbility.putParam("ActivationZone", "Hand");
|
||||
|
||||
@@ -736,6 +736,7 @@ public final class StaticAbilityContinuous {
|
||||
if (abilty.startsWith("AB") || abilty.startsWith("ST")) { // grant the ability
|
||||
final SpellAbility sa = AbilityFactory.getAbility(abilty, affectedCard, stAb);
|
||||
sa.setIntrinsic(false);
|
||||
sa.setGrantorStatic(stAb);
|
||||
addedAbilities.add(sa);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -8,5 +8,4 @@ SVar:HankyuDmg:AB$ DealDamage | Cost$ T SubCounter<All/AIM/OriginalHost/Hankyu>
|
||||
SVar:HankyuX:SVar$CostCountersRemoved
|
||||
AI:RemoveDeck:All
|
||||
SVar:NonStackingAttachEffect:True
|
||||
SVar:Picture:http://www.wizards.com/global/images/magic/general/hankyu.jpg
|
||||
Oracle:Equipped creature has "{T}: Put an aim counter on Hankyu" and "{T}, Remove all aim counters from Hankyu: This creature deals damage to any target equal to the number of aim counters removed this way."\nEquip {4} ({4}: Attach to target creature you control. Equip only as a sorcery.)
|
||||
|
||||
@@ -2,9 +2,8 @@ Name:Razor Boomerang
|
||||
ManaCost:3
|
||||
Types:Artifact Equipment
|
||||
S:Mode$ Continuous | Affected$ Creature.EquippedBy | AddAbility$ RazorDamage | AddSVar$ BoomerangCatch | Description$ Equipped creature has "{T}, Unattach CARDNAME: CARDNAME deals 1 damage to any target. Return CARDNAME to its owner's hand."
|
||||
SVar:RazorDamage:AB$ DealDamage | Cost$ T Unattach<OriginalHost/Razor Boomerang> | NumDmg$ 1 | DamageSource$ OriginalHost | ValidTgts$ Creature,Player,Planeswalker | TgtPrompt$ Select any target | RememberCostCards$ True | SubAbility$ BoomerangCatch | SpellDescription$ Razor Boomerang deals 1 damage to any target. Return Razor Boomerang to its owner's hand.
|
||||
SVar:BoomerangCatch:DB$ ChangeZone | Origin$ Battlefield | Destination$ Hand | Defined$ Remembered | ForgetChanged$ True
|
||||
SVar:RazorDamage:AB$ DealDamage | Cost$ T Unattach<OriginalHost/Razor Boomerang> | NumDmg$ 1 | DamageSource$ OriginalHost | ValidTgts$ Creature,Player,Planeswalker | TgtPrompt$ Select any target | SubAbility$ BoomerangCatch | SpellDescription$ ORIGINALHOST deals 1 damage to any target. Return ORIGINALHOST to its owner's hand.
|
||||
SVar:BoomerangCatch:DB$ ChangeZone | Origin$ Battlefield | Destination$ Hand | Defined$ OriginalHost
|
||||
K:Equip:2
|
||||
SVar:NonStackingAttachEffect:True
|
||||
SVar:Picture:http://www.wizards.com/global/images/magic/general/razor_boomerang.jpg
|
||||
Oracle:Equipped creature has "{T}, Unattach Razor Boomerang: It deals 1 damage to any target. Return Razor Boomerang to its owner's hand."\nEquip {2}
|
||||
|
||||
@@ -3,11 +3,9 @@ ManaCost:1
|
||||
Types:Artifact Equipment
|
||||
K:Equip:2
|
||||
S:Mode$ Continuous | Affected$ Creature.EquippedBy | AddAbility$ ShurikenDamage | AddSVar$ ShurikenGainCtrl & ShurikenForget | Description$ Equipped creature has "{T}, Unattach CARDNAME: CARDNAME deals 2 damage to target creature. That creature's controller gains control of CARDNAME unless it was unattached from a Ninja."
|
||||
SVar:ShurikenDamage:AB$ DealDamage | Cost$ T Unattach<OriginalHost/Shuriken> | NumDmg$ 2 | DamageSource$ OriginalHost | RememberCostCards$ True | ValidTgts$ Creature | SubAbility$ ShurikenGainCtrl | SpellDescription$ Shuriken deals 2 damage to target creature. That creature's controller gains control of Shuriken unless it was unattached from a Ninja
|
||||
SVar:ShurikenGainCtrl:DB$ GainControl | NewController$ TargetedController | Defined$ Valid Card.IsRemembered+namedShuriken | ConditionDefined$ Self | ConditionPresent$ Ninja | ConditionCompare$ EQ0 | SubAbility$ ShurikenForget
|
||||
SVar:ShurikenForget:DB$ Pump | ForgetObjects$ Valid Card.IsRemembered+namedShuriken | StackDescription$ None
|
||||
SVar:ShurikenDamage:AB$ DealDamage | Cost$ T Unattach<OriginalHost/Shuriken> | NumDmg$ 2 | DamageSource$ OriginalHost | ValidTgts$ Creature | SubAbility$ ShurikenGainCtrl | SpellDescription$ Shuriken deals 2 damage to target creature. That creature's controller gains control of Shuriken unless it was unattached from a Ninja
|
||||
SVar:ShurikenGainCtrl:DB$ GainControl | NewController$ TargetedController | Defined$ OriginalHost | ConditionDefined$ Self | ConditionPresent$ Ninja | ConditionCompare$ EQ0
|
||||
AI:RemoveDeck:Random
|
||||
SVar:NonStackingAttachEffect:True
|
||||
DeckHints:Type$Ninja
|
||||
SVar:Picture:http://www.wizards.com/global/images/magic/general/shuriken.jpg
|
||||
Oracle:Equipped creature has "{T}, Unattach Shuriken: Shuriken deals 2 damage to target creature. That creature's controller gains control of Shuriken unless it was unattached from a Ninja."\nEquip {2} ({2}: Attach to target creature you control. Equip only as a sorcery.)
|
||||
|
||||
@@ -15,7 +15,7 @@ Name:Toralf's Hammer
|
||||
ManaCost:1 R
|
||||
Types:Legendary Artifact Equipment
|
||||
S:Mode$ Continuous | Affected$ Creature.EquippedBy | AddAbility$ HammerDamage | Description$ Equipped creature has "{1}{R}, {T}, Unattach CARDNAME: It deals 3 damage to any target. Return CARDNAME to it owner’s hand."
|
||||
SVar:HammerDamage:AB$ DealDamage | Cost$ 1 R T Unattach<OriginalHost/Toralf's Hammer> | NumDmg$ 3 | DamageSource$ OriginalHost | ValidTgts$ Creature,Player,Planeswalker | TgtPrompt$ Select any target | SubAbility$ HammerCatch | SpellDescription$ Razor Boomerang deals 1 damage to any target. Return Razor Boomerang to its owner's hand.
|
||||
SVar:HammerDamage:AB$ DealDamage | Cost$ 1 R T Unattach<OriginalHost/Toralf's Hammer> | NumDmg$ 3 | DamageSource$ OriginalHost | ValidTgts$ Creature,Player,Planeswalker | TgtPrompt$ Select any target | SubAbility$ HammerCatch | SpellDescription$ ORIGINALHOST deals 1 damage to any target. Return ORIGINALHOST to its owner's hand.
|
||||
SVar:HammerCatch:DB$ ChangeZone | Origin$ Battlefield | Destination$ Hand | Defined$ OriginalHost
|
||||
S:Mode$ Continuous | Affected$ Card.EquippedBy+Legendary | AddPower$ 3 | Description$ Equipped creature gets +3/+0 as long as it's legendary.
|
||||
K:Equip:1 R
|
||||
|
||||
Reference in New Issue
Block a user