Actors rotation doesn't match the set rotator value

I have a blueprint that allows me to rotate an actor in a specific direction. It works by saving the actor’s current rotation and the new rotation to a variable and then doing a lerp between the two.

This actor is also attached to the room it’s in. If the room is rotated by 90 degrees in the Y direction (so it’s now at 0, 90, 0), the actor would be on the right wall (as it was on the floor originally). Because it’s attached to the room, rotating the actor, in the same way, would still point it in the correct direction. The problem is that while the above blueprint does rotate the object correctly if the room is at orientation (0, 0, 0), if I rotate the room to be at (0, 90, 0) then the above blueprint doesn’t rotate the object correctly. For example, if I set the rotation to be (0, 0, -90) then both the relative and world rotation becomes (90, 0, -90) and it keeps changing except if I set it to (0, 0, 0). I’ve tried setting the relative rotation, world rotation, and disabling shortest path but nothing works. Does anyone know why this is happening?