Surgical power tools

This commit is contained in:
shellspeed1
2019-10-07 19:28:32 -07:00
parent 345e69a718
commit 2fa55f00a4
4 changed files with 144 additions and 61 deletions

View File

@@ -574,9 +574,39 @@
category = list("Medical Designs")
departmental_flags = DEPARTMENTAL_FLAG_MEDICAL
/////////////////////
//Adv Surgery Tools//
/////////////////////
/datum/design/laserscalpel
name = "Laser Scalpel"
desc = "A laser scalpel used for precise cutting."
id = "laserscalpel"
build_path = /obj/item/scalpel/advanced
build_type = PROTOLATHE
materials = list(MAT_METAL = 6000, MAT_GLASS = 1500, MAT_SILVER = 2000, MAT_GOLD = 1500, MAT_DIAMOND = 200, MAT_TITANIUM = 4000)
category = list("Medical Designs")
departmental_flags = DEPARTMENTAL_FLAG_MEDICAL | DEPARTMENTAL_FLAG_SCIENCE
/datum/design/mechanicalpinches
name = "Mechanical Pinches"
desc = "These pinches can be either used as retractor or hemostat."
id = "mechanicalpinches"
build_path = /obj/item/retractor/advanced
build_type = PROTOLATHE
materials = list(MAT_METAL = 12000, MAT_GLASS = 4000, MAT_SILVER = 4000, MAT_TITANIUM = 5000)
category = list("Medical Designs")
departmental_flags = DEPARTMENTAL_FLAG_MEDICAL | DEPARTMENTAL_FLAG_SCIENCE
/datum/design/searingtool
name = "Searing Tool"
desc = "Used to mend tissue togheter."
id = "searingtool"
build_path = /obj/item/cautery/advanced
build_type = PROTOLATHE
materials = list(MAT_METAL = 4000, MAT_GLASS = 2000, MAT_PLASMA = 2000, MAT_URANIUM = 3000, MAT_TITANIUM = 3000)
category = list("Medical Designs")
departmental_flags = DEPARTMENTAL_FLAG_MEDICAL | DEPARTMENTAL_FLAG_SCIENCE
/datum/design/drapes
name = "Plastic Drapes"
@@ -588,65 +618,6 @@
category = list("Medical Designs")
departmental_flags = DEPARTMENTAL_FLAG_MEDICAL | DEPARTMENTAL_FLAG_SCIENCE
/datum/design/retractor_adv
name = "Advanced Retractor"
desc = "A high-class, premium retractor, featuring precision crafted, silver-plated hook-ends and an electrum handle."
id = "retractor_adv"
build_type = PROTOLATHE
materials = list(MAT_METAL = 500, MAT_GLASS = 500, MAT_SILVER = 1500, MAT_GOLD = 1000)
build_path = /obj/item/retractor/adv
category = list("Medical Designs")
departmental_flags = DEPARTMENTAL_FLAG_MEDICAL | DEPARTMENTAL_FLAG_SCIENCE
/datum/design/hemostat_adv
name = "Advanced Hemostat"
desc = "An exceptionally fine pair of arterial forceps. These appear to be plated in electrum and feel soft to the touch."
id = "hemostat_adv"
build_type = PROTOLATHE
materials = list(MAT_METAL = 500, MAT_GLASS = 500, MAT_SILVER = 1000, MAT_GOLD = 1500)
build_path = /obj/item/hemostat/adv
category = list("Medical Designs")
departmental_flags = DEPARTMENTAL_FLAG_MEDICAL | DEPARTMENTAL_FLAG_SCIENCE
/datum/design/cautery_adv
name = "Electrocautery" //This is based on real-life science.
desc = "A high-tech unipolar Electrocauter. This tiny device contains an extremely powerful microbattery that uses arcs of electricity to painlessly sear wounds shut. It seems to recharge with the user's body-heat. Wow!"
id = "cautery_adv"
build_type = PROTOLATHE
materials = list(MAT_METAL = 500, MAT_GLASS = 500, MAT_SILVER = 1000, MAT_GOLD = 1500)
build_path = /obj/item/cautery/adv
category = list("Medical Designs")
departmental_flags = DEPARTMENTAL_FLAG_MEDICAL | DEPARTMENTAL_FLAG_SCIENCE
/datum/design/surgicaldrill_adv
name = "Surgical Autodrill"
desc = "With a diamond tip and built-in depth and safety sensors, this drill alerts the user before overpenetrating a patient's skull or tooth. There also appears to be a disable switch."
id = "surgicaldrill_adv"
build_type = PROTOLATHE
materials = list(MAT_METAL = 2500, MAT_GLASS = 2500, MAT_SILVER = 6000, MAT_GOLD = 5500, MAT_DIAMOND = 3500)
build_path = /obj/item/surgicaldrill/adv
category = list("Medical Designs")
departmental_flags = DEPARTMENTAL_FLAG_MEDICAL | DEPARTMENTAL_FLAG_SCIENCE
/datum/design/scalpel_adv
name = "Precision Scalpel"
desc = "A perfectly balanced electrum scalpel with a silicon-coated edge to eliminate wear and tear."
id = "scalpel_adv"
build_type = PROTOLATHE
materials = list(MAT_METAL = 1500, MAT_GLASS = 1500, MAT_SILVER = 4000, MAT_GOLD = 2500)
build_path = /obj/item/scalpel/adv
category = list("Medical Designs")
departmental_flags = DEPARTMENTAL_FLAG_MEDICAL | DEPARTMENTAL_FLAG_SCIENCE
/datum/design/circular_saw_adv
name = "Diamond-Grit Circular Saw"
desc = "For those Assistants with REALLY thick skulls."
id = "circular_saw_adv"
build_type = PROTOLATHE
materials = list(MAT_METAL = 7500, MAT_GLASS = 6000, MAT_SILVER = 6500, MAT_GOLD = 7500, MAT_DIAMOND = 4500)
build_path = /obj/item/circular_saw/adv
category = list("Medical Designs")
departmental_flags = DEPARTMENTAL_FLAG_MEDICAL | DEPARTMENTAL_FLAG_SCIENCE
/////////////////////////////////////////
//////////Alien Surgery Tools////////////

View File

@@ -96,7 +96,7 @@
display_name = "Advanced Surgery Tools"
description = "Refined and improved redesigns for the run-of-the-mill medical utensils."
prereq_ids = list("adv_biotech", "adv_surgery")
design_ids = list("drapes", "retractor_adv", "hemostat_adv", "cautery_adv", "surgicaldrill_adv", "scalpel_adv", "circular_saw_adv")
design_ids = list("drapes", "laserscalpel", "mechanicalpinches", "searingtool" )
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500)
export_price = 5000

View File

@@ -332,7 +332,7 @@
icon_state = "spectrometer"
item_flags = NOBLUDGEON
var/list/advanced_surgeries = list()
/obj/item/surgical_processor/afterattack(obj/item/O, mob/user, proximity)
. = ..()
if(!proximity)
@@ -350,3 +350,115 @@
advanced_surgeries |= OC.advanced_surgeries
return TRUE
return
/obj/item/scalpel/advanced
name = "laser scalpel"
desc = "An advanced scalpel which uses laser technology to cut. It's set to scalpel mode."
icon = 'icons/obj/surgery.dmi'
icon_state = "scalpel_a"
hitsound = 'sound/weapons/blade1.ogg'
force = 16
toolspeed = 0.7
light_color = LIGHT_COLOR_GREEN
/obj/item/scalpel/advanced/Initialize()
. = ..()
set_light(1)
/obj/item/scalpel/advanced/attack_self(mob/user)
playsound(get_turf(user),'sound/machines/click.ogg',50,TRUE)
var/obj/item/circular_saw/advanced/saw = new /obj/item/circular_saw/advanced(drop_location())
to_chat(user, "<span class='notice'>You incease the power, now it can cut bones.</span>")
qdel(src)
user.put_in_active_hand(saw)
/obj/item/circular_saw/advanced
name = "laser scalpel"
desc = "An advanced scalpel which uses laser technology to cut. It's set to saw mode."
icon = 'icons/obj/surgery.dmi'
icon_state = "saw_a"
hitsound = 'sound/weapons/blade1.ogg'
force = 17
toolspeed = 0.7
sharpness = IS_SHARP_ACCURATE
light_color = LIGHT_COLOR_GREEN
/obj/item/circular_saw/advanced/Initialize()
. = ..()
set_light(2)
/obj/item/circular_saw/advanced/attack_self(mob/user)
playsound(get_turf(user),'sound/machines/click.ogg',50,TRUE)
var/obj/item/scalpel/advanced/scalpel = new /obj/item/scalpel/advanced(drop_location())
to_chat(user, "<span class='notice'>You lower the power.</span>")
qdel(src)
user.put_in_active_hand(scalpel)
/obj/item/retractor/advanced
name = "mechanical pinches"
desc = "An agglomerate of rods and gears. It resembles a retractor."
icon = 'icons/obj/surgery.dmi'
icon_state = "retractor_a"
toolspeed = 0.7
/obj/item/retractor/advanced/attack_self(mob/user)
playsound(get_turf(user),'sound/items/change_drill.ogg',50,TRUE)
var/obj/item/hemostat/advanced/hemostat = new /obj/item/hemostat/advanced(drop_location())
to_chat(user, "<span class='notice'>You set the [src] to hemostat mode.</span>")
qdel(src)
user.put_in_active_hand(hemostat)
/obj/item/hemostat/advanced
name = "mechanical pinches"
desc = "An agglomerate of rods and gears. It resembles an hemostat."
icon = 'icons/obj/surgery.dmi'
icon_state = "hemostat_a"
toolspeed = 0.7
/obj/item/hemostat/advanced/attack_self(mob/user)
playsound(get_turf(user),'sound/items/change_drill.ogg',50,TRUE)
var/obj/item/retractor/advanced/retractor = new /obj/item/retractor/advanced(drop_location())
to_chat(user, "<span class='notice'>You set the [src] to retractor mode.</span>")
qdel(src)
user.put_in_active_hand(retractor)
/obj/item/surgicaldrill/advanced
name = "searing tool"
desc = "It projects a high power laser used for medical application. It's set to drilling mode."
icon = 'icons/obj/surgery.dmi'
icon_state = "surgicaldrill_a"
hitsound = 'sound/items/welder.ogg'
toolspeed = 0.7
light_color = LIGHT_COLOR_RED
/obj/item/surgicaldrill/advanced/Initialize()
. = ..()
set_light(1)
/obj/item/surgicaldrill/advanced/attack_self(mob/user)
playsound(get_turf(user),'sound/weapons/tap.ogg',50,TRUE)
var/obj/item/cautery/advanced/cautery = new /obj/item/cautery/advanced(drop_location())
to_chat(user, "<span class='notice'>You dilate the lenses, setting it to mending mode.</span>")
qdel(src)
user.put_in_active_hand(cautery)
/obj/item/cautery/advanced
name = "searing tool"
desc = "It projects a high power laser used for medical application. It's set to mending mode."
icon = 'icons/obj/surgery.dmi'
icon_state = "cautery_a"
hitsound = 'sound/items/welder2.ogg'
force = 15
toolspeed = 0.7
light_color = LIGHT_COLOR_RED
/obj/item/cautery/advanced/Initialize()
. = ..()
set_light(1)
/obj/item/cautery/advanced/attack_self(mob/user)
playsound(get_turf(user),'sound/items/welderdeactivate.ogg',50,TRUE)
var/obj/item/surgicaldrill/advanced/surgicaldrill = new /obj/item/surgicaldrill/advanced(drop_location())
to_chat(user, "<span class='notice'>You focus the lensess, it is now set to drilling mode.</span>")
qdel(src)
user.put_in_active_hand(surgicaldrill)