From 1be1f657d25086fd96f52e508b62c844fea3f747 Mon Sep 17 00:00:00 2001 From: NullFag Date: Thu, 30 May 2024 22:23:28 +0200 Subject: [PATCH] DAISY BOOKS BEPEENIS ON TOP --- .../modules/research/techweb/all_nodes.dm | 5 +- .../modules/borgs/code/robot_upgrade.dm | 48 +++++++++++++++++++ tgstation.dme | 1 - 3 files changed, 51 insertions(+), 3 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 702fb0cf67e..ad34b7d279c 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 @@ -253,10 +253,11 @@ return ..() /datum/techweb_node/cyborg_upg_serv/New() design_ids += list( - "borg_upgrade_artistic" + "borg_upgrade_artistic", + "borg_upgrade_botany" ) return ..() - + /datum/techweb_node/basic_mining/New() diff --git a/modular_skyrat/modules/borgs/code/robot_upgrade.dm b/modular_skyrat/modules/borgs/code/robot_upgrade.dm index d941e480add..4f41e4b970d 100644 --- a/modular_skyrat/modules/borgs/code/robot_upgrade.dm +++ b/modular_skyrat/modules/borgs/code/robot_upgrade.dm @@ -381,6 +381,54 @@ if (module_item) install.model.remove_module(module_item, TRUE) +/datum/design/borg_upgrade_botany + name = "Botanical Operator Module" + id = "borg_upgrade_botany" + build_type = MECHFAB + build_path = /obj/item/borg/upgrade/botany + materials = list(/datum/material/iron = SMALL_MATERIAL_AMOUNT * 2, /datum/material/glass = SMALL_MATERIAL_AMOUNT * 2) + construction_time = 10 SECONDS + category = list( + RND_CATEGORY_MECHFAB_CYBORG_MODULES + RND_SUBCATEGORY_MECHFAB_CYBORG_MODULES_SERVICE + ) + +/obj/item/borg/upgrade/botany + name = "botanical operator upgrade" + desc = "Provides an assortement of tools for dealing with plants." + icon_state = "cyborg_upgrade2" + require_model = TRUE + model_type = list(/obj/item/robot_model/service) + model_flags = BORG_MODEL_SERVICE + + var/static/list/added_stuff = list( + /obj/item/secateurs, + /obj/item/cultivator, + /obj/item/shovel/spade, + /obj/item/plant_analyzer, + /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 */ diff --git a/tgstation.dme b/tgstation.dme index 8bc9ba8891e..e959a72d6ef 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -6549,7 +6549,6 @@ #include "modular_skyrat\master_files\code\modules\clothing\under\jobs\security.dm" #include "modular_skyrat\master_files\code\modules\clothing\under\jobs\civilian\civilian.dm" #include "modular_skyrat\master_files\code\modules\clothing\under\jobs\civilian\suits.dm" -#include "modular_skyrat\master_files\code\modules\cyborg\robot_upgrades.dm" #include "modular_skyrat\master_files\code\modules\events\_event.dm" #include "modular_skyrat\master_files\code\modules\experisci\experiment.dm" #include "modular_skyrat\master_files\code\modules\food_and_drinks\recipes\food_mixtures.dm"