When a turf is added to vis contents, mouse actions are passed to its parent instead of the turf's mouse actions
Numbered Steps to Reproduce Problem:
1. open test case.
2. click on red square bottom left.
Code Snippet (if applicable) to Reproduce Problem:
ready-to-run test case: https://drive.google.com/file/d/ 1yqANAz4MRmQIdCe2FjPt3L8GtYKWGvXA/view?usp=sharing
turf
red
icon = 'red.dmi'
mouse_opacity = 2
Click()
. = ..()
world << "RED CLICKED"
green
icon = 'green.dmi'
Click()
. = ..()
world << "GREEN CLICKED"
turf
Click()
. = ..()
world << "CLICK [src.type]"
mob
Login()
. = ..()
loc = locate(50,50,1)
var/obj/r = new(null)
r.vis_contents += block(locate(1,1,2),locate(1,1,2))
r.screen_loc = "1,1"
usr.client.screen += r
obj
Click()
. = ..()
world << "CLICK [src.type]"
Expected Results:
We see RED CLICKED & CLICK /turf/red when clicking on the red square.
Actual Results:
We see CLICK /obj/ when clicking on the red square, no matter the size.
Does the problem occur:
Every time? Or how often? Whenever it's a turf in vis_contents.
In other games? i assume.
In other user accounts? yes
On other computers? yes
When does the problem NOT occur?
When you click on a normal object that was on the turf, it will do that object's click() as expected. The turf click() still is it's parent's click().
Did the problem NOT occur in any earlier versions? If so, what was the last version that worked? (Visit http://www.byond.com/download/build to download old versions for testing.)
no
Workarounds:
not known.
There is no red square to click when the project starts up.
I've tried using the verbs and I'm not sure what I'm actually seeing or what I'm supposed to be seeing. There's a clarity gap here.
I appear to have downloaded the test case you posted in Discord, which doesn't match either of your bug reports. I assumed this was the same download but it isn't.