From f2bcd204bcd141f6bcff8f910b10476a0db3496f Mon Sep 17 00:00:00 2001 From: AffectedArc07 Date: Sun, 5 May 2019 22:31:24 +0100 Subject: [PATCH 1/3] Fixes captains displaycase [Hooks P3] --- code/controllers/hooks-defs.dm | 7 ------- code/game/jobs/job/supervisor.dm | 2 +- code/game/objects/structures/displaycase.dm | 10 ++++++---- 3 files changed, 7 insertions(+), 12 deletions(-) diff --git a/code/controllers/hooks-defs.dm b/code/controllers/hooks-defs.dm index b080c279d93..aa38a133cae 100644 --- a/code/controllers/hooks-defs.dm +++ b/code/controllers/hooks-defs.dm @@ -10,13 +10,6 @@ */ /hook/roundstart -/** - * Captain spawned hook. - * Called in supervisor.dm when a captain spawns - * Parameters: var/mob/living/carbon/human/captain - */ -/hook/captain_spawned - /** * Mob login hook. * Called in login.dm when a player logs in to a mob. diff --git a/code/game/jobs/job/supervisor.dm b/code/game/jobs/job/supervisor.dm index 710835ca873..3208e9d3533 100644 --- a/code/game/jobs/job/supervisor.dm +++ b/code/game/jobs/job/supervisor.dm @@ -24,7 +24,7 @@ var/datum/announcement/minor/captain_announcement = new(do_newscast = 0) /datum/job/captain/announce(mob/living/carbon/human/H) . = ..() captain_announcement.Announce("All hands, Captain [H.real_name] on deck!") - callHook("captain_spawned", list("captain" = H)) + updateDisplaycase(H) /datum/outfit/job/captain name = "Captain" diff --git a/code/game/objects/structures/displaycase.dm b/code/game/objects/structures/displaycase.dm index 543ebd7af91..8d9d81c41b5 100644 --- a/code/game/objects/structures/displaycase.dm +++ b/code/game/objects/structures/displaycase.dm @@ -4,16 +4,14 @@ // List and hook used to set up the captain's print on their display case var/global/list/captain_display_cases = list() -/hook/captain_spawned/proc/displaycase(mob/living/carbon/human/captain) +/proc/updateDisplaycase(mob/living/carbon/human/captain) if(!captain_display_cases.len) - return 1 + return var/fingerprint = captain.get_full_print() for(var/obj/structure/displaycase/D in captain_display_cases) if(istype(D)) D.ue = fingerprint - return 1 - /obj/structure/displaycase_frame name = "display case frame" icon = 'icons/obj/stock_parts.dmi' @@ -123,6 +121,10 @@ var/global/list/captain_display_cases = list() req_access = list(access_captain) start_showpiece_type = /obj/item/gun/energy/laser/captain +/obj/structure/displaycase/captains_laser/New() + captain_display_cases += src + return ..() + /obj/structure/displaycase/stechkin name = "officer's display case" desc = "A display case containing a humble stechkin pistol. Never forget your roots." From 130b5ef6947ee893fa725c1520eb4de42c4abcbc Mon Sep 17 00:00:00 2001 From: AffectedArc07 Date: Mon, 6 May 2019 08:51:44 +0100 Subject: [PATCH 2/3] Fox fixes. Foxes? --- code/game/objects/structures/displaycase.dm | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/code/game/objects/structures/displaycase.dm b/code/game/objects/structures/displaycase.dm index 8d9d81c41b5..2de1b32d38c 100644 --- a/code/game/objects/structures/displaycase.dm +++ b/code/game/objects/structures/displaycase.dm @@ -2,15 +2,14 @@ #define DISPLAYCASE_FRAME_SCREWDRIVER 1 // List and hook used to set up the captain's print on their display case -var/global/list/captain_display_cases = list() +GLOBAL_LIST_INIT(captain_display_cases, list()) /proc/updateDisplaycase(mob/living/carbon/human/captain) - if(!captain_display_cases.len) + if(!GLOB.captain_display_cases.len) return var/fingerprint = captain.get_full_print() - for(var/obj/structure/displaycase/D in captain_display_cases) - if(istype(D)) - D.ue = fingerprint + for(var/obj/structure/displaycase/D in GLOB.captain_display_cases) + D.ue = fingerprint /obj/structure/displaycase_frame name = "display case frame" @@ -121,9 +120,9 @@ var/global/list/captain_display_cases = list() req_access = list(access_captain) start_showpiece_type = /obj/item/gun/energy/laser/captain -/obj/structure/displaycase/captains_laser/New() - captain_display_cases += src - return ..() +/obj/structure/displaycase/captains_laser/Initialize(mapload) + . = ..() + GLOB.captain_display_cases += src /obj/structure/displaycase/stechkin name = "officer's display case" @@ -138,7 +137,7 @@ var/global/list/captain_display_cases = list() return ..() /obj/structure/displaycase/captains_laser/Destroy() - captain_display_cases -= src + GLOB.captain_display_cases -= src return ..() /obj/structure/displaycase/examine(mob/user) From 51998efe5666ca01316b8a37d5952c3f2a1781b0 Mon Sep 17 00:00:00 2001 From: AffectedArc07 Date: Tue, 7 May 2019 18:01:11 +0100 Subject: [PATCH 3/3] Fixes #2 --- code/game/objects/structures/displaycase.dm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/code/game/objects/structures/displaycase.dm b/code/game/objects/structures/displaycase.dm index 2de1b32d38c..6b54f61537e 100644 --- a/code/game/objects/structures/displaycase.dm +++ b/code/game/objects/structures/displaycase.dm @@ -8,8 +8,9 @@ GLOBAL_LIST_INIT(captain_display_cases, list()) if(!GLOB.captain_display_cases.len) return var/fingerprint = captain.get_full_print() - for(var/obj/structure/displaycase/D in GLOB.captain_display_cases) - D.ue = fingerprint + for(var/item in GLOB.captain_display_cases) + var/obj/structure/displaycase/CASE = item + CASE.ue = fingerprint /obj/structure/displaycase_frame name = "display case frame"