From 4eb77bd0b50182f870e5e27128dcfe1fb2cb869e Mon Sep 17 00:00:00 2001 From: RaveRadbury <3204033+RaveRadbury@users.noreply.github.com> Date: Thu, 23 Apr 2020 20:10:00 -0700 Subject: [PATCH] Fan Hud (#50649) * Should be ready to test The compiler is throwing a tantrum so I'm committing here to debug. * Merges hud.dmi with upstream * adjustments fixes some typos, adds a blank hud image for fanpinless crew * It builds * runtimes it doesn't actually work yet, just compiles * Progress More runtimes removed * It all works, runtimes sorted pins made to not go above suit * Update code/game/data_huds.dm Adds Rohesie's suggestion Co-Authored-By: Rohesie * Makes requested change Thanks Rohesie! Co-Authored-By: Rohesie * Makes requested changes Thank you Rohesie! Co-authored-by: Rohesie --- code/__DEFINES/atom_hud.dm | 37 ++++++++++-------- code/datums/hud.dm | 1 + code/datums/traits/good.dm | 4 ++ code/game/data_huds.dm | 21 ++++++++++ code/modules/clothing/under/_under.dm | 4 ++ code/modules/clothing/under/accessories.dm | 4 +- code/modules/jobs/job_types/clown.dm | 2 + code/modules/jobs/job_types/mime.dm | 3 ++ code/modules/mob/living/carbon/human/human.dm | 2 + .../mob/living/carbon/human/human_defines.dm | 2 +- icons/mob/hud.dmi | Bin 17541 -> 17948 bytes 11 files changed, 60 insertions(+), 20 deletions(-) diff --git a/code/__DEFINES/atom_hud.dm b/code/__DEFINES/atom_hud.dm index 323ba823af2..1655dfc627d 100644 --- a/code/__DEFINES/atom_hud.dm +++ b/code/__DEFINES/atom_hud.dm @@ -44,6 +44,8 @@ #define DIAG_LAUNCHPAD_HUD "22" //for antag huds. these are used at the /mob level #define ANTAG_HUD "23" +// for fans to identify pins +#define FAN_HUD "24" //by default everything in the hud_list of an atom is an image //a value in hud_list with one of these will change that behavior @@ -60,25 +62,26 @@ #define DATA_HUD_ABDUCTOR 7 #define DATA_HUD_SENTIENT_DISEASE 8 #define DATA_HUD_AI_DETECT 9 +#define DATA_HUD_FAN 10 //antag HUD defines -#define ANTAG_HUD_CULT 10 -#define ANTAG_HUD_REV 11 -#define ANTAG_HUD_OPS 12 -#define ANTAG_HUD_WIZ 13 -#define ANTAG_HUD_SHADOW 14 -#define ANTAG_HUD_TRAITOR 15 -#define ANTAG_HUD_NINJA 16 -#define ANTAG_HUD_CHANGELING 17 -#define ANTAG_HUD_ABDUCTOR 18 -#define ANTAG_HUD_DEVIL 19 -#define ANTAG_HUD_SINTOUCHED 20 -#define ANTAG_HUD_SOULLESS 21 -#define ANTAG_HUD_BROTHER 22 -#define ANTAG_HUD_OBSESSED 23 -#define ANTAG_HUD_FUGITIVE 24 -#define ANTAG_HUD_GANGSTER 25 -#define ANTAG_HUD_SPACECOP 26 +#define ANTAG_HUD_CULT 11 +#define ANTAG_HUD_REV 12 +#define ANTAG_HUD_OPS 13 +#define ANTAG_HUD_WIZ 14 +#define ANTAG_HUD_SHADOW 15 +#define ANTAG_HUD_TRAITOR 16 +#define ANTAG_HUD_NINJA 17 +#define ANTAG_HUD_CHANGELING 18 +#define ANTAG_HUD_ABDUCTOR 19 +#define ANTAG_HUD_DEVIL 20 +#define ANTAG_HUD_SINTOUCHED 21 +#define ANTAG_HUD_SOULLESS 22 +#define ANTAG_HUD_BROTHER 23 +#define ANTAG_HUD_OBSESSED 24 +#define ANTAG_HUD_FUGITIVE 25 +#define ANTAG_HUD_GANGSTER 26 +#define ANTAG_HUD_SPACECOP 27 // Notification action types diff --git a/code/datums/hud.dm b/code/datums/hud.dm index e2b8cfeba48..a3c4884d49b 100644 --- a/code/datums/hud.dm +++ b/code/datums/hud.dm @@ -13,6 +13,7 @@ GLOBAL_LIST_INIT(huds, list( DATA_HUD_ABDUCTOR = new/datum/atom_hud/abductor(), DATA_HUD_SENTIENT_DISEASE = new/datum/atom_hud/sentient_disease(), DATA_HUD_AI_DETECT = new/datum/atom_hud/ai_detector(), + DATA_HUD_FAN = new/datum/atom_hud/data/human/fan_hud(), ANTAG_HUD_CULT = new/datum/atom_hud/antag(), ANTAG_HUD_REV = new/datum/atom_hud/antag(), ANTAG_HUD_OPS = new/datum/atom_hud/antag(), diff --git a/code/datums/traits/good.dm b/code/datums/traits/good.dm index 1af6bde3272..aacbbf3f812 100644 --- a/code/datums/traits/good.dm +++ b/code/datums/traits/good.dm @@ -76,6 +76,8 @@ datum/quirk/fan_clown "hands" = ITEM_SLOT_HANDS, ) H.equip_in_one_of_slots(B, slots , qdel_on_fail = TRUE) + var/datum/atom_hud/fan = GLOB.huds[DATA_HUD_FAN] + fan.add_hud_to(H) datum/quirk/fan_mime name = "Mime Fan" @@ -94,6 +96,8 @@ datum/quirk/fan_mime "hands" = ITEM_SLOT_HANDS, ) H.equip_in_one_of_slots(B, slots , qdel_on_fail = TRUE) + var/datum/atom_hud/fan = GLOB.huds[DATA_HUD_FAN] + fan.add_hud_to(H) /datum/quirk/freerunning name = "Freerunning" diff --git a/code/game/data_huds.dm b/code/game/data_huds.dm index 4dbafaa202c..f06e636e360 100644 --- a/code/game/data_huds.dm +++ b/code/game/data_huds.dm @@ -49,6 +49,9 @@ /datum/atom_hud/data/human/security/advanced hud_icons = list(ID_HUD, IMPTRACK_HUD, IMPLOYAL_HUD, IMPCHEM_HUD, WANTED_HUD, NANITE_HUD) +/datum/atom_hud/data/human/fan_hud + hud_icons = list(FAN_HUD) + /datum/atom_hud/data/diagnostic /datum/atom_hud/data/diagnostic/basic @@ -210,6 +213,24 @@ holder.icon_state = "hudhealthy" +/*********************************************** + FAN HUDs! For identifying other fans on-sight. +************************************************/ + +//HOOKS + +/mob/living/carbon/human/proc/fan_hud_set_fandom() + var/image/holder = hud_list[FAN_HUD] + var/icon/I = icon(icon, icon_state, dir) + holder.pixel_y = I.Height() - world.icon_size + holder.icon_state = "hudfan_no" + var/obj/item/clothing/under/U = get_item_by_slot(ITEM_SLOT_ICLOTHING) + if(U) + if(istype(U.attached_accessory, /obj/item/clothing/accessory/fan_mime_pin)) + holder.icon_state = "fan_mime_pin" + else if(istype(U.attached_accessory, /obj/item/clothing/accessory/fan_clown_pin)) + holder.icon_state = "fan_clown_pin" + /*********************************************** Security HUDs! Basic mode shows only the job. ************************************************/ diff --git a/code/modules/clothing/under/_under.dm b/code/modules/clothing/under/_under.dm index 5411c93699e..a664c45615d 100644 --- a/code/modules/clothing/under/_under.dm +++ b/code/modules/clothing/under/_under.dm @@ -84,6 +84,7 @@ if(attached_accessory && slot != ITEM_SLOT_HANDS && ishuman(user)) var/mob/living/carbon/human/H = user attached_accessory.on_uniform_equip(src, user) + H.fan_hud_set_fandom() if(attached_accessory.above_suit) H.update_inv_wear_suit() @@ -92,6 +93,7 @@ attached_accessory.on_uniform_dropped(src, user) if(ishuman(user)) var/mob/living/carbon/human/H = user + H.fan_hud_set_fandom() if(attached_accessory.above_suit) H.update_inv_wear_suit() @@ -126,6 +128,7 @@ var/mob/living/carbon/human/H = loc H.update_inv_w_uniform() H.update_inv_wear_suit() + H.fan_hud_set_fandom() return TRUE @@ -147,6 +150,7 @@ var/mob/living/carbon/human/H = loc H.update_inv_w_uniform() H.update_inv_wear_suit() + H.fan_hud_set_fandom() /obj/item/clothing/under/examine(mob/user) diff --git a/code/modules/clothing/under/accessories.dm b/code/modules/clothing/under/accessories.dm index bb3b03a7699..6b1af60eef4 100755 --- a/code/modules/clothing/under/accessories.dm +++ b/code/modules/clothing/under/accessories.dm @@ -322,7 +322,7 @@ name = "Clown Pin" desc = "A pin to show off your appreciation for clowns and clowning" icon_state = "fan_clown_pin" - above_suit = TRUE + above_suit = FALSE minimize_when_attached = TRUE attachment_slot = CHEST @@ -340,7 +340,7 @@ name = "Mime Pin" desc = "A pin to show off your appreciation for mimes and miming" icon_state = "fan_mime_pin" - above_suit = TRUE + above_suit = FALSE minimize_when_attached = TRUE attachment_slot = CHEST diff --git a/code/modules/jobs/job_types/clown.dm b/code/modules/jobs/job_types/clown.dm index 17995526910..193d3e88293 100644 --- a/code/modules/jobs/job_types/clown.dm +++ b/code/modules/jobs/job_types/clown.dm @@ -60,3 +60,5 @@ H.dna.add_mutation(CLOWNMUT) for(var/datum/mutation/human/clumsy/M in H.dna.mutations) M.mutadone_proof = TRUE + var/datum/atom_hud/fan = GLOB.huds[DATA_HUD_FAN] + fan.add_hud_to(H) diff --git a/code/modules/jobs/job_types/mime.dm b/code/modules/jobs/job_types/mime.dm index 30cf01ce60f..bbd59f75f8e 100644 --- a/code/modules/jobs/job_types/mime.dm +++ b/code/modules/jobs/job_types/mime.dm @@ -53,6 +53,9 @@ H.mind.AddSpell(new /obj/effect/proc_holder/spell/targeted/mime/speak(null)) H.mind.miming = TRUE + var/datum/atom_hud/fan = GLOB.huds[DATA_HUD_FAN] + fan.add_hud_to(H) + /obj/item/book/mimery name = "Guide to Dank Mimery" desc = "A primer on basic pantomime." diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index 1ddf8ce15f1..1abaf5dfd4d 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -47,6 +47,8 @@ sec_hud_set_ID() sec_hud_set_implants() sec_hud_set_security_status() + //...fan gear + fan_hud_set_fandom() //...and display them. add_to_all_human_data_huds() diff --git a/code/modules/mob/living/carbon/human/human_defines.dm b/code/modules/mob/living/carbon/human/human_defines.dm index 5862f670c67..fcc10776a69 100644 --- a/code/modules/mob/living/carbon/human/human_defines.dm +++ b/code/modules/mob/living/carbon/human/human_defines.dm @@ -4,7 +4,7 @@ icon = 'icons/mob/human.dmi' icon_state = "human_basic" appearance_flags = KEEP_TOGETHER|TILE_BOUND|PIXEL_SCALE - hud_possible = list(HEALTH_HUD,STATUS_HUD,ID_HUD,WANTED_HUD,IMPLOYAL_HUD,IMPCHEM_HUD,IMPTRACK_HUD, NANITE_HUD, DIAG_NANITE_FULL_HUD,ANTAG_HUD,GLAND_HUD,SENTIENT_DISEASE_HUD) + hud_possible = list(HEALTH_HUD,STATUS_HUD,ID_HUD,WANTED_HUD,IMPLOYAL_HUD,IMPCHEM_HUD,IMPTRACK_HUD, NANITE_HUD, DIAG_NANITE_FULL_HUD,ANTAG_HUD,GLAND_HUD,SENTIENT_DISEASE_HUD,FAN_HUD) hud_type = /datum/hud/human possible_a_intents = list(INTENT_HELP, INTENT_DISARM, INTENT_GRAB, INTENT_HARM) pressure_resistance = 25 diff --git a/icons/mob/hud.dmi b/icons/mob/hud.dmi index abe79130edd4f8420e55c25fa70d34bfa6a43a87..cf55981da56443958a11655f7834d48a95abf0ea 100644 GIT binary patch literal 17948 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 t?t)4>o&tAr&kJ3Bvh0U4R8S{~eTXWwD| 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 Kxcs5@>;DJ1&gZxQ