Container cleanup, standalone security panel (#20909)
Updated crate and locker sprites and icon overlay code to use a new standalone 'securitypanel' overlay to lay the groundwork for, in the future, being able to install/uninstall access-code locks on containers just like you can in airlocks. For lockers, little visual change at all. For crates, the security panel is now an overlay within the 'handle' section of the crate rather than being a chunky box off to the side on front. Locked/unlocked/emag sprites also updated for the new panel location.    Moved closet.dmi, crate.dmi, guncabinet.dmi, safe.dmi, and walllocker.dmi to a new subfolder /icons/obj/containers, and updated all references to them in code, for sake of organization. Ideally (IMHO), we'd differentiate structure-based storage containers from item-based storage containers, but that's a larger organizational task and outside of scope- this just moves storage structures into one common location. Deleted sciguncabinet.dmi, as its contents had already been migrated to guncabinet.dmi and it was no longer referenced anywhere in the codebase.
@@ -1,7 +1,7 @@
|
||||
/obj/structure/closet
|
||||
name = "closet"
|
||||
desc = "It's a basic storage unit."
|
||||
icon = 'icons/obj/closet.dmi'
|
||||
icon = 'icons/obj/containers/closet.dmi'
|
||||
icon_state = "generic"
|
||||
density = TRUE
|
||||
build_amt = 2
|
||||
@@ -626,6 +626,7 @@
|
||||
update_secure_overlays()
|
||||
|
||||
/obj/structure/closet/proc/update_secure_overlays()
|
||||
AddOverlays("[icon_door_overlay]securitypanel")
|
||||
if(broken)
|
||||
AddOverlays("[icon_door_overlay]emag")
|
||||
else
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/obj/structure/closet/secure_closet/guncabinet
|
||||
name = "gun cabinet"
|
||||
req_access = list(ACCESS_ARMORY)
|
||||
icon = 'icons/obj/guncabinet.dmi'
|
||||
icon = 'icons/obj/containers/guncabinet.dmi'
|
||||
icon_state = "base"
|
||||
anchored = TRUE
|
||||
canbemoved = TRUE
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/obj/structure/closet/secure_closet
|
||||
name = "locker"
|
||||
desc = "It's a steel ID-locked locker."
|
||||
icon = 'icons/obj/closet.dmi'
|
||||
icon = 'icons/obj/containers/closet.dmi'
|
||||
icon_state = "secure"
|
||||
anchored = FALSE
|
||||
secure = TRUE
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
/obj/structure/closet/walllocker
|
||||
name = "wall locker"
|
||||
desc = "A wall mounted storage locker."
|
||||
icon = 'icons/obj/walllocker.dmi'
|
||||
icon = 'icons/obj/containers/walllocker.dmi'
|
||||
icon_state = "walllocker" //...man, how OLD is this $#!?
|
||||
door_anim_angle = 132
|
||||
door_anim_squish = 0.38
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
/obj/structure/closet/crate
|
||||
name = "crate"
|
||||
desc = "A rectangular steel crate."
|
||||
icon = 'icons/obj/crate.dmi'
|
||||
icon = 'icons/obj/containers/crate.dmi'
|
||||
icon_state = "crate"
|
||||
climbable = TRUE
|
||||
build_amt = 10
|
||||
@@ -240,7 +240,6 @@
|
||||
/obj/structure/closet/crate/secure
|
||||
name = "secure crate"
|
||||
desc = "A secure crate."
|
||||
icon_state = "secure_crate"
|
||||
locked = TRUE
|
||||
secure = TRUE
|
||||
secure_lights = TRUE
|
||||
@@ -488,12 +487,12 @@
|
||||
/obj/structure/closet/crate/secure/weapon
|
||||
name = "weapons crate"
|
||||
desc = "A secure weapons crate."
|
||||
icon_state = "syndi_secure_crate"
|
||||
icon_state = "syndi_crate"
|
||||
icon_door_override = TRUE
|
||||
icon_door = "syndi_crate"
|
||||
|
||||
/obj/structure/closet/crate/secure/weapon/alt
|
||||
icon_state = "syndi_secure_crate1"
|
||||
icon_state = "syndi_crate1"
|
||||
icon_door = "syndi_crate1"
|
||||
|
||||
/obj/structure/closet/crate/secure/legion
|
||||
@@ -516,8 +515,8 @@
|
||||
|
||||
/obj/structure/closet/crate/secure/hydrosec
|
||||
name = "secure hydroponics crate"
|
||||
desc = "A crate with a lock on it, painted in the scheme of the station's botanists."
|
||||
icon_state = "hydro_secure_crate"
|
||||
desc = "A crate painted in the scheme of the station's botanists."
|
||||
icon_state = "hydro_crate"
|
||||
req_one_access = list(ACCESS_HYDROPONICS, ACCESS_XENOBOTANY)
|
||||
|
||||
/obj/structure/closet/crate/secure/bin
|
||||
|
||||
@@ -8,7 +8,7 @@ FLOOR SAFES
|
||||
/obj/structure/safe
|
||||
name = "safe"
|
||||
desc = "A huge chunk of metal with a dial embedded in it. Fine print on the dial reads \"Scarborough Arms - 2 tumbler safe, guaranteed thermite resistant, explosion resistant, and assistant resistant.\""
|
||||
icon = 'icons/obj/safe.dmi'
|
||||
icon = 'icons/obj/containers/safe.dmi'
|
||||
icon_state = "safe"
|
||||
anchored = 1
|
||||
density = 1
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/obj/structure/tranqcabinet
|
||||
name = "tranquilizer rifle cabinet"
|
||||
desc = "A wall mounted cabinet designed to hold a tranquilizer rifle."
|
||||
icon = 'icons/obj/closet.dmi'
|
||||
icon = 'icons/obj/containers/closet.dmi'
|
||||
icon_state = "tranq_closed"
|
||||
anchored = 1
|
||||
density = 0
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/obj/structure/undies_wardrobe
|
||||
name = "underwear wardrobe"
|
||||
desc = "Holds item of clothing you shouldn't be showing off in the hallways."
|
||||
icon = 'icons/obj/closet.dmi'
|
||||
icon = 'icons/obj/containers/closet.dmi'
|
||||
icon_state = "cabinet"
|
||||
density = 1
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/obj/item/material/lock_construct
|
||||
name = "lock"
|
||||
desc = "A crude but useful lock and bolt."
|
||||
icon = 'icons/obj/crate.dmi'
|
||||
icon = 'icons/obj/containers/crate.dmi'
|
||||
icon_state = "largebinemag"
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
var/lock_data
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
/mob/living/simple_animal/hostile/mimic
|
||||
name = "crate"
|
||||
desc = "A rectangular steel crate."
|
||||
icon = 'icons/obj/crate.dmi'
|
||||
icon = 'icons/obj/containers/crate.dmi'
|
||||
icon_state = "crate_preview"
|
||||
icon_living = "crate_preview"
|
||||
|
||||
|
||||
@@ -0,0 +1,59 @@
|
||||
################################
|
||||
# Example Changelog File
|
||||
#
|
||||
# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb.
|
||||
#
|
||||
# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.)
|
||||
# When it is, any changes listed below will disappear.
|
||||
#
|
||||
# Valid Prefixes:
|
||||
# bugfix
|
||||
# - (fixes bugs)
|
||||
# wip
|
||||
# - (work in progress)
|
||||
# qol
|
||||
# - (quality of life)
|
||||
# soundadd
|
||||
# - (adds a sound)
|
||||
# sounddel
|
||||
# - (removes a sound)
|
||||
# rscadd
|
||||
# - (adds a feature)
|
||||
# rscdel
|
||||
# - (removes a feature)
|
||||
# imageadd
|
||||
# - (adds an image or sprite)
|
||||
# imagedel
|
||||
# - (removes an image or sprite)
|
||||
# spellcheck
|
||||
# - (fixes spelling or grammar)
|
||||
# experiment
|
||||
# - (experimental change)
|
||||
# balance
|
||||
# - (balance changes)
|
||||
# code_imp
|
||||
# - (misc internal code change)
|
||||
# refactor
|
||||
# - (refactors code)
|
||||
# config
|
||||
# - (makes a change to the config files)
|
||||
# admin
|
||||
# - (makes changes to administrator tools)
|
||||
# server
|
||||
# - (miscellaneous changes to server)
|
||||
#################################
|
||||
|
||||
# Your name.
|
||||
author: Batrachophreno
|
||||
|
||||
# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again.
|
||||
delete-after: True
|
||||
|
||||
# Any changes you've made. See valid prefix list above.
|
||||
# INDENT WITH TWO SPACES. NOT TABS. SPACES.
|
||||
# SCREW THIS UP AND IT WON'T WORK.
|
||||
# Also, this gets changed to [] after reading. Just remove the brackets when you add new shit.
|
||||
# Please surround your changes in double quotes ("). It works without them, but if you use certain characters it screws up compiling. The quotes will not show up in the changelog.
|
||||
changes:
|
||||
- code_imp: "Updated crates and lockers to use standalone security panel sprite overlays."
|
||||
- refactor: "Moved several container spritesheets to a dedicated folder."
|
||||
|
Before Width: | Height: | Size: 44 KiB |
|
After Width: | Height: | Size: 44 KiB |
|
After Width: | Height: | Size: 26 KiB |
|
Before Width: | Height: | Size: 3.2 KiB After Width: | Height: | Size: 3.2 KiB |
|
Before Width: | Height: | Size: 1.9 KiB After Width: | Height: | Size: 1.9 KiB |
|
Before Width: | Height: | Size: 3.7 KiB After Width: | Height: | Size: 3.7 KiB |
|
Before Width: | Height: | Size: 27 KiB |
|
Before Width: | Height: | Size: 2.1 KiB |
@@ -993,6 +993,13 @@
|
||||
/obj/structure/table/stone/marble,
|
||||
/turf/simulated/floor/tiled/dark,
|
||||
/area/city/mendell/interior)
|
||||
"fi" = (
|
||||
/obj/item/storage/box/tactical/frags,
|
||||
/obj/item/storage/box/tactical/frags,
|
||||
/obj/item/storage/box/tactical/frags,
|
||||
/obj/item/storage/box/tactical/frags,
|
||||
/turf/simulated/floor/reinforced,
|
||||
/area/city/mendell)
|
||||
"fk" = (
|
||||
/obj/item/clothing/under/suit_jacket/nt_skirtsuit,
|
||||
/obj/item/clothing/under/suit_jacket/nt_skirtsuit,
|
||||
@@ -2445,24 +2452,6 @@
|
||||
name = "small tiles"
|
||||
},
|
||||
/area/city/mendell/interior)
|
||||
"nU" = (
|
||||
/obj/structure/table/rack,
|
||||
/obj/item/melee/energy/sword/knife/sol,
|
||||
/obj/item/melee/energy/sword/knife/sol,
|
||||
/obj/item/melee/energy/sword/knife/sol,
|
||||
/obj/item/melee/energy/sword/knife/sol,
|
||||
/obj/item/gun/projectile/shotgun/pump/combat/sol,
|
||||
/obj/item/gun/projectile/shotgun/pump/combat/sol,
|
||||
/obj/item/gun/projectile/shotgun/pump/combat/sol,
|
||||
/obj/item/gun/projectile/shotgun/pump/combat/sol,
|
||||
/obj/item/storage/box/shells/incendiaryshells,
|
||||
/obj/item/storage/box/shells/buckshot,
|
||||
/obj/item/storage/box/shells/buckshot,
|
||||
/obj/item/storage/box/shells/buckshot,
|
||||
/obj/item/storage/box/shells/buckshot,
|
||||
/obj/item/storage/box/shells/buckshot,
|
||||
/turf/simulated/floor/reinforced,
|
||||
/area/city/mendell)
|
||||
"nY" = (
|
||||
/obj/structure/bedsheetbin,
|
||||
/obj/structure/table/wood,
|
||||
@@ -2780,33 +2769,6 @@
|
||||
},
|
||||
/turf/simulated/floor/wood,
|
||||
/area/city/mendell/interior)
|
||||
"qj" = (
|
||||
/obj/effect/decal/fake_object{
|
||||
desc = "What jerk stacked these here?";
|
||||
icon = 'icons/obj/crate.dmi';
|
||||
icon_state = "tcfl_crate_preview";
|
||||
name = "inconveniently placed crate";
|
||||
pixel_x = 1
|
||||
},
|
||||
/obj/effect/decal/fake_object{
|
||||
density = 1;
|
||||
desc = "What jerk stacked these here?";
|
||||
icon = 'icons/obj/crate.dmi';
|
||||
icon_state = "tcfl_crate_preview";
|
||||
name = "inconveniently placed crate";
|
||||
pixel_x = 3;
|
||||
pixel_y = 8
|
||||
},
|
||||
/obj/effect/decal/fake_object{
|
||||
desc = "What jerk stacked these here?";
|
||||
icon = 'icons/obj/crate.dmi';
|
||||
icon_state = "tcfl_crate_preview";
|
||||
name = "inconveniently placed crate";
|
||||
pixel_x = 2;
|
||||
pixel_y = 19
|
||||
},
|
||||
/turf/simulated/floor/tiled/dark,
|
||||
/area/city/mendell)
|
||||
"qn" = (
|
||||
/obj/machinery/door/blast/odin{
|
||||
id = "front_doors"
|
||||
@@ -4165,13 +4127,6 @@
|
||||
/obj/item/storage/box/fancy/cigarettes/cigar,
|
||||
/turf/simulated/floor/tiled/dark,
|
||||
/area/city/mendell/interior)
|
||||
"xZ" = (
|
||||
/obj/item/storage/box/tactical/frags,
|
||||
/obj/item/storage/box/tactical/frags,
|
||||
/obj/item/storage/box/tactical/frags,
|
||||
/obj/item/storage/box/tactical/frags,
|
||||
/turf/simulated/floor/reinforced,
|
||||
/area/city/mendell)
|
||||
"ya" = (
|
||||
/obj/structure/railing/mapped,
|
||||
/obj/effect/floor_decal/industrial/warning,
|
||||
@@ -4638,6 +4593,33 @@
|
||||
name = "hex flooring"
|
||||
},
|
||||
/area/city/mendell/interior)
|
||||
"Bh" = (
|
||||
/obj/effect/decal/fake_object{
|
||||
desc = "What jerk stacked these here?";
|
||||
icon = 'icons/obj/containers/crate.dmi';
|
||||
icon_state = "tcfl_crate_preview";
|
||||
name = "inconveniently placed crate";
|
||||
pixel_x = 1
|
||||
},
|
||||
/obj/effect/decal/fake_object{
|
||||
density = 1;
|
||||
desc = "What jerk stacked these here?";
|
||||
icon = 'icons/obj/containers/crate.dmi';
|
||||
icon_state = "tcfl_crate_preview";
|
||||
name = "inconveniently placed crate";
|
||||
pixel_x = 3;
|
||||
pixel_y = 8
|
||||
},
|
||||
/obj/effect/decal/fake_object{
|
||||
desc = "What jerk stacked these here?";
|
||||
icon = 'icons/obj/containers/crate.dmi';
|
||||
icon_state = "tcfl_crate_preview";
|
||||
name = "inconveniently placed crate";
|
||||
pixel_x = 2;
|
||||
pixel_y = 19
|
||||
},
|
||||
/turf/simulated/floor/tiled/dark,
|
||||
/area/city/mendell)
|
||||
"Bl" = (
|
||||
/obj/machinery/light/small{
|
||||
dir = 1
|
||||
@@ -5111,6 +5093,24 @@
|
||||
/obj/item/reagent_containers/food/snacks/burger/superbite,
|
||||
/turf/simulated/floor/tiled/white,
|
||||
/area/city/mendell/interior)
|
||||
"Do" = (
|
||||
/obj/structure/table/rack,
|
||||
/obj/item/melee/energy/sword/knife/sol,
|
||||
/obj/item/melee/energy/sword/knife/sol,
|
||||
/obj/item/melee/energy/sword/knife/sol,
|
||||
/obj/item/melee/energy/sword/knife/sol,
|
||||
/obj/item/gun/projectile/shotgun/pump/combat/sol,
|
||||
/obj/item/gun/projectile/shotgun/pump/combat/sol,
|
||||
/obj/item/gun/projectile/shotgun/pump/combat/sol,
|
||||
/obj/item/gun/projectile/shotgun/pump/combat/sol,
|
||||
/obj/item/storage/box/shells/incendiaryshells,
|
||||
/obj/item/storage/box/shells/buckshot,
|
||||
/obj/item/storage/box/shells/buckshot,
|
||||
/obj/item/storage/box/shells/buckshot,
|
||||
/obj/item/storage/box/shells/buckshot,
|
||||
/obj/item/storage/box/shells/buckshot,
|
||||
/turf/simulated/floor/reinforced,
|
||||
/area/city/mendell)
|
||||
"Dt" = (
|
||||
/turf/simulated/floor/lino,
|
||||
/area/city/mendell/interior)
|
||||
@@ -7764,18 +7764,6 @@
|
||||
},
|
||||
/turf/simulated/floor/marble/dark,
|
||||
/area/city/mendell/interior)
|
||||
"Tb" = (
|
||||
/obj/effect/decal/fake_object{
|
||||
desc = "A crate of military supplies.";
|
||||
icon = 'icons/obj/crate.dmi';
|
||||
icon_state = "dropcrate";
|
||||
name = "metal crate";
|
||||
pixel_x = 1;
|
||||
pixel_y = 4
|
||||
},
|
||||
/obj/effect/floor_decal/industrial/hatch/red,
|
||||
/turf/simulated/floor/tiled/dark,
|
||||
/area/city/mendell)
|
||||
"Tc" = (
|
||||
/obj/machinery/door/airlock/centcom{
|
||||
id_tag = "qs1";
|
||||
@@ -8522,6 +8510,18 @@
|
||||
},
|
||||
/turf/simulated/floor/wood,
|
||||
/area/city/mendell)
|
||||
"Xw" = (
|
||||
/obj/effect/decal/fake_object{
|
||||
desc = "A crate of military supplies.";
|
||||
icon = 'icons/obj/containers/crate.dmi';
|
||||
icon_state = "dropcrate";
|
||||
name = "metal crate";
|
||||
pixel_x = 1;
|
||||
pixel_y = 4
|
||||
},
|
||||
/obj/effect/floor_decal/industrial/hatch/red,
|
||||
/turf/simulated/floor/tiled/dark,
|
||||
/area/city/mendell)
|
||||
"XA" = (
|
||||
/obj/structure/table/rack,
|
||||
/obj/item/reagent_containers/food/snacks/batwings,
|
||||
@@ -14044,7 +14044,7 @@ VN
|
||||
Pk
|
||||
Or
|
||||
Or
|
||||
Tb
|
||||
Xw
|
||||
xq
|
||||
xq
|
||||
vx
|
||||
@@ -14394,7 +14394,7 @@ Nc
|
||||
Or
|
||||
kH
|
||||
Pk
|
||||
qj
|
||||
Bh
|
||||
vF
|
||||
Pk
|
||||
KL
|
||||
@@ -28475,7 +28475,7 @@ xD
|
||||
xD
|
||||
Or
|
||||
eI
|
||||
xZ
|
||||
fi
|
||||
ro
|
||||
Or
|
||||
Jy
|
||||
@@ -28561,7 +28561,7 @@ xD
|
||||
xD
|
||||
xD
|
||||
fK
|
||||
nU
|
||||
Do
|
||||
xD
|
||||
ro
|
||||
Or
|
||||
@@ -28648,7 +28648,7 @@ xD
|
||||
xD
|
||||
xD
|
||||
fK
|
||||
nU
|
||||
Do
|
||||
xD
|
||||
ro
|
||||
Or
|
||||
@@ -28735,7 +28735,7 @@ xD
|
||||
xD
|
||||
xD
|
||||
fK
|
||||
nU
|
||||
Do
|
||||
xD
|
||||
ro
|
||||
fK
|
||||
@@ -28822,7 +28822,7 @@ xD
|
||||
xD
|
||||
xD
|
||||
Or
|
||||
nU
|
||||
Do
|
||||
xD
|
||||
ro
|
||||
Or
|
||||
@@ -30911,7 +30911,7 @@ xD
|
||||
xD
|
||||
Or
|
||||
eI
|
||||
xZ
|
||||
fi
|
||||
Ni
|
||||
Or
|
||||
Jy
|
||||
|
||||