Game Desync involving Poisoner and T ...
90% sure I got a game desync yesterday, but I don't have screenshots since I didn't realize until after. Probably worth trying to repro this. Remembering as well as I can, was at like 4AM yesterday:
On the TF2 map--I had a Spy on B6 (on train track) and a Medic on B8 (the attack tile). Spy had previously been debuffed by a Monk and then by a Poisoner (one hit each, on separate turns). One thing I cannot remember is if I'd healed the Spy back to full after one hit from each of the Monk and Poisoner--I think yet.
On my turn, I
1) Moved an unrelated unit onto the D8 train switch. On my screen, Spy takes a lot of damage from train but survives and is knocked to B7.
2) Healed Spy with B8 Medic. I think I remember that this heal was for 445, taking Spy to his full (Monk-debuffed) HP.
3) 3 unrelated actions and submitted.
However, when I got the turn back from opponent, at the [i]start[/i] of the replay of his turn, the Spy was nowhere to be seen, and the Medic was standing on B7.
So it seems that when the server processed my move, at step (1) the Spy was completely destroyed by the train. Then when it processed my second move, where I clicked the B8 Medic and then clicked on B7, since there was no unit standing on B7, it interpreted it as a move with the Medic to B7.
Sounds a bit confusing I know, but I think it's likely that the Poisoner-debuffed Spy being hit by a train played differently in my client and on the server.
Simple explanation: The Train Station is Haunted.
(obligatory dread music here: bumm...bumm.....BUUUUMMMMMMMM)
But seriously, folks. I can entirely buy the client-server programming desync. I'm just surprised it took this long to happen or be discovered (consider the server issues of Fall). However, I think the good news is that it seems to be tied to a particular map and the trains, so a specific mechanic. That means they got a specific area of code they can focus on.
Omg, this happened to my Annihilator!! In a TOTY match >:[. It took me a few turns to realize he was gone, and i tried to remember how he died. Then i realized i havent seen him since i knocked of his debuff.
The really wierd thing is, i had continued to use the train to undebuff my paladins multiple times. And none of them disappeared.
Maybe the paladins never got killed by the train? There must be some sort of bug which kills the unit server side, but not client side - low HP units seem to be the ones affected so far.
I was just messing around and was able to re-create this bug in a test Shaolin vs Dwarf match.
Tests were done using the poisoner debuff only (not sure if the annihilator debuff can cause the same thing). All tests involved the dwarfs triggering their own train tracks with friendly dwarf units on the tracks.
My understanding of proper mechanics are: (i) for regular (non-debuffed units), it should be impossible to suicide with any train hit powerful enough to KO instead reducing the unit to 100 HP; (ii) for debuffed units, you are able to suicide if the train hit is sufficiently powerful.
My first observation is that the bug does not occur all the time. In fact, it is hard to cause and took me a while to get it to happen. Most of the time, debuffed units with low enough HP do indeed suicide as they should.
After messing around for a while, I got the bug to happen on a debuffed paladin that was armed with a shield and had 240 HP. With the debuff and shield, her physical resistance was -10%, so the train should have caused 440 damage. On the paladin's turn, the suicide attempt appears to knock the paladin back 1 row to 100 HP, but server side (and on the opponent's game), the paladin died as expected. This is basically what others experienced.
Here is the really weird part: At the same time I was also putting two other (non-debuffed) dwarf units (a gunner and a bomber) on the same train track just to see what would happen. Their train mechanics also had major bugs. Both units had very low health (140 HP and 120 HP) with no defensive buffs or de-buffs present. Per normal mechanics, a suicide attempt should have knocked back and reduced to 100 HP. This happened on the dwarf client side, but the server and other client strangely processed these as KO stomps. In case it matters, both of these units had previously been debuffed by the poisoner, had their debuffs removed via earlier train attempts.
So, in sum, I had 3 units standing on my friendly tracks:
1. Debuffed 240-HP Paladin with shield
2. Regular gunner with 140-HP
3. Regular bomber with 120-HP
On the dwarven move all 3 appeared to be knocked back and reduced to 100 HP, but the server and and shaolin client processed all 3 as deaths.
I realize this leaves more questions than answers but it is a start. My current theory is that it might have something to do with having the shield on the paladin. I couldn't get this to happen until the shield came into play and than it happened right afterwards. I also believe that the paladin caused the bug which caused all 3 units to be affected.
On the bright side, it looks like savvy players can prevent this by manually doing the math to see if the train is acting right and only doing a self-debuff if it the unit is supposed to survive.
I hope this helps Robot or others diagnose further.
In my case the archer would have been train stomped if it was not a friendly train. Perhaps the server side doesn't distinguish between friendly or unfriendly trains anymore. Server side has been jarate'ed?
In my case the archer would have been train stomped if it was not a friendly train. Perhaps the server side doesn't distinguish between friendly or unfriendly trains anymore. Server side has been jarate'ed?
It probably doesnt cout for the extra x Damage the train causes due to debuff sever-side
Here's a repro:
http://imgur.com/a/2GY1H
First image: before hitting the train switch. Top Scout has 450 HP, Heavy has 440, other two units have 170, all Poisoner debuffed.
Second image: Pyro steps onto train. Interestingly, the top two units with >400 HP are destroyed, the other two with 170 HP take 100 and are knocked back.
Third image: after submitting the turn.
Fourth image: what other player saw up on receiving the turn (screenshot taken during reply on the other device).
Also, back on the device playing P2--after submitting the turn, it shows the Scout/Spy alive, as shown in third image. But after backing out to the menu and clicking back into the game, the replay shows all four units being destroyed.
I played around with this again with Dwarf vs Shaolin and I think Hamlet is on to something that it has to do with the remaining HP of the unit.
My theory about it having to do with a shield or helm did not hold up to further testing and must have been a coincidence on my first test.
*serious thinking face* we seem to have reached an impasse
Oh i forgot, I actually had something significant to say!!
When its my turn in the match this happened to me in, i receive the notification twice on my phone. Sometimes a few seconds inbetween, sometimes hours. Is this maybe related to the train bug at all?







I believe I had a similar occurrence of debuffed archer that disappeared. I was experimenting and decided to use the train to remove the poisoner debuff on my archer. But on next players move the archer was gone and ny cleric was where it was supposed to heal. I have a open email with support. They are waiting on screenshots. But without game history I have to rely on my memory to describe board state an my actions.
Twitter: http://twitter.com/johnjanitor
Hero Academy: johnjanitor