soldier B isn't taking reaction fire AFTER the alien already reacted to soldier A. if you move soldier B first, he gets shot just the same. the aliens spend TUs when performing reaction shots, and so their reaction score drops.
I know how reaction fire works. Are you responding to this? "Other approaches, either to 32, 20, or to 31,19 then 30,20, result in mutual surprise". I didn't mean "the other soldier approaches". I meant other lines of approach. With the Floater still having his TUs, if you move the first soldier to 32, 20 you get mutual surprise.
as for the alien seeing you when you can't see it, think of it this way: your soldier's line of sight is a line, traced from near the top center of the soldier, which is represented in 3d space by a cylinder of diameter 3. the alien can see you because of these 3 voxels: the alien's line of sight has to travel through say, 320 voxels to spot you, 17 of which are smoke, your soldier has the same 320 length line, but because his is starting from inside the smoke, it has to go through 20 voxels filled with smoke, hence the difference.
But wait, 31, 20 is closer to the Floater than 32, 20, so the path should be shorter. Why would the soldier be able to see from 32, 20 but not 31, 20? I suppose there could be some quirk in how the smoke got distributed, since the epicenter was on the other side of the Skyranger and it could have shielded that square better...
If so, then yeah, that explains it. So, this wouldn't be a problem if the smoke cloud was entirely between them, as both of them would go through the same number of smoke and non-smoke voxels, right? And this means you're potentially putting yourself at a disadvantage whenever advancing through smoke cover... so every time you exit the Skyranger for instance.
But from the point of view of the player this is arbitary. There is nothing that can be inferred from the battlescape that says "tactical mistake" about moving to 31, 20 but not 32, 20.
Do you think it could be fixed by simply not including those 3 "inner" voxels in the calculations? Then they'd both be counting a path of 317, of which 17 would be smoke.