- Added Bosium Strip (currently with an implementation similar to Kess, Dissident Mage, which doesn't interact correctly in corner cases where another card also lets you cast cards from graveyard but allows you not to exile them; need a better way to check "a card cast this way" (by checking that it was cast from an effect of a particular source card). Improvements in this area are welcome).

git-svn-id: http://svn.slightlymagic.net/forge/trunk@35785 269b9781-a132-4a9b-9d4e-f004f1b56b58
This commit is contained in:
Agetian 2017-09-27 04:20:49 +00:00
parent bdf2c61dbc
commit 750db7bec7
2 changed files with 19 additions and 0 deletions

View File

@ -0,0 +1,17 @@
Name:Bosium Strip
ManaCost:3
Types:Artifact
A:AB$ Effect | Cost$ 3 T | Triggers$ TrigBosiumStrip1,TrigBosiumStrip2 | ReplacementEffects$ REBosiumStrip | StaticAbilities$ STBosiumStrip | SVars$ RememberCastFromGrave,MoveExile,DBCleanup | RememberObjects$ TriggeredCard | SpellDescription$ Until end of turn, if the top card of your graveyard is an instant or sorcery card, you may cast that card. If a card cast this way would be put into a graveyard this turn, exile it instead.
SVar:STBosiumStrip:Mode$ Continuous | Affected$ Card.TopGraveyard+Instant+YouCtrl,Card.TopGraveyard+Sorcery+YouCtrl | MayPlay$ True | EffectZone$ Command | AffectedZone$ Graveyard | Description$ Until end of turn, if the top card of your graveyard is an instant or sorcery card, you may cast that card. If a card cast this way would be put into a graveyard this turn, exile it instead.
SVar:TrigBosiumStrip1:Mode$ ChangesZone | ValidCard$ Card.Instant+YouCtrl,Card.Sorcery+YouCtrl | Origin$ Graveyard | Destination$ Stack | TriggerZones$ Command | Execute$ RememberCastFromGrave | Static$ True
SVar:TrigBosiumStrip2:Mode$ ChangesZone | ValidCard$ Instant.YouCtrl+IsRemembered,Sorcery.YouCtrl+IsRemembered | Origin$ Stack | Destination$ Hand,Library,Exile | TriggerZones$ Command | Execute$ DBCleanup | Static$ True
SVar:RememberCastFromGrave:DB$ Pump | RememberObjects$ TriggeredCard
# TODO: find a better way to check "card cast this way" to interact properly with other cards that allow you to cast cards from graveyard
# but not exile them (also relevant for Kess, Dissident Mage)
SVar:REBosiumStrip:Event$ Moved | ActiveZones$ Command | ValidCard$ Instant.YouCtrl+IsRemembered,Sorcery.YouCtrl+IsRemembered | Origin$ Stack | Destination$ Graveyard | ReplaceWith$ MoveExile
SVar:MoveExile:DB$ ChangeZone | Defined$ ReplacedCard | Origin$ Stack | Destination$ Exile | SubAbility$ DBCleanup
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
SVar:NeedsOrderedGraveyard:TRUE
SVar:RemAIDeck:True
SVar:Picture:http://www.wizards.com/global/images/magic/general/bosium_strip.jpg
Oracle:{3}, {T}: Until end of turn, if the top card of your graveyard is an instant or sorcery card, you may cast that card. If a card cast this way would be put into a graveyard this turn, exile it instead.

View File

@ -7,6 +7,8 @@ S:Mode$ Continuous | Affected$ Instant.YouCtrl,Sorcery.YouCtrl | Condition$ Play
T:Mode$ ChangesZone | ValidCard$ Instant.YouCtrl,Sorcery.YouCtrl | Origin$ Graveyard | Destination$ Stack | TriggerZones$ Battlefield | Execute$ RememberCastFromGrave | Static$ True T:Mode$ ChangesZone | ValidCard$ Instant.YouCtrl,Sorcery.YouCtrl | Origin$ Graveyard | Destination$ Stack | TriggerZones$ Battlefield | Execute$ RememberCastFromGrave | Static$ True
T:Mode$ ChangesZone | ValidCard$ Instant.YouCtrl+IsRemembered,Sorcery.YouCtrl+IsRemembered | Origin$ Stack | Destination$ Hand,Library,Exile | TriggerZones$ Battlefield | Execute$ DBCleanup | Static$ True T:Mode$ ChangesZone | ValidCard$ Instant.YouCtrl+IsRemembered,Sorcery.YouCtrl+IsRemembered | Origin$ Stack | Destination$ Hand,Library,Exile | TriggerZones$ Battlefield | Execute$ DBCleanup | Static$ True
SVar:RememberCastFromGrave:DB$ Pump | RememberObjects$ TriggeredCard SVar:RememberCastFromGrave:DB$ Pump | RememberObjects$ TriggeredCard
# TODO: find a better way to check "card cast this way" to interact properly with other cards that allow you to cast cards from graveyard
# but not exile them (also relevant for Bosium Strip)
R:Event$ Moved | ValidCard$ Instant.YouCtrl+IsRemembered,Sorcery.YouCtrl+IsRemembered | Origin$ Stack | Destination$ Graveyard | ReplaceWith$ MoveExile R:Event$ Moved | ValidCard$ Instant.YouCtrl+IsRemembered,Sorcery.YouCtrl+IsRemembered | Origin$ Stack | Destination$ Graveyard | ReplaceWith$ MoveExile
SVar:MoveExile:DB$ ChangeZone | Defined$ ReplacedCard | Origin$ Stack | Destination$ Exile | SubAbility$ DBCleanup SVar:MoveExile:DB$ ChangeZone | Defined$ ReplacedCard | Origin$ Stack | Destination$ Exile | SubAbility$ DBCleanup
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True