ID:149027
 
For some reason, this code does two things.
1: You want shoot through the window, even though I want the person two.
2: It executes Bump,even though the turf is not dense.
turf
window
icon = 'window.dmi'
Enter(O)
if(istype(O,/mob))
return 0
else ..()

Here's an example scenario. You try to walk through the window, it blocks, as I want it too. However, if you try to shoot through the window, you can't.


Drafonis wrote:
For some reason, this code does two things.
1: You want shoot through the window, even though I want the person two.
2: It executes Bump,even though the turf is not dense.
turf
> window
> icon = 'window.dmi'
> Enter(O)
> if(istype(O,/mob))
> return 0
> else ..()

Here's an example scenario. You try to walk through the window, it blocks, as I want it too. However, if you try to shoot through the window, you can't.

You should be returning the value of the parent proc, not just calling it:

turf
window
icon = 'window.dmi'
Enter(O)
if(istype(O,/mob))
return 0
else
return ..()

Actually, you can simplify it further:

turf
window
icon = 'window.dmi'
Enter(O)
return !(istype(O,/mob))

I haven't tested that version, but it should be fine.