It is currently 19 Apr 2024, 20:10
   
Text Size

Commander 2017 spoiler season

Post MTG Forge Related Programming Questions Here

Moderators: timmermac, Blacksmith, KrazyTheFox, Agetian, friarsol, CCGHQ Admins

Re: Commander 2017 spoiler season

Postby Marek14 » 11 Aug 2017, 21:55

twosat wrote:
Agetian wrote:Hmm, the Curse cycle cards kind of present an interesting dilemma as far as implementing them in Forge goes. The cards are made with the new "shared turns/decisions" shenanigans in mind that they started implementing in Archenemy: Nicol Bolas, and assume that it's possible that more than one player attacks another player at the same time. Forge doesn't (yet) support this, so there's neither a way nor reason to check, for the time being, that another player (on top of the current attacker) is attacking anyone at the same time. Of course, some theoretical construct like "PlayerAttackingAnotherPlayer:X" could probably be introduced as a form of condition, but it will not be functional/verifiable in game until shared turns are implemented.

The question is: would it be alright to code these cards without the share turn stuff for the time being? If so, they would actually be rather straightforward to implement since they would only care about the current attacker and the defender, I guess. There could be a TODO entry in them stating that they should be expanded after shared turns are implemented (in case they are).

If this is not a viable temporary solution for these cards, I guess it may be a very long time before they see full Forge support, since no one so far has shown interest in expanding Forge to support shared turns in multiplayer (which, indeed, would most likely be a big undertaking, involving a rather serious combat rewrite and AI update).

- Agetian
As i see it there ist no need for shared turn for the time being. The cards are not "shared turn only" cause there is no mentioning of "same turn".
Whenever the cursed player is attacked the attacking player AND the owner of the curse are getting the described effekt of the curse.
Hmmh, if i own the curse and i am the attacking player then i am getting the doubled effekt? That would be interesting, or maybe i got the meaning wrong.
You won't get the doubled effect because the card specifies that the effect is for you and for attacking opponent. Since you're not your own opponent, you can never qualify for the second part.

The Release notes say:

A player is attacking another player if he or she controls a creature that's attacking that player. If no creatures are attacking the enchanted player as a Curse's ability resolves (most likely because they've left the battlefield), only the Curse's controller performs its actions.
Marek14
Tester
 
Posts: 2759
Joined: 07 Jun 2008, 07:54
Has thanked: 0 time
Been thanked: 296 times

Re: Commander 2017 spoiler season

Postby twosat » 12 Aug 2017, 07:59

I stand corrected. I got the last thing wrong.
But the rest seems still be correct. No "same turn" thing necessary.
twosat
 
Posts: 75
Joined: 09 Jan 2017, 11:04
Location: Germany
Has thanked: 5 times
Been thanked: 4 times

Re: Commander 2017 spoiler season

Postby Indigo Dragon » 12 Aug 2017, 08:18

Updated my edition file.
Swapped Crosis's Charm and Crosis, the Purger, Added Scion of the Ur-Dragon, subsequent renumbering, promoted Blade of the Bloodchief, demoted Temur Sabertooth.
Ctrl+C, Ctrl+V
User avatar
Indigo Dragon
 
Posts: 130
Joined: 11 May 2016, 10:18
Location: Australia
Has thanked: 63 times
Been thanked: 56 times

Re: Commander 2017 spoiler season

Postby Agetian » 13 Aug 2017, 14:20

Ok, I did what I could with this set, and I'd need help with the remaining cards.
7 cards are currently missing from C17 in Forge. Here's the breakdown:

Alms Collector - has an interesting replacement effect with "draw two or more cards". Forge seems to only create replacement effects for when cards are drawn one by one, so we probably need a separate replacement effect here of some kind? Tried coding it but that broke way more than it tried to accomplish. Help needed.
Magus of the Mind - most likely scriptable, but has a complicated calculation in it that I can't get right and need help with.
Mirri, Weatherlight Duelist - has limiting effects that make it possible to only attack a specific player with no more than one creature. Not sure how to expand support to make this scriptable.
Portal Mage - rather complicated, involves reselecting stuff during the attack, may need some (or a lot of?) code rewrite/update for it to work.
Shifting Shadow - one of the most interesting cards of the bunch, and most likely (almost?) scriptable too, however, I couldn't figure out how to make the enchantment reattach after a new creature is found and put onto the battlefield. Would be interesting to make this work, so please help if possible.
Stalking Leonin - this card involves "secretly choosing an opponent" and "revealing the chosen opponent", which needs some code update.
Territorial Hellkite - has a complicated selection scheme for an attack target. Not sure if this can be accomplished somehow, or what would be involved in updating the code to make this possible.

Also, some cards are imperfect and could use some modification. For example, Kess, Dissident Mage works in most situations, but needs to be decoupled from effects such as Harness the Storm such that only the cards cast via Kess's MayPlay effect are exiled, but not the ones coming from graveyard too but via another card effect. Not sure how to accomplish this, so could use some help.

The Curse cycle (Curse of Vitality and friends) now works, at least in the "single attacker" scenario (they will correctly make the controller of the curse and the attacker get the effect). Can't really prove whether the current implementation would work in a shared turn/attack scenario, since Forge doesn't support that, at least yet.

- Agetian
Agetian
Programmer
 
Posts: 3471
Joined: 14 Mar 2011, 05:58
Has thanked: 676 times
Been thanked: 561 times

Re: Commander 2017 spoiler season

Postby Marek14 » 14 Aug 2017, 07:15

Agetian wrote:Ok, I did what I could with this set, and I'd need help with the remaining cards.
7 cards are currently missing from C17 in Forge. Here's the breakdown:

Alms Collector - has an interesting replacement effect with "draw two or more cards". Forge seems to only create replacement effects for when cards are drawn one by one, so we probably need a separate replacement effect here of some kind? Tried coding it but that broke way more than it tried to accomplish. Help needed.
Magus of the Mind - most likely scriptable, but has a complicated calculation in it that I can't get right and need help with.
Mirri, Weatherlight Duelist - has limiting effects that make it possible to only attack a specific player with no more than one creature. Not sure how to expand support to make this scriptable.
Portal Mage - rather complicated, involves reselecting stuff during the attack, may need some (or a lot of?) code rewrite/update for it to work.
Shifting Shadow - one of the most interesting cards of the bunch, and most likely (almost?) scriptable too, however, I couldn't figure out how to make the enchantment reattach after a new creature is found and put onto the battlefield. Would be interesting to make this work, so please help if possible.
Stalking Leonin - this card involves "secretly choosing an opponent" and "revealing the chosen opponent", which needs some code update.
Territorial Hellkite - has a complicated selection scheme for an attack target. Not sure if this can be accomplished somehow, or what would be involved in updating the code to make this possible.

Also, some cards are imperfect and could use some modification. For example, Kess, Dissident Mage works in most situations, but needs to be decoupled from effects such as Harness the Storm such that only the cards cast via Kess's MayPlay effect are exiled, but not the ones coming from graveyard too but via another card effect. Not sure how to accomplish this, so could use some help.

The Curse cycle (Curse of Vitality and friends) now works, at least in the "single attacker" scenario (they will correctly make the controller of the curse and the attacker get the effect). Can't really prove whether the current implementation would work in a shared turn/attack scenario, since Forge doesn't support that, at least yet.

- Agetian
For Magus of the Mind, we have Storm Entity, that could help.
Marek14
Tester
 
Posts: 2759
Joined: 07 Jun 2008, 07:54
Has thanked: 0 time
Been thanked: 296 times

Re: Commander 2017 spoiler season

Postby Agetian » 14 Aug 2017, 11:03

Thanks a lot for help, Marek! Magus of the Mind is now implemented. 6 cards remain, the closest candidates for implementation being Shifting Shadow and Mirri, Weatherlight Duelist (the latter probably needs a Keyword version of the global attacking/blocking limitation rule; the former - not sure, but ideas are welcome :)).

- Agetian
Agetian
Programmer
 
Posts: 3471
Joined: 14 Mar 2011, 05:58
Has thanked: 676 times
Been thanked: 561 times

Re: Commander 2017 spoiler season

Postby Agetian » 14 Aug 2017, 14:45

Trying to implement Shifting Shadow here. The following hacky script actually works (not sure if it works in all cases, but it does work in the most common test scenarios, at the very least). However, instead of placing the "At the beginning of your upkeep, destroy....." effect directly on the enchanted creature, it places it on a created temporary effect that both imprints the Shifting Shadow itself and remembers its target, because this is the only way that I can think of that lets the game remember all the necessary objects that need to be destroyed, found and put on the battlefield, and reattached. Not sure if this is acceptable, but it's the only way I can make this card work at the moment:

Code: Select all
Name:Shifting Shadow
ManaCost:2 R
Types:Enchantment Aura
K:Enchant creature
A:SP$ Attach | Cost$ 2 R | ValidTgts$ Creature | AILogic$ Pump | SubAbility$ DBEffect
SVar:DBEffect:DB$ Effect | Triggers$ ShadowUpkeepTrig | RememberObjects$ Enchanted | ImprintCards$ Self | SVars$ ShadowRevealCards,ShadowReattach,ShadowDestroyEnchanted,ShadowForgetDestroyed | ConditionPresent$ Card.Self | Duration$ UntilHostLeavesPlay | ExileOnMoved$ Exile | Name$ Shifting Shadow Effect
S:Mode$ Continuous | Affected$ Creature.EnchantedBy | AddKeyword$ Haste
SVar:ShadowUpkeepTrig:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Command | Execute$ ShadowDestroyEnchanted | TriggerDescription$ At the beginning of your upkeep, destroy this creature. Reveal cards from the top of your library until you reveal a creature card. Put that card onto the battlefield and attach Shifting Shadow to it, then put all other cards revealed this way on the bottom of your library in a random order.
SVar:ShadowDestroyEnchanted:DB$ Destroy | Defined$ Remembered | SubAbility$ ShadowForgetDestroyed
SVar:ShadowForgetDestroyed:DB$ Pump | ForgetObjects$ Remembered | SubAbility$ ShadowRevealCards
SVar:ShadowRevealCards:DB$ DigUntil | Valid$ Creature | ValidDescription$ creature | FoundDestination$ Battlefield | RevealedDestination$ Library | RevealedLibraryPosition$ -1 | RevealRandomOrder$ True | RememberFound$ True | SubAbility$ ShadowReattach
SVar:ShadowReattach:DB$ Attach | Defined$ Remembered | Object$ Imprinted
SVar:Picture:http://www.wizards.com/global/images/magic/general/shifting_shadow.jpg
Oracle:Enchant creature\nEnchanted creature has haste and "At the beginning of your upkeep, destroy this creature. Reveal cards from the top of your library until you reveal a creature card. Put that card onto the battlefield and attach Shifting Shadow to it, then put all other cards revealed this way on the bottom of your library in a random order."
If anybody has ideas for improving this, please let me know. :) If you think you can provide a better script for this card, you're also very welcome to try.

- Agetian
Agetian
Programmer
 
Posts: 3471
Joined: 14 Mar 2011, 05:58
Has thanked: 676 times
Been thanked: 561 times

Re: Commander 2017 spoiler season

Postby Agetian » 15 Aug 2017, 12:58

Ok, Shifting Shadow is now implemented, and it even uses an Effect-less implementation (which may not be perfect but appears to work well in typical scenarios; as usual, improvements are welcome). A breakdown of the remaining unsupported cards:

Alms Collector - has an interesting replacement effect with "draw two or more cards". Forge seems to only create replacement effects for when cards are drawn one by one, so we probably need a separate replacement effect here of some kind? Tried coding it but that broke way more than it tried to accomplish. Help needed.
Mirri, Weatherlight Duelist - has somewhat trickly limiting effects for combat, one of them needs a code update (see below for details).
Portal Mage - rather complicated, involves reselecting stuff during the attack, may need some (or a lot of?) code rewrite/update for it to work.
Stalking Leonin - this card involves "secretly choosing an opponent" and "revealing the chosen opponent", which needs some code update.
Territorial Hellkite - has a complicated selection scheme for an attack target. Not sure if this can be accomplished somehow, or what would be involved in updating the code to make this possible.

I'd say that among these five, the following should potentially be scriptable, but I need some help with the code update:

Alms Collector - creating the new replacement effect should be straightforward enough, but I need help with it.
Mirri, Weatherlight Duelist - the "can't block with more than one creature" part needs to be supported in code; the "can't attack you with more than one creature" part is likely already scriptable, see Crawlspace script for reference.
Stalking Leonin - probably needs a new cost type ("reveal opponent") and an update for choosing the player in a hidden way (such that it's shown on the card as <hidden> or <secret> or something).

- Agetian
Agetian
Programmer
 
Posts: 3471
Joined: 14 Mar 2011, 05:58
Has thanked: 676 times
Been thanked: 561 times

Re: Commander 2017 spoiler season

Postby Indigo Dragon » 15 Aug 2017, 15:08

Just a quick distraction for everyone, I've been trying to get eclipse to work. However, as a "Cargo Cult" programmer, my skill is very limited.

So back to more .txt changes. Presenting 1.6.2 WaterGuy.
1.6.2 WaterGuy.zip
Welcome Back
(26.1 KiB) Downloaded 271 times
Code: Select all
Battlefield Scrounger
Benthicore
Bontu’s Last Reckoning
Bottle of Suleiman
Captain’s Claws
Commander’s Authority
Daxos of Meletis
Deranged Hermit
Etched Oracle
Genesis Chamber
Gonti, Lord of Luxury
Hazoret’s Undying Fury
Hour of Devastation
Hunting Pack
Huntmaster of the Fells // Ravager of the Fells
Imaginary Threats
Insist
Kalastria Highborn
Kazandu Tuskcaller
Kefnet's Last Word
Kismet
Lat-Nam’s Legacy
Majestic Myriarch
Mutual Epiphany
Mycoid Shepherd
Noxious Dragon
Oketra’s Last Mercy
Phyrexian Processor
Purge the Profane
Rhonas’s Last Stand
Séance
Sinuous Striker
Snow-Covered Forest
Snow-Covered Island
Snow-Covered Mountain
Snow-Covered Plains
Snow-Covered Swamp
Summoning Station
Sunscourge Champion
Vigil for the Lost
Words of Wilding
Some cards had "Put Create"
the "Exert your land-sorcery god-HOU" cycle had "Exert your lands" twice.
Some cards were changed in the HOU oracle update http://magic.wizards.com/en/articles/ar ... 2017-07-14
Majestic Myriarch had day-0 errata (Broken!)
Purge the Profane had "gain two life"
Hour of Devastation was curiously missing it's "Deal 5 Damage" in-match
And I decided to update the Snow-Covered basic lands so that they line up with the non-Snow-covered basic lands.


As a request, can we have Menace no longer have reminder text in-match? It's an evergreen keyword and now has appeared many times without it. Compare the pair:

First Strike, Flying, Deathtouch, Double Strike, Haste, Hexproof, Lifelink
Menace (This creature can't be blocked except by two or more creatures.), Reach, Skulk, Trample, Vigilance.

vs

First Strike, Flying, Deathtouch, Double Strike, Haste, Hexproof, Lifelink, Menace, Reach, Skulk, Trample, Vigilance.

It's odd that Skulk doesn't have reminder text, but Menace does.
Edit: Also Eternalize has "Create a token that's a copy of it, except it's 4/4 black Zombie Human Cleric with no mana cost. Eternalize only as a sorcery." It should have "Create a token that’s a copy of this card, except it’s black, it’s 4/4, it has no mana cost, and it’s a Zombie in addition to its other types. Eternalize only as a sorcery.".
Ctrl+C, Ctrl+V
User avatar
Indigo Dragon
 
Posts: 130
Joined: 11 May 2016, 10:18
Location: Australia
Has thanked: 63 times
Been thanked: 56 times

Re: Commander 2017 spoiler season

Postby Agetian » 15 Aug 2017, 16:18

Thanks a lot! :) Integrated upstream. Also, corrected texts for Embalm and Eternalize in the game, and removed ingame reminder text from Menace.

- Agetian
Agetian
Programmer
 
Posts: 3471
Joined: 14 Mar 2011, 05:58
Has thanked: 676 times
Been thanked: 561 times

Re: Commander 2017 spoiler season

Postby daitokujibiko » 16 Aug 2017, 23:40

Holy crap they actually printed O Kagachi, Vengeful Kami in commander 2017. I gotta put that as a challenge reward in my Kamigawa world. For me this is almost like they finally printed Urza or Yawgmoth. :D
daitokujibiko
 
Posts: 23
Joined: 22 Jun 2017, 21:52
Has thanked: 11 times
Been thanked: 1 time

Re: Commander 2017 spoiler season

Postby Agetian » 18 Aug 2017, 11:33

Agetian
Programmer
 
Posts: 3471
Joined: 14 Mar 2011, 05:58
Has thanked: 676 times
Been thanked: 561 times

Re: Commander 2017 spoiler season

Postby swordshine » 20 Aug 2017, 03:29

swordshine
 
Posts: 682
Joined: 11 Jul 2010, 02:37
Has thanked: 116 times
Been thanked: 87 times

Re: Commander 2017 spoiler season

Postby Indigo Dragon » 31 Aug 2017, 09:05

Presenting 1.6.4 Tempest
1.6.4 Tempest.zip
Standing in a puddle
(25.58 KiB) Downloaded 250 times
Code: Select all
Act of Heroism
Angel of Condemnation
Arahbo, Roar of the World
Arrow Storm
Curse of Opulence
Demoralize
Disrupt Decorum
Edgar Markov
Fatal Lore
Fervent Paincaster
Fierce Invocation
Fiery Bombardment
Firecat Blitz
Flash of Insight
Formless Nurturing
Grave Titan
Hearth Charm
Hope Tender
Horde of Boggarts
Inalla, Archmage Ritualist
Kindred Boon
Library of Lat-Nam
Liege of the Hollows
Mairsil, the Pretender
Misfortune
Neko-Te
Oasis Ritualist
Pride Sovereign
Primeval Titan
Puresteel Paladin
Reason // Believe
Steward of Solidarity
Taigam, Sidisis Hand
The Ur-Dragon
Untamed Hunger
Wasitora, Nekoru Queen
Act of Heroism granted reach instead of bonus block.
Added Exert Reminder text where I could.
Upgraded Eminence Dash.
Fixed the three opponent chooses one dashes.
Updated Flashback Dash.
Two manifest cards had "( To manifest a card..."
Made Grave Titan and Primeval Titan act like their brothers.
Kindred Boon had a ".."
Mairsil, the Pretender had a These instead of Those.
Updated some Menace and Scry reminder texts.

And what I consider the biggest change: Neko-Te had an odd ability that acted like Equip that wasn't equip. Puresteel Paladin also granted this ability. Neko-Te changed to have this ability. Puresteel Paladin now "AddKeyword$ Equip 0 | Condition$ Metalcraft"

Also Nazahn, Revered Bladesmith has an entire second paragraph of rules text, not just the tutoring ability.
Ctrl+C, Ctrl+V
User avatar
Indigo Dragon
 
Posts: 130
Joined: 11 May 2016, 10:18
Location: Australia
Has thanked: 63 times
Been thanked: 56 times

Re: Commander 2017 spoiler season

Postby Agetian » 31 Aug 2017, 09:41

Thanks a lot for the effort, I'll look into integrating these shortly! :)
I have a question though: are you sure you're on the latest version of the cardsfolder material? I fixed Neko-te relatively recently (maybe about a week ago) :/ Conversely, I don't immediately see a difference in Nazahn, Revered Bladesmith text file compared to what I have in the current version of the file... Please always make sure you update to the very latest copy of the cardsfolder files (SVN trunk), not to the latest release, otherwise we risk losing some changes that have already been made after the latest release was published (no worries this time though, IntelliJ has a really awesome system that shows changes side-by-side, highlighting the exact differences :) ).

EDIT: The changes are now upstream :) Thanks a lot again! Your Oracle updates are always highly welcome! :)

- Agetian
Agetian
Programmer
 
Posts: 3471
Joined: 14 Mar 2011, 05:58
Has thanked: 676 times
Been thanked: 561 times

PreviousNext

Return to Developer's Corner

Who is online

Users browsing this forum: No registered users and 84 guests


Who is online

In total there are 84 users online :: 0 registered, 0 hidden and 84 guests (based on users active over the past 10 minutes)
Most users ever online was 4143 on 23 Jan 2024, 08:21

Users browsing this forum: No registered users and 84 guests

Login Form