[MIRROR] Adds seethrough component [MDB IGNORE] (#16421)

* Adds seethrough component (#69642)

Adds a seethrough component!
Standing behind a big object with this component will make the object transparent:

https://youtu.be/nnyWMJakVtE

And no one else can see it:

And yes you can click through it thanks to the power of plane masters!

Standing behind a tree is a pretty big meme and people will have to either shift right click or bump into you to ever find you. This makes it so much better to implement big objects, since they no longer obscure the tiles behind them
It's also useful for existing big objects, like billboards and the likes

🆑
qol: You can now see through big trees when you stand behind them!
refactor: Adds a seethrough component to make it easier to add big stationairy objects without reducing visibility
/🆑

Info

This is done by sending an override overlay to the user that obscures the normal object and plays an animation.

It registers an ENTERED signal on specific turfs. Those tiles in which it hides stuff is defined as a list of list coordinates, for which I made a global list with some defines. It's really crappy and I'd appreciate some feedback on that

* Adds seethrough component

Co-authored-by: Time-Green <timkoster1@hotmail.com>
This commit is contained in:
SkyratBot
2022-09-25 23:56:36 +02:00
committed by GitHub
parent e60460606d
commit 68e962fa21
8 changed files with 257 additions and 9 deletions

View File

@@ -107,6 +107,15 @@
appearance_flags = PLANE_MASTER //should use client color
blend_mode = BLEND_OVERLAY
/atom/movable/screen/plane_master/game_world_above_no_mouse
name = "above game world no mouse plane master"
plane = ABOVE_GAME_NO_MOUSE_PLANE
mouse_opacity = MOUSE_OPACITY_TRANSPARENT
render_relay_plane = GAME_PLANE
appearance_flags = PLANE_MASTER
blend_mode = BLEND_OVERLAY
/atom/movable/screen/plane_master/massive_obj
name = "massive object plane master"
plane = MASSIVE_OBJ_PLANE
@@ -292,3 +301,5 @@
name = "splashscreen plane"
plane = SPLASHSCREEN_PLANE
render_relay_plane = RENDER_PLANE_NON_GAME