Adding M15 Flips and Miracles, Fixing DFC Frames, and M15 Extra Gets Double Watermarks

Login or register to post comments
Sat, 2016-01-02 20:42
Pichoro's picture

Going live right now:

M15 Flips by Movezig5:

M15 Miracles by Acorntail:

Fixing some DFC Frames with Acorntail's help.

At the request of u/Puresteel_28 over at r/custommagic, M15 Extra now does double watermarks:

An Installer with all of today's updates.

Mon, 2016-01-11 16:33

Pichoro, I've seen you updated the keyword list too adding "Support" and you coded the reminder as:

Put a +1/+1 counter on { if param1.value == 1 then "target creature." else "each of up to {english_number_a(param1)} other target creatures." }

This implementation makes mandatory to target a creature when the number is 1. And though there are no official examples of "support 1", that changes the mechanic's behavior.
In addition, your implementation lets creatures support themselves with "support 1" and states "other" even when support comes from a spell and there's no creature to exclude.

I think coding it like this would be better:

Put a +1/+1 counter on {if param1.value!=1 then "each of "}up to {english_number(param1)}{if has_pt() then " other"} target creature(s).

Or any other code that solves those issues.

Mon, 2016-01-11 21:25
movezig5's picture

What TempestCloud said. The current wording isn't quite right.

Tue, 2016-01-12 00:45

Also, I know this doesn't belong here but it's probably better than doing a new thread, today I've invested some time in improving the coding of "protection". It's likely that almost no one uses the reminder text for protection, but in the worst case the change would be harmless.

Right now, the implementation we have of protection is very rigid and only works well with qualities like colors and unused possibilities like "tapped", "transformed", "monstrous" and the like and only for one characteristic, but not for things like types and not when there are more than one criteria like "protection from black and from red".

This is what I propose:

This {if has_pt() then "creature" else "permanent"} can't be blocked, targeted, dealt damage, or enchanted{if param1.value=="everything" then "" else if param1.value=="colorless" then " by anything colorless" else if contains(match: split_text(match:" and from ", param1.value)[0], "whiteblueblackmonocoloredgreencolorlessmulticolored") then " by anything "+english_singular(replace(match:"and from", replace:"or", param1.value)) else " by "+replace(match:"and from", replace:"or", param1.value)}.

The code is very ugly, I know, especially when compared to the current code. But it's a lot more flexible.

  • This allows "protection from everything" to actually protect from everything and not from only "something that is all things and qualities" as the "can't be blocked, ..., or enchanted by anything everything" suggests.

  • It works exactly just like the current one for colors, "monocolored", "multicolored" and "colorless".

  • For types, it makes things like "protection from creatures" actually protect from creatures and not from "anything creature".

  • It also allows Emrakul to have protection from colored spells and not from "anything colored spell".

  • It allows protection from two criteria to be displayed correctly if both are color-related qualities or if both are type-related qualities.

  • For mixed criteria like "protection from blue and from Dragons" it doesn't work perfectly, but it's still enhanced in comparisson to the current coding.

  • For three or more criteria at once, like "protection from Vampires, from Werewolves and from Zombies" it has a bit awkward display. Though it can be perfect if written as "protection from Vampires and from Werewolves and from Zombies". But who wants reminder for something that long anyway?

  • It wouldn't work well for something like Pristine Angel. I didn't make an exception for "protection from all colors" because the problem with Pristine Angel is also about multiple and different nature criteria at once, and because it can be written as "protection from colored" too.

An uglier version can be adopted in case users might want to use things like "protection from untapped, from transformed, from exiled..."
Just concatenate "arcaneuntappedflippedtransformedmonstrousexiled" to the already long filter string in the code.

Tue, 2016-01-12 01:15
Pichoro's picture

Look, that's hideous. Wayback when Twan let me begin work on the source code, I promised him I would be elegant. That is anything but.

Also, users can turn off reminder text and type their own.

I made the change to support. But I'm not changing protection.

Tue, 2016-01-12 02:12
movezig5's picture

Personally, I'd rather just write out the protection reminder text myself if I had a bizarre edge case like that. You have to do that a lot with scry, too, and it's never bothered me. Also, Pichoro, have you posted the keyword change yet, and if so, where?

Tue, 2016-01-12 09:05

Fine A happy smile
I was just giving an alternative. Though I don't get why someone would prefer to have to write the reminder himself instead of having the automatic one, or how "protection from creatures", "from everthything" or "from black and from red" are bizarre edge cases.
But it's fine. I know it's important to make the understanding of the code easy to others in case they need to change it. And that would mean comments and proper indentation, which would make it huge compared to other reminders.

Pichoro, if you have yet to post an update, you could add "cohort" too. I think it's the third and last new mechanic in Oath of the Gatewatch.

movezig5, what happens with scry?

Tue, 2016-01-12 10:59
Pichoro's picture

You don't understand at all. It's not about having a good example for others. Other keywords can do that. It's about not butchering your code to cover every case. These aren't "bizarre". But they are edge cases compared to how common regular protection from a single color is. They shouldn't be used that often, and they aren't worth making a mess over.

Instead, allowing for reminder text to be shut off and allowing the user to type their own is a much more powerful solution.

Edit: Also, not posting an update for a single keyword, or even two. I won't post another update until something much bigger is ready to go.

Tue, 2016-01-12 16:24
movezig5's picture

@TempestCloud The reminder text for "scry X" always goes "To scry X, look at the top X cards of your library..." etc. About half the time, the reminder doesn't say "to scry X."

Compare Battlewise Hoplite to Battlewise Valor. The reminder text on Battlewise Hoplite is the text that MSE automatically generates. Meanwhile, MSE cannot generate the reminder text on Battlewise Valor, since it doesn't begin with "To scry 1."

Wed, 2016-01-13 11:33

Oh, yes! That happens to scry and to manifest too (and probably to fateseal if it's used ever again).
I studied the wording for scry's reminder and I got to the conclusion that WotC istelf is inconsistent with it.
In fact, way more than half of the cases don't have the "to scry X" part.
And if you exclude 4 specific cards, the rest seem to follow this rule: "If the ability instructs to take other actions along with scry, 'to scry X' appears in the reminder, otherwise it doesn't appear."
But checking that would be a nightmare, if it's even possible to check text other than the parameters.
I took the "to scry X" part because I thought it's more likely that cards with scry do other things too.

Wed, 2016-01-13 20:27
Pixi-Rex's picture

I have a problem with the template "M15 Fuse Split" P/T box on the (First split) left side don't shows the numbers. and when its a rare card the foil stamp cut off a corner of the P/T box. I don't think anyone would use split cards for creatures. But I just letting you know. A happy smile

Sun, 2016-01-17 22:50
movezig5's picture

Thanks for letting me know! That's one of my templates, so I'll get to work correcting that right away.

EDIT: Fixed! Turns out it was a problem with the z-index values. here is an installer with the update.

Incidentally, I should work on adding silver border options to these styles... Never mind! That would require a complete overhaul of the template...