diff --git a/code/controllers/subsystem/mapping.dm b/code/controllers/subsystem/mapping.dm index ac2afa7cae..a2d6eaf8f7 100644 --- a/code/controllers/subsystem/mapping.dm +++ b/code/controllers/subsystem/mapping.dm @@ -454,7 +454,7 @@ GLOBAL_LIST_EMPTY(the_station_areas) var/choice = alert(src, "What kind of level would you like to load?", "Load Away/VR", AWAY_MISSION_NAME, VIRT_REALITY_NAME, "Cancel") - var/list/possible_options + var/list/possible_options = list("Custom") var/list/ztraits switch(choice) if(VIRT_REALITY_NAME) @@ -469,7 +469,6 @@ GLOBAL_LIST_EMPTY(the_station_areas) else return - possible_options = "Custom" var/away_name var/datum/space_level/away_level diff --git a/code/datums/looping_sounds/_looping_sound.dm b/code/datums/looping_sounds/_looping_sound.dm index f110d5e8ed..8bee4f3d1c 100644 --- a/code/datums/looping_sounds/_looping_sound.dm +++ b/code/datums/looping_sounds/_looping_sound.dm @@ -60,6 +60,7 @@ output_atoms -= remove_thing if(init_timerid) deltimer(init_timerid) + init_timerid = null if(!timerid) return on_stop() diff --git a/code/game/objects/items/storage/fancy.dm b/code/game/objects/items/storage/fancy.dm index 28f77b7676..cde6f5bd5a 100644 --- a/code/game/objects/items/storage/fancy.dm +++ b/code/game/objects/items/storage/fancy.dm @@ -168,13 +168,19 @@ . += "There's a coupon on the back of the pack! You can tear it off once it's empty." /obj/item/storage/fancy/cigarettes/AltClick(mob/living/carbon/user) + . = ..() if(!istype(user) || !user.canUseTopic(src, BE_CLOSE, ismonkey(user))) return - var/obj/item/clothing/mask/cigarette/W = locate(/obj/item/clothing/mask/cigarette) in contents + var/obj/item/lighter/L = locate() in contents + if(L) + SEND_SIGNAL(src, COMSIG_TRY_STORAGE_TAKE, L, user) + user.put_in_hands(L) + to_chat(user, "You take \a [L] out of the pack.") + return TRUE + var/obj/item/clothing/mask/cigarette/W = locate() in contents if(W && contents.len > 0) SEND_SIGNAL(src, COMSIG_TRY_STORAGE_TAKE, W, user) user.put_in_hands(W) - contents -= W to_chat(user, "You take \a [W] out of the pack.") else to_chat(user, "There are no [icon_type]s left in the pack.") diff --git a/code/game/objects/structures/morgue.dm b/code/game/objects/structures/morgue.dm index 9639ffae51..40753dde54 100644 --- a/code/game/objects/structures/morgue.dm +++ b/code/game/objects/structures/morgue.dm @@ -22,7 +22,8 @@ GLOBAL_LIST_EMPTY(bodycontainers) //Let them act as spawnpoints for revenants an anchored = TRUE max_integrity = 400 - var/obj/structure/tray/connected = null + var/obj/structure/tray/connected + var/starting_tray var/locked = FALSE dir = SOUTH var/message_cooldown @@ -30,6 +31,9 @@ GLOBAL_LIST_EMPTY(bodycontainers) //Let them act as spawnpoints for revenants an /obj/structure/bodycontainer/Initialize() . = ..() + if(starting_tray) + connected = new starting_tray(src) + connected.connected = src GLOB.bodycontainers += src recursive_organ_check(src) @@ -37,8 +41,7 @@ GLOBAL_LIST_EMPTY(bodycontainers) //Let them act as spawnpoints for revenants an GLOB.bodycontainers -= src open() if(connected) - qdel(connected) - connected = null + QDEL_NULL(connected) return ..() /obj/structure/bodycontainer/on_log(login) @@ -150,15 +153,11 @@ GLOBAL_LIST_EMPTY(bodycontainers) //Let them act as spawnpoints for revenants an desc = "Used to keep bodies in until someone fetches them. Now includes a high-tech alert system." icon_state = "morgue1" dir = EAST + starting_tray = /obj/structure/tray/m_tray var/beeper = TRUE var/beep_cooldown = 50 var/next_beep = 0 -/obj/structure/bodycontainer/morgue/New() - connected = new/obj/structure/tray/m_tray(src) - connected.connected = src - ..() - /obj/structure/bodycontainer/morgue/examine(mob/user) . = ..() . += "The speaker is [beeper ? "enabled" : "disabled"]. Alt-click to toggle it." @@ -208,6 +207,7 @@ GLOBAL_LIST_EMPTY(crematoriums) desc = "A human incinerator. Works well on barbecue nights." icon_state = "crema1" dir = SOUTH + starting_tray = /obj/structure/tray/c_tray var/id = 1 /obj/structure/bodycontainer/crematorium/attack_robot(mob/user) //Borgs can't use crematoriums without help @@ -218,17 +218,9 @@ GLOBAL_LIST_EMPTY(crematoriums) GLOB.crematoriums.Remove(src) return ..() -/obj/structure/bodycontainer/crematorium/New() - connected = new/obj/structure/tray/c_tray(src) - connected.connected = src - - GLOB.crematoriums.Add(src) - ..() - /obj/structure/bodycontainer/crematorium/Initialize() . = ..() - connected = new /obj/structure/tray/c_tray(src) - connected.connected = src + GLOB.crematoriums.Add(src) /obj/structure/bodycontainer/crematorium/connect_to_shuttle(obj/docking_port/mobile/port, obj/docking_port/stationary/dock, idnum, override=FALSE) id = "[idnum][id]" diff --git a/code/modules/mob/living/carbon/human/examine.dm b/code/modules/mob/living/carbon/human/examine.dm index 285134201f..cbea9293f5 100644 --- a/code/modules/mob/living/carbon/human/examine.dm +++ b/code/modules/mob/living/carbon/human/examine.dm @@ -249,7 +249,7 @@ msg += "[t_He] look[p_s()] extremely disgusted.\n" var/apparent_blood_volume = blood_volume - if(skin_tone == "albino") + if(dna.species.use_skintones && skin_tone == "albino") apparent_blood_volume -= 150 // enough to knock you down one tier switch(apparent_blood_volume) if(BLOOD_VOLUME_OKAY to BLOOD_VOLUME_SAFE) diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index 2802ac9e3b..19fdd8dbc8 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -390,7 +390,7 @@ // Checks the user has security clearence before allowing them to change arrest status via hud, comment out to enable all access var/allowed_access = null var/obj/item/clothing/glasses/G = H.glasses - if (!(G.obj_flags |= EMAGGED)) + if (!(G.obj_flags & EMAGGED)) if(H.wear_id) var/list/access = H.wear_id.GetAccess() if(ACCESS_SEC_DOORS in access) diff --git a/code/modules/paperwork/paper.dm b/code/modules/paperwork/paper.dm index 462d50eb45..01c25b57f1 100644 --- a/code/modules/paperwork/paper.dm +++ b/code/modules/paperwork/paper.dm @@ -297,6 +297,7 @@ var/datum/ui_state/default/paper_state/state = new state.edit_mode = MODE_STAMPING // we are read only becausse the sheet is full state.stamp_icon_state = P.icon_state + state.stamp_name = P.name var/datum/asset/spritesheet/sheet = get_asset_datum(/datum/asset/spritesheet/simple/paper) state.stamp_class = sheet.icon_class_name(P.icon_state)