ID:2069596
 
Not a bug
BYOND Version:510.1338
Operating System:Windows 7 Pro 64-bit
Web Browser:Chrome 49.0.2623.112
Applies to:Dream Seeker
Status: Not a bug

This is not a bug. It may be an incorrect use of syntax or a limitation in the software. For further discussion on the matter, please consult the BYOND forums.
Descriptive Problem Summary:

I'm not sure if it's a bug but if it's definitely something I'd want to avoid.

In the example the spotlight acts as an extension of the mob and can be right clicked.

The verbs that appear in the menu have operators like "var/mob/m in oview() | list().


Numbered Steps to Reproduce Problem:
1. Run demo
2. Right click the spotlight, not the mob

Code Snippet (if applicable) to Reproduce Problem:
https://dl.dropboxusercontent.com/u/51176364/ scratch-rightclick.zip

Expected Results:
Right click menu will only appear at the mob

Actual Results:
Right click menu appears on spotlight image as well

Does the problem occur:
Every time? Or how often? Yes
In other games? Yes
In other user accounts? Yes
On other computers? Yes

Workarounds:
If the image is added to an object with mouse_opacity 0 then this is avoided, the object can then be set to follow the player.
Lummox JR resolved issue (Not a bug)
Images don't have a mouse_opacity separate from their parent object, so setting mouse_opacity for an image is meaningless.

In your code, you have -1 as your lighting plane and you're using a PLANE_MASTER for plane 0 where all the regular atoms live. Your code erroneously calls that lighting_plane, but it's actually the map plane; the lighting is on plane -1, and you're multiplying the map over it.

As a result of the way you've arranged things, because you have a PLANE_MASTER on plane 0 with mouse_opacity=0, all atoms are mouse-invisible on that plane. But plane -1 does not have a PLANE_MASTER, so the mouse-visibility of the atom is applied to the image on that plane.

Here's what you need to do:

- Rename lighting_plane to something else, because that's the plane for the regular objects.

- Change that plane master's mouse_opacity to 1. That says that the objects in the plane get counted for the mouse, but the plane master itself does not. That's the behavior you want for the map plane.

- Create a PLANE_MASTER object for plane -1. This is your real lighting plane.

- Give the lighting plane mouse_opacity=0, which tells DS to ignore everything on that plane for mouse hits.
Thanks a ton, I managed to get the behavior I wanted.