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
- enqueue all fast triggers, resolve them, then enqueue all normal triggers, resolve them
- 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
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
I dont think it was ever properly resolved
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…