[MIRROR] Centralized dummy lookalike generation (#4933)

* Centralized dummy lookalike generation (#58366)

* Centralized dummy lookalike generation

Co-authored-by: Trigg <36010999+TriggeredBoi@users.noreply.github.com>
This commit is contained in:
SkyratBot
2021-04-16 00:55:00 +01:00
committed by GitHub
co-authored by Trigg
parent 07b48390cd
commit 8f3e563837
5 changed files with 39 additions and 18 deletions
+3 -8
View File
@@ -37,12 +37,7 @@
/datum/outfit_editor/proc/init_dummy()
dummy_key = "outfit_editor_[owner]"
var/mob/living/carbon/human/dummy/dummy = generate_or_wait_for_human_dummy(dummy_key)
var/mob/living/carbon/carbon_target = owner.mob
if(istype(carbon_target))
carbon_target.dna.transfer_identity(dummy)
dummy.updateappearance()
generate_dummy_lookalike(dummy_key, owner.mob)
unset_busy_human_dummy(dummy_key)
/datum/outfit_editor/ui_interact(mob/user, datum/tgui/ui)
@@ -78,9 +73,9 @@
data["outfit"] = serialize_outfit()
data["saveable"] = !GLOB.custom_outfits.Find(drip)
var/datum/preferences/prefs = owner.prefs
if(!dummy_key)
init_dummy()
var/icon/dummysprite = get_flat_human_icon(null,
prefs = prefs,
dummy_key = dummy_key,
showDirs = list(SOUTH),
outfit_override = drip)
+6 -10
View File
@@ -23,7 +23,6 @@
var/mob/target_mob
var/dummy_key
var/mob/living/carbon/human/dummy/dummy
//static list to share all the outfit typepaths between all instances of this datum.
var/static/list/cached_outfits
@@ -63,12 +62,7 @@
/datum/select_equipment/proc/init_dummy()
dummy_key = "selectequipmentUI_[target_mob]"
dummy = generate_or_wait_for_human_dummy(dummy_key)
var/mob/living/carbon/carbon_target = target_mob
if(istype(carbon_target))
carbon_target.dna.transfer_identity(dummy)
dummy.updateappearance()
generate_dummy_lookalike(dummy_key, target_mob)
unset_busy_human_dummy(dummy_key)
return
@@ -112,14 +106,16 @@
/datum/select_equipment/ui_data(mob/user)
var/list/data = list()
if(!dummy)
if(!dummy_key)
init_dummy()
var/datum/preferences/prefs = target_mob?.client?.prefs
var/icon/dummysprite = get_flat_human_icon(null, prefs=prefs, dummy_key = dummy_key, outfit_override = selected_outfit)
var/icon/dummysprite = get_flat_human_icon(null,
dummy_key = dummy_key,
outfit_override = selected_outfit)
data["icon64"] = icon2base64(dummysprite)
data["name"] = target_mob
var/datum/preferences/prefs = user?.client?.prefs
data["favorites"] = list()
if(prefs)
data["favorites"] = prefs.favorite_outfits