From 6866ce9fdfaa784c7e39c57e2edd21c40094e985 Mon Sep 17 00:00:00 2001 From: MistakeNot4892 Date: Thu, 18 Jan 2024 10:40:24 +1100 Subject: [PATCH] Efforts towards making equip procs consistently return the mob. --- code/datums/outfits/outfit.dm | 7 +++++-- code/datums/outfits/spec_op.dm | 4 ++-- code/game/jobs/job/civilian_chaplain.dm | 1 - code/game/jobs/job/job.dm | 12 +++--------- code/game/jobs/job/silicon.dm | 10 ++++------ code/modules/mob/new_player/preferences_setup.dm | 11 ++++++----- 6 files changed, 20 insertions(+), 25 deletions(-) diff --git a/code/datums/outfits/outfit.dm b/code/datums/outfits/outfit.dm index 5c60cbcaeb..8255875e1f 100644 --- a/code/datums/outfits/outfit.dm +++ b/code/datums/outfits/outfit.dm @@ -3,6 +3,7 @@ var/global/list/outfits_decls_root_ var/global/list/outfits_decls_by_type_ /proc/outfit_by_type(var/outfit_type) + RETURN_TYPE(/decl/hierarchy/outfit) if(!outfits_decls_root_) init_outfit_decls() return outfits_decls_by_type_[outfit_type] @@ -117,7 +118,7 @@ var/global/list/outfits_decls_by_type_ post_equip(H) if(W) // We set ID info last to ensure the ID photo is as correct as possible. H.set_id_info(W) - return 1 + return H /decl/hierarchy/outfit/proc/equip_base(mob/living/carbon/human/H) pre_equip(H) @@ -167,6 +168,8 @@ var/global/list/outfits_decls_by_type_ if(H.species) H.species.equip_survival_gear(H, flags&OUTFIT_EXTENDED_SURVIVAL, flags&OUTFIT_COMPREHENSIVE_SURVIVAL) + return H + /decl/hierarchy/outfit/proc/equip_id(mob/living/carbon/human/H, rank, assignment) if(!id_slot || !id_type) return @@ -192,4 +195,4 @@ var/global/list/outfits_decls_by_type_ return pda /decl/hierarchy/outfit/dd_SortValue() - return name \ No newline at end of file + return name diff --git a/code/datums/outfits/spec_op.dm b/code/datums/outfits/spec_op.dm index 8fd2cb6ae4..8c4233449f 100644 --- a/code/datums/outfits/spec_op.dm +++ b/code/datums/outfits/spec_op.dm @@ -42,14 +42,14 @@ /decl/hierarchy/outfit/death_command/equip(var/mob/living/carbon/human/H) deathsquad.equip(H) - return 1 + return H /decl/hierarchy/outfit/syndicate_command name = "Spec ops - Syndicate commando" /decl/hierarchy/outfit/syndicate_command/equip(var/mob/living/carbon/human/H) commandos.equip(H) - return 1 + return H /decl/hierarchy/outfit/mercenary name = "Spec ops - Mercenary" diff --git a/code/game/jobs/job/civilian_chaplain.dm b/code/game/jobs/job/civilian_chaplain.dm index 8299d49167..1e0db15ca8 100644 --- a/code/game/jobs/job/civilian_chaplain.dm +++ b/code/game/jobs/job/civilian_chaplain.dm @@ -159,7 +159,6 @@ ticker.Bible_deity_name = B.deity_name feedback_set_details("religion_deity","[new_deity]") feedback_set_details("religion_book","[new_book_style]") - return 1 /* If you uncomment this, every time the mob preview updates it makes a new PDA. It seems to work just fine and display without it, so why this exists, haven't a clue. -Hawk /datum/job/chaplain/equip_preview(var/mob/living/carbon/human/H, var/alt_title, var/datum/preferences/prefs) diff --git a/code/game/jobs/job/job.dm b/code/game/jobs/job/job.dm index 46846e3ad7..8d8d91a336 100644 --- a/code/game/jobs/job/job.dm +++ b/code/game/jobs/job/job.dm @@ -43,13 +43,10 @@ department_accounts = department_accounts || departments_managed /datum/job/proc/equip(var/mob/living/carbon/human/H, var/alt_title) - var/decl/hierarchy/outfit/outfit = get_outfit(H, alt_title) - if(!outfit) - return FALSE - . = outfit.equip(H, title, alt_title) - return 1 + return get_outfit(H, alt_title)?.equip(H, title, alt_title) /datum/job/proc/get_outfit(var/mob/living/carbon/human/H, var/alt_title) + RETURN_TYPE(/decl/hierarchy/outfit) if(alt_title && alt_titles) var/datum/alt_title/A = alt_titles[alt_title] if(A && initial(A.title_outfit)) @@ -93,10 +90,7 @@ // overrideable separately so AIs/borgs can have cardborg hats without unnecessary new()/qdel() /datum/job/proc/equip_preview(mob/living/carbon/human/H, var/alt_title, var/datum/preferences/prefs) - var/decl/hierarchy/outfit/outfit = get_outfit(H, alt_title) - if(!outfit) - return FALSE - . = outfit.equip_base(H, title, alt_title) + return get_outfit(H, alt_title)?.equip_base(H, title, alt_title) /datum/job/proc/get_access() if(!config || config.jobs_have_minimal_access) diff --git a/code/game/jobs/job/silicon.dm b/code/game/jobs/job/silicon.dm index 0aa506fa59..44b7220ffc 100644 --- a/code/game/jobs/job/silicon.dm +++ b/code/game/jobs/job/silicon.dm @@ -26,8 +26,7 @@ // AI procs /datum/job/ai/equip(var/mob/living/carbon/human/H) - if(!H) return 0 - return 1 + return H /datum/job/ai/is_position_available() return (empty_playable_ai_cores.len != 0) @@ -35,7 +34,7 @@ /datum/job/ai/equip_preview(mob/living/carbon/human/H, var/alt_title, var/datum/preferences/prefs) H.equip_to_slot_or_del(new /obj/item/clothing/suit/straight_jacket(H), slot_wear_suit) H.equip_to_slot_or_del(new /obj/item/clothing/head/collectable/cardborg(H), slot_head) - return 1 + return H ////////////////////////////////// // Cyborg @@ -82,10 +81,9 @@ // Cyborg procs /datum/job/cyborg/equip(var/mob/living/carbon/human/H) - if(!H) return 0 - return 1 + return H /datum/job/cyborg/equip_preview(mob/living/carbon/human/H, var/alt_title, var/datum/preferences/prefs) H.equip_to_slot_or_del(new /obj/item/clothing/suit/costume/cardborg(H), slot_wear_suit) H.equip_to_slot_or_del(new /obj/item/clothing/head/collectable/cardborg(H), slot_head) - return 1 + return H diff --git a/code/modules/mob/new_player/preferences_setup.dm b/code/modules/mob/new_player/preferences_setup.dm index ada9aa3315..aecebf7671 100644 --- a/code/modules/mob/new_player/preferences_setup.dm +++ b/code/modules/mob/new_player/preferences_setup.dm @@ -203,7 +203,7 @@ copy_to(mannequin, TRUE) if(!equip_preview_mob) - return + return mannequin var/datum/job/previewJob // Determine what job is marked as 'High' priority, and dress them up as such. @@ -262,10 +262,11 @@ mannequin.dna = new /datum/dna(null) mannequin.delete_inventory(TRUE) mannequin = dress_preview_mob(mannequin) - if(ishuman(mannequin)) - mannequin.toggle_tail(setting = animations_toggle) - mannequin.toggle_wing(setting = animations_toggle) - mannequin.ImmediateOverlayUpdate() + if(isatom(mannequin)) + if(ishuman(mannequin)) + mannequin.toggle_tail(setting = animations_toggle) + mannequin.toggle_wing(setting = animations_toggle) + mannequin.ImmediateOverlayUpdate() update_character_previews(new /mutable_appearance(mannequin)) /datum/preferences/proc/get_highest_job()