diff --git a/code/modules/research/techweb/all_nodes.dm b/code/modules/research/techweb/all_nodes.dm index c5658d420dd..cc5f6088011 100644 --- a/code/modules/research/techweb/all_nodes.dm +++ b/code/modules/research/techweb/all_nodes.dm @@ -335,6 +335,7 @@ "toxin2medicell", "oxy2medicell", "tempmedicell", + "bodymedicell", "clotmedicell", //SKYRAT EDIT END - ) diff --git a/modular_skyrat/modules/modular_weapons/code/medcells.dm b/modular_skyrat/modules/modular_weapons/code/medcells.dm index 8e053b89bc9..e1a6d62771c 100644 --- a/modular_skyrat/modules/modular_weapons/code/medcells.dm +++ b/modular_skyrat/modules/modular_weapons/code/medcells.dm @@ -397,6 +397,31 @@ else return FALSE +/obj/item/ammo_casing/energy/medical/utility/body_teleporter + projectile_type = /obj/projectile/energy/medical/utility/body_teleporter + select_name = "teleporter" + select_color = "#4400ff" + delay = 12 //This is a powerful cell, It'd be good for this to have a bit of a delay + +/obj/projectile/energy/medical/utility/body_teleporter + name = "bluespace transportation field" + +/obj/projectile/energy/medical/utility/body_teleporter/on_hit(mob/living/target) + . = ..() + if(!ishuman(target) || !target.stat == DEAD) + if(!HAS_TRAIT(target, TRAIT_DEATHCOMA)) + return FALSE + var/mob/living/carbon/body = target + teleport_effect(body.loc) + body.forceMove(firer.loc) + teleport_effect(body.loc) + body.visible_message(span_notice("[body]'s body teleports to [firer]!")) + +/obj/projectile/energy/medical/utility/body_teleporter/proc/teleport_effect(var/location) + var/datum/effect_system/spark_spread/quantum/sparks = new /datum/effect_system/spark_spread/quantum //uses the teleport effect from quantum pads + sparks.set_up(5, 1, get_turf(location)) + sparks.start() + //Objects Used by medicells. /obj/item/clothing/suit/toggle/labcoat/hospitalgown/hardlight name = "Hardlight Hospital Gown" diff --git a/modular_skyrat/modules/modular_weapons/code/medguns.dm b/modular_skyrat/modules/modular_weapons/code/medguns.dm index aa2c51b7415..ab0476c16ce 100644 --- a/modular_skyrat/modules/modular_weapons/code/medguns.dm +++ b/modular_skyrat/modules/modular_weapons/code/medguns.dm @@ -245,15 +245,27 @@ icon_state = "gown" ammo_type = /obj/item/ammo_casing/energy/medical/utility/bed +/obj/item/weaponcell/medical/utility/body_teleporter + name = "Body Transporter Medicell" + desc = "A medicell that allows the user to transport a dead body to themselves." + icon_state = "body" + ammo_type = /obj/item/ammo_casing/energy/medical/utility/body_teleporter + //Empty Medicell// /obj/item/device/custom_kit/empty_cell //Having the empty cell as an upgrade kit sounds jank, but it should work well. - name = "Empty Salve Medicell" + name = "empty salve medicell" icon = 'modular_skyrat/modules/modular_weapons/icons/obj/upgrades.dmi' icon_state = "empty" - desc = "A unactivated Salve Medicell, use this on an aloe leaf to make this into a usable cell" + desc = "An inactive salve medicell, use this on an aloe leaf to make this into a usable cell." from_obj = /obj/item/food/grown/aloe to_obj = /obj/item/weaponcell/medical/utility/salve /obj/item/device/custom_kit/empty_cell/Initialize() . = ..() AddElement(/datum/element/item_scaling, 0.5, 1) + +/obj/item/device/custom_kit/empty_cell/body_teleporter + name = "empty body teleporter medicell" + desc = "An inactive body teleporter medicell, use this on a bluespace slime extract to make this into a usable cell." + from_obj = /obj/item/slime_extract/bluespace + to_obj = /obj/item/weaponcell/medical/utility/body_teleporter diff --git a/modular_skyrat/modules/modular_weapons/code/mediguns.dm b/modular_skyrat/modules/modular_weapons/code/mediguns.dm index 064ae96d542..bf024ca8ea5 100644 --- a/modular_skyrat/modules/modular_weapons/code/mediguns.dm +++ b/modular_skyrat/modules/modular_weapons/code/mediguns.dm @@ -141,6 +141,16 @@ category = list("Ammo") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL +/datum/design/bodymedicell + name = "Empty Body Teleporter Medicell" + desc = "An empty medicell that can be upgraded by a bluespace slime extract into an usable body teleporter medicell." + id = "bodymedicell" + build_type = PROTOLATHE | AWAY_LATHE + materials = list(/datum/material/plastic = 2000, /datum/material/glass = 2000, /datum/material/plasma = 1000, /datum/material/diamond = 500, /datum/material/bluespace = 2000) + build_path = /obj/item/device/custom_kit/empty_cell/body_teleporter + category = list("Ammo") + departmental_flags = DEPARTMENTAL_FLAG_MEDICAL + //Upgrade Kit// /datum/design/medigunspeedkit name = "VeyMedical CWM-479 Upgrade kit" diff --git a/modular_skyrat/modules/modular_weapons/icons/obj/upgrades.dmi b/modular_skyrat/modules/modular_weapons/icons/obj/upgrades.dmi index dabc886dd89..806c4b8fb14 100644 Binary files a/modular_skyrat/modules/modular_weapons/icons/obj/upgrades.dmi and b/modular_skyrat/modules/modular_weapons/icons/obj/upgrades.dmi differ