mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-23 13:10:02 +01:00
[MIRROR] [NO GBP] Fixes blindness icons on lower station z-levels [MDB IGNORE] (#17170)
* [NO GBP] Fixes blindness icons on lower station z-levels (#70608) I previously tested that footsteps worked when hearing them from a lower Z-level but forgot to test if you can see them while on a lower z-level. It didn't occur to me that offsetted planecube planes wouldn't work with being over the fullscreen blindness mask past the top level but that makes sense in retrospect. So the blindness effects (via play_fov_effect()) are now on the fullscreen plane. Partially reverted doing this with manually talking bubbles as well so they look normal again, and then added a FOV effect as well for chat bubbles. NOTE: Runetext is in general also only above the blind mask on the highest station level and below on others for the same planecube issue but that's a whole other can of worms. * [NO GBP] Fixes blindness icons on lower station z-levels Co-authored-by: Tastyfish <crazychris32@gmail.com>
This commit is contained in:
@@ -66,9 +66,6 @@
|
||||
|
||||
#define FULLSCREEN_PLANE 23
|
||||
|
||||
///Visuals that represent sounds happening, and can be seen while blind.
|
||||
#define SOUND_EFFECT_VISUAL_PLANE 25
|
||||
|
||||
///--------------- FULLSCREEN RUNECHAT BUBBLES ------------
|
||||
|
||||
///Popup Chat Messages
|
||||
@@ -213,10 +210,11 @@
|
||||
#define CRIT_LAYER 5
|
||||
#define CURSE_LAYER 6
|
||||
|
||||
///--------------- SOUND EFFECT VISUALS ------------
|
||||
#define FOV_EFFECT_LAYER 100
|
||||
|
||||
///--------------- FULLSCREEN RUNECHAT BUBBLES ------------
|
||||
/// Bubble for typing indicators
|
||||
#define TYPING_LAYER 1
|
||||
#define FOV_EFFECTS_LAYER 2 //Blindness effects are not layer 4, they lie to you
|
||||
#define TYPING_LAYER 500
|
||||
|
||||
#define RADIAL_BACKGROUND_LAYER 0
|
||||
///1000 is an unimportant number, it's just to normalize copied layers
|
||||
|
||||
@@ -507,14 +507,6 @@ INITIALIZE_IMMEDIATE(/atom/movable/screen/plane_master)
|
||||
mouse_opacity = MOUSE_OPACITY_TRANSPARENT
|
||||
allows_offsetting = FALSE
|
||||
|
||||
/atom/movable/screen/plane_master/sound_effect_visual
|
||||
name = "Sound Effect Visuals"
|
||||
documentation = "Holds anything that is a game visual, but is displayed over fullscreen effects. \
|
||||
<br>Displayed over fullscreen effects, but still under runechat and the HUD."
|
||||
plane = SOUND_EFFECT_VISUAL_PLANE
|
||||
render_relay_planes = list(RENDER_PLANE_NON_GAME)
|
||||
mouse_opacity = MOUSE_OPACITY_TRANSPARENT
|
||||
|
||||
/atom/movable/screen/plane_master/runechat
|
||||
name = "Runechat"
|
||||
documentation = "Holds runechat images, that text that pops up when someone say something. Uses a dropshadow to well, look nice."
|
||||
|
||||
@@ -117,7 +117,6 @@ INITIALIZE_IMMEDIATE(/atom/movable/plane_master_controller)
|
||||
PIPECRAWL_IMAGES_PLANE,
|
||||
HIGH_GAME_PLANE,
|
||||
FULLSCREEN_PLANE,
|
||||
SOUND_EFFECT_VISUAL_PLANE,
|
||||
RUNECHAT_PLANE,
|
||||
HUD_PLANE,
|
||||
ABOVE_HUD_PLANE,
|
||||
|
||||
@@ -89,9 +89,9 @@
|
||||
//did you know you can subtype /image and /mutable_appearance? // Stop telling them that they might actually do it
|
||||
/image/fov_image
|
||||
icon = 'icons/effects/fov/fov_effects.dmi'
|
||||
layer = FOV_EFFECTS_LAYER
|
||||
layer = EFFECTS_LAYER + FOV_EFFECT_LAYER
|
||||
appearance_flags = RESET_COLOR | RESET_TRANSFORM
|
||||
plane = SOUND_EFFECT_VISUAL_PLANE
|
||||
plane = FULLSCREEN_PLANE
|
||||
|
||||
/// Plays a visual effect representing a sound cue for people with vision obstructed by FOV or blindness
|
||||
/proc/play_fov_effect(atom/center, range, icon_state, dir = SOUTH, ignore_self = FALSE, angle = 0, list/override_list)
|
||||
@@ -110,7 +110,6 @@
|
||||
if(!fov_image) //Make the image once we found one recipient to receive it
|
||||
fov_image = new()
|
||||
fov_image.loc = anchor_point
|
||||
SET_PLANE(fov_image, SOUND_EFFECT_VISUAL_PLANE, anchor_point)
|
||||
fov_image.icon_state = icon_state
|
||||
fov_image.dir = dir
|
||||
if(angle)
|
||||
|
||||
@@ -77,8 +77,9 @@
|
||||
/mob/living/create_thinking_indicator()
|
||||
if(active_thinking_indicator || active_typing_indicator || !thinking_IC || stat != CONSCIOUS )
|
||||
return FALSE
|
||||
active_thinking_indicator = mutable_appearance('icons/mob/effects/talk.dmi', "[bubble_icon]3", TYPING_LAYER, src, SOUND_EFFECT_VISUAL_PLANE)
|
||||
active_thinking_indicator = mutable_appearance('icons/mob/effects/talk.dmi', "[bubble_icon]3", TYPING_LAYER)
|
||||
add_overlay(active_thinking_indicator)
|
||||
play_fov_effect(src, 6, "talk", ignore_self = TRUE)
|
||||
|
||||
/mob/living/remove_thinking_indicator()
|
||||
if(!active_thinking_indicator)
|
||||
@@ -89,8 +90,9 @@
|
||||
/mob/living/create_typing_indicator()
|
||||
if(active_typing_indicator || active_thinking_indicator || !thinking_IC || stat != CONSCIOUS)
|
||||
return FALSE
|
||||
active_typing_indicator = mutable_appearance('icons/mob/effects/talk.dmi', "[bubble_icon]0", TYPING_LAYER, src, SOUND_EFFECT_VISUAL_PLANE)
|
||||
active_typing_indicator = mutable_appearance('icons/mob/effects/talk.dmi', "[bubble_icon]0", TYPING_LAYER)
|
||||
add_overlay(active_typing_indicator)
|
||||
play_fov_effect(src, 6, "talk", ignore_self = TRUE)
|
||||
|
||||
/mob/living/remove_typing_indicator()
|
||||
if(!active_typing_indicator)
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 3.4 KiB After Width: | Height: | Size: 3.6 KiB |
Reference in New Issue
Block a user