From 681c3f63fc4fca96a3200fe3269d92f58f8602b5 Mon Sep 17 00:00:00 2001 From: thegrb93 Date: Tue, 4 Jun 2024 08:37:34 -0400 Subject: [PATCH] Artistic module fixes and make available at roundstart for any borg (#27980) --- .../modules/research/techweb/all_nodes.dm | 2 +- .../modules/borgs/code/robot_upgrade.dm | 100 ++---------------- 2 files changed, 11 insertions(+), 91 deletions(-) diff --git a/modular_skyrat/master_files/code/modules/research/techweb/all_nodes.dm b/modular_skyrat/master_files/code/modules/research/techweb/all_nodes.dm index ad34b7d279c..f02fd8218cc 100644 --- a/modular_skyrat/master_files/code/modules/research/techweb/all_nodes.dm +++ b/modular_skyrat/master_files/code/modules/research/techweb/all_nodes.dm @@ -36,6 +36,7 @@ /datum/techweb_node/cyborg/New() design_ids += list( "affection_module", + "borg_upgrade_artistic", ) return ..() @@ -253,7 +254,6 @@ return ..() /datum/techweb_node/cyborg_upg_serv/New() design_ids += list( - "borg_upgrade_artistic", "borg_upgrade_botany" ) return ..() diff --git a/modular_skyrat/modules/borgs/code/robot_upgrade.dm b/modular_skyrat/modules/borgs/code/robot_upgrade.dm index 95d5984da20..098f3eb3b59 100644 --- a/modular_skyrat/modules/borgs/code/robot_upgrade.dm +++ b/modular_skyrat/modules/borgs/code/robot_upgrade.dm @@ -340,16 +340,13 @@ /datum/material/glass = SMALL_MATERIAL_AMOUNT * 2) construction_time = 10 SECONDS category = list( - RND_CATEGORY_MECHFAB_CYBORG_MODULES + RND_SUBCATEGORY_MECHFAB_CYBORG_MODULES_SERVICE + RND_CATEGORY_MECHFAB_CYBORG_MODULES + RND_SUBCATEGORY_MECHFAB_CYBORG_MODULES_ALL ) /obj/item/borg/upgrade/artistic name = "borg artistic module" - desc = "Allows you to upgrade a service cyborg with tools for creating art." + desc = "Allows you to upgrade a cyborg with tools for creating art." icon_state = "cyborg_upgrade3" - require_model = TRUE - model_type = list(/obj/item/robot_model/service) - model_flags = BORG_MODEL_SERVICE items_to_add = list( /obj/item/pen, /obj/item/toy/crayon/spraycan/borg, @@ -359,28 +356,6 @@ /obj/item/chisel, ) -/obj/item/borg/upgrade/artistic/action(mob/living/silicon/robot/install, user = usr) - . = ..() - if(!.) - return FALSE - for(var/item_to_add in items_to_add) - if(locate(item_to_add) in install.model.modules) - install.balloon_alert_to_viewers("already installed!") - return FALSE - else - var/obj/item/module_item = new item_to_add(install.model.modules) - install.model.basic_modules += module_item - install.model.add_module(module_item, FALSE, TRUE) - -/obj/item/borg/upgrade/artistic/deactivate(mob/living/silicon/robot/install, user = usr) - . = ..() - if (!.) - return FALSE - for(var/item_to_add in items_to_add) - var/obj/item/module_item = locate(item_to_add) in install.model.modules - if (module_item) - install.model.remove_module(module_item, TRUE) - /datum/design/borg_upgrade_botany name = "Botanical Operator Module" id = "borg_upgrade_botany" @@ -399,8 +374,7 @@ require_model = TRUE model_type = list(/obj/item/robot_model/service) model_flags = BORG_MODEL_SERVICE - - var/static/list/added_stuff = list( + items_to_add = list( /obj/item/secateurs, /obj/item/cultivator, /obj/item/shovel/spade, @@ -408,27 +382,6 @@ /obj/item/storage/bag/plants ) -/obj/item/borg/upgrade/botany/action(mob/living/silicon/robot/R) - . = ..() - if(!.) - return - - for(var/type in added_stuff) - var/obj/item/added_item = new type(R.model) - R.model.basic_modules += added_item - R.model.add_module(added_item, FALSE, TRUE) - -/obj/item/borg/upgrade/botany/deactivate(mob/living/silicon/robot/R) - . = ..() - if(!.) - return - - for(var/obj/item/module as anything in R.model.modules) - if(!(module.type in added_stuff)) - continue - - R.model.remove_module(module, TRUE) - /* * UNIVERSAL CYBORG UPGRADES */ @@ -551,44 +504,11 @@ desc = "A module that greatly upgrades the ability of borgs to display affection." icon_state = "cyborg_upgrade3" custom_price = 0 + items_to_add = list( + /obj/item/kinky_shocker, + /obj/item/clothing/mask/leatherwhip, + /obj/item/spanking_pad, + /obj/item/tickle_feather, + /obj/item/clothing/erp_leash, + ) -/obj/item/borg/upgrade/dominatrixmodule/action(mob/living/silicon/robot/borg) - . = ..() - if(!.) - return - var/obj/item/kinky_shocker/cur_shocker = locate() in borg.model.modules - if(cur_shocker) - to_chat(usr, span_warning("This unit already has a dominatrix module installed!")) - return FALSE - - var/obj/item/kinky_shocker/shocker = new /obj/item/kinky_shocker() - borg.model.basic_modules += shocker - borg.model.add_module(shocker, FALSE, TRUE) - var/obj/item/clothing/mask/leatherwhip/whipper = new /obj/item/clothing/mask/leatherwhip() - borg.model.basic_modules += whipper - borg.model.add_module(whipper, FALSE, TRUE) - var/obj/item/spanking_pad/spanker = new /obj/item/spanking_pad() - borg.model.basic_modules += spanker - borg.model.add_module(spanker, FALSE, TRUE) - var/obj/item/tickle_feather/tickler = new /obj/item/tickle_feather() - borg.model.basic_modules += tickler - borg.model.add_module(tickler, FALSE, TRUE) - var/obj/item/clothing/erp_leash/leash = new /obj/item/clothing/erp_leash() - borg.model.basic_modules += leash - borg.model.add_module(leash, FALSE, TRUE) - -/obj/item/borg/upgrade/dominatrixmodule/deactivate(mob/living/silicon/robot/borg, user = usr) - . = ..() - if(!.) - return - - for(var/obj/item/kinky_shocker/shocker in borg.model.modules) - borg.model.remove_module(shocker, TRUE) - for(var/obj/item/clothing/mask/leatherwhip/whipper in borg.model.modules) - borg.model.remove_module(whipper, TRUE) - for(var/obj/item/spanking_pad/spanker in borg.model.modules) - borg.model.remove_module(spanker, TRUE) - for(var/obj/item/tickle_feather/tickler in borg.model.modules) - borg.model.remove_module(tickler, TRUE) - for(var/obj/item/clothing/erp_leash/leash in borg.model.modules) - borg.model.remove_module(leash, TRUE)