Well I didn't really know off the top of my head, I had to experiment a little for the second answer. It is mostly trial and error, and some basic math. So... school!
If you ever run into any programming problem, the best thing is to use debug mode to clearly see what the code is doing. Sometimes it doesn't work as you expect, as I found out with the angle() expression giving a negative value.
So basically I put the expressions angle(arch.X, arch.Y, Mouse.X, Mouse.Y) and angle(mouse.X, mouse.Y, arch.X, arch.y) into variables to see what they were exactly when I moved the mouse around. Then it was a matter of changing the numbers into something I could use by adding 180.
As for not mirroring, simpler is almost always better - easier to troubleshoot and fix. If you use mirror in this case, the up and down angles would be inverted. I'm sure you could still get it to work anyway, but it was just another layer of complexity to figure out.
really cool staff i didnt know i can use the debug to find out whats causing the problem, that is something i will keep in mind from now on, i will have to experiment more with that to get use to it. the reason why i was asking is
becouse i see many times to use something with "expressions" is like we have to know some math and programing skills other ways we get stack example: clamp(angle(ArchObject.X, ArchObject.Y, Mouse.X, Mouse.Y),45,260) i would have never know how to figure out by my self the symbols ( () ) math etc.... thats why i was asking to see if i can learn something extra like programing etc.... to improve my experience with construct 2
and dont have to came back every time asking for help
just trying to do anything that i can to learn in the right way
huge thanks for all your explanations, an for your time, i learned many good things take care