mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-25 06:00:16 +01:00
Adds more persistent photo albums (#45898)
* album * more slots * new icon for old photos
This commit is contained in:
@@ -13401,13 +13401,6 @@
|
||||
/area/crew_quarters/bar)
|
||||
"aEZ" = (
|
||||
/obj/structure/table/wood,
|
||||
/obj/item/storage/fancy/cigarettes/cigars{
|
||||
pixel_y = 6
|
||||
},
|
||||
/obj/item/storage/fancy/cigarettes/cigars/cohiba{
|
||||
pixel_y = 3
|
||||
},
|
||||
/obj/item/storage/fancy/cigarettes/cigars/havana,
|
||||
/obj/item/radio/intercom{
|
||||
pixel_y = 26
|
||||
},
|
||||
@@ -13421,6 +13414,14 @@
|
||||
/obj/effect/turf_decal/tile/neutral{
|
||||
dir = 8
|
||||
},
|
||||
/obj/item/storage/photo_album/bar{
|
||||
pixel_x = -6;
|
||||
pixel_y = 6
|
||||
},
|
||||
/obj/item/storage/fancy/cigarettes/cigars/havana,
|
||||
/obj/item/storage/fancy/cigarettes/cigars/cohiba{
|
||||
pixel_y = 3
|
||||
},
|
||||
/turf/open/floor/plasteel/dark,
|
||||
/area/crew_quarters/bar)
|
||||
"aFa" = (
|
||||
@@ -17199,7 +17200,6 @@
|
||||
/turf/open/floor/plating,
|
||||
/area/security/prison)
|
||||
"aMf" = (
|
||||
/obj/structure/easel,
|
||||
/obj/machinery/computer/security/telescreen/entertainment{
|
||||
pixel_y = 32
|
||||
},
|
||||
@@ -17207,11 +17207,18 @@
|
||||
/obj/machinery/light/small{
|
||||
dir = 1
|
||||
},
|
||||
/obj/item/canvas/twentythreeXtwentythree,
|
||||
/obj/item/canvas/twentythreeXtwentythree,
|
||||
/obj/effect/turf_decal/tile/red{
|
||||
dir = 1
|
||||
},
|
||||
/obj/structure/table,
|
||||
/obj/item/storage/photo_album/prison{
|
||||
pixel_x = 4;
|
||||
pixel_y = 4
|
||||
},
|
||||
/obj/item/camera{
|
||||
pixel_x = -2;
|
||||
pixel_y = -2
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/security/prison)
|
||||
"aMg" = (
|
||||
@@ -64898,10 +64905,10 @@
|
||||
/area/library)
|
||||
"cqQ" = (
|
||||
/obj/structure/table/wood,
|
||||
/obj/item/storage/briefcase,
|
||||
/obj/structure/window/reinforced{
|
||||
dir = 8
|
||||
},
|
||||
/obj/item/storage/photo_album/library,
|
||||
/turf/open/floor/plasteel/grimy,
|
||||
/area/library)
|
||||
"cqR" = (
|
||||
@@ -113705,8 +113712,7 @@
|
||||
/area/chapel/office)
|
||||
"efZ" = (
|
||||
/obj/structure/table/wood,
|
||||
/obj/item/folder/red,
|
||||
/obj/item/pen,
|
||||
/obj/item/storage/photo_album/chapel,
|
||||
/turf/open/floor/plasteel/grimy,
|
||||
/area/chapel/office)
|
||||
"ega" = (
|
||||
|
||||
@@ -456,10 +456,15 @@
|
||||
/turf/open/floor/plasteel/freezer,
|
||||
/area/security/prison)
|
||||
"abj" = (
|
||||
/obj/structure/easel,
|
||||
/obj/item/canvas/twentythreeXtwentythree,
|
||||
/obj/item/canvas/twentythreeXtwentythree,
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/obj/structure/table,
|
||||
/obj/item/storage/photo_album/prison{
|
||||
pixel_x = 6;
|
||||
pixel_y = 6
|
||||
},
|
||||
/obj/item/camera{
|
||||
pixel_x = -4
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/security/prison)
|
||||
"abk" = (
|
||||
@@ -771,6 +776,7 @@
|
||||
dir = 1
|
||||
},
|
||||
/obj/structure/table/reinforced,
|
||||
/obj/item/storage/photo_album/bar,
|
||||
/turf/open/floor/plasteel,
|
||||
/area/crew_quarters/bar)
|
||||
"abV" = (
|
||||
@@ -65640,14 +65646,10 @@
|
||||
/turf/open/floor/plasteel/grimy,
|
||||
/area/chapel/office)
|
||||
"cMG" = (
|
||||
/obj/item/paper_bin{
|
||||
pixel_x = -2;
|
||||
pixel_y = 8
|
||||
},
|
||||
/obj/item/pen,
|
||||
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
|
||||
/obj/structure/table/wood,
|
||||
/obj/structure/cable,
|
||||
/obj/item/storage/photo_album/chapel,
|
||||
/turf/open/floor/plasteel/grimy,
|
||||
/area/chapel/office)
|
||||
"cMH" = (
|
||||
@@ -74657,7 +74659,7 @@
|
||||
/area/vacant_room/commissary)
|
||||
"qLf" = (
|
||||
/obj/structure/table/wood,
|
||||
/obj/item/storage/photo_album,
|
||||
/obj/item/storage/photo_album/library,
|
||||
/turf/open/floor/engine/cult,
|
||||
/area/library)
|
||||
"rbG" = (
|
||||
|
||||
@@ -17415,6 +17415,17 @@
|
||||
},
|
||||
/turf/open/floor/plasteel/white,
|
||||
/area/centcom/holding)
|
||||
"Qd" = (
|
||||
/obj/structure/table/wood,
|
||||
/obj/item/storage/photo_album/syndicate{
|
||||
pixel_x = 4;
|
||||
pixel_y = 4
|
||||
},
|
||||
/obj/item/camera{
|
||||
pixel_x = -2
|
||||
},
|
||||
/turf/open/floor/wood,
|
||||
/area/syndicate_mothership/control)
|
||||
"Qe" = (
|
||||
/turf/open/ai_visible,
|
||||
/area/ai_multicam_room)
|
||||
@@ -36553,7 +36564,7 @@ sg
|
||||
tf
|
||||
pZ
|
||||
rf
|
||||
vv
|
||||
vx
|
||||
wn
|
||||
tQ
|
||||
ng
|
||||
@@ -36810,7 +36821,7 @@ sh
|
||||
sh
|
||||
pZ
|
||||
pZ
|
||||
vx
|
||||
Qd
|
||||
wo
|
||||
tZ
|
||||
ng
|
||||
|
||||
@@ -122,7 +122,7 @@
|
||||
|
||||
/datum/quirk/photographer
|
||||
name = "Photographer"
|
||||
desc = "You know how to handle a camera, shortening the delay between each shot."
|
||||
desc = "You carry your camera and personal photo album everywhere you go and can snap photos faster."
|
||||
value = 1
|
||||
mob_trait = TRAIT_PHOTOGRAPHER
|
||||
gain_text = "<span class='notice'>You know everything about photography.</span>"
|
||||
@@ -131,9 +131,24 @@
|
||||
|
||||
/datum/quirk/photographer/on_spawn()
|
||||
var/mob/living/carbon/human/H = quirk_holder
|
||||
var/obj/item/storage/photo_album/photo_album = new(get_turf(H))
|
||||
var/list/album_slots = list (
|
||||
"backpack" = SLOT_IN_BACKPACK,
|
||||
"hands" = SLOT_HANDS
|
||||
)
|
||||
H.equip_in_one_of_slots(photo_album, album_slots , qdel_on_fail = TRUE)
|
||||
photo_album.persistence_id = "personal_[H.mind.key]" // this is a persistent album, the ID is tied to the account's key to avoid tampering
|
||||
photo_album.persistence_load()
|
||||
photo_album.name = "\improper [H.real_name]'s photo album"
|
||||
var/obj/item/camera/camera = new(get_turf(H))
|
||||
H.put_in_hands(camera)
|
||||
H.equip_to_slot(camera, SLOT_NECK)
|
||||
var/list/camera_slots = list (
|
||||
"neck" = SLOT_NECK,
|
||||
"left pocket" = SLOT_L_STORE,
|
||||
"right pocket" = SLOT_R_STORE,
|
||||
"backpack" = SLOT_IN_BACKPACK,
|
||||
"hands" = SLOT_HANDS
|
||||
)
|
||||
H.equip_in_one_of_slots(camera, camera_slots , qdel_on_fail = TRUE)
|
||||
H.regenerate_icons()
|
||||
|
||||
/datum/quirk/selfaware
|
||||
|
||||
@@ -82,7 +82,7 @@
|
||||
/proc/load_photo_from_disk(id, location)
|
||||
var/datum/picture/P = load_picture_from_disk(id)
|
||||
if(istype(P))
|
||||
var/obj/item/photo/p = new(location, P)
|
||||
var/obj/item/photo/old/p = new(location, P)
|
||||
return p
|
||||
|
||||
/proc/load_picture_from_disk(id)
|
||||
|
||||
@@ -15,6 +15,7 @@
|
||||
flags_1 = CONDUCT_1
|
||||
slot_flags = ITEM_SLOT_NECK
|
||||
materials = list(/datum/material/iron = 50, /datum/material/glass = 150)
|
||||
custom_price = 80
|
||||
var/flash_enabled = TRUE
|
||||
var/state_on = "camera"
|
||||
var/state_off = "camera_off"
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
*/
|
||||
/obj/item/storage/photo_album
|
||||
name = "photo album"
|
||||
desc = "A big book used to store photos and mementos."
|
||||
icon = 'icons/obj/items_and_weapons.dmi'
|
||||
icon_state = "album"
|
||||
item_state = "briefcase"
|
||||
@@ -48,28 +49,55 @@
|
||||
for(var/i in ids)
|
||||
if(i in current_ids)
|
||||
continue
|
||||
var/obj/item/photo/P = load_photo_from_disk(i)
|
||||
var/obj/item/photo/old/P = load_photo_from_disk(i)
|
||||
if(istype(P))
|
||||
if(!SEND_SIGNAL(src, COMSIG_TRY_STORAGE_INSERT, P, null, TRUE, TRUE))
|
||||
qdel(P)
|
||||
|
||||
/obj/item/storage/photo_album/HoS
|
||||
name = "photo album (Head of Security)"
|
||||
persistence_id = "HoS"
|
||||
|
||||
/obj/item/storage/photo_album/RD
|
||||
name = "photo album (Research Director)"
|
||||
persistence_id = "RD"
|
||||
|
||||
/obj/item/storage/photo_album/HoP
|
||||
name = "photo album (Head of Personnel)"
|
||||
persistence_id = "HoP"
|
||||
|
||||
/obj/item/storage/photo_album/Captain
|
||||
name = "photo album (Captain)"
|
||||
persistence_id = "Captain"
|
||||
|
||||
/obj/item/storage/photo_album/CMO
|
||||
name = "photo album (Chief Medical Officer)"
|
||||
persistence_id = "CMO"
|
||||
|
||||
/obj/item/storage/photo_album/QM
|
||||
name = "photo album (Quartermaster)"
|
||||
persistence_id = "QM"
|
||||
|
||||
/obj/item/storage/photo_album/CE
|
||||
name = "photo album (Chief Engineer)"
|
||||
persistence_id = "CE"
|
||||
|
||||
/obj/item/storage/photo_album/bar
|
||||
name = "photo album (Bar)"
|
||||
persistence_id = "bar"
|
||||
|
||||
/obj/item/storage/photo_album/syndicate
|
||||
name = "photo album (Syndicate)"
|
||||
persistence_id = "syndicate"
|
||||
|
||||
/obj/item/storage/photo_album/library
|
||||
name = "photo album (Library)"
|
||||
persistence_id = "library"
|
||||
|
||||
obj/item/storage/photo_album/chapel
|
||||
name = "photo album (Chapel)"
|
||||
persistence_id = "chapel"
|
||||
|
||||
obj/item/storage/photo_album/prison
|
||||
name = "photo album (Prison)"
|
||||
persistence_id = "prison"
|
||||
|
||||
@@ -99,7 +99,7 @@
|
||||
load_from_id(data[persistence_id])
|
||||
|
||||
/obj/structure/sign/picture_frame/proc/load_from_id(id)
|
||||
var/obj/item/photo/P = load_photo_from_disk(id)
|
||||
var/obj/item/photo/old/P = load_photo_from_disk(id)
|
||||
if(istype(P))
|
||||
if(istype(framed))
|
||||
framed.forceMove(drop_location())
|
||||
|
||||
@@ -91,3 +91,6 @@
|
||||
if((loc == usr || loc.loc && loc.loc == usr) && usr.stat == CONSCIOUS && !usr.incapacitated())
|
||||
name = "photo[(n_name ? text("- '[n_name]'") : null)]"
|
||||
add_fingerprint(usr)
|
||||
|
||||
/obj/item/photo/old
|
||||
icon_state = "photo_old"
|
||||
|
||||
@@ -7,7 +7,8 @@
|
||||
/obj/item/storage/pill_bottle/dice = 10,
|
||||
/obj/item/toy/cards/deck/cas = 3,
|
||||
/obj/item/toy/cards/deck/cas/black = 3,
|
||||
/obj/item/hourglass = 2)
|
||||
/obj/item/hourglass = 2,
|
||||
/obj/item/camera = 3)
|
||||
contraband = list(/obj/item/dice/fudge = 9)
|
||||
refill_canister = /obj/item/vending_refill/games
|
||||
default_price = 10
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 90 KiB After Width: | Height: | Size: 93 KiB |
Reference in New Issue
Block a user