diff --git a/code/__HELPERS/global_lists.dm b/code/__HELPERS/global_lists.dm index eb77f8cd7b2..aa1832295ff 100644 --- a/code/__HELPERS/global_lists.dm +++ b/code/__HELPERS/global_lists.dm @@ -137,8 +137,6 @@ for(var/limb_type in typesof(/datum/robolimb)) var/datum/robolimb/R = new limb_type() GLOB.all_robolimbs[R.company] = R - if(R.selectable) - GLOB.selectable_robolimbs[R.company] = R // Setup world topic handlers for(var/topic_handler_type in subtypesof(/datum/world_topic_handler)) diff --git a/code/game/objects/items/robot/robot_parts.dm b/code/game/objects/items/robot/robot_parts.dm index d31d1121c82..c3d2b9a28a4 100644 --- a/code/game/objects/items/robot/robot_parts.dm +++ b/code/game/objects/items/robot/robot_parts.dm @@ -24,7 +24,7 @@ AddComponent(/datum/component/surgery_initiator/limb, forced_surgery = /datum/surgery/attach_robotic_limb) /obj/item/robot_parts/attack_self__legacy__attackchain(mob/user) - var/choice = tgui_input_list(user, "Select the company appearance for this limb", "Limb Company Selection", GLOB.selectable_robolimbs) + var/choice = tgui_input_list(user, "Select the company appearance for this limb", "Limb Company Selection", GLOB.all_robolimbs) if(!choice) return if(loc != user) diff --git a/code/modules/surgery/organs/robolimbs.dm b/code/modules/surgery/organs/robolimbs.dm index aa54a73e473..f35b55c40d7 100644 --- a/code/modules/surgery/organs/robolimbs.dm +++ b/code/modules/surgery/organs/robolimbs.dm @@ -1,5 +1,4 @@ GLOBAL_LIST_EMPTY(all_robolimbs) -GLOBAL_LIST_EMPTY(selectable_robolimbs) GLOBAL_DATUM(basic_robolimb, /datum/robolimb) /datum/robolimb @@ -8,8 +7,7 @@ GLOBAL_DATUM(basic_robolimb, /datum/robolimb) var/icon = 'icons/mob/human_races/robotic.dmi' // Icon base to draw from. var/list/sprite_sheets = null // Species specific icons to draw from. Path formats is... [icons/mob/human_races/{species}/cyberlimbs/{company}.dmi] var/unavailable_at_chargen // If set, not available at chargen. - var/selectable = 1 // If set, is it available for selection on attack_self with a robo limb? - var/is_monitor // If set, limb is a monitor and should be getting monitor styles. + var/is_monitor = 0 // If set, limb is a monitor and should be getting monitor styles. var/has_subtypes = 2 // If null, object is a model. If 1, object is a brand (that serves as the default model) with child models. If 2, object is a brand that has no child models and thus also serves as the model.. var/parts = list("chest", "groin", "head", "r_arm", "r_hand", "r_leg", "r_foot", "l_leg", "l_foot", "l_arm", "l_hand") // Defines what parts said brand can replace on a body. @@ -24,15 +22,13 @@ GLOBAL_DATUM(basic_robolimb, /datum/robolimb) company = "Bishop Cybernetics alt." icon = 'icons/mob/human_races/cyberlimbs/bishop/bishop_alt1.dmi' parts = list("head") - selectable = 0 has_subtypes = null /datum/robolimb/bishop/monitor company = "Bishop Cybernetics mtr." icon = 'icons/mob/human_races/cyberlimbs/bishop/bishop_monitor.dmi' parts = list("head") - is_monitor = 1 - selectable = 0 + is_monitor = TRUE has_subtypes = null /datum/robolimb/hephaestus @@ -46,16 +42,14 @@ GLOBAL_DATUM(basic_robolimb, /datum/robolimb) company = "Hephaestus Industries alt." icon = 'icons/mob/human_races/cyberlimbs/hephaestus/hephaestus_alt1.dmi' parts = list("head") - is_monitor = 1 - selectable = 0 + is_monitor = TRUE has_subtypes = null /datum/robolimb/hephaestus/monitor company = "Hephaestus Industries mtr." icon = 'icons/mob/human_races/cyberlimbs/hephaestus/hephaestus_monitor.dmi' parts = list("head") - is_monitor = 1 - selectable = 0 + is_monitor = TRUE has_subtypes = null /datum/robolimb/morpheus @@ -63,17 +57,15 @@ GLOBAL_DATUM(basic_robolimb, /datum/robolimb) desc = "This limb is simple and functional; no effort has been made to make it look human." icon = 'icons/mob/human_races/cyberlimbs/morpheus/morpheus_main.dmi' sprite_sheets = list("Vox" = 'icons/mob/human_races/vox/cyberlimbs/wardtakahashi.dmi') - unavailable_at_chargen = 1 - is_monitor = 1 + unavailable_at_chargen = TRUE + is_monitor = TRUE has_subtypes = 1 /datum/robolimb/morpheus/alt1 company = "Morpheus Cyberkinetics alt." icon = 'icons/mob/human_races/cyberlimbs/morpheus/morpheus_alt1.dmi' parts = list("head") - unavailable_at_chargen = null - is_monitor = null - selectable = 0 + is_monitor = FALSE has_subtypes = 2 //Edge case. We want to be able to pick this one, and if we had it left as null for has_subtypes we'd be assuming it'll be chosen as a child model, //and since the parent is unavailable at chargen, we wouldn't be able to see it in the list anyway. Now, we'll be able to select the Morpheus Ckt. Alt. head as a solo-model. @@ -88,15 +80,13 @@ GLOBAL_DATUM(basic_robolimb, /datum/robolimb) company = "Ward-Takahashi alt." icon = 'icons/mob/human_races/cyberlimbs/wardtakahashi/wardtakahashi_alt1.dmi' parts = list("head") - selectable = 0 has_subtypes = null /datum/robolimb/wardtakahashi/monitor company = "Ward-Takahashi mtr." icon = 'icons/mob/human_races/cyberlimbs/wardtakahashi/wardtakahashi_monitor.dmi' parts = list("head") - is_monitor = 1 - selectable = 0 + is_monitor = TRUE has_subtypes = null /datum/robolimb/xion @@ -110,15 +100,13 @@ GLOBAL_DATUM(basic_robolimb, /datum/robolimb) company = "Xion Manufacturing Group alt." icon = 'icons/mob/human_races/cyberlimbs/xion/xion_alt1.dmi' parts = list("head") - selectable = 0 has_subtypes = null /datum/robolimb/xion/monitor company = "Xion Manufacturing Group mtr." icon = 'icons/mob/human_races/cyberlimbs/xion/xion_monitor.dmi' parts = list("head") - is_monitor = 1 - selectable = 0 + is_monitor = TRUE has_subtypes = null /datum/robolimb/zenghu @@ -138,13 +126,11 @@ GLOBAL_DATUM(basic_robolimb, /datum/robolimb) company = "Shellguard Munitions Elite Series" icon = 'icons/mob/human_races/cyberlimbs/shellguard/shellguard_alt1.dmi' parts = list("head") - selectable = 0 has_subtypes = null /datum/robolimb/shellguard/monitor company = "Shellguard Munitions Monitor Series" icon = 'icons/mob/human_races/cyberlimbs/shellguard/shellguard_monitor.dmi' parts = list("head") - is_monitor = 1 - selectable = 0 + is_monitor = TRUE has_subtypes = null diff --git a/code/modules/surgery/robotics.dm b/code/modules/surgery/robotics.dm index 8f4708d6238..622d051403a 100644 --- a/code/modules/surgery/robotics.dm +++ b/code/modules/surgery/robotics.dm @@ -716,7 +716,7 @@ return ..() /datum/surgery_step/robotics/external/customize_appearance/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool, datum/surgery/surgery) - var/chosen_appearance = tgui_input_list(user, "Select the company appearance for this limb.", "Limb Company Selection", GLOB.selectable_robolimbs) + var/chosen_appearance = tgui_input_list(user, "Select the company appearance for this limb.", "Limb Company Selection", GLOB.all_robolimbs) if(!chosen_appearance) return SURGERY_STEP_INCOMPLETE var/obj/item/organ/external/affected = target.get_organ(target_zone)