Punf fights the rulebook

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…