From 5d611b3afda7e85cc6933db5ff88c9349acbafcd Mon Sep 17 00:00:00 2001 From: Pinta <68373373+softcerv@users.noreply.github.com> Date: Sun, 28 Nov 2021 14:16:56 -0500 Subject: [PATCH] [MOSTLY MODULAR] Body Teleporter Medicell (#9599) * adds the base of the cell in * what if we added visual information in * makes it more visible * textures and conversion kit * adds to techfab * Update mediguns.dm * Update medcells.dm * Update medguns.dm * Update modular_skyrat/modules/modular_weapons/code/medguns.dm Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com> * Update modular_skyrat/modules/modular_weapons/code/medguns.dm Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com> * Update modular_skyrat/modules/modular_weapons/code/medguns.dm Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com> * Update modular_skyrat/modules/modular_weapons/code/mediguns.dm Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com> Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com> --- code/modules/research/techweb/all_nodes.dm | 1 + .../modules/modular_weapons/code/medcells.dm | 25 ++++++++++++++++++ .../modules/modular_weapons/code/medguns.dm | 16 +++++++++-- .../modules/modular_weapons/code/mediguns.dm | 10 +++++++ .../modular_weapons/icons/obj/upgrades.dmi | Bin 8439 -> 8865 bytes 5 files changed, 50 insertions(+), 2 deletions(-) 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 dabc886dd89322f6507c6291a986b3c1a11a900f..806c4b8fb14289723486ebc0241c0598d24e6aba 100644 GIT binary patch literal 8865 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 literal 8439 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 HY$N^)%*qa<