ID:1575766
 
(See the best response by Crazah.)
Hiya. I'm wondering how I can make it so that I have the ability to click on a mob, object etc when there's an overlay over them. For example, my weather system casts an animated overlay over the world which alternates every now and then. How may I click on mobs whilst this is active?
It sounds like mouse_opacity is what you want.
In response to Crazah
:/. I tried it, but it's not working. Is it necessary for me to post my weather code? I believe it may play a key element in the issue.
It might help if we can see how you're handling it. Remember, mouse_opacity needs to be ticked to zero to act completely transparent to the cursor.
        proc
daycycle()
if(daycyclestarted==1)
goto DAYHERE
else
daycyclestarted=1
var/obj/dn = new
dn.icon='black50.dmi'
dn.layer=10000
dn.mouse_opacity=0
overlays+=dn
goto DAYHERE


And

mob
mouse_opacity=2
Best response
Whatever it is you're overlaying with weather, you need to set it's mouse_opacity to zero.
I did that, hence the
dn.mouse_opacity=0
the "dn" is what's added to the overlays - indicated by the
overlays+=dn
You could fill the client screen with the black50.dmi file and set it's mouse_opacity to 0. Then obviously, inside buildings you remove / hide the overlay.

That should work.
In response to Blastcore
I'm not sure how I'd fill the screen with the black50.dmi file.
Setting dn's mouse_opacity is not the same as setting it on it's parent atom. An overlay is an image of that object you've created, not the object itself.

You'd need to do:
src.mouse_opacity=0
In response to Crazah
Well I'll be. Thank you very much, Crazah. Helped a lot.