It is currently 09 Sep 2025, 02:14
   
Text Size

Essence of the Wild and Infinite Reflection

Post MTG Forge Related Programming Questions Here

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

Essence of the Wild and Infinite Reflection

Postby moomarc » 19 Mar 2013, 11:07

I've converted Essence of the Wild to script in liu of trying to script Infinite Reflection. It was a tiny change to ETBReplacement (used by clone etc already) to allow stipulating the ValidCard and ActiveZones params of the replacement effect, so it works with other etb effects in the correct layer.

The only issue is that it gets a bit messy when you have several cards on the battlefield because you have to keep clicking through the replacements. I think we probably need a way to order the replacements then run them without anymore popups, but I have no idea how to handle that.

Should I go ahead and commit the scripted version and relevant changes?
-Marc
User avatar
moomarc
Pixel Commander
 
Posts: 2091
Joined: 04 Jun 2010, 15:22
Location: Johannesburg, South Africa
Has thanked: 371 times
Been thanked: 372 times

Re: Essence of the Wild and Infinite Reflection

Postby moomarc » 19 Mar 2013, 14:32

Okay, I have Infinite Reflection working, adhering to all rulings. Well, there's probably some extreme corner case that's not covered, but for common usage and general corner cases I know of, it works the way it should. Only issues left are the horde of stacked Replacement popups that are a pain on full battlefields and the fact that the creatures that enter as copies have the image of Infinite Reflection. That second one should be easy to fix without changing the way it works by adding an ImageSource param to CloneEffect that allows you to select whether the sa source, clone target or affected card will be the image used. So just awaiting feedback on whether to commit as is.

Edit: I've handled the clone image. For now I've set it to the image of the card being copied/cloned. Does anyone have any preference otherwise? Maybe set it to keep the image of the original card? Using the clone source was the default though so I stuck to that.
-Marc
User avatar
moomarc
Pixel Commander
 
Posts: 2091
Joined: 04 Jun 2010, 15:22
Location: Johannesburg, South Africa
Has thanked: 371 times
Been thanked: 372 times

Re: Essence of the Wild and Infinite Reflection

Postby Sloth » 19 Mar 2013, 15:51

Sounds good marc. I can't really judge the problem of lots of stacked Replacement popups without testing, but it doesn't really sound like a problem so commit away.

moomarc wrote:Edit: I've handled the clone image. For now I've set it to the image of the card being copied/cloned. Does anyone have any preference otherwise? Maybe set it to keep the image of the original card? Using the clone source was the default though so I stuck to that.
i think it should be the image of the card cloned.
User avatar
Sloth
Programmer
 
Posts: 3498
Joined: 23 Jun 2009, 19:40
Has thanked: 125 times
Been thanked: 507 times

Re: Essence of the Wild and Infinite Reflection

Postby friarsol » 19 Mar 2013, 16:06

Sloth wrote:Sounds good marc. I can't really judge the problem of lots of stacked Replacement popups without testing, but it doesn't really sound like a problem so commit away.

moomarc wrote:Edit: I've handled the clone image. For now I've set it to the image of the card being copied/cloned. Does anyone have any preference otherwise? Maybe set it to keep the image of the original card? Using the clone source was the default though so I stuck to that.
i think it should be the image of the card cloned.
I was thinking the same. It's not a problem with anything you scripted, just how Replacement Effects work right now. The clone should definitely be taking the picture information about whatever is being cloned.
friarsol
Global Moderator
 
Posts: 7593
Joined: 15 May 2010, 04:20
Has thanked: 243 times
Been thanked: 965 times

Re: Essence of the Wild and Infinite Reflection

Postby moomarc » 19 Mar 2013, 16:49

Okay, thanks guys. I've committed the changes in r20481. I added a new AI logic to AttachEffect which basically does the same as unpreferredPreference without cancelling out when not mandatory. None of the other logics seemed to consider both player's cards (which makes sense generally I guess). It might need to be expanded so the AI won't use it unless the card valuation is higher than a certain amount, but I figured at that mana cost there would probably be decent targets about.

Then to clarify, I have tested the rulings regarding Infinite Reflection becoming attached to another creature before the ETB trigger resolves. Everything else mentioned in the Gatherer rulings are already generally handled by Forge and/or the layered replacement system put in by Hellfish (although I tested them just in case).
-Marc
User avatar
moomarc
Pixel Commander
 
Posts: 2091
Joined: 04 Jun 2010, 15:22
Location: Johannesburg, South Africa
Has thanked: 371 times
Been thanked: 372 times

Re: Essence of the Wild and Infinite Reflection

Postby Diogenes » 19 Mar 2013, 19:23

Just a quick question: if the clone is using all the characteristics of the cloned card and its image, what mechanism (besides number) will let you know what the card was originally? There might be a point at which you'd like to bounce something useful after the Infinite Reflection is off the field, and you'd have a hard time telling which creature is the one you're looking for.
Diogenes
 
Posts: 201
Joined: 12 Jul 2012, 00:54
Has thanked: 39 times
Been thanked: 23 times

Re: Essence of the Wild and Infinite Reflection

Postby moomarc » 19 Mar 2013, 19:42

Diogenes wrote:Just a quick question: if the clone is using all the characteristics of the cloned card and its image, what mechanism (besides number) will let you know what the card was originally? There might be a point at which you'd like to bounce something useful after the Infinite Reflection is off the field, and you'd have a hard time telling which creature is the one you're looking for.
At the moment it's just the 'Cloned by' info in the card info panel, which lists the original card. If you instead want to show the original card image, change ImageSource to Self in the two clone subabilities in Infinite Reflection (and add the parameter to the clone line in Essence of the Wild).

---
On a completely unrelated note, the replacement effect stacking that I spoke about earlier is only an issue for Essence of the Wild because each clone has the replacement effect too.
-Marc
User avatar
moomarc
Pixel Commander
 
Posts: 2091
Joined: 04 Jun 2010, 15:22
Location: Johannesburg, South Africa
Has thanked: 371 times
Been thanked: 372 times

Re: Essence of the Wild and Infinite Reflection

Postby Diogenes » 19 Mar 2013, 20:30

Okay, I see it. Would this be applied to all the current cloners as well? Currently they keep their image when they copy another card. [edit: this might not be true for everyone, some things work differently for users with non-default images, like the basic land thing]

I don't think I've earned a 'vote' yet, per se, but my opinion is that by default all cards should keep their images even when they are cloning something else. First, cards don't change their appearance when you play them in real life (yet), the make-believe is a part of the genuine experience (and thrill, honestly.) There's a rush of power knowing that all your opponent's Eldrazi are now just lowly thopters... a field full of thopters, on the other hand, is just kind of dull.

Second, if *all* the creatures on the battlefield are IR clones, it's pretty obvious what the characteristics of the cloned card are (they're on everything, and even if you have a mix the text overlay does a perfect job instantly showing you what's not a clone.) The information the user would actually scan the battlefield to find is what each creature was originally, and that would be hidden away at the bottom of the card detail panel, forcing him to mouse over every card until he finds Waldo.

It would be nice to have this effect togglable, honestly, along with other flavor-vs-usability issues (or maybe in the future reveal the original by hovering over the card.) I'd probably play in Vorthos mode a good portion of the time - but not always.
Diogenes
 
Posts: 201
Joined: 12 Jul 2012, 00:54
Has thanked: 39 times
Been thanked: 23 times

Re: Essence of the Wild and Infinite Reflection

Postby moomarc » 20 Mar 2013, 06:02

Diogenes wrote:Okay, I see it. Would this be applied to all the current cloners as well? Currently they keep their image when they copy another card. [edit: this might not be true for everyone, some things work differently for users with non-default images, like the basic land thing]
You could add the ImageSource parameter to any of the other clone scripts if you want (they aren't affected in any other way by the recent commits though). Currently the default clone behaviour grabs the image of the ability host, which is why other clones use their own art and why when I initially scripted Infinite Reflection each clone used the Infinite Reflection image.

Diogenes wrote:I don't think I've earned a 'vote' yet, per se, but my opinion is that by default all cards should keep their images even when they are cloning something else. First, cards don't change their appearance when you play them in real life (yet), the make-believe is a part of the genuine experience (and thrill, honestly.) There's a rush of power knowing that all your opponent's Eldrazi are now just lowly thopters... a field full of thopters, on the other hand, is just kind of dull.

Second, if *all* the creatures on the battlefield are IR clones, it's pretty obvious what the characteristics of the cloned card are (they're on everything, and even if you have a mix the text overlay does a perfect job instantly showing you what's not a clone.) The information the user would actually scan the battlefield to find is what each creature was originally, and that would be hidden away at the bottom of the card detail panel, forcing him to mouse over every card until he finds Waldo.

It would be nice to have this effect togglable, honestly, along with other flavor-vs-usability issues (or maybe in the future reveal the original by hovering over the card.) I'd probably play in Vorthos mode a good portion of the time - but not always.
I can look at adding a preference setting for clone display. If added, I'll probably remove the ImageSource parameter as it will just become dead code, unless anyone wants it left in so that they can overwrite individual cards (maybe you like Clones and Phyrexian Metamorphs using their own images but think mass clones should copy the cloned card's image).

Diogenes wrote:Second, if *all* the creatures on the battlefield are IR clones, it's pretty obvious what the characteristics of the cloned card are
Sometimes I like targeting something like Prodigal Sorcerer or Royal Assassin for the initial attach, then while the trigger is still on the stack move it onto a strong token or the AI's strongest creature with Aura Finesse. So after a few turns I have two very separate groups with different functions.
-Marc
User avatar
moomarc
Pixel Commander
 
Posts: 2091
Joined: 04 Jun 2010, 15:22
Location: Johannesburg, South Africa
Has thanked: 371 times
Been thanked: 372 times

Re: Essence of the Wild and Infinite Reflection

Postby moomarc » 20 Mar 2013, 06:34

Looking at casual combos with this Infinite Reflection makes me want Arcanum Wings: effectively reduce the cost of IR by two thirds and bring it in at instant speed. SWEET! :mrgreen:

What is the main issue with Aura Swap - is it because the exchange is meant to be simultaneous or is it the check to ensure that the aura in hand can enchant the creature?
-Marc
User avatar
moomarc
Pixel Commander
 
Posts: 2091
Joined: 04 Jun 2010, 15:22
Location: Johannesburg, South Africa
Has thanked: 371 times
Been thanked: 372 times

Re: Essence of the Wild and Infinite Reflection

Postby Sloth » 20 Mar 2013, 07:04

moomarc wrote:What is the main issue with Aura Swap - is it because the exchange is meant to be simultaneous or is it the check to ensure that the aura in hand can enchant the creature?
Both. Aura Swap is not really hard to implement, but needs quite a bit of extra code to do all these things on resolution. Maybe a new Ability class is appropriate (ExchangeZone)?
User avatar
Sloth
Programmer
 
Posts: 3498
Joined: 23 Jun 2009, 19:40
Has thanked: 125 times
Been thanked: 507 times

Re: Essence of the Wild and Infinite Reflection

Postby moomarc » 20 Mar 2013, 09:54

The display of clones and copied cards is now a matter of user preference. :mrgreen: You can choose whether a clone/copied card should use its native artwork or the artwork of the card being cloned. So if Infinite Reflection is played and the "Clones use original card art" preference is checked, the cards that become copies of the enchanted card will still use their own art whereas by default they would all use the card art from the enchanted card. More advanced users can still override the image used on a per-card-basis by adding the ImageSource parameter with a Defined card value.
-Marc
User avatar
moomarc
Pixel Commander
 
Posts: 2091
Joined: 04 Jun 2010, 15:22
Location: Johannesburg, South Africa
Has thanked: 371 times
Been thanked: 372 times

Re: Essence of the Wild and Infinite Reflection

Postby Diogenes » 20 Mar 2013, 14:36

Thanks Moomarc, that's a pretty cool solution.
Diogenes
 
Posts: 201
Joined: 12 Jul 2012, 00:54
Has thanked: 39 times
Been thanked: 23 times


Return to Developer's Corner

Who is online

Users browsing this forum: No registered users and 20 guests

Main Menu

User Menu

Our Partners


Who is online

In total there are 20 users online :: 0 registered, 0 hidden and 20 guests (based on users active over the past 10 minutes)
Most users ever online was 7303 on 15 Jul 2025, 20:46

Users browsing this forum: No registered users and 20 guests

Login Form