Merge pull request #11467 from AffectedArc07/hooks-part3

Fixes captains displaycase [Hooks P3]
This commit is contained in:
Fox McCloud
2019-05-07 14:29:24 -04:00
committed by GitHub
3 changed files with 13 additions and 18 deletions
-7
View File
@@ -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.
+1 -1
View File
@@ -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"
+12 -10
View File
@@ -2,17 +2,15 @@
#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())
/hook/captain_spawned/proc/displaycase(mob/living/carbon/human/captain)
if(!captain_display_cases.len)
return 1
/proc/updateDisplaycase(mob/living/carbon/human/captain)
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
return 1
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"
@@ -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/Initialize(mapload)
. = ..()
GLOB.captain_display_cases += src
/obj/structure/displaycase/stechkin
name = "officer's display case"
desc = "A display case containing a humble stechkin pistol. Never forget your roots."
@@ -136,7 +138,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)