mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-25 14:08:31 +01:00
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 <rohesie@gmail.com> * Makes requested change Thanks Rohesie! Co-Authored-By: Rohesie <rohesie@gmail.com> * Makes requested changes Thank you Rohesie! Co-authored-by: Rohesie <rohesie@gmail.com>
This commit is contained in:
+20
-17
@@ -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
|
||||
|
||||
@@ -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(),
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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.
|
||||
************************************************/
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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."
|
||||
|
||||
@@ -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()
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 18 KiB |
Reference in New Issue
Block a user