From a0c3911cc745e553ba39da020c0e52608e56a9bc Mon Sep 17 00:00:00 2001 From: SuperSlayer <91609255+SuperSlayer0@users.noreply.github.com> Date: Fri, 2 Sep 2022 15:45:54 +0300 Subject: [PATCH 1/2] --- .../clock_items/clockwork_weaponry.dm | 27 +++++++++++++++++++ .../mob/living/silicon/robot/robot_modules.dm | 1 + 2 files changed, 28 insertions(+) diff --git a/code/modules/antagonists/clockcult/clock_items/clockwork_weaponry.dm b/code/modules/antagonists/clockcult/clock_items/clockwork_weaponry.dm index f2174030a651..bb09673d470b 100644 --- a/code/modules/antagonists/clockcult/clock_items/clockwork_weaponry.dm +++ b/code/modules/antagonists/clockcult/clock_items/clockwork_weaponry.dm @@ -13,3 +13,30 @@ if(new_action) action = new_action action.weapon = src + +/obj/item/clockwork/weapon/attack_self(mob/user) + if(!is_cyborg(user)) + return ..() + var/mob/living/silicon/robot/robot_user = user + for(var/i in 1 to 3) ///shitcode + if(robot_user.held_items[i] && robot_user.held_items[i] == src) + var/choice = input(user,"What weapon do you want to activate?", "Weapon") as anything in (list("ratvarian spear","brass battle-hammer","brass longsword") - initial(name)) + if(!choice) + return + var/obj/item/weapon_type + switch(choice) + if("ratvarian spear") + weapon_type = /obj/item/clockwork/weapon/ratvarian_spear + if("brass battle-hammer") + weapon_type = /obj/item/clockwork/weapon/brass_battlehammer + if("brass longsword") + weapon_type = /obj/item/clockwork/weapon/brass_sword + robot_user.unequip_module_from_slot(src, i) + + if(!weapon_type) + return + + var/obj/item/weapon = new weapon_type (R.module) + robot_user.module.ratvar_modules += weapon + robot_user.module.add_module(weapon, FALSE, TRUE) + robot_user.activate_module(weapon) \ No newline at end of file diff --git a/code/modules/mob/living/silicon/robot/robot_modules.dm b/code/modules/mob/living/silicon/robot/robot_modules.dm index 887c0dcf0b84..332762bc5bf5 100644 --- a/code/modules/mob/living/silicon/robot/robot_modules.dm +++ b/code/modules/mob/living/silicon/robot/robot_modules.dm @@ -586,6 +586,7 @@ ratvar_modules = list( /obj/item/clockwork/slab/cyborg/miner, /obj/item/clockwork/weapon/ratvarian_spear, + /datum/action/innate/call_weapon/brass_bow, /obj/item/borg/sight/xray/truesight_lens) cyborg_base_icon = "miner" moduleselect_icon = "miner" From 9704b14ebe4632e2fde8835996561bf341173f07 Mon Sep 17 00:00:00 2001 From: SuperSlayer <91609255+SuperSlayer0@users.noreply.github.com> Date: Fri, 2 Sep 2022 15:55:28 +0300 Subject: [PATCH 2/2] --- .../clockcult/clock_items/clockwork_weaponry.dm | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/code/modules/antagonists/clockcult/clock_items/clockwork_weaponry.dm b/code/modules/antagonists/clockcult/clock_items/clockwork_weaponry.dm index bb09673d470b..d4a3ffedceb0 100644 --- a/code/modules/antagonists/clockcult/clock_items/clockwork_weaponry.dm +++ b/code/modules/antagonists/clockcult/clock_items/clockwork_weaponry.dm @@ -15,13 +15,13 @@ action.weapon = src /obj/item/clockwork/weapon/attack_self(mob/user) - if(!is_cyborg(user)) + if(!iscyborg(user)) return ..() var/mob/living/silicon/robot/robot_user = user for(var/i in 1 to 3) ///shitcode if(robot_user.held_items[i] && robot_user.held_items[i] == src) var/choice = input(user,"What weapon do you want to activate?", "Weapon") as anything in (list("ratvarian spear","brass battle-hammer","brass longsword") - initial(name)) - if(!choice) + if(!choice || QDELETED(src)) return var/obj/item/weapon_type switch(choice) @@ -36,7 +36,8 @@ if(!weapon_type) return - var/obj/item/weapon = new weapon_type (R.module) + var/obj/item/weapon = new weapon_type (robot_user.module) robot_user.module.ratvar_modules += weapon robot_user.module.add_module(weapon, FALSE, TRUE) - robot_user.activate_module(weapon) \ No newline at end of file + robot_user.activate_module(weapon) + qdel(src) \ No newline at end of file