ID:1445200
 
(See the best response by Ter13.)
Code:
obj
Mist
icon='water.dmi'
icon_state="mist"
layer=30
infra_luminosity=6
opacity=1
New()
spawn(400)
del src

mob
proc
Mist()
src.see_infrared=1
src.see_in_dark=1
var/obj/c1=new/obj/Mist(locate(src.x-7,src.y+3,src.z))//this is just a piece
c1.owner=src//this is just a piece
sleep(400)
src.see_infrared=0
src.see_in_dark=0


Problem description:

I want to make it so /obj/Mist has opacity and regular people can't see through it. Only the creator can see their full screen(I still want both to see the mist) while the other people will only see their immediate surroundings.
Best response
Unfortunately, opacity can't be controlled per-player.

You can, however, make it so that certain types of mobs aren't affected by ANY opacity, but that's about it.
In response to Ter13
Ter13 wrote:
Unfortunately, opacity can't be controlled per-player.

You can, however, make it so that certain types of mobs aren't affected by ANY opacity, but that's about it.

how would I at do that at least
I believe screen image objects would actually do the trick on this one.
Check out the atom.sight variable.

SEE_TURFS allows the mob to include any turfs in view() calls that are blocked by opacity, but not objects or mobs.

SEE_MOBS allows view() to include all mobs no matter what status their turf is in terms of opacity.

SEE_OBJS allows view() to include all objs no matter what status their turf is in terms of opacity.
In response to Lugia319
Lugia319 wrote:
I believe screen image objects would actually do the trick on this one.

Image objects can't be opaque.
With the introduction of atom.alpha, you could put mist objects all over the client screen and adjust their alpha on a per-player basis (I would advise to always leave the immediate area around the player mist-free, and just have the mist fully visible for all players except for the owner of it.).
In response to Ter13
Ter13 wrote:
Check out the atom.sight variable.

SEE_TURFS allows the mob to include any turfs in view() calls that are blocked by opacity, but not objects or mobs.

SEE_MOBS allows view() to include all mobs no matter what status their turf is in terms of opacity.

SEE_OBJS allows view() to include all objs no matter what status their turf is in terms of opacity.

Thanks, this worked just fine