'/execute rotated' uses sender rotation, not context rotation
The bug
When you put multiple /execute rotated commands after each other, it will always only use the last /execute rotated command.
How to reproduce
Use the following command:
/execute rotated 0 20 rotated ~ ~20 run setblock ^ ^ ^10 stone
This doesn't set the stone block based on the rotation 0 40, which you would expect it to do because 0,20 + ~,~20 = 0,40, but instead it sets the stone block based on the rotation ~ ~20.
Note that this is inconsistent with positioned, which correctly uses context rotation, as can be observed with this command, which will place a stone block 10 blocks above 741 56 -339, and not 10 blocks above the player running the command.
/execute positioned 741 56 -339 positioned ~ ~10 ~ run setblock ~ ~ ~ stone
2018-02-17, 04:41 PM
2018-07-08, 04:02 AM
2018-07-08, 04:02 AM
4
1