mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-29 08:08:49 +01:00
Adds Neon Carpet (#55782)
* Adds emissive carpet, adds plane support to decal element - Adds a basic abstract/debugging emissive carpet - Makes decals capable of supporting plane - Adds auto-smoothing decals * Adds simple neon carpet variations * Adds neon carpet reagents and recipes * Refactors emissive blockers to allow multiple layers of emissive / emissive blocking objects - Splits the emissive and emissive blocker plane masters into several plane masters which handle different layers of emissiveness. * Makes neon carpet tile stacks emissive * Rearranges and docs some emissive plane masters - Folds the overlay lighting plane master into the emissive planes since it is also used to mask the lighting plane * Fixes null mats_per_unit stack recombining after splitting - I think I broke this a while ago when I reworked how stacks handle materials. Whoops. - This basically only effects carpet at the moment. Good thing I did this when I did! * Adds neon carpets to cargo - Adds a cargo supply crate containing a _lot_ of neon carpets for 3000 credits * Fixes neon carpet highlights leaking through vending machines and such - Turns out vending machines axed their own emissive blockers whenever they updated their icon because they cleared their managed_vis_overlays... - Generic emissive blocking has been elementized and some update_overlays procs have been straightened out. * Fixes id_arg_index for the emissive blocker element * Commits @Rohsie's suggestions
This commit is contained in:
@@ -8,6 +8,7 @@
|
||||
max_integrity = 200
|
||||
integrity_failure = 0.25
|
||||
armor = list(MELEE = 20, BULLET = 10, LASER = 10, ENERGY = 0, BOMB = 10, BIO = 0, RAD = 0, FIRE = 70, ACID = 60)
|
||||
blocks_emissive = EMISSIVE_BLOCK_UNIQUE
|
||||
|
||||
var/icon_door = null
|
||||
var/icon_door_override = FALSE //override to have open overlay use icon different to its base's
|
||||
@@ -71,7 +72,6 @@
|
||||
|
||||
/obj/structure/closet/proc/closet_update_overlays(list/new_overlays)
|
||||
. = new_overlays
|
||||
SSvis_overlays.remove_vis_overlay(src, managed_vis_overlays)
|
||||
luminosity = 0
|
||||
if(!opened)
|
||||
if(icon_door)
|
||||
@@ -83,7 +83,7 @@
|
||||
if(secure && !broken)
|
||||
//Overlay is similar enough for both that we can use the same mask for both
|
||||
luminosity = 1
|
||||
SSvis_overlays.add_vis_overlay(src, icon, "locked", EMISSIVE_LAYER, EMISSIVE_PLANE, dir, alpha)
|
||||
SSvis_overlays.add_vis_overlay(src, icon, "locked", EMISSIVE_STRUCTURE_LAYER, EMISSIVE_STRUCTURE_PLANE, dir, alpha)
|
||||
if(locked)
|
||||
. += "locked"
|
||||
else
|
||||
|
||||
Reference in New Issue
Block a user