ID:169024
 
I'm working on a game, which has it's own dynamic lighting system. That works.
It also has multiple floors on an individual Z-level.
So far so good. I even got density to work. Yay.

Then I remembered about opacity.
If it were a single player game, I could make opaque turfs (which are actually objects) not opaque when the player's on a different floor.
Unfortunately, it's a strictly multi-player game.

Is there any way to cause some opaque objects to block view for only some people, while others block the view of other people only? And yet others block view for only other people? And so on, being virtually limitless in how many groups of people can be strictly blocked by only certain opaque objects?
When I did this in my isometric 4k project (sigh) I set the invisiblity of an object as equal to it's 'z' coordinate (whatever you're using as a z variable, not the /obj's atomic z variable). I then set the mob's ability to see invisible items to his/her 'z' coordinate.

The main reason for doing this was so that mobs could see down through the floors above them to the floor they were on; otherwise they'd see the roof of a building all the time. I don't know if an item's invisibility affects it's opacity in relation to the mobs that can see it, but it's worth a shot.
In response to IainPeregrine
Unfortunately, invisibility doesn't affect opacity.
Even if it did, it'd still be a pain because opacity of either a lower or a higher floor would still be visible.

As a note, invisibility's what I used to make it so you can see the current floor. And layer too, of course.
In response to Roara
I'm afraid there isn't a way to do that with opacity. It's an all-or-nothing thing.