Skip to content

Commit

Permalink
[MIRROR] Brings the captain's safe off the wall, safes now save their…
Browse files Browse the repository at this point in the history
… contents (#1487) (#2475)

* Brings the captain's safe off the wall, safes now save their contents (#81762)

## About The Pull Request

I originally was gonna make the captain's spare ID safe float in the air
if the wall under it was taken down, but it looked poor and was going
against the vision for wall items (and go against the wallening) so my
alternative proposition is this, taking the safe off the wall.
It's now a golden safe (like the one in the vault) but is interacted the
exact same, it's now just a thing on the floor rather than being on a
wall.
I'm not a spriter so I didn't give it a custom icon but if anyone wants
to they can feel free to add one, just a golden version of the regular
safe felt kinda eh.

I also added a wallframe version of the secure safe for when it is taken
down. It will conserve its contents and be permanently locked until put
back up. This doesn't apply to the new captain safe since it isn't a
wall item.

## Why It's Good For The Game

Closes tgstation/tgstation#80588
Prevents people from cheesing the spare and/or it being too easy to
destroy.

## Changelog

:cl:
fix: The captain's safe is no longer on the wall, therefore cannot be
cheesed by breaking the wall it sits on.
fix: Tearing down a wall that a safe is on now drops the safe with its
contents, rather than dropping the contents onto the floor. The safe's
contents cannot be interacted with while it's not on a wall.
/:cl:

* Brings the captain's safe off the wall, safes now save their contents

* Void and Blueshift

---------

Co-authored-by: NovaBot <[email protected]>
Co-authored-by: John Willard <[email protected]>
Co-authored-by: SomeRandomOwl <[email protected]>
  • Loading branch information
4 people authored Mar 20, 2024
1 parent df70b6d commit 23d21e5
Show file tree
Hide file tree
Showing 11 changed files with 93 additions and 65 deletions.
14 changes: 1 addition & 13 deletions _maps/map_files/Birdshot/birdshot.dmm
Original file line number Diff line number Diff line change
Expand Up @@ -18008,10 +18008,8 @@
/area/station/hallway/primary/fore)
"gBT" = (
/obj/structure/window/reinforced/spawner/directional/east,
/obj/structure/secure_safe/caps_spare,
/obj/structure/table/glass,
/obj/item/folder/blue{
pixel_y = 2
},
/turf/open/floor/glass/reinforced,
/area/station/command/bridge)
"gCe" = (
Expand Down Expand Up @@ -35084,15 +35082,6 @@
/area/station/maintenance/central/lesser)
"mxa" = (
/obj/structure/window/reinforced/spawner/directional/east,
/obj/structure/table/glass,
/obj/item/paper_bin{
pixel_x = -2;
pixel_y = 8
},
/obj/item/pen{
pixel_x = -1;
pixel_y = 8
},
/turf/open/floor/glass/reinforced,
/area/station/command/bridge)
"mxe" = (
Expand Down Expand Up @@ -40627,7 +40616,6 @@
/area/station/hallway/primary/central/fore)
"owZ" = (
/obj/item/kirbyplants/organic/applebush,
/obj/structure/secure_safe/caps_spare/directional/west,
/turf/open/floor/iron/dark/smooth_large,
/area/station/command/bridge)
"oxb" = (
Expand Down
5 changes: 2 additions & 3 deletions _maps/map_files/Deltastation/DeltaStation2.dmm
Original file line number Diff line number Diff line change
Expand Up @@ -10252,7 +10252,6 @@
"cxu" = (
/obj/structure/table/reinforced,
/obj/item/storage/medkit/regular,
/obj/structure/secure_safe/caps_spare/directional/west,
/obj/effect/turf_decal/tile/blue{
dir = 1
},
Expand Down Expand Up @@ -47062,7 +47061,7 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/structure/table/wood,
/obj/structure/window/reinforced/spawner/directional/east,
/obj/item/flashlight/lamp,
/obj/machinery/computer/security/wooden_tv,
/turf/open/floor/iron/grimy,
/area/station/command/bridge)
"lGE" = (
Expand Down Expand Up @@ -66323,8 +66322,8 @@
"qBY" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/structure/secure_safe/caps_spare,
/obj/structure/table/wood,
/obj/machinery/computer/security/wooden_tv,
/turf/open/floor/iron/grimy,
/area/station/command/bridge)
"qCb" = (
Expand Down
9 changes: 3 additions & 6 deletions _maps/map_files/IceBoxStation/IceBoxStation.dmm
Original file line number Diff line number Diff line change
Expand Up @@ -17960,11 +17960,8 @@
/turf/open/floor/iron/showroomfloor,
/area/station/engineering/atmos)
"fwQ" = (
/obj/structure/secure_safe/caps_spare,
/obj/structure/table/reinforced,
/obj/structure/secure_safe/caps_spare/directional/east,
/obj/item/papercutter{
pixel_x = 7
},
/turf/open/floor/iron,
/area/station/command/bridge)
"fwS" = (
Expand Down Expand Up @@ -237775,7 +237772,7 @@ utR
uEQ
lET
grA
cEv
fwQ
nOH
gxU
gZq
Expand Down Expand Up @@ -240344,8 +240341,8 @@ nfk
utR
tmQ
qnV
fwQ
kBr
cEv
lhv
iGH
bGm
Expand Down
21 changes: 6 additions & 15 deletions _maps/map_files/MetaStation/MetaStation.dmm
Original file line number Diff line number Diff line change
Expand Up @@ -38614,10 +38614,7 @@
/turf/open/floor/iron/dark,
/area/station/engineering/atmos)
"nOq" = (
/obj/machinery/holopad/secure{
pixel_x = 9;
pixel_y = -9
},
/obj/machinery/holopad/secure,
/turf/open/floor/carpet,
/area/station/command/heads_quarters/captain/private)
"nOv" = (
Expand Down Expand Up @@ -47699,10 +47696,7 @@
/turf/open/floor/iron,
/area/station/cargo/sorting)
"raJ" = (
/obj/machinery/computer/security/wooden_tv{
pixel_x = 1;
pixel_y = 6
},
/obj/structure/secure_safe/caps_spare,
/obj/structure/table/glass,
/turf/open/floor/iron/dark,
/area/station/command/bridge)
Expand Down Expand Up @@ -55714,13 +55708,11 @@
/area/station/maintenance/port)
"tTL" = (
/obj/structure/table/glass,
/obj/item/folder/blue{
pixel_y = 2
},
/obj/item/folder/blue{
pixel_y = 2
},
/obj/structure/window/reinforced/spawner/directional/east,
/obj/machinery/computer/security/wooden_tv{
pixel_x = 1;
pixel_y = 6
},
/turf/open/floor/iron/dark,
/area/station/command/bridge)
"tTP" = (
Expand Down Expand Up @@ -57213,7 +57205,6 @@
pixel_y = -3
},
/obj/structure/table/glass,
/obj/structure/secure_safe/caps_spare/directional/west,
/obj/effect/turf_decal/tile/green/half/contrasted{
dir = 8
},
Expand Down
14 changes: 9 additions & 5 deletions _maps/map_files/NSVBlueshift/Blueshift.dmm
Original file line number Diff line number Diff line change
Expand Up @@ -9220,10 +9220,6 @@
/area/station/ai_monitored/turret_protected/aisat_interior)
"bOx" = (
/obj/item/radio/intercom/directional/south,
/obj/structure/secure_safe/caps_spare{
pixel_x = 5;
pixel_y = -37
},
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
Expand Down Expand Up @@ -49733,6 +49729,14 @@
/obj/effect/turf_decal/bot,
/turf/open/floor/iron,
/area/station/engineering/break_room)
"jAf" = (
/obj/structure/secure_safe/caps_spare{
base_icon_state = "floorsafe";
icon_state = "floorsafe";
pixel_x = -1
},
/turf/open/floor/iron,
/area/station/command/bridge)
"jAj" = (
/obj/structure/cable/layer1,
/obj/structure/disposalpipe/segment{
Expand Down Expand Up @@ -224649,7 +224653,7 @@ bbG
bwg
gij
bMO
tVq
jAf
kJQ
qDo
jiu
Expand Down
4 changes: 2 additions & 2 deletions _maps/map_files/NorthStar/north_star.dmm
Original file line number Diff line number Diff line change
Expand Up @@ -11477,8 +11477,9 @@
/turf/open/floor/iron/white,
/area/station/science/lobby)
"cRe" = (
/obj/structure/reagent_dispensers/water_cooler,
/obj/machinery/status_display/ai/directional/north,
/obj/structure/secure_safe/caps_spare,
/obj/structure/table/reinforced,
/turf/open/floor/iron/dark,
/area/station/command/bridge)
"cRs" = (
Expand Down Expand Up @@ -91625,7 +91626,6 @@
/turf/open/floor/pod/light,
/area/station/maintenance/floor2/port/fore)
"xzS" = (
/obj/structure/secure_safe/caps_spare/directional/south,
/obj/effect/turf_decal/tile/purple/fourcorners,
/turf/open/floor/iron/dark,
/area/station/command/bridge)
Expand Down
8 changes: 5 additions & 3 deletions _maps/map_files/VoidRaptor/VoidRaptor.dmm
Original file line number Diff line number Diff line change
Expand Up @@ -7185,9 +7185,6 @@
/turf/closed/wall,
/area/station/maintenance/port/greater)
"chg" = (
/obj/structure/secure_safe/caps_spare{
pixel_x = -24
},
/obj/structure/table/reinforced/rglass,
/obj/item/storage/photo_album,
/obj/item/camera{
Expand Down Expand Up @@ -15252,6 +15249,11 @@
"esP" = (
/obj/structure/window/reinforced/spawner/directional/south,
/obj/effect/turf_decal/tile/dark_blue/anticorner,
/obj/structure/secure_safe/caps_spare{
base_icon_state = "floorsafe";
icon_state = "floorsafe";
pixel_y = 5
},
/turf/open/floor/iron/dark/smooth_large,
/area/station/command/bridge)
"etd" = (
Expand Down
29 changes: 18 additions & 11 deletions _maps/map_files/tramstation/tramstation.dmm
Original file line number Diff line number Diff line change
Expand Up @@ -35117,6 +35117,7 @@
/area/station/engineering/atmos)
"lrZ" = (
/obj/structure/table/glass,
/obj/structure/secure_safe/caps_spare,
/turf/open/floor/glass,
/area/station/command/meeting_room)
"lse" = (
Expand Down Expand Up @@ -43742,6 +43743,10 @@
},
/turf/open/floor/iron,
/area/station/ai_monitored/security/armory)
"ouQ" = (
/obj/effect/turf_decal/siding/wood/corner,
/turf/open/floor/wood,
/area/station/command/meeting_room)
"ouW" = (
/obj/structure/table/wood,
/obj/item/storage/photo_album/library,
Expand Down Expand Up @@ -46135,6 +46140,11 @@
},
/turf/open/floor/iron,
/area/station/hallway/secondary/service)
"ptq" = (
/obj/effect/turf_decal/siding/wood/corner,
/obj/structure/disposalpipe/segment,
/turf/open/floor/wood,
/area/station/command/meeting_room)
"pts" = (
/obj/machinery/power/smes{
capacity = 9e+006;
Expand Down Expand Up @@ -46973,6 +46983,11 @@
},
/turf/open/floor/carpet,
/area/station/cargo/miningdock)
"pGr" = (
/obj/machinery/disposal/bin,
/obj/structure/disposalpipe/trunk,
/turf/open/floor/wood,
/area/station/command/meeting_room)
"pGy" = (
/obj/effect/turf_decal/trimline/neutral/filled/line{
dir = 8
Expand Down Expand Up @@ -48423,7 +48438,6 @@
/area/station/medical/chemistry)
"qgy" = (
/obj/structure/table/reinforced,
/obj/structure/secure_safe/caps_spare/directional/east,
/obj/machinery/cell_charger{
pixel_y = 4
},
Expand Down Expand Up @@ -64145,10 +64159,6 @@
/area/station/hallway/secondary/entry)
"vxv" = (
/obj/effect/turf_decal/siding/wood,
/obj/machinery/disposal/bin,
/obj/structure/disposalpipe/trunk{
dir = 8
},
/obj/machinery/light/warm/directional/north,
/turf/open/floor/wood,
/area/station/command/meeting_room)
Expand Down Expand Up @@ -68020,9 +68030,6 @@
/obj/effect/turf_decal/siding/wood{
dir = 6
},
/obj/structure/disposalpipe/segment{
dir = 9
},
/turf/open/floor/wood,
/area/station/command/meeting_room)
"wWh" = (
Expand Down Expand Up @@ -154914,8 +154921,8 @@ eOh
pJJ
fWM
qyZ
joF
kSZ
pGr
ptq
lmG
hHI
gIG
Expand Down Expand Up @@ -155171,7 +155178,7 @@ phB
qdY
xNj
qyZ
kSZ
ouQ
wWe
imr
iue
Expand Down
4 changes: 3 additions & 1 deletion code/game/objects/structures/safe.dm
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@ FLOOR SAFES
/obj/structure/safe/Initialize(mapload)
. = ..()

update_appearance(UPDATE_ICON)
// Combination generation
for(var/iterating in 1 to number_of_tumblers)
tumblers.Add(rand(0, 99))
Expand All @@ -57,7 +58,8 @@ FLOOR SAFES
inserting_item.forceMove(src)

/obj/structure/safe/update_icon_state()
icon_state = "[initial(icon_state)][open ? "-open" : null]"
//uses the same icon as the captain's spare safe (therefore lockable storage) so keep it in line with that
icon_state = "[initial(icon_state)][open ? null : "_locked"]"
return ..()

/obj/structure/safe/attackby(obj/item/attacking_item, mob/user, params)
Expand Down
Loading

0 comments on commit 23d21e5

Please sign in to comment.