Minimizing scope traversals and using || and && operators properly is really solid, though.
Also, organizing || and && operations is really important. Generally you want the heaviest operation to be last.
So like:
if(canAct()&&!dead)
//do something
should be:
if(dead||!canAct()) return
//do something
That's because it's preferable to bail out early rather than invoke the function if the boolean is false. || and && operator short-circuiting is a great way to prevent unneeded instructions and speed up code.
as
you're doing nothing at all except shaving a few irrelevant bytes of your .dm file, at the cost of making it less readable. This is something that just is not worth it in the long run.