diff --git a/code/__HELPERS/custom_holoforms.dm b/code/__HELPERS/custom_holoforms.dm index 70137db4d3..77823cc012 100644 --- a/code/__HELPERS/custom_holoforms.dm +++ b/code/__HELPERS/custom_holoforms.dm @@ -1,10 +1,12 @@ // Generates a holoform appearance // Equipment list is slot = path. -/proc/generate_custom_holoform_from_prefs(datum/preferences/prefs, list/equipment_by_slot, list/inhand_equipment, copy_job_first = FALSE) +/proc/generate_custom_holoform_from_prefs(datum/preferences/prefs, list/equipment_by_slot, list/inhand_equipment, copy_job = FALSE, apply_loadout = FALSE) ASSERT(prefs) var/mob/living/carbon/human/dummy/mannequin = generate_or_wait_for_human_dummy(DUMMY_HUMAN_SLOT_HOLOFORM) prefs.copy_to(mannequin) - if(copy_job_first) + if(apply_loadout && prefs.parent) + SSjob.equip_loadout(prefs.parent.mob, mannequin) + if(copy_job) var/datum/job/highest = prefs.get_highest_job() if(highest && !istype(highest, /datum/job/ai) && !istype(highest, /datum/job/cyborg)) highest.equip(mannequin, TRUE, preference_source = prefs.parent) @@ -55,7 +57,7 @@ if(user.client.prefs.last_custom_holoform > world.time - CUSTOM_HOLOFORM_DELAY) to_chat(user, "You are attempting to set your custom holoform too fast!") return - return generate_custom_holoform_from_prefs(prefs, null, null, TRUE) + return generate_custom_holoform_from_prefs(prefs, null, null, TRUE, TRUE) //Prompts this client for custom holoform parameters. /proc/user_interface_custom_holoform(client/C) diff --git a/code/modules/mob/living/silicon/pai/pai.dm b/code/modules/mob/living/silicon/pai/pai.dm index 756cae69ca..ff41b7b383 100644 --- a/code/modules/mob/living/silicon/pai/pai.dm +++ b/code/modules/mob/living/silicon/pai/pai.dm @@ -311,8 +311,16 @@ //Basic /tg/ cyborgs .["Cyborg - Engineering (default)"] = process_holoform_icon_filter(icon('icons/mob/robots.dmi', "engineer"), HOLOFORM_FILTER_PAI, FALSE) + .["Cyborg - Engineering (loaderborg)"] = process_holoform_icon_filter(icon('modular_citadel/icons/mob/robots.dmi', "loaderborg", HOLOFORM_FILTER_PAI, FALSE) + .["Cyborg - Engineering (handyeng)"] = process_holoform_icon_filter(icon('modular_citadel/icons/mob/robots.dmi', "handyeng", HOLOFORM_FILTER_PAI, FALSE) + .["Cyborg - Engineering (sleekeng)"] = process_holoform_icon_filter(icon('modular_citadel/icons/mob/robots.dmi', "sleekeng", HOLOFORM_FILTER_PAI, FALSE) + .["Cyborg - Engineering (marinaeng)"] = process_holoform_icon_filter(icon('modular_citadel/icons/mob/robots.dmi', "marinaeng", HOLOFORM_FILTER_PAI, FALSE) .["Cyborg - Medical (default)"] = process_holoform_icon_filter(icon('icons/mob/robots.dmi', "medical"), HOLOFORM_FILTER_PAI, FALSE) + .["Cyborg - Medical (marinamed)"] = process_holoform_icon_filter(icon('modular_citadel/icons/mob/robots.dmi', "marinamed"), HOLOFORM_FILTER_PAI, FALSE) + .["Cyborg - Medical (eyebotmed)"] = process_holoform_icon_filter(icon('modular_citadel/icons/mob/robots.dmi', "eyebotmed"), HOLOFORM_FILTER_PAI, FALSE) .["Cyborg - Security (default)"] = process_holoform_icon_filter(icon('icons/mob/robots.dmi', "sec"), HOLOFORM_FILTER_PAI, FALSE) + .["Cyborg - Security (sleeksec)"] = process_holoform_icon_filter(icon('modular_citadel/icons/mob/robots.dmi', "sleeksec"), HOLOFORM_FILTER_PAI, FALSE) + .["Cyborg - Security (marinasec)"] = process_holoform_icon_filter(icon('modular_citadel/icons/mob/robots.dmi', "marinasec"), HOLOFORM_FILTER_PAI, FALSE) .["Cyborg - Clown (default)"] = process_holoform_icon_filter(icon('icons/mob/robots.dmi', "clown"), HOLOFORM_FILTER_PAI, FALSE) //Citadel dogborgs @@ -321,21 +329,58 @@ curr.Insert(temp, "rest") process_holoform_icon_filter(curr, HOLOFORM_FILTER_PAI, FALSE) .["Cyborg - Engineering (dog - valeeng)"] = curr + curr = icon('modular_citadel/icons/mob/widerobot.dmi', "pupdozer") + temp = icon('modular_citadel/icons/mob/widerobot.dmi', "pupdozer-rest") + curr.Insert(temp, "rest") + process_holoform_icon_filter(curr, HOLOFORM_FILTER_PAI, FALSE) + .["Cyborg - Engineering (dog - pupdozer)"] = curr curr = icon('modular_citadel/icons/mob/widerobot.dmi', "medihound") temp = icon('modular_citadel/icons/mob/widerobot.dmi', "medihound-rest") curr.Insert(temp, "rest") process_holoform_icon_filter(curr, HOLOFORM_FILTER_PAI, FALSE) .["Cyborg - Medical (dog - medihound)"] = curr + curr = icon('modular_citadel/icons/mob/widerobot.dmi', "medihounddark") + temp = icon('modular_citadel/icons/mob/widerobot.dmi', "medihounddark-rest") + curr.Insert(temp, "rest") + process_holoform_icon_filter(curr, HOLOFORM_FILTER_PAI, FALSE) + .["Cyborg - Medical (dog - medihounddark)"] = curr + curr = icon('modular_citadel/icons/mob/widerobot.dmi', "valemed") + temp = icon('modular_citadel/icons/mob/widerobot.dmi', "valemed-rest") + curr.Insert(temp, "rest") + process_holoform_icon_filter(curr, HOLOFORM_FILTER_PAI, FALSE) + .["Cyborg - Medical (dog - valemed)"] = curr curr = icon('modular_citadel/icons/mob/widerobot.dmi', "k9") temp = icon('modular_citadel/icons/mob/widerobot.dmi', "k9-rest") curr.Insert(temp, "rest") process_holoform_icon_filter(curr, HOLOFORM_FILTER_PAI, FALSE) .["Cyborg - Security (dog - k9)"] = curr + curr = icon('modular_citadel/icons/mob/widerobot.dmi', "k9dark") + temp = icon('modular_citadel/icons/mob/widerobot.dmi', "k9dark-rest") + curr.Insert(temp, "rest") + process_holoform_icon_filter(curr, HOLOFORM_FILTER_PAI, FALSE) + .["Cyborg - Security (dog - k9dark)"] = curr curr = icon('modular_citadel/icons/mob/widerobot.dmi', "valesec") temp = icon('modular_citadel/icons/mob/widerobot.dmi', "valesec-rest") curr.Insert(temp, "rest") process_holoform_icon_filter(curr, HOLOFORM_FILTER_PAI, FALSE) .["Cyborg - Security (dog - valesec)"] = curr + curr = icon('modular_citadel/icons/mob/widerobot.dmi', "valeserv") + temp = icon('modular_citadel/icons/mob/widerobot.dmi', "valeserv-rest") + curr.Insert(temp, "rest") + process_holoform_icon_filter(curr, HOLOFORM_FILTER_PAI, FALSE) + .["Cyborg - Service (dog - valeserv)"] = curr + curr = icon('modular_citadel/icons/mob/widerobot.dmi', "valeservdark") + temp = icon('modular_citadel/icons/mob/widerobot.dmi', "valeservdark-rest") + curr.Insert(temp, "rest") + process_holoform_icon_filter(curr, HOLOFORM_FILTER_PAI, FALSE) + .["Cyborg - Service (dog - valeservdark)"] = curr + curr = icon('modular_citadel/icons/mob/widerobot.dmi', "valesci") + temp = icon('modular_citadel/icons/mob/widerobot.dmi', "valesci-rest") + curr.Insert(temp, "rest") + process_holoform_icon_filter(curr, HOLOFORM_FILTER_PAI, FALSE) + .["Cyborg - Security (dog - valesci)"] = curr + + .["Cyborg - Misc (dog - blade)"] = process_holoform_icon_filter(icon('modular_citadel/icons/mob/widerobot.dmi', "blade"), HOLOFORM_FILTER_PAI, FALSE) /mob/living/silicon/pai/proc/default_chassis_pixel_offsets_x() . = list() diff --git a/modular_citadel/icons/mob/robots.dmi b/modular_citadel/icons/mob/robots.dmi index b47ee12896..337c693d0a 100644 Binary files a/modular_citadel/icons/mob/robots.dmi and b/modular_citadel/icons/mob/robots.dmi differ diff --git a/modular_citadel/icons/mob/widerobot.dmi b/modular_citadel/icons/mob/widerobot.dmi index e574766d70..5372f494d0 100644 Binary files a/modular_citadel/icons/mob/widerobot.dmi and b/modular_citadel/icons/mob/widerobot.dmi differ