From a1f9a27bcb96df0987630d9938297f694b8350ee Mon Sep 17 00:00:00 2001 From: Kashargul <144968721+Kashargul@users.noreply.github.com> Date: Thu, 15 Aug 2024 20:51:26 +0200 Subject: [PATCH 1/2] borg beaker improvement --- .../silicon/robot/dogborg/dog_modules_vr.dm | 25 +++++++++++++++++++ .../mob/living/silicon/robot/inventory.dm | 4 +-- .../silicon/robot/robot_modules/station.dm | 4 +-- 3 files changed, 29 insertions(+), 4 deletions(-) diff --git a/code/modules/mob/living/silicon/robot/dogborg/dog_modules_vr.dm b/code/modules/mob/living/silicon/robot/dogborg/dog_modules_vr.dm index c1439e71fec..36c2dcbd8c1 100644 --- a/code/modules/mob/living/silicon/robot/dogborg/dog_modules_vr.dm +++ b/code/modules/mob/living/silicon/robot/dogborg/dog_modules_vr.dm @@ -493,3 +493,28 @@ T.apply_damage(20, HALLOSS,, armor_block, armor_soak) if(prob(75)) //75% chance to stun for 5 seconds, really only going to be 4 bcus click cooldown+animation. T.apply_effect(5, WEAKEN, armor_block) + +/obj/item/weapon/reagent_containers/glass/beaker/large/borg + var/mob/living/silicon/robot/R + var/last_robot_loc + +/obj/item/weapon/reagent_containers/glass/beaker/large/borg/Initialize() + . = ..() + R = loc.loc + RegisterSignal(src, COMSIG_OBSERVER_MOVED, PROC_REF(check_loc)) + +/obj/item/weapon/reagent_containers/glass/beaker/large/borg/proc/check_loc(atom/movable/mover, atom/old_loc, atom/new_loc) + if(old_loc == R || old_loc == R.module) + last_robot_loc = old_loc + if(!istype(loc, /obj/machinery) && loc != R && loc != R.module) + if(last_robot_loc) + forceMove(last_robot_loc) + last_robot_loc = null + else + forceMove(R) + if(loc == R) + hud_layerise() + +/obj/item/weapon/reagent_containers/glass/beaker/large/borg/Destroy() + UnregisterSignal(src, COMSIG_OBSERVER_MOVED) + ..() diff --git a/code/modules/mob/living/silicon/robot/inventory.dm b/code/modules/mob/living/silicon/robot/inventory.dm index 59728746177..53590c15258 100644 --- a/code/modules/mob/living/silicon/robot/inventory.dm +++ b/code/modules/mob/living/silicon/robot/inventory.dm @@ -277,8 +277,8 @@ pounce.desc = initial(pounce.desc) pounce.bluespace = initial(pounce.bluespace) -/mob/living/silicon/robot/put_in_hands(var/obj/item/W) // No hands. - W.loc = get_turf(src) +/mob/living/silicon/robot/put_in_hands(var/obj/item/W) // No hands.# + W.forceMove(get_turf(src)) return 1 /mob/living/silicon/robot/is_holding_item_of_type(typepath) diff --git a/code/modules/mob/living/silicon/robot/robot_modules/station.dm b/code/modules/mob/living/silicon/robot/robot_modules/station.dm index 511137caf3f..9815ea36d7c 100644 --- a/code/modules/mob/living/silicon/robot/robot_modules/station.dm +++ b/code/modules/mob/living/silicon/robot/robot_modules/station.dm @@ -309,7 +309,7 @@ var/global/list/robot_modules = list( src.modules += new /obj/item/device/reagent_scanner/adv(src) src.modules += new /obj/item/roller_holder(src) src.modules += new /obj/item/weapon/reagent_containers/borghypo/crisis(src) - src.modules += new /obj/item/weapon/reagent_containers/glass/beaker/large(src) + src.modules += new /obj/item/weapon/reagent_containers/glass/beaker/large/borg(src) src.modules += new /obj/item/weapon/reagent_containers/dropper/industrial(src) src.modules += new /obj/item/weapon/reagent_containers/syringe(src) src.modules += new /obj/item/weapon/gripper/no_use/organ(src) @@ -708,7 +708,7 @@ var/global/list/robot_modules = list( src.modules += new /obj/item/weapon/surgical/hemostat/cyborg(src) //Synth repair src.modules += new /obj/item/weapon/surgical/surgicaldrill/cyborg(src) //NIF repair src.modules += new /obj/item/weapon/reagent_containers/syringe(src) - src.modules += new /obj/item/weapon/reagent_containers/glass/beaker/large(src) + src.modules += new /obj/item/weapon/reagent_containers/glass/beaker/large/borg(src) src.modules += new /obj/item/weapon/storage/part_replacer(src) src.modules += new /obj/item/weapon/shockpaddles/robot/jumper(src) src.modules += new /obj/item/weapon/melee/baton/slime/robot(src) From 9f16bbd44ed1723dadf052479bdf59a3caf94956 Mon Sep 17 00:00:00 2001 From: Kashargul <144968721+Kashargul@users.noreply.github.com> Date: Thu, 15 Aug 2024 20:53:31 +0200 Subject: [PATCH 2/2] . --- code/modules/mob/living/silicon/robot/inventory.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/mob/living/silicon/robot/inventory.dm b/code/modules/mob/living/silicon/robot/inventory.dm index 53590c15258..ad38d91b1e6 100644 --- a/code/modules/mob/living/silicon/robot/inventory.dm +++ b/code/modules/mob/living/silicon/robot/inventory.dm @@ -277,7 +277,7 @@ pounce.desc = initial(pounce.desc) pounce.bluespace = initial(pounce.bluespace) -/mob/living/silicon/robot/put_in_hands(var/obj/item/W) // No hands.# +/mob/living/silicon/robot/put_in_hands(var/obj/item/W) // No hands. W.forceMove(get_turf(src)) return 1