Efforts towards making equip procs consistently return the mob.

This commit is contained in:
MistakeNot4892
2024-01-18 10:40:24 +11:00
parent d7e824602d
commit 6866ce9fdf
6 changed files with 20 additions and 25 deletions

View File

@@ -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

View File

@@ -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"

View File

@@ -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)

View File

@@ -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)

View File

@@ -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

View File

@@ -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()