Punf fights the rulebook

As those who were on the old Sirlin Games Tabletop Discord server might be aware, a few years ago there was a user on there called Punf. As part of writing a digital implementation of Codex, he started asking sharpo some awkward rules questions, which I thought I’d start archiving here before the server disappears.

The first set is below, more to follow. Some of these questions might have since been answered more succinctly in the rules questions thread, but I thought the resulting discussion might interesting for those who want to see how long discussions about particular rules can run.

Tracking multiple sources of armour, and sharpo makes a dangerous offer

25/04/2019

Punf
if a unit has multiple sources of armor and takes damage, what order does the armor get lost in? (this matters if the sources have different durations)
intuitively i would expect the shortest duration armor to get lost first, is this the case?

GRAG
I think it all just sort of goes into a pool
overall though I think the answer is usually going to be “whatever benefits the active player most”

Punf
well say i have a 1/1, safe attacking in play, and sensei’s advice on it so it has 1 armor. i attack a 1/1 with it, so it has 2 armor while attacking and takes 1 damage. after attacking does it still have 1 armor from sensei’s advice?

GRAG
yes
if it has 2 armor and takes 1 damage, it loses 1 armor
buuuuut armor effectively disappears at the end of your turn anyway, so unless that unit can also somehow attack twice in one turn, it’s sort of moot

Punf
well theres tons of ways to unexhaust it so it could well matter

GRAG
are there?
Vigilance doesn’t require exhausting to attack, but can only attack once
Elephant is so rare in being able to ready itself after attacking that it includes explicit helper text saying it can attack twice
(in which case, yeah, armor persists until it’s all used up or until it expires on its own)

Punf
off the top of my head, ready or not and that green thing that can attack twice
my confusion is when the expiring occurs when the armor came from multiple sources
like, under the ‘pool’ interpretation, i could see it being: your unit has 2 armor, it loses 1 from attacking, and then loses 1 from safe attacking expiring so it ends up with none

GRAG
spells do their thing and then go into discard
safe attacking is an upgrade, which you can’t lose during your own turn anyway (probably?)
yeah, you’re right about Ready or Not
so yeah, those two cards do make attacking twice in one turn plausible

Punf
is ‘whatever benefits the controller the most’ reasonable? (not necessarily active player since you could have multiple sources of armor on a patroller)

GRAG
well, while you’re patrolling, you don’t have armor except from being squad leader

Punf
which comes out as ‘lose the shortest duration armor first’ and ‘lose the armor that regenerates first’

GRAG
armor only exists on your own turn

Punf
ironbark treant can get regenerating armor when patrolling
and the art of war gives onimaru armor while hes patrolling

GRAG
fair Ironbark Treant
but that’s also only while patrolling
in those cases, said armor disappears during your turn
because by definition, your heroes/units can’t be patrolling during your own turn
their patrol begins when your turn ends

Punf
iirc squad leader and ironbark regenerate each turn but art of war doesnt, which matters in ffa

GRAG
aha, hmm

Punf
so presumably you lose the regenerating part first, and get it back on the next player’s turn

GRAG
free-for-all does throw a wrench into this
@sharpobject is probably a better source for rulings, but my gut says “you get patrol armor bonuses once, and they do not regenerate between opponent turns”
so when you end your turn and patrol Ironbark Treant, it gets +2 armor (and maybe +1 from leader) and that’s it until your turn comes up again

Punf
the squad leader thing has been asked a bunch, that one definitely regenerates each turn

GRAG
okay, I’m getting a little confused here
I’m pretty sure at least that squad leader regenerates each turn, but only each of your own turn
like, when patrol begins

Punf
it regenerates on opponents’ turns
so in ffa you can absorb a spark from each opponent

GRAG
really? hmm
I may simply not remember this rule!
at a glance, I don’t see anything in the rulebook about armor during FFA

Punf
heres sharpobject: Discord

GRAG
you can lend patrollers, but again, patrol only happens when it is not your turn
aha, huh
this is news to me!
Sorry : o

Punf
oh i missed this earlier but he appears to rule on my question here Discord
this seems to imply that if i have a 1/1 with sensei’s advice and safe attacking in play, and attack a 1/1, i end up with 0 armor

GRAG
huh
I must grant that I’ve only played FFA a few times, and it was a while ago now ^^;

Punf
(for whatever its worth im not just asking this to be annoying, i need a rigorous definition of armor because im coding a codex thing)

GRAG
right, yeah, that’s perfectly fine!
I intended to help but quickly found out that I was out of my league ^^;
good luck!

Punf
so as far as i can tell from sharpobject’s ruling how it works is:

  • when a new effect giving +armor occurs, add that amount to the unit’s armor stat (without recording the source)
  • when an effect giving +armor ends, subtract that amount from the unit’s armor stat (without caring where the subtracted armor is from)
  • when the unit takes damage, subtract that amount from the unit’s armor stat (again source is irrelevant)
  • when a unit starts being squad lead it gets +1, and when it stops it gets -1
  • squad lead gives -1 then +1 each turn (so no effect if the unit has armor, but if it has 0 armor then it now has 1 armor) and same for treant with -2/+2, which is what causes the armor regeneration
    i think this is the most consistent way to implement that ruling, but it has some weird consequences (like the sensei’s advice/safe attacking thing)

GRAG
wait, I thought SQL gave +1 no matter what
unless you mean, like, between opponent turns
in which case, that makes sense

Punf
well yeah it gets the +1 when it starts being SQL, and then start of each opponent’s turn it gets -1 and +1 (which only matters in ffa)

GRAG
ah, OK, so maybe treat it as “-1 at end of an opponent turn, then +1 when an opponent turn starts”

Punf
which sort of makes sense if we think of it as ‘your units stop patrolling and then start patrolling again against the new opponent’

GRAG
yeah
also, very cool that you are working on rule enforcement for Codex
maybe one day there can be an official rules-enforced digital version ^^

Punf
a related question would be, what if your SQL loses its armor, gets zaned out of SQL, and then gets grappling hooked back? id assume it gets a new armor

GRAG
…huh
I feel like the bonuses happen once per turn
but that’s a very good and interesting question
yeah, I dunno if the SQL armor is a thing that happens once at the beginning of the patrol turn, or if it’s an inherent characteristic of the slot that is granted upon being moved there
I have trouble imagining why an opponent would push an opposing patroller into SQL, but that’s irrelevant to the discussion of what should happen then
the rest are easy enough to deal with since they’re just ongoing traits

Punf
its kinda weird because elite is just continuous - you always have +1 atk for as long as youre elite - but SQL isnt - you lose the armor the moment you take a damage, despite still being SQL

GRAG
right

Punf
yeah

GRAG
so we’re assuming SQL gets hit, Zane maxbands and pushes to other slot, then also in the same turn that player also uses Grappling Hook to put it back in SQL
that’s a really interesting question and I kind of hate it!

Punf
i guess if we want it to be more realistic it could be a different opponent grappling hooking you back into SQL
which makes more sense as a politics tactic than one guy changing his mind

GRAG
in that case it seems much easier to just say “upon arriving in SQL for the first time in a patrolling turn, unit/hero gets armor”

Punf
well my own intuition is that it should work and you should get another point of armor

GRAG
hmmmm
I guess the big question is, do the cards “remember”

Punf
to put it another way, if it was never in SQL but then it got grappling hooked there, i would expect to get an armor

GRAG
right
same here

Punf
wheres sharpobject to save us from this purgatory :frowning_with_open_mouth:

GRAG
other question: if Grappling Hooked out (no damage) then pushed back in by Zane (damage after arriving in slot), would it then have two armor?
because SQL says on the board “+1 armor”
although I guess, wait, duh
it loses the armor when leaving SQL (in theory?)
wait, yeah, of course it does

Punf
it would be mega weird if it didnt, and make grappling hook a much weaker card

GRAG
that’s how we’ve always played
I’m Galaxy Braining this
okay, yeah
in that case, my gut says “card gets +1 armor for arriving in SQL”
if it was originally SQL then it lost that armor for being removed from SQL
then if it gets put back, it should get that armor back, instead of the armor just vanishing

sharpobject
hi
a unit or hero just tracks how much armor it currently has, and it loses armor as armor-granting effects expire
basically you always get the worst possible outcome for the player who is stacking armor-granting effects
I think if you use zane and grappling hook like that the squad leader slot will grant new armor when you move the unit back into it
can i play your codex thing :smiley:

26/04/2019

sharpobject
Punf I’m happy to answer other questions, other people who said they would make this sort of thing got me to decide basically everything already

Punf
@ people who want to play it: dont get your hopes up, im making this more as an excuse to learn javascript than as a HOLY SHIT MEGA AWESOME CODEX ONLINE VERSION
like im currently planning to just have it be offline (so you can play it vs. yourself to test some strategies or vs. a friend at your place), or vs. a (probably pretty mediocre) bot

Codex timing, attack resolution steps, and state-based actions

26/04/2019

Punf
can i ask the million dollar question: how does codex timing work
my understanding is that it uses a queue, but you can have other queues that can interrupt existing queues?
like, say you play final smash, which tells you to do three things: A,B,C
A is destroy a unit, so that could trigger more things, D,E,F,G
my understanding is you queue up D,E,F,G in any order of your choice and they go before B and C?
and if E triggers more things H,I,J then that creates a new subqueue and those things go before F and G?
the alternative (where theres just one queue) would suggest you do all three final smash things before resolving any death triggers from the first thing destroyed, which seems super weird
i searched queue and the only ruling i found was that some things are faster than other things (basically die effects that make it not go into the discard pile have to be faster to work). ok, but im confused about how the queue(s?) work at all

Sotek
I believe your description is accurate but sharpo is the true knower

Punf
also what if a triggered ability has two parts and one of those parts triggers something, does that create a new subqueue that resolves before the second part
although im not sure if this ever happens? off the top of my head the only trigger with two parts is brick thief and i dont think the first part ever triggers anything
also a much less important question, does the ‘another’ on brick thief imply you cant target the same thing twice
i guess it would but it matters so little and its marginally more effort to implement

Sotek
I think he can “heal” a thing that’s at full HP so yeah
or … can he? it matters a bit if he can’t\

Punf
theres an existing ruling that he can heal a full hp thing

Sotek
ok then

Punf
but can you damage something and then heal that same thing? ‘another’ seems to imply you cant
and its even harder than the addon thing to come up with a case where youd want to

Sotek
yeah lol
when would you NOT want to heal your base

sharpobject
hello
timing in codex!!!
things happen at more times than they happen in magic
for example, in final smash, there are distinct times at which things happen, whereas in magic, all the ETB triggers from hypergenesis are going on the stack at the same time

Punf
right, state-based actions are just ‘after anything resolves’, i think?
or not even resolves, just like, a part of it resolves

sharpobject
right

Punf
and they can make their own triggers i guess, oh geez

sharpobject
ok but there’s no nesting system
I think what you described is closer to hearthstone/FFG, not what we have

Punf
huh, so why do death triggers from the first thing final smash kills trigger before the other things final smash does?

sharpobject
they don’t

Punf
oh really? huh
wait but the thing still dies before the rest of it resolves, right?

sharpobject
yes
if you play final smash and you have harmony in play, your queue according to the rules is:
[Final Smash] [Harmony Trigger]

Punf
so it actually goes into the discard pile?

sharpobject
but a reasonable implementation that is equivalent to the rules is:
[Final Smash A] [Final Smash B] [Final Smash C] [Final Smash Ends] [Harmony Trigger]

Punf
does that screw with graveyard/second chances/whatever the third thing was?
or are those triggers ‘special’ and actually do interrupt the queue?

sharpobject
yes, those things are ‘special’
sorry !

Punf
so would a reasonable summary be ‘there really is one queue and everything waits for final smash to resolve, except three special triggers that interrupt it’

sharpobject
yes

Punf
that seems pretty implementable since i dont think the special triggers ever trigger anything themselves
wait what about sentry
i guess that trigger is also special?

sharpobject
ok, so when you kill the enemy technician with part A you end up with
[Final Smash B] [Final Smash C] [Final Smash Ends] [Harmony Trigger] [Technician Trigger]
sentry has to work at a weird timing that nothing else works at

Punf
a full list of all things that can interrupt would be nice if you could provide it
currently i have [three things that interrupt dying, sentry]

sharpobject
I think I sent this to someone, so I should be able to find it
to be honest, I’m about to just look at all the cards, since there aren’t that many

Punf
from what i can see none of the interrupts ever create their own triggers or require targeting, so it should be managable
and i guess stuff like flagbearer is sort of a trigger that interrupts, but i have it implemented as static anyway so thats fine

sharpobject
oh, you may want to know that targets are chosen as late as possible, and this matters for resist and the resist + flagbearer interaction

Punf
yeah im pretty sure ive got targeting with resist + flagberaer down

sharpobject
ok great

Punf
oh wait, i guess that makes smoker another trigger that interrupts?

sharpobject
yes, smoker and illusions

Punf
how does that interact with ember volley
do you choose all targets, assign the 5 damage among them in any way, and then illusions die/smoker returns?

sharpobject
you must assign at least 1 damage to each thing you choose
then illusions die and smoker returns
then other things take damage

Punf
but if (insert crazy edge case) you could assign 2 damage to an illusion in order to assign less to other things?

sharpobject
sure

Punf
all right, that makes sense
so if there are multiple interrupt triggers on death, active player chooses the order?
and only the first one does anything?

sharpobject
yes, the other ones will do nothing

Punf
does that still use up their uses (for second chances/reteller)?

sharpobject
but there are some more details that I will tell you when I remember or read

Punf
also thats super annoying because it means ill have to interrupt execution of the original thing to get a user choice on trigger order, bleh

sharpobject
yes sorry

Punf
maybe a better ruling would be ‘if you have second chances and reteller in play together, you lose the game for being annoying’

Sotek
lol

sharpobject
though note you already had to do that for normally timed triggers (?)

Punf
oh right because you have to pick queue order immediately

sharpobject
reteller says “the first two times each turn one of your non-token illusion units dies” which refers pretty clearly to which events it applies to

Punf
i guess theres sort of already a natural gap in execution when something dies so thats not too bad

sharpobject
second chances says something more annoying, and I’m going to go look up what I said about second chances before

Punf
well, ‘leaves play’ is still reasonable

sharpobject
I mean it says “once-per-turn” and not “the first time each turn”

Punf
i feel like the full list of codex trigger timings isnt even that long
theres arrives, attacks, dies (which sometimes have subtimings, dies can be an interrupt or normal, attacks can be before or after)
theres sentry which is a weird interrupt that triggers on damage being dealt
i actually cant think of any more off the top of my head

sharpobject
I think “attacks: X” is at the same timing as obliterate
Rampaging Elephant has “after attacking”

Punf
well ogre recruiter has to take effect after the actual attack to check whether the ogre is still alive

sharpobject
yeah
wow
can someone fix the templating in a patch

Punf
i guess doubling barbarbarian is sort of ‘on gain stats’ but eh its more static than triggered

sharpobject
yeah
I am putting stuff like that, cost changing abilities, targeting restrictions, etc. in a different bucket
cursed crow has “deals damage” timing

Punf
so does molting firebird

sharpobject
which is presumably between obliterate and rampaging elephant

Punf
is this a decent summary of attack:

  1. choose a legal target
  2. resolve all attack triggers
  3. if target is dead, choose a new legal target
  4. attack your target from 1) or 3)
  5. resolve all damage triggers
  6. resolve all after-attack triggers
    its kinda weird because if you think of attacking as one action, attack triggers jump the queue, but i guess it makes sense if you think of attacking as multiple actions?
    unless im completely wrong and attack triggers take place after the actual attack but im pretty sure obliterate is before
    i guess i shouldnt use the word ‘target’ since its not a target in game terms, but like just a choice

sharpobject
I am not clear on the details of 3) but I think if the target has stopped patrolling, you should still get to choose a new target
this matters if your cinderblast dragon was attacking a flying immortal

Punf
oh, huh
actually how wacky would it be if you just got to choose a new target no matter what
would that cause any issues

sharpobject
hopefully the UI can hide that choice if there were no attack triggers lol

Punf
like, is step 1 necessary or can we just have choosing the attack target after attack triggers

sharpobject
one possible issue is setsuki
oh
I’m not sure about that
I think you may be safe to get rid of step 1

Punf
man that sounds super sweet

Sotek
are there any target-based attack triggers?

sharpobject
yeah
my 2 concerns are

Punf
there are some that sort of are like wight

sharpobject
is there a situation where there are no valid attack targets for a unit or hero?
are there any “attacks an X” triggers?

Punf
huh, im pretty sure no?

sharpobject
if it’s no to both I think you can scrap part 1 there

Sotek
yes to the first
it’s really dumb
but yes

Punf
uh oh

sharpobject
oh?
how do you make it happen
I thought we got rid of all the stuff like this

Sotek
lawbringer gryphon

sharpobject
ok great

Sotek
you need him, your base, no tech buildings, and no non-flying units

sharpobject
so if you have a trojan duck, and I have lawbringer gryphon and no tech buildings, you can’t attack me

Punf
hmm, what if we replaced step 1 with ‘verify that there is at least one legal target’ but dont require you to actually pick a target

sharpobject
lmao

Punf
does it work then?

sharpobject
yes that works

Sotek
yeah
actually

Punf
oh what happens if you have duck against lawbringer and two random 1/1s

sharpobject
UI wise I would sort of want the flow you pasted anyway, since I want to drag from my guy to the guy I am attacking and most of my guys don’t have “attacks” triggers

Punf
you obliterate the 1/1s then cant do the actual attack?

sharpobject
you obliterate the 1/1s and then sort of stop
yeah

Sotek
yeah that’s what happens there

Punf
so it sounds like picking the target after attack triggers makes way more sense, hooray

Sotek
unfortunately there’s a case where the outcome is affected

sharpobject
?

Sotek
lawbringer gryphon, a tech building, and base.

Punf
kinda weird to have attack triggers trigger when you didnt actually attack, oh well

Sotek
trojan duck obliterates the gryphon but MUST attack the tech building

sharpobject
oh gosh

Punf
so step 1 actually is necessary and we need weird rules on when step 3 lets you retarget?

sharpobject
if we are huge pedants, yes

Punf
either that, or weird rules on what you can pick in step 3 based on what you could have picked in step 1
but even then you should really be locking in the choice earlier in case your attack triggers give you new information

Sotek
that said maybe we don’t match the rules 100% here, lol

Punf
well if i can get official permission from the rules manager to ditch step 1 ill be happy to obey

sharpobject
ditching step 1 doesn’t sound like a big deal

Punf
sweet

sharpobject
but like I said above, in a UI for a card game I want to attack by dragging an arrow from my guy to the thing I am attacking
and this vaguely implies the workflow that includes step 1

Punf
interesting, personally id rather have the attack triggers occur before i pick my target
it feels super weird to target, obliterate things, and then retarget
in the normal case where there are no attack triggers, it works the same whether you target in step 1 or step 3

sharpobject
Rules Questions thread - #2383 by sharpobject
here’s what I said about Second Chances
including pedantry about “x times per turn” vs “the first x times each turn”
Rambasa Twin has a 4th ability that happens at that timing that I left out of a lot of posts
I also got to be sad about wandering mimic vs crypt crawler all over again
though I’m not sure whether to be sad about it or proud to not have imported rule 613.7 from mtg

Sotek
lol

sharpobject
oh I got to the end of the post I linked where I said “Getting a derived state where Escaped Shapeshifter is the only creature with flying seems like a bug to me. So I don’t think this setup is significantly better than the one we have in Codex.”
that’s great

Sotek
lol

sharpobject
re: UI with attack triggers, yes I agree, but the vast majority of attacks have no attack triggers
oh that’s another fix I guess
you could say “if my guy has no attack triggers, drag to defender to attack, otherwise drag anywhere on the other side of the board to attack”
that’s very reasonable

Punf
well nuking step 1 means there probably has to be a separate ‘attack’ button (it cant just be clicking the attacker attacks, because what if you wanted to use an activated ability on it)
having two click attacks (click attacker, click defender) means reintroducing step 1 and possibly having to change your target

sharpobject
I really think it should be what I said, if I was a big budget digital card game company
like in hearthstone, I left click my dude and drag to the enemy dude

Punf
possibly changing target midway through is super ugh from a rules standpoint but i guess it makes the ui better

sharpobject
if my dude happens to be plague lord, instead I’m not allowed to drag to the other dude, and some huge red overlay thing comes up over the enemy board, and dragging to anywhere on that just does the attack trigger
after that I’m forced to choose a thing to attack with plague lord
right click → attack is fine for non-big-budget digital card games

Punf
well i currently have right click → view zoomed in version of the card
i figure people with small screens will just be completely unable to play the game if theres not some way to zoom in on cards
and right click is way more convenient than having a separate magnifying glass or something

Sotek
heh

Punf
also im not getting the second chances thing
my understanding is once-per-turn = ‘this can only trigger once per turn’
so if you have 2 second chances and 3 things leave simultaneously, what stops both of them from randomly choosing the same thing
(in which case youd only get that one thing back)

sharpobject
Rules Questions thread - #2394 by sharpobject

Punf
so one resolves immediately, and then the other resolves when the first rescued thing isnt there any more?

sharpobject
yeah
it won’t be able to pick that thing, so it will have to pick something else

Punf
but then how does the 2 second chances, 1 thing leaving thing work?
the first one resolves immediately, and then the second has no possible targets but still has its use used up?

sharpobject
right

Punf
so the use gets used up from trying to trigger despite having no possible targets? seems weird but i guess consistent

27/04/2019

Punf
is ‘things that should die die’ the only state-based action in codex?
i guess ‘you lose the game if you dont have a base’ might be one too?

Faulty Ice
Rules Questions thread - #1038 by sharpobject

MollytheBard
If you use Promise of Payment and can’t pay next upkeep, you lose

Faulty Ice
but that is a trigger, not a statebased action

MollytheBard
Okay

Punf
oh damn that seems op

Faulty Ice
?

Punf
what happens if both bases are destroyed at the same time?
im guessing active player wins?

Faulty Ice
How would both players bases take damage at the same time?

Punf
burning volley

GRAG
Codex Card Database | Careless Musketeer
“And,” rather than “then”

Faulty Ice
I would assume a tie, as all state based actions happen at the same time

Punf
i think careless musketeer actually does the first thing then the second thing? i dunno

Faulty Ice
it does both at the same time, it would need to be on dfifferent lines for them them to happen one after the other
*paragraphs

sharpobject
punf, maybe “tokens in most zones cease to exist”

Punf
oh right

sharpobject
tie if both bases die at the same time I guess

Punf
huh, newlines have a mechanical effect in codex? kinda strange

sharpobject
do we have a rule about + and - runes cancelling?

Faulty Ice
that is in your list of statebased actions sharpo

sharpobject
wow great lets just use that list

Faulty Ice
@Punf yes, statebased actions are checked inbetween lines, this can be very important (for instance if Earthquake can end up dealing no damgae to an opponents base, if it starts undamaged and a tech building/add on is destroyed by the earthquake)

sharpobject
I dont think its exactly “newlines” but this is the thing we chatted about with final smash

Punf
oh what about destroyed tech buildings dealing 2 damage to your base?

Faulty Ice
statebased
again in the list

Punf
hrm im not seeing it

Faulty Ice
If a unit or hero just took deathtouch damage or a unit, hero, or building has lethal damage marked on it, it dies. If it was a hero, an opposing hero gets 2 levels. If it was a tech building or addon, that player’s base takes 2 damage.

Punf
oh, all right

Faulty Ice
it is mixed in with a lot of other things, can be hard to spot straight off the bat.

3 Likes
Interactions between combat stat / ability modifiers

03/05/2019

Punf
is the 0 atk minimum checked in the middle of processing all atk changing effects, or only applied after all atk changing effects are processed?
eg if i have a 1/1, intimidate it, and then give it a +2/+2 buff, does it end up with 0 atk or 2

Zhavier
There is no 0 atk minimum, just a statement that atk can’t heal a target
in other words, it is possible to atk something while you have a negative attack value, its just it has the same effect as if it had 0 attack

Punf
what happens if fairie dragon and polymorph: squirrel are both trying to set the base stats of something

GRAG
Dragon is permanent and squirrel is for one turn, right?
I’d say temporary takes priority for its duration

Punf
it seems weird for duration to affect which one takes precedence

Carpe
P:S transforms it into a 1/1 squirrel with a feather rune on it

GRAG
This is also true

Carpe
The feather rune makes it 3/1

GRAG
So I guess rune does take priority, period

Carpe
That’s how I’d rule it: P:S transforms the base unit, rune modifies unit stats

Punf
theres also the question of whether it has flying since polymorph might make it not?

Carpe
Nah, I think the same logic applies; the rune applies flying and 3/1 stats to the unit, it doesn’t care what the unit is

Punf
actually i think im confused in general about how polymorph: squirrel works
if i sensei’s advice something and then polymorph it, does it lose the buff?

Polari
no
oh wait never mind
misread the ruling
the ruling states it retains bonuses from things like +1/+1 runes, soul stone or spirit of the panda, but does lose “all one-time effects that other things might have granted it before the transform”

Punf
why is that, exactly? is it because sensei’s advice grants an ability?
or does the verb ‘transform’ implicitly end all one-time effects on the target?
im pretty sure temporary buffs arent abilities, and my understanding of the 1/1 part is that its just an override of the unit’s base stats, so it must be something to do with the verb transform i guess?

Polari
I think it isn’t a base stats override and just forces the stats to 1

Punf
but i thought you could buff it by using sensei’s advice afterwards

Polari
and that the exception here is that stuff with persistent objects apply last

Punf
also in that case, does it keep the armor from a pre-polymorph sensei’s advice?

Polari
yeah that’s what happens if you apply the effects in timestamp order

Punf
if so then that seems to contradict the ruling that it loses one-time effects

Polari
the quote I pasted is from the rulings doc, green, line 50 Codex rulings - Google Sheets
I’m understanding this as polymorph removing the armor

Punf
that doesnt seem to fit with what the polymorph card says, it doesnt say anything about removing armor
i suppose you could interpret ‘transform’ to implicitly mean that all one-time effects on it end

Polari
that does seem unintuitive but then again I’m not sure what exactly I’m supposed to think of armor as being
I guess it is an “ability”

Punf
so midori’s buff stop applying to your squad leader?
which could mean that becoming a squad leader kills a unit with 1 base hp and 1 damage thats only alive due to midori?
sounds even weirder

Polari
I think squad leader armor is a special case

Punf
i mean it still seems pretty dumb if using sensei’s advice on your unit can kill it, but i guess not quite as dumb
but i really feel like armor isnt an ability

Polari
rampant growth removing midori bonus does seem wrong too

Punf
also god, the midori + behind the ferns interaction makes me want to stab something
i think its the only time when codex timestamps matter? (apart from maybe that mimic + crypt crawler thing?)

Polari
blah, midori rulings don’t explicitly mention armor

Punf
i am growing extremely tempted to just errata midori to ‘units with no printed abilities’ for my implementation

Carpe
So from my vantage point, Advice is a stat buff/debuff applied to the unit as a momentary thing
This contrasts with ongoing buffs from attachments and runes

Punf
it seems to me that it has to be ongoing in some way, since it ends at end of turn
like to me, a one-time thing is like just ‘exhaust target unit’, where theres nothing to keep track of, it just happens

Carpe
It has a limited duration but it’s applied once
Whereas a rune is a sort of “always on” effect that keeps being applied essentially
Like, let’s say I have a spell that says “change a unit’s attack to 10” and then I transform the unit into a squirrel. It no longer has 10 attack
But if I have a “dinosaur” rune which has the effect “This unit has 10 attack”, that rune doesn’t go away when the base unit is transformed
or to put it another way with real cards, casting Deteriorate on it, then polymorph squirrel, vs having a -1/-1 rune on it

Punf
i think the difference between ‘has 10 attack’ and ‘has +2 attack’ is significant
changes of base attack are incompatible, one must win out
but a change of base attack and a modifier to attack can potentially coexist
also, fairie dragon doesnt affect the printed attack of a unit, even though it does affect the base attack of a unit

Carpe
See, I think that if you Deteriorate a unit and then cast P:S on it, that wouldn’t kill the unit, that’s just weird

Punf
yeah i also feel like it shouldnt kill the unit
so perhaps transform could be interpreted as ‘All effects on that unit end’
with the understanding that a continuous effect will be reapplied anyway

Carpe
Right

Punf
i dont see any ruling to support the view that transform implies that, but it seems a lot more intuitive than the alternatives

Carpe
Continuous effects being stuff like tokens and cards that give modifications

Punf
also uh fairie dragon doesnt change the printed atk, but polymorph does? god
i think the key to this, if we read the card text, has to be that ‘transform’ is a word with a lot of hidden rules meaning behind it

Carpe
I’d put it like this imo: “treat it like a 1/1 unit with no memory of past states”
(Arrival fatigue notwithstanding)

Punf
it retains a fair amount of information, eg it keeps the same controller

Carpe
True

Punf
also final smash’s gain control of is a ‘one-time effect’, but surely polymorph doesnt end it and give the unit back to you
that would just be insane

Carpe
I’d basically see things as “outside indicators impose states on it”

Punf
so ‘gain control of a unit’ is fundamentally different from ‘a unit gets +1/+1’, i guess

Carpe
But that’s my way of working it in a legalesque fashion
Like if you really wanted to make it airtight, I think you could say that having a unit on your side of the board continuously indicates your controllership
I’m not 100% sure how to word it in an unexploitable/weird way tbh

Punf
i think just ‘all effects on it end’ works, with the understanding that giving buffs and stuff is an effect but gaining control of something isnt

Carpe
Makes sense

Zhavier
There are state based conditions, like who owns the card, and who controls the card, and rune effects, beacuse they are inherent to either where the card is, or a token or card attached to the card

04/05/2019

Punf
err, do steam tank and traffic director’s abilities trigger at different times?
as far as i can see, traffic director triggers before you check for patrollers (it has to, otherwise it doesnt do anything)
but steam tank triggers after you check for patrollers? (based on the ruling on behind the ferns)
also more generally, traffic director seems to necessitate another step in attacking? so now it goes 1) choose what youre attacking, ignoring patrollers 2) traffic director triggers 3) check that youre allowed to attack what youre attacking, if youre not then cancel the attack i guess? 4) now steam tank triggers 5) now all the rest of the attack triggers trigger 6) retarget if original target is dead 7) actually do the attack
actually, i think step 6 needs to be broken down, because you could potentially have traffic director/steam tank untriggering
so uh, replace that with 6) if original target is dead, choose a new target 7) traffic director triggers or untriggers 8) check youre allowed to attack what youre attacking, if not then its too late to cancel the attack so uh go back to 6? 9) steam tank triggers or untriggers 10) do the attack
actually i dont think its possible for an attack to ever have more than one attack trigger? and this situation can be simplified immensely if we make the assumption that each attack has at most one attack trigger

sharpobject
well, I don’t think either of these have triggered abilities
I might rephrase Traffic Director’s ability as “~ can attack buildings as if the opponent had no patrollers.”
armor isn’t an ability for midori
separately, patrol bonuses aren’t abilities for midori
there’s approximately a layer system for handling all your questions about polymorph:squirrel
codex_rules/ongoing_effects.txt at master · sharpobject/codex_rules · GitHub
I applied polymorph: squirrel in an early layer that also contains chaos mirror and manufactured truth
this makes codex give different answers from mtg, where part of sudden spoiling applies in layer 6 and part applies in layer 7b…
notably my thing contradicts Sirlin’s ruling about “transform” that Polari cited, so I should bug Sirlin to see if I can change that

Punf
so, polymorph doesnt end (for example) sensei’s advice on the polymorphed unit?

sharpobject
I agree with that

Zhavier
In a computer implementation, the way I see an attack working is as follows Step 1) select the attacker 2) choose from all possible legal targets. In both steam tank +behind the ferns and traffic director’s cases, this would mean buildings would be available to attack (barring a detector) 3) trigger any attacks effects, like obliterate, generate skeleton, etc. 4) If the original target is no longer availble, retarget 5) deal swift strike, then deal normal speed damage
steam tank and makeshfit rambaster wuld gain the attack bonus during step 3 there

Carpe
Yeah, that should work for all existing cards. (Wouldn’t work if anything in step 3 could destroy a building, since the attack bonus would be applied before retargeting decisions)

05/05/2019

Punf
i guess if the attacking unit leaves the board in 3), the attack gets cancelled?
also, voidblocker triggers when you attack it, im guessing this occurs for choosing it in step 2 or step 4? so you could potentially have to recheck triggers again after step 4
and if opponent has two voidblockers, you attack choosing one, exhaust something, obliterate it, then retarget to choose the other one and you have to exhaust another thing
im not sure if thats right since it seems weird for an attack to be attacking two things
(where stuff like overpowere isnt actually attacking two things, its attacking one thing and also separately dealing some damage)

sharpobject
you should just have to exhaust once for the second voidblocker
similar story about setsuki except I can’t think of a scenario where you would get to do the same thing vs setsuki

Punf
so if i attack a voidblocker but then (shenanigans) happen to make my attacker leave play before the attack, i dont have to exhaust anything?
and, err, i need to have 1 gold to pick setsuki in either step 2 or step 4, but the actual gold only gets deducted if shes still my choice after step 4?

sharpobject
For the first question, I don’t agree
for the second question, sure sounds good

Punf
how do you conceptualise voidblocker, then?

sharpobject
I think if you use cinderblast dragon to kill itself in step 3, voidblocker still gets to tap down a dude in step 4
and setsuki still gets to make you pay a gold in step 4

Punf
what about if your attacker dies and the defender dies?
do you still get to pick a new target?
(in step 3, i mean)
err, i mean, dies in step 3, do you get to retarget in step 4

sharpobject
I don’t think you get to choose a new target if your attacker is dead…

Punf
thats pretty strange because it means the life of your attacker affects whether you get to escape from the setsuki tax
also i feel like the ‘would’ on setsuki means most people would expect her to trigger earlier than usual, rather than as the last possible attack trigger? shrug

Interesting that there’s this “statebased actions” category, should I update my codex-time document to reflect that language?

Also, this looks great, thanks for sharing!
The “interactions between combat stat / ability modifiers” looks like it’ll clear up stuff that I hadn’t found clear references on earlier. I’m excited to read it once my brain has recovered from reading the other parts!

2 Likes
Trigger timings: fast triggers and activated abilities with multiple costs

07/05/2019

Punf
is executing an ability one step that cant be interrupted by triggers, or two steps (pay cost, then execute action) that can be interrupted?
this matters if i have exactly 8 gold, a gilded glaxx that should be dead, and i activate octavian’s ability and my glaxx dying (immediate due to sba checking, i believe?) creates some death triggers

Faulty Ice
the triggers will be checked before octavians abiltiy happens, but as it is a queue, they will be en queued after the ability (so it will go Octavians then death triggers)

Punf
so attacking is unique as the only thing that can be interrupted by normal speed triggers?

Faulty Ice
I believe so, but dont qoute me on that, there may be edge cases Im not thinging off, and that mostly because attack triggers are designed to happen before the attack does.
but yes, the glaxx will be dead immediatly, but the death triggers (from say a bugblatter) say should be after (realised my answer may not be the clearest)

Punf
does it matter if the triggers are fast?
like, if the death trigger was second chances instead of bugblatter, would octavian still resolve before second chances?
also is the situation still the same if its casting a spell (whose cost kills glaxx) instead of activating an ability, i would assume so?

Faulty Ice
the situation should be the same yes

Punf
my understanding of the fast trigger concept is ‘second chances should never ever ever fail due to you drawing a card’, which would suggest that they have to interrupt abilities/spells between cost paying and execution

Faulty Ice
if that is the case then my current understanding is wrong.
althought I can see why that should be the case (tech + second chances, active player orders tech first, you reshuffle, how do you know if you got the one that just died or the other one in your discard pile?)
I can also understand why they didnt use the words instead, and make it an replacement effect, as if you did, your wouldn get die triggers like tech.
but it does make it really messy
but yeah, second chaces, graveyard and reteller all have this problem

sharpobject
you would do second chances first there, before resolving the ability or spell you paid gold for
attacking is unlike casting a spell in the sense that there are several steps to attacking and sometimes triggers (other than the ones that have to be fast to work, like smoker and second chances) will happen before moving on to the next step

Faulty Ice
so we have 4 speed of triggers right? sba (damage from tech building destruction, can happen half way through a spell/ability), replacement (Jail, makes something else happen instead, first thing never happens), fast (smoker, illusions, etc jumps to the front of the queue), slow (everything else, enqueues normally)

sharpobject
I disagree with that characterization but agree that they are different speeds and written in speed order there

08/05/2019

Wilbert
Is there an exhaustive list of all cards that don’t resolve in normal queue timing somewhere?

Zhavier
not as such, no, but cards as a rule resolve in normal timing, its interactions and specific scenarios that bring up the other timings

Punf
for activated abilities with multiple costs, what order do i pay the costs?
this matters if i have a gilded glaxx that should be dead and is an illusion from having hallucination cast it on earlier this turn, i use vandy’s ability, paying 1 which is my only gold, causing the glaxx to die, triggering reteller of truths to return it to my hand: can i discard the glaxx to vandy’s ability?

Zhavier
are you using vandy’s maxband ability?
or midband?

Punf
midband

Zhavier
why did gilded glaxx die?

Punf
because after paying 1 for the midband,. i had no gold in my gold pile, causing the glaxx to die as a sba
although im not sure sbas are checked mid paying costs?

Zhavier
oh, it had damage for some reason or another, but not from combat

Punf
if sbas wait for all costs to be paid then i think the question of cost ordering is irrelevant

Zhavier
i dont think you can reorder costs, I think they all have to happen simultaneously
and yea, sbas would happen after all costs are paid
other examples would be paying to cast any spell, like spirit of the panda or forests favor, the glaxx would die before the spell could resolve because of paying for the spell
doom grasp has a pseudo cost where it has no effect if nothing gets sacrificed, but in that case i think glaxx would die before it could be sacrificed

sharpobject
the Glaxx wouldn’t get to die while you are paying the cost

(This one made me look up Vandy’s midband ability. Turned out I’ve been forgetting the discard step the whole time, oops.)

Last known information

10/05/2019

Punf
does codex use the mtg style ‘last known information thing’?
eg if i hidden ninja a ninja illusion, do i draw

GRAG
er, what?

Punf
hidden ninja targets things, checks sbas, then draws if one of the targeted things was a ninja
if i hidden ninja a ninja illusion, the illusion dies before the check occurs
so when the check occurs there no longer a ninja permanent that was targeted by hidden ninja
but there might be an mtg style ‘use the last known information of that permanent’ thing going on
err, unless im misremembering and illusions dying was a normal speed trigger, but i think it was faster

GRAG
hmm
very interesting question
my gut says “yes, draw, because the thing targeted was a Ninja, even if it got illusion-popped by the target”

sharpobject
I think you get to draw there

Dancer token limits / flips when stealing/copying

13/05/2019

Punf
do angry dancers count against the 3 dancer limit?

Charnel Mouse
yes

Punf
i feel like they obviously should since there are 3 dancers in the box, but from the current wording of limit: X thats kinda weird since it implies angry dancers are uh still dancers in some way?
oh, perhaps it would be reasonable to think of dancer → angry dancer as a transform effect?

Charnel Mouse
I can’t remember, do the dancer cards give dancer as their type as well as their name?
I thought it would go on type

Punf
the physical dancer cards are printed with no type
and they have ‘Dancer’ or ‘Angry Dancer’ at the top which i can only assume is the name
i mean theyre not stated to be units either but its pretty obvious from them having an atk/hp in the bottom right

Charnel Mouse
Oh, right. I think token names are normally also taken as their type, e.g. Pirates and Soldiers, but that doesn’t help here. Yeah, treat it as a transformation, I guess.

Punf
also, the reminder text ‘Your Dancers will flip over!’ sorta implies that angry dancers arent dancers, since if they were then theyd flip back if you stop the music again
although this could be explained by reminder text being imprecise

Zhavier
precision wasnt the goal, just a succinctness
but dancers and angry dancers are the same card, definitely still count toward the limit

Punf
i mean its not like this resolves all physical issues since there could still be problems if eg you have three dancers, i mind control one and then you try to make more
you uh succeed and then mark it with a coin or something, i guess

Zhavier
true

Punf
does a squirreled dancer transform if you stop the music?

Zhavier
i would say no

Charnel Mouse
Irrespective of whether the flip text on Harmony counts as well as that on the Dancers cards, Polymorph temporarily changes their type to squirrel, I think?
And removes their other types?

Punf
the dancer transformation is written in the rules in two places: 1) as reminder text on Harmony, and 2) as a triggered ability on Dancer
this suggests to me that it should be treated as a triggered ability
however this also suggests that a tenderfoot copying a dancer would flip
which seems absurd
an interesting interpretation would be ‘the tenderfoot tries to flip but cant because it doesnt have another side to flip to’
also, wait
if the dancer limit is by type, does that mean i can squirrel my dancer and then summon another one?

Polari
I think the limit “knows” which objects are the original dancer cards and tracks those? pretty sure this is how quince’s mirror illusions work

Punf
ok, i think the ‘goes by base object’ and ‘stop the music is a transform effect’ interpretation is consistent

Charnel Mouse
Makes sense. Otherwise you could use Manufactured Truth to cheaply get four dancers, which doesn’t seem as intended

Punf
theres still the question of whether its a triggered ability? the ‘tenderfoot actually does try to flip but fails’ conclusion seems strange but possible
well you already can, its just that the fourth one wont flip and will be pretty boring

Charnel Mouse
No, I mean you would MT a dancer into something else, bring in another dancer, then on the next turn you flip all four dancers

Punf
oh, i see
so whats the conclusion for squirrelled dancers transforming? i see three possible conclusions

  1. yes it flips because its a dancer
  2. no it doesnt flip because squirrel removed the triggered ability that lets it flip
  3. no it doesnt flip because its not a dancer any more

i think 2) is correct?
wait
what happens if you have an angry dancer, manufacture it into a normal dancer, and then stop the music
if we accept 2) then this seems to mean it should flip
does it, uh… flip into an angry dancer, because its copying a normal dancer? or flip into a normal dancer because its actually an angry dancer, and become… a normal dancer copying a normal dancer?
it sounds like this dancer is suffering a serious identity crisis so my guess is that shes pretty angry

Charnel Mouse
I think it would become an angry dancer again? My guess is you shouldn’t take “flip” too literally (talking about case where AD copies D)

Carpe
That sounds like a pretty squirrelly interpretation

Punf
i mean there are two questions that need resolving: 1) what does it mean for something to be a dancer, and 2) what does it mean to flip something
as well as the third, mostly separate question of 3) what type of ability exactly is flipping (which matters for enqueuing purposes)
for 1) i see three possibilities:
A) it has to actually be a dancer, underneath whatever shenanigany effects
B) it is currently copying a dancer in some way
C) A and B must both be true
i actually quite like C since it seems to make a lot of weird cases go away, although it seems weird to have two conditions on this
if we accept either A or C, then the answer to question 2 becomes a lot easier

Charnel Mouse
I think B would still be OK? It’s just that “flipped” status is irrelevant once it’s not copying a Dancer or an Angry Dancer anymore

Punf
hmm B does seem consistent too, if we answer 2) with ‘apply another transformation effect, it is now a 2/1 with unstoppable and yadda yadda’
wasnt there some issue with the transformation interpretation though?

Zhavier
angry dancer does not have the flip triggered ability, only regular dancer does

Punf
if flipping is a triggered ability in some way then we need to reject A, since something could be copying the triggered ability
also wait do dancers get the midori bonus
ive never thought about this

Zhavier
even if it copies the triggered ability, there is still nothing for it to flip to, so it would fail

Punf
i think the only reasonable answer is ‘theres an ability on the card so it doesnt get the bonus’

Zhavier
which ability, flip it or unstoppable?

Punf
flip it

Zhavier
yea, id agree

Punf
angry dancers definitely dont get the midori bonus

Zhavier
yea

Punf
anyway, your two interpretations disagree on whether the tenderfoot copying dancer becomes a 2/1 or not
i think there are serious issues with the ‘tenderfoot can become a 2/1’ interpretation
if a dancer copies a dancer and i stop the music, what does it become?
lets go through all four possibilities

Charnel Mouse
I’d say yes, based on the rules FAQ for MT saying that it “copies the printed version of the card”

Punf
A) a dancer copying a dancer, this seems totally moronic

Charnel Mouse
But I’d defer to zhavier

Punf
B) an angry dancer copying a dancer, this means tenderfoot cant become a 2/1
C) a dancer copying an angry dancer. this is very strange because it means that dancer copying a dancer did something
D) an angry dancer copying an angry dancer. ok. so ‘flip’ now has two meanings: ‘the copied unit becomes an angry dancer’, AND ‘the original unit becomes an angry dancer’
but then why doesnt an angry dancer copying a dancer flip to a dancer copying an angry dancer?
actually, id also like to know which answer zhavier’s interpretation gives

Charnel Mouse
Pre-flip, why would a dancer copying a dancer not do anything?

Punf
i feel like it shouldnt, shrug
theres nothing inconsistent about it having an effect but its just super weird

Charnel Mouse
It is odd, but this is a case where it could make a difference :person_shrugging:
At least in C

Punf
my guess is that the three Ss (sharpobject, sirlin, sotek) would say that its completely idiotic if dancer copying dancer does something
i mean they said that for a technician dodging the graveyard which strikes me as less idiotic
a whole new class of trigger had to be created purely to stop technician from dodging the graveyard
(to clarify, technician = any draw trigger, and graveyard = graveyard/reteller/second chances/maybe more things im forgetting)

Zhavier
so, my interpretation is that any card “could” flip (or transform), but only dancers actually have anything on the other side to flip to. It would be like in magic you tried to transform a 2 sided card using similar copying rules gymnastics, the transform event will fail unless there is something on the other side of the actual card. A dancer copying a dancer would still flip when the music stops, and I suppoe an angry dancer copying a dancer could flip to become a dancer, but everything else either doesnt have the “flip it” triggered ability or doesnt have anything on the other side of the card.

Punf
that interpretation is consistent, but i dont think angry dancer copying dancer is meant to flip back to dancer
another downside is that the interpretation would lead to weird interactions if sirlin ever released an expansion with other things that can flip, although i dont believe any such thing is in the works

Sotek
my intuition is that a dancer copying a dancer should be almost a no-op.
like, if you made a dancer copy ITSELF that should definitely be a no-op
because “come on” lol.

Zhavier
i agree, dancer copying a dancer should be as if nothing happened, but angry dancer copying a dancer is more of a thing, if you are desperate to have a angry dancer flip over

Sotek
yeah, the case of angry dancer copying dancer is less clear.
actually, is it ever possible to have a dancer copying a dancer?
or anything?
yes, it is, I’m a derp
blue starter+river
okay. so yeah it should be answered.

sharpobject
angry dancer token counts toward the limit on dancer tokens.
dancer who is a squirrel does not get to flip because the dancer’s triggered ability is what makes it flip.
cards that try to flip but are not 2-sided fail to flip.
if you stop the music while you have an angry dancer copying a dancer it will flip to become a dancer, which won’t matter until after the copy effect expires.
if you stop the music while you have a dancer copying a dancer, it will flip to be an angry dancer copying a dancer.
polari is correct about the way “limit:x” works, basically it knows what cards are physically that token and you cant make more than that many

Charnel Mouse
So flipping is treated as physically flipping the card if it’s double-sided, regardless of copy status? OK

sharpobject
yes

Sotek
but if it’s a copy, it remains a copy of the thing it was copying until the copy effect goes away?

sharpobject
yes
this could only ever happen if it’s copying a dancer

Sotek
right
or hypothetical Expansion Flip Card.

sharpobject
yeah

14/05/2019

Punf
huh, im surprised that this leads to two weird outcomes (angry dancers can flip back, and dancer copying dancer does something)

Sotek
well, dancer copying dancer only does something in the sense that “it flips without flipping until the end of the turn”
which is … ok

1 Like

Wow, I did not understand how Glaxx works. I misread Sirlin’s thing about only checking for combat damage related death on hp loss as meaning that you don’t trigger its death on paying for things.

I’m still unclear on the ruling for the timing for that. I have significant concerns about implementing the code for any ruling other than “he dies on payment, before targeting.”

As for the dancer:

I also don’t understand why we have to be this way with the dancer ruling. We don’t have to go out of our way to enable design-breaking edge cases.

It’s really clear to me that the design intent is:

when the music stops, all of your dancers become angry dancers.

The “flip the card” instruction is merely an implementation of that design in meatspace.

Mirror images or other copies of dancers should reflect the design intent and become angry dancers when the music stops.

To do otherwise is to give precedence to the mechanics of meatspace over the intent of the design.

2 Likes

I was surprised to read that one when copying it over. Usually the way to approach Manufactured Truth for rulings is that it makes the affected card physically a copy of the other, but the flipping mechanics override that. One of those things that would be straightened out if there was a second edition, I think.

1 Like

Reading sharpo’s reply again, it’s not clear to me that he said either way on this. He said the Glaxx would die after paying for the card/ability, which might not be the same time as you select affectees. (Affectees rather than “targets”, since :target: may not be involved.) Maybe there’s a ruling elsewhere on the timing for paying vs. choosing affectees?

1 Like

Paying vs choosing affectees gets into resist concerns, as well.

I think this is the edge case that sharpobject is ruling on, which makes more sense: even though state-based-actions happen “immediately,” they don’t happen while performing an action. The paying for vandy’s ability has to be finished before the state-based-actions are handled.

I could paraphrase the edge case Punf is suggesting as treating the different portions of paying for Vandy’s action (the gold, the discard, and the exhaust) as granular such that you could

  1. pay the gold
  2. process the state-based-actions resulting from Glaxx dying
  3. and then choose which card to discard (including Glaxx if second chances returned him to hand)

In which case the ruling would mean that the timing is simply a check if Glaxx is dead immediately after all of the payments.

1 Like

Yeah… technically the way I’m handling resists in my code is to pay it during the targeting function, since that’s going to be active for all of spells, abilities, and triggers (if the :target: is active, of course). I don’t think this creates issues with Glaxx here. I think the only case where the timing of Glaxx’ death could matter for targeting would be a sacrifice ability, but those would ignore Glaxx while he is alive anyways so that’s moot.

Are there other cases that I haven’t thought of?

When to put (fast) triggers on the queue

14/05/2019

Omniraptor
does scavenger gold happen instantly? ie can red steal it on their turn

sharpobject
it happens quickly enough for that
at the same speed as “Dies: gain 1 gold” would happen if it were printed on a card

GRAG
Simultaneous actions are resolved in the order chosen by the current player, right? So there’s no reason Red wouldn’t choose to have it be stealable

sharpobject
it’s likely not to be simultaneous with anything that steals it
ok, Gunpoint Taxman triggers at the same time and steals gold
so if the opponent has 0 and Gunpoint Taxman is killing a scavenger, the red player can choose whether he gets to steal the gold

15/05/2019

Punf
another case it matters is if your flagstone spy is affected by stampede, and kills a scavenger + hits their base
i think that might actually be different, because ‘is combat damage’ triggers go on the queue faster than ‘kills/dies’ triggers? although im not sure exactly how fast sbas make things die from damage

Sotek
hmm
deals combat damage, vs dies
I think he can’t steal scavenger gold?

sharpobject
seems like he cannot

Punf
(presumably the result would be the same for normal overpower instead of stampede, but i dont think theres any way to give a flagstone spy normal overpower)

sharpobject
blooming elm

Punf
oh right

Sotek
doesn’t matter either way

sharpobject
punf, I think it’s more like “how often you enqueue triggered abilities”

Punf
my interpretation is ‘when an event occurs, everything stops - not even sbas’ - and active player chooses order super mega immediately

Sotek
like, you could maybe try to argue he can steal scavenger gold, but normal overpower vs stampede definitely give the same answer either way

Punf
is that correct?

sharpobject
I think you can build some contraption where in consecutive SBA checks different stuff dies with nothing happening in between, and those stuff really die at different times as far as resulting triggers are concerned
yeah that’s good

Punf
oh actually how do fast triggers factor into this, i see two possible interpretations

sharpobject
:despair:

Punf

  1. enqueue all fast triggers, resolve them, then enqueue all normal triggers, resolve them
  2. enqueue all triggers, fast or normal. resole all fast, then resolve all normal

sharpobject
ok
I control Rambasa Twin, Graveyard, and Captured Bugblatter, and I have played Death Rites this turn, and my Rambasa Twin dies (it’s the first Rambasa Twin that dies this turn)

Punf
actually, the resolution of a normal trigger could create new fast triggers, which uh i think resolve before any other normal triggers waiting on the queue?

sharpobject
I must choose the ordering of the Rambasa Twin and Graveyard triggers (out of the 2 possible orderings)
I must also choose the ordering of the Death Rites and Captured Bugblatter triggers (out of the 2 possible orderings)
then I’ll do the 2 fast triggers before doing any normal triggers that were already enqueued, then the Death Rites and Captured Bugblatter triggers will happen after those.

Punf
so i pick death rites first and bugblatter second. this triggers my opponent’s second chances, graveyard, gorgon, and his own bugblatter
i put second chances/graveyard in any order before my bugblatter, and gorgon/bugblatter in any order after my bugblatter?

sharpobject
yes

Punf
all right, sounds good

sharpobject
you can get this all to work correctly with 2 queues

Punf
my implementation actually has 3 (one for ‘now that youre done resolving all the attack triggers, continue the next step of the attack’)

sharpobject
I was planning to have more levels of queues and build the whole way of moving through an attack or moving through phases on top of that, but your implementation doesn’t have to work that way

Punf
oh hey, nice

Focus Master + Sentry interaction and vs. overpower, Hotter Fire + sparkshot etc., when timestamps matter

22/05/2019

Punf
if i understand combat damage correctly, it all happens at the same time, and it all gets assigned before anything dies from it
this interpretation suggests that overpower has something special going on to allow it to choose other things
is it equivalent to ‘Imagine the primary attack target is not on the board, calculate what you would then be able to attack, those are the legal options for overpower damage’?
or am i wrong about combat damage being dealt all at once before anything dies?
and does overpower cascade (can a 3/3 overpower kill three 1/1 patrollers)?
oh never mind, the rules specifically say it doesnt
by a literal reading of overpower, sparkshot damage could be redirected by it? but that seems dumber than overpower damage getting redirected by it so im guessing it doesnt

Faulty Ice
You are correct is that combat damage is dealt all at once before anything dies (ignoreing swift strike), and yes that is how overpowe works (yes, cascade doesnt work, it can only hit 1 other valid target). If I remember correctly sparkshot cant be overpowered.

Punf
so if my opponent has sentries/focus monks, i as the active player get to assign to each one which unit(s) they prevent damage on?
oh, how do sentry/focus monk interact? my understanding of triggers is that they both trigger before resolving, and i believe conditions are checked on trigger but not resolution

Faulty Ice
Not for sentry, is specificly says first, and to chose randomly if multiple happen at the same time

Punf
if this interpretation is correct, then if i deal 3 damage to a 3/3 and my opponent has focus monk/sentry, then whichever order i assign, 2 damage will be prevented
oh. focus monk, then?
so the situation above could still happen if the 3/3 is the one randomly chosen for the sentry?

Faulty Ice
I dont think this has ever been ruled before and can be seen either way

Punf
actually i remember sharpobject saying sentry had a special timing

Faulty Ice
so does focus monk

Punf
i dont know if there was an implicit ‘also focus monk’ or if sentry and focus monk are fundamentally different

Faulty Ice
they both have special timings, but whether or not they are the same special timings is the question
[@]sharpobject

Punf
also interestingly its possible to have overpower occur when its not your turn, which presumably becomes ‘overpower damage doesnt happen’
actually oops im wrong overpower only happens when damaging patrollers, ignore me
is the colour of an ability the colour of the card that grants it, or the colour of the card its on?
(this matters for: if i have hotter fire, do my red things with sparkshot deal 2 damage sparks)

Faulty Ice
your red units with sparkshot deal 1 damage
fixed
btw dont forget to check the codex carddb for many of these rullings

Punf
are they there? i looked around a fair bit but i might have missed them

Faulty Ice
This does not affect any red units or heroes with abilities that simply deal combat damage. For example, it doesn’t increase the damage from sparkshot, overpower, or anti-air. — Sirlin, 03/19/16

Punf
oh, my bad

Faulty Ice
it feels wierd that it doesnt increase spark shot, given that sentry prevents sparkshot and they both use the same wording, but the rulings are there for both of them…

Punf
i think the argument is that sparkshot is from a non-red source
although hmm that doesnt explain why it doesnt buff anti air

Faulty Ice
anti air/overpower makes sense as they are just redirection of combat damage,
but sparkshot is additional damage, that is fact similar in wording to molten firebirds damage.

Punf
anti air creates its own combat damage event

Faulty Ice
Hotter fire should read as non-combat damage it would seem and that makes sense.

Punf
when i fly over your gunpoint taxman, i take damage from the anti air ability

Faulty Ice
Yes anti air makes its own damage, but it makes it in the same way that a unit makes damage when it is attacked

Punf
well yeah but thats not an ability
so no way does hotter fire buff that
it seems like hotter fire actually might buff anti air though with the cards as written
maybe best to just pretend errata it to ‘non-combat damage’, eh

Faulty Ice
non-combat damage erata does make all rullings make sense, otherwise we have a problem that two identically worded abilities work the differently.

Punf
also huh i just noticed that hotter fire buffs literally every card in the red spec, thats neat (though cinderblast only indirectly)
*fire spec
oh actually, does sentry prevent overpower damage?
intuitively i feel like it shouldnt

Faulty Ice
agreed, but rules as written currently…

Punf
well the rules as written already go against the wording of overpower, since as written it should be able to cascade onto a third target
seems reasonable to also declare that sentry doesnt prevent it

Faulty Ice
Overpower is an ability, and since it prevents other combat damage abilities, it makes sense it can prevent overpower.

Punf
i want to consider a model ‘assign all combat damage, then prevent it’ but that doesnt work with the focus master/overpower ruling
does prevention happen during assignment, or something?
it kinda cant because you need it all to be assigned for sentry to figure out what to pick between at random to prevent
also: i attack X, sparkshot deals 1 damage to Y, sparkshot deals 1 damage to Z, and overpower deals 3 damage to Z. does sentry have a 50% chance of preventing 1 damage on Z, or a 67% chance?

Faulty Ice
Overpower and Fcous master should check at the same time (namely, you assign all the damage to the first patroller, Focus master says I cant stop this, then overpower says I can move some of this. and you assign more else where, focus master than can check this new assigment [as will overpower, but it will see the source is overpower damage and not assign any more no matter what])

Punf
so focus master checks mid-assignment, but sentry checks after all assignment?

Faulty Ice
If I remember correctly that example leads to 50% chance, but better to check with sharpo, unless I can find the ruling somewhere

Punf
that example is for focus master, and i dont think sentry can work the same way focus master does

Faulty Ice
Sentry needs to check after all, focus master does not.
that is the way I would code it, I only edge case I can think of is focus master with 1 rune, sparkshot/over power creature attacks, dealing enough to kill 1 patroller, spark another to death and overpower excatly to another.
you can code it that focus checks at the same time as sentry, its just a pain
(if creature is assigned leathal, check source, if source has over power, and overpower has assigned damage else where, then dont prevent, else prevent 1)

Punf
the relative timings of focus/sentry do matter, though
if focus is before sentry, then if i damage a thing for 1, focus will prevent it and sentry will never trigger

Faulty Ice
and the same in the reverse.
so therefore I would assume timestamp order in this case.
or active player

Punf
active player chooses seems more likely to me
as far as i can tell timestamps alllllmost never matter in codex

Faulty Ice
yeah

Punf
except theres that stupid behind the ferns/midori thing where they uh sorta matter?
but also sorta dont since apparently midori is before ferns, no matter what their timestamps are

Faulty Ice
? where did you get that midori is before ferns no matter timestamps form?

Punf
if i play ferns → midori → vanilla 3/3, i get a vanilla 4/4 without stealth
(this is from the behind the ferns rulings)
well they used a 2/2 because the rulings were from when midori was +2/+2

Faulty Ice
okay yes when the unit is played last
although that is an awful ruling to implenent though… given everything else is meant to be able to be calculated from a derived state with no reference to the previous state…

Punf
i think in theory you could still get it by looking at the unit’s timestamp as well
and just hardcode all 6 cases or something
multiple ferns are irrelevant, multiple midoris is impossible

Faulty Ice
yes, but that ruling both requires not looking at the midori/fern stamps while looking at the ferns/midori/unit time stamps
if it was all x order, or all time stamps it would be much nicer

Punf
i mean in my implementation i decided to just errata midori to ‘units with no printed abilities’ to avoid my brain exploding

Faulty Ice
sure, but then I can take advanages of feather runes really well :stuck_out_tongue:

Punf
there arent that many tech Is or IIs with no printed abilities, i think?
overeager cadet, iron man, i think thats about it (spectral hound doesnt work)
oh, ardra’s boulder
(and oversized rhino but you probably dont want to feather that)

Faulty Ice
hound can work
either temp transform it while it gets the counter, or micciatus
hound can then be a 5/3 flyier with rune, micciatus and midbanori at that point, which makes it really scary
(so can the others with a +1/+1 rune too)

Punf
how does wandering mimic/crypt crawler work again
i think that sorta screwed with timestamps? i sorta gave up trying to understand it

Faulty Ice
good question :stuck_out_tongue:
I dont think it was ever properly resolved :stuck_out_tongue:

Punf
and erratad crypt crawler to ‘loses and can’t gain flying this turn’
can’t should beat can damn it
also crypt crawler countering lawbringer gryphon is the funniest thing ever

Faulty Ice
cant does beat can, and that would be a nicer wording, but sirlin want to use as few words as possible.

Punf
also the two step wording is super screwed up as written
i think sharpobject has sorta gone back and forth between ‘play the screwed up thing written’ and ‘play the thing its obviously meant to be’
i feel like its super obvious what its meant to be and that everybody who plays with it will play it that way, rather than the screwed up way

Faulty Ice
I think sharpo keeps trying to have it work nicely for implementation purposes, but it the way they thinks about it implentation wise means you dont get the indended version.

Punf
well the screwed up version and the fixed version are both reasonable to implement
i think the question is more ‘do we want to stick to the cards’ literal wording, or do the thing its obviously meant to be’

GRAG
wait, what part of Two Step’s wording is problematic?
at a glance it seems fine
but then… “at a glance.”

Punf
as written, if you have two partners but one dies, the other one is still a partner
so you cant pick it as a target for future two steps

Faulty Ice
which is the main difference I see between sirlins + sharpo rulings. Sharps refers ot a rule engine he has thought about, while sirlin refers to what he meant and thinks should happen, even if the card text doesnt actaully seem that way.

Punf
which is just the stupidest thing ever, i mean whos going to remember that

GRAG
aha

Faulty Ice
go for the easier to implement, then if they are the same amount of work, go for the intended version
(if you want any help with this btw, shoot me a github link etc, Ill happily chip in when I can)

Punf
sharpobject is the one doing legit stuff
im just some rando writing spaghetti code javascript
what happens if the game cant end? draw?
(this could happen if you community service my blackhand dozer, and then i sit there for the rest of the game)

Cue an extremely long discussion about how to create an unwinnable state when players are trying to win, which I’ll skip.

22/05/2019

Wilbert
I’m still curious about the situation of Sentry vs Focus Master. If my opponent controls both, and I deal exact lethal, am I right in thinking that Sentry is handled before Focus Master? Otherwise Focus Master could end up preventing damage that wouldn’t have been lethal, which would be weird. [@]sharpobject

sharpobject
I will answer this in a bit
preliminary thoughts: these abilities plausibly could happen at the same timing as each other, and I should consult my prior rulings about 2 sentries and about 2 focus masters to decide what’s up

Wilbert
They could happen at the same timing. And if there’s stuff that needs to be simultaneous with both, then that’s the only option. But if the only reason to have them occur simultaneous would be to have as few priority layers as possible to keep things simple, then I would say that having them occur after one another would be easier to explain. A simultaneous resolution could be necessary, but would not be intuitive, I think. Of course, I could be missing important stuff. (I’m super fresh here, hi y’all!)
BTW, I’m also curious about these previous 2 Sentry and 2 Focus Master rulings…

Sotek
hmm, 2 sentry ruling is not on the codexcarddb
my intuition for 2 sentry/2 focus master is you should choose randomly and if you have two sentries and two simultaneous damage instances, both are prevented and both sentries prevent. (and maybe even that two sentries would prevent two non-simultaneous instances?)
but for 1 sentry+1 focus master, idk how we pick who goes first
if I think historically the answer would be sentry but idk if that’s the correct answer or not

Wilbert
Well, 2 Focus Masters have been ruled to prevent 2 damage on the same unit getting exact lethal : Rules Questions thread - #1540 by sharpobject
So maybe the same would happen if there’s a FM and a sentry…

Re-picking attack target at second "choose defender" step, Midori + Ferns

23/05/2019

Punf
in the second choose defender step, if the current defender is alive but an illegal choice, do i have to repick? or is that fine and i attack the illegal defender?

Sotek
what circumstance can even possibly make that happen?
pretty sure you’d have to repick though

Punf
i have an obliterate ground thing, my opponent has a wandering mimic

Sotek
ah

Punf
i attack and obliterate whatever was giving the mimic flying

Sotek
and now the mimic is blocking you
I guess you can also do it with things that are squad lead, get obliterated, then come back not-in-patrol, with some other patroller
pretty sure you must repick in those cases

Punf
i think that case is clear since your original defender is dead, so you must repick
sure it came back, but the thing that came back is a new object unrelated to the old one
oh, we can make the situation even more evil
my second choose defender step is done. i chose setsuki, meaning i must pay 1, which is my only gold. this causes my gilded glaxx to die. it was a two step partner with a flying unit, causing my flying unit to die, causing my opponent’s mimic to lose flying
now my chosen defender is illegal but its past my second choose defender step
do we… have a third choose defender step?

Sotek
guess not

Punf
so i attack the illegal setsuki?
im not sure whether theres a timing window for triggers between the second choose defender step and the combat damage step(s), but here it doesnt matter because there arent any triggers going off, only sbas
unless theres not even a timing window for sbas? but that seems super weird
i feel like the ruling here has to be ‘screw it you just attack the illegal thing’ because anything else would be worse?

sharpobject
you get to attack the setsuki there
for your first question, gotta hit the mimic

Punf
is the list of anti-air things that are going to hit my attacker compiled at the start of the combat damage step?

sharpobject
that sounds like a fine time to compile it

Punf
hrm, and what if my attack is illegal (but still happens)
did i ‘fly over’ anti-air patrollers?
(if my attacker has flying)

sharpobject
yes
not sure how to set this one up though

Punf
my attacker is a patriot gryphon, and was able to attack setsuki because the patrollers had 2 atk
but then attacking setsuki caused glaxx to die, causing abomination to die, causing the patrollers to have >2 atk, so now its no longer unstoppable and is attacking illegally
how about a flying anti-air patroller, did i fly over it? im guessing no because that seems ridiculously stupid

sharpobject
“fly over” loosely means “bypass patroller using flying rather than by using some other evasion ability”
so uh, not sure about that last one

Punf
well here theres a new ‘evasion ability’ of ‘i shouldnt be able to ignore you but i can because its too late for me to repick my target so im just breaking the rules now’
so not sure how that factors into it
if thats an evasion ability in the true sense, then my attacker should never take damage from anti-air since its using that ‘evasion ability’ to ignore all patrollers

sharpobject
maybe when you pick your 2nd attack target is a better time to determine what you flew over

Punf
before or after resolving sbas/triggers from the choice? (setsuki/voidblocker)

sharpobject
before

Punf
hrm, that leads to the weird situation where a non-flying attacker can still take damage from anti-air
(if my attacker was a mimic that lost flying after glaxx and then dragon died)

sharpobject
that sounds ok

Punf
what if the defender dies after the second choose defender step
i dont get to repick a defender, so i miss out on combat damage? do i still take it from anti-air?
my guess is theres a general rule of ‘if attacker or defender dead, skip the entire combat damage step, the attack is over, everyone go home’
iirc the previous ruling was that if attacker or defender dead, the second choose defender step still happens and you can still get taxed by setsuki (even if shes dead)
i might be misremembering

sharpobject
previously we chatted about “what if you get there and there is nothing left to attack”
i sort of feel like a hypothetical flying tower should still hit your trojan duck for 1 if it got to use obliterate

Punf
as in, if it gets obliterated?
isnt obliterate several steps before combat damage

sharpobject
yes it is several steps before combat damage

Punf
man screw setsuki, as far as i can see voidblocker doesnt create any issues since nothing occurs from things being exhausted

sharpobject
I mean, the main example of having to throw up our hands and not have much of an attack is “obliterate vs flying base and no tech buildings”
but I think if that player also has a flying tower (not possible), the tower should get its damage in

Punf
come to think of it can you declare the attack in the first place if theres nothing to hit in the first choose defender step

sharpobject
you cannot
so this opinion about duck vs fake flying tower informs my opinion about whether we should let the tower hit the attacker in this other case you asked about

Punf
if tower hits then do anti-airs hit too?

sharpobject
yeah

Punf
well tower usually hits in whichever step the attacker’s damage step is, but here that doesnt exist
so, if theres a 2 damage swift strike anti-air and a 3 non-swift anti-air
which does the tower join?

sharpobject
it cares about whether the attacker has swift strike when swift strike damage is dealt
if so, it will hit for 1 then

Punf
also how do we even determine what the attacker flew over when the second choose defender step produced no defender

sharpobject
when non swift strike damage is dealt, it will hit for 1 if it didn’t already

Punf
i guess use the defender from the first defender step? but thats dead
use the information it had when it was alive? mannnn

sharpobject
not sure about that one!
can you give an example

Punf
hrm, we need unattackable anti-air patrollers

sharpobject
I think stuff that has flying in the 2nd defender step probably always has stuff it can attack

Punf
oh, thats easy, normal anti-air patrollers and i cast unphase on them
(im not sure why either)
oh, but then im definitely able to attack their base
hmm

sharpobject
“while patrolling it’s attackable”

Punf
damn
ok so it looks like theres no possible case where you both have flying, and have no legal targets in the second choose defender step
so if you have no legal targets in the second choose defender step, the attack is cancelled except that you still get hit by a tower

sharpobject
had to check that morningstar pass doesnt make your buildings unattackable
whew

GRAG
on the one hand, I see this sort of discussion about rules-enforced Codex, and I feel like it is a task akin to boiling the ocean
then I remember that there is apparently rules-enforced digital MtG, and I see my own insignificance on the scale of the galaxy

sharpobject
mtg has a lot of stuff in it man

Punf
mtg has the advantage that its rules are clearly laid out, but the disadvantage that its rules are way longer
also, rule 613 is the worst thing in the history of ever

sharpobject
it seems ok
I am glad that we did not have to put rules about dependenciea between effects in codex
but there is the unfortunate stuff about midori vs behind the ferns

Punf
i mean the behind the ferns/midori thing is sorta ad hoc

sharpobject
(mtg’s answer is “we can never print behind the ferns”)
i guess because of rule 613!

Punf
i think behind the ferns is possible, just not done because it would cause players’ (and judges’) brains to explode

sharpobject
it is possible but would not work the way players expect
my favorite part of the mtg comprehensive rules is “If an effect causes a permanent to lose banding, the permanent loses all “bands with other” abilities as well.”
this sentence never does anything
thanks!

GRAG
oh lord I just realized the interaction, yeah

Punf
my favourite is ‘Some objects use the letter Y in addition to the letter X. Y follows the same rules as X.’
the first sentence is just an outright lie
no objects use Y

sharpobject
powerful sentence
The Ultimate Nightmare of Wizards of the Coast Customer Service uses Y

Punf
well it also uses Z, so guess they have to define that too

sharpobject
xdd

GRAG
so uhhh
what does happen with Midori midband and Ferns
presumably it just makes Midori midband no longer work?

sharpobject
I think you can read about it on midori’s rulings page or ferns’s

GRAG
okay yeah

Punf
basically theres a separate ruling for each of the six orders of ‘midori, fern, other thing’

GRAG
not only does it lose the +1/+1 bonus, it could actually die as a result

sharpobject
haha sorry

Punf
which works because multiple midoris is impossible
and uh multiple ferns, i think the later one is just irrelevant?

sharpobject
yes I think so

Punf
actually hrm its somewhat non-obvious how other buffs/nerfs would interact with this
like its sorta timestamp order, but not completely timestamp order since the ferns/midori/thing ruling contradicts that
bleh whatever i gave up on trying to understand midori/ferns a while ago

GRAG
now I’m exploding my brain trying to figure out the interactions involved with something getting +1/+1 and having that push it up and over 3 ATK

Punf
if its just a normal +1/+1 buff, it just loses stealth
it only gets weird when midori enters the picture

sharpobject
it just loses stealth and midori’s thing starts applying

GRAG
right
that’s what I mean
okay

Punf
actually err
play ferns, play a 3/3, play midori. its a 3/3 with stealth
dinosize, it has 9 atk, loses stealth, gains midori, its now a 10/4 with 6 armor

GRAG
thank’s, I hate it all

Punf
dinosize wears off its now a 4/4

GRAG
the clear solution is to simply ban Green

Punf
in my implementation i errata midori to ‘units with no printed abilities’ to avoid my brain exploding
so, err, the behind the ferns/midori interaction is not derivable purely from the objects’ timestamps?
oh no

GRAG
Yeah it’s based on the units having no abilities at all
Which means it would also apply to a polymorphed squirrel
Because that removes abilities

Hobusu
Hi, if this ever comes up with someone I’m playing a casual game with IRL I’m going to pretend the world “printed” is in front of “abilities” because it’s clearly a misprint that it’s not there
There’s no way this nonsense was meant to happen, heh

sharpobject
punf, I think you do use just the timestamps, and it goes back to what it was before dinosize
in general you don’t use information about the immediately-preceding derived state to decide what’s up when calculating the derived state
(this also clears up some questions people had about whether multiple wandering mimics could be the only things giving each other flying)

Wilbert
It seems a lot of the scenarios that got discussed here depend on the idea that the gold needed to be paid to attack Setsuki is paid before damage us dealt to her. From the rulings I gather that actually it seems to be the case that the gold is paid at the same time as the damage is being dealt. Is that correct?
And also: did I miss the Sentry Vs Focus Master ruling, or is that still pending?

sharpobject
you pay gold before you deal damage when attacking setsuki
you didn’t miss it

Wilbert
Am I right in reducing that once you’ve actually had to pay for attacking Setsuki, it’s impossible for the attack to be cancelled?

sharpobject
sounds right to me
some of the decisions around the early part of attacking are made to keep Punf’s framework (choose target, resolve attack triggers, maybe choose target again, but for real this time) equivalent to a different framework in which there is only one “choose attack target” step and attacking with stuff that has attack triggers works a little differently from attacking with stuff that doesn’t

Wilbert
Right. Does Voidblocker’s ability also resolve before damage is dealt to him? And is it impossible for his ability to resolve without him taking damage?

sharpobject
yes, before damage is dealt to him
yes, if you attack him with a unit or hero with 0 attack
xd

Sotek
that second one is “no, if” :stuck_out_tongue:

Wilbert
after I typed that question I knew I was gonna get that
But that’s the only way, right?
(okay, I guess you could attack him with something with an ATK of less than 0)

Sotek
do you count deathtouch as damage, or damage dealt in the form of -1/-1 runes … :stuck_out_tongue:
but yes I believe that once his ability has resolved the attack has to be “for real”?

24/05/2019

Punf
im pretty sure voidblocker can resolve without the attack being for real
i believe sharpobject earlier ruled that if i target voidblocker, but my attacker dies before i get to attack, i still have to exhaust a thing

Wilbert
How would that happen?

Punf
some attack trigger makes it die, basically anything really

Wilbert
Aren’t triggered abilities normally put into the queue and resolved after the damage has been dealt?

Punf
no they resolve before the attack
this is important for obliterate
oh no i found another issue
my steam tank has stealth from behind the ferns, i attack whatever building, it no longer has stealth

Faulty Ice
thats fine

Punf
now in the second choose defender step my choice is illegal

Faulty Ice
it has stealth when it attacks

Punf
earlier it was ruled that in the second choose defender step, you have to repick if your choice is illegal

Faulty Ice
it gains the attack after declaring where, and it was a valid then.
I dont think it was

Punf
well err sotek said it, anyway
Discord
and then sharpobject confirmed that you have to repick

Faulty Ice
wait no your right
i misread

Punf
the current steam tank/ferns ruling (steam tank can attack the building) is in the rulings spreadsheet
though iirc the rulings spreadsheet isnt 100% accurate (some of the polymorph squirrel stuff is inaccurate)

Faulty Ice
isnt the ruling spreadsheet by definition accurate?

Punf
sharpobject contradicted the polymorph squirrel stuff in the rulings spreadsheet
or err he did at some point in time, it might have been updated since then? lemme check
it has not been updated since then

Faulty Ice
I take it, that the contradiction is with the removal of one time effects?

Punf
thats the part i remember, there might have been something else. but yes

Wilbert
I’m clearly not as experienced with this game as you guys, but I’m trying to put together an example of something trying to attack voidblocker and dying before the attack happens. It might be obvious to you, but I’m failing.

Punf
cinderblast dragon attacks and fire arrows itself in the face

Faulty Ice
Cinderblast dragon casting a spell thtat kills itself

Wilbert
And I guess if it really was that obvious, Sharpo wouldn’t have told me such an attack always goes through

Faulty Ice
it is rare that it would ever be the play that you would mkae

Punf
i think there was a more realistic case but i cant think of it offhand

Wilbert
How am I supposed to know that “attacks:” abilities don’t go in the queue like other abilities?

Punf
they do
but attacking is ‘special’
the queue has time to resolve between attack steps

Wilbert
what attack steps are there?

Punf
err, a bunch

Faulty Ice
a number greater than 1 but less than 10

Wilbert
like, pointing out an attacker is an attack step

Punf
from memory:

  1. name attacker
  2. name defender
  3. attack triggers trigger
  4. repick defender
  5. defender triggers trigger
  6. swift strike combat damage
  7. normal combat damage
    im probably forgetting something

Wilbert
I get the general idea

Punf
arguably 3 and 5 arent really separate steps but i find it helpful to think of them separately

Faulty Ice
cant 1 and 2 be the same step?

Punf
probably

Faulty Ice
and I forget, does a void blocker that gets obliterated make you tap something else?

Punf
only if its your attacker after step 4
which uh i think it cant be
actually i think it still is if your attacker dies before step 4

Faulty Ice
it could from soulstone
but thats a silly case

Punf
well thats basically the same as it not getting obliterated

Faulty Ice
excatly

Punf
i dont remember what happens if you have no legal targets in step 4

Faulty Ice
feels weird that attacks: and when attacked: dont trigger at the smae time to me

Punf
well rather, i know the attack gets cancelled but i dont remember whether step 5 still happens

Faulty Ice
attack stops happening

Punf
its not any weirder than fast triggers having a special timing, really
and smoker is just off doing its own thing, but i dont think theres any ambiguous cases with it so whatever

Faulty Ice
it is, because fast triggers you can get to from argument from contradiction, (albiet thats not something most will get to), while “when this attacks” and “when this is attacked” having different trigger timings feels weird. (unless the attacks happen before you delcare a defender, but that s been said not to be the case

Punf
i mean i dont really consider ‘occasionally second chances fails due to technician’ a contradiction
but apparently the Ses all did which is why we got the fast trigger system
the retargeting system means that attack and when attacked are going to have weird interactions no matter when they trigger

Faulty Ice
kinda wish it was declare an attack: trigger all attacks:, declare what your attacking: trigger all things that happen on attacked/attacking something.
changes very little, but makes it a lot easier to explain.

Punf
yeah i would prefer that
my understanding is that its the way it is because in an online version, its more intuitive to declare an attack by clicking the attacker, then clicking a defender
so the attack triggers have to come after the defender is clicked
and then to make obliterate not be weird, there has to be a repicking step

Faulty Ice
that and they dont want you to be able to attack nothing to get triggers if there are no valid targer

Punf
i mean that hardly ever happens so it seems like that shouldnt really be a consideration
you need them to have lawbringer and yet no tech buildings

Faulty Ice
edge cases are what causes most of these problems :stuck_out_tongue:

Punf
personally i feel like its more intuitive if your trojan duck can attack in that situation, obliterate their lawbringer and then hit the base
so err [@]sharpobject can we get a ruling on steam tank/ferns (can i continue hitting the sanatorium), and trojan duck/mimic (can i continue hitting the whatever)

Wilbert
An attack trigger like Obliterate couldn’t be resolved before picking the defender, because in a FFA it’s not obvious who the defender is going to be. So picking attacker and defender needs to be a single step I think.

Punf
oh, thats a good observation, yeah that makes picking the defender before triggers a lot more logical

sharpobject
hi punf, let’s keep the ruling about btf + steam tank
steam tank should gain ATK and lose stealth when you calculate the derived state after collecting the list of stuff it flew over

Sotek
A better ui than click click is drag attacker onto defender, btw

Wilbert
or have the option to do either

25/05/2019

Punf
so whats the new ruling for the second choose defender step?
if steam tank keeps attacking the building after not having stealth, the rule of ‘repick if current defender is illegal’ no longer stands

sharpobject
it doesn’t do that
so there’s no new ruling
it loses stealth after the step you are talking about

Zhavier
The way I understand it, steam tank doesnt lose stealth until it actually deals the damage

sharpobject
it loses it earlier than that

Punf
but there are two choose defender steps
in the first one, steam tank has stealth and 3 atk, so theres no problem
in the second one, steam tank no longer has stealth, so (if there are patrollers) its current target is illegal
i dont see why steam tank still gets to attack, but a trojan duck that obliterated a flier now has to repick the mimic thats now patrolling

26/05/2019

sharpobject
heyo
steam tank doesn’t gain atk and lose stealth until after the 2nd choose defender step
this lets us keep the ruling onlune and preserves the equivalence to a model where theres only one choose defender step

Punf
…well, ok i guess

sharpobject
though I should perhaps check that sirlin is cool with that model
here’s maybe the most annoying thing that happens ?
[@]Sirlin

a. if I have Trojan Duck and I attack an enemy Frog token, then use obliterate to get rid of it and instead attack a Voidblocker, do I have to exhaust stuff?

b. if I have Trojan Duck and I attack an enemy Voidblocker, then use obliterate to get rid of it and instead attack tech building, do I have to exhaust stuff?

Punf
so how does the model without two choose defender steps work?

sharpobject
I think thats a. yes b. no because other answers have annoying consequences

Punf
like, there are clearly two moments where you might have to choose a defender: on attack declaration, and possible necessary retargeting
it seems only logical to separate these out as distinct steps for clarity

sharpobject
I think you don’t need the first one and you can run all the “attacks: x” triggers before the only one

Punf
err wasnt there some thingy
like, if you attack a thing but then an attack trigger gives you new possible targets then you cant switch to them
eg if my trojan duck attacks your tech building and obliterates your lawbringer, im not allowed to decide id rather whack your base
which i would be allowed to if i only had to pick the defender after attack triggers

sharpobject
that is worrisome
i retract my claim
about the equivalence anyway

Punf
sirlin’s ruling about obliterate/retarget suggests he prefers the two step (heh) model (where you pick, attack triggers trigger, and possibly repick)

sharpobject
yeah

Punf
i initially preferred the one step model for implementation ease, but ive come around to like the two step model for interface purposes
like, consider the normal case where there are no shenanigans
in the two step model, i click an attacker, click an ‘attack’ button, then click what i want to attack

sharpobject
you surely left click and drag like in HS

Punf
in the one step model, i click an attacker, click what i want to attack, and since theres no retargeting or triggers or anything it just happens
err those should be the other way round
oops
in the one step model, the actual choice of defender only happens after youve chosen to attack

sharpobject
and I disagree about the 95% case needing bad UI

Punf
well, how would it work if there is an attack trigger then
i guess the first choice ends up not actually meaning anything? seems kinda weird

sharpobject
theres almost never an attack trigger

Punf
eh, attack triggers are pretty common
like maybe 25%ish of units have one?

sharpobject
in neutral, I think 2 units need this UI

Punf
trojan duck even makes you pick what order to do the things in, that seems annoying
i guess you could do some magic to make you click a building or unit, and have the game infer whether you mean to obliterate or buildingwhack first

sharpobject
in purple also 2 with attack triggers, but one doesn’t need this UI

Punf
with hyperion you could in theory want to pick your attacker depending on what card you draw
*defender
which is uh super annoying for the ui
like it just sucks if the game goes ‘here’s the card you drew! do you still want to attack the same thing?’ when 99% of the time you still do
the two step model eliminates this inconvenience
it says ‘no you really do have to keep attacking that thing, if you have some super wacky plan to decide what to attack based on what you drew then sucks to be you’

sharpobject
ok u got me with the hyperion thing
hyperion non-negotiably does not let the attacker use that information to choose the target

Sotek
lol

sharpobject
but I will still keep this silly looking steam tank ruling

Punf
oh well, its not that silly
i mean its just clarifying at what point in time the thing kicks in
which already had to be clarified for eg traffic director/wight (obviously it kicks in before you check what you can attack, otherwise it just doesnt do anything)

sharpobject
I think traffic director is maybe better written “Can attack buildings as though it had unstoppable”

Punf
oh, the hypothetical unstoppable granting thing is an ability, right
like traffic director never has the midori bonus, not ‘has it except when attacking buildings’
mtg does ‘literally anything in the textbox is an ability’ and im guessing codex is the same
actually traffic director has untargetable anyway so the question is irrelevant here but still
it matters for wight, which im pretty sure never gets the midori bonus

sharpobject
he never has that bonus
yes same as mtg
notably illusions can be vanilla
and a game rule kills them when you target them

Punf
if an illusion smoker gets targeted, active player decides whether it dies/returns to hand?

sharpobject
yep

:rofl: :rofl:

4 Likes

Interesting!

I thought the principle for choosing attack targets was to delay it as long as possible. So, my current implementation plan is to actively search for the edge case(s) that would make the attack impossible (Something with flying buildings and I guess now checking to see if the dragon killed itself), but otherwise leave the choose attack target step until after the obliterating and attack triggers are resolved. That seems to have the best flow.

I’m not sure I’m sharing sharpobject’s desire to have the UI feel like hearthstone. It’s a much different game! If the drag and drop attacks is important (let me know in the comments) I think the best would be to enable it for the majority of cases then make a click-to-attack flow for the edge cases with obliterate or cinderblasting. In any case, that’s a UI polish step that I’m not at yet!

If we’re maintaining the principle of delaying choosing the attack target as long as possible, then we also get to avoid the problems discussed here with the first attack target becoming invalid. Right? :crossed_fingers:

User interface should guide implementation. Minimizing clicks for the majority of use cases should be the prime goal in implementing a clean user interface. Thus, for the majority of cases, selecting a card and dragging it onto a valid target, which automatically declares it as an attack, minimizes user clicks as much as possible.

3 Likes

Well, Path of Exile continues to exist despite having a UI that intentionally fails to minimize clicks, so… I’m not convinced.

The mouse still has to travel roughly the same distance, so long as I put the attack button close to the card, which I can do on-mouseover.

Again, I’m not opposed to adding this as a polish item, but it’s not going in the alpha version.

1 Like

Drag-and-drop would make abilities that buff allies pretty snappy, too. Cards like Whitestar Grappler, where the attack and the ability share valid targets, are more awkward.

2 Likes

Exactly. I could do a similar trick, with the drag-and-drop from Whitestar Grappler reveal a choice of whether to attack or grapple on-mouseover of a valid target. However, then the mouse is already holding the card, so the choices would have to be pretty chonky on the screen to deal with that, which means more mouse movement.

Maybe a snappier-but-flexible idea would be to have the click thing that I am planning to do, but also have a nice big red arrow that follows the cursor? I guess that’s how Hearthstone handles drag-and-drop.

In any case, drag-and-drop would work smoothly for moving units to and from patrol.

1 Like