Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add: Advanced laser surgery tools #5836

Merged
merged 18 commits into from
Sep 22, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
52 changes: 51 additions & 1 deletion code/modules/research/designs/medical_designs.dm
Original file line number Diff line number Diff line change
Expand Up @@ -209,12 +209,62 @@
name = "Incision Management System"
desc = "A true extension of the surgeon's body, this marvel instantly and completely prepares an incision allowing for the immediate commencement of therapeutic steps."
id = "scalpel_manager"
req_tech = list("biotech" = 4, "materials" = 7, "magnets" = 5, "programming" = 4)
req_tech = list("biotech" = 4, "materials" = 8, "magnets" = 5, "programming" = 4)
build_type = PROTOLATHE
materials = list(MAT_METAL = 2000, MAT_GLASS = 1500, MAT_SILVER = 1000, MAT_GOLD = 1000, MAT_DIAMOND = 1000)
build_path = /obj/item/scalpel/laser/manager
category = list("Medical")

/datum/design/item/retractor_laser
name = "Advenced Laser Retractor"
desc = "A retractor with a laser tip. This one looks to be the pinnacle of precision energy a surgery tools!"
id = "retractor_laser"
req_tech = list("biotech" = 4, "materials" = 6, "magnets" = 5)
build_type = PROTOLATHE
materials = list(MAT_METAL = 2000, MAT_GLASS = 1500, MAT_SILVER = 1000, MAT_GOLD = 1000)
build_path = /obj/item/retractor/laser
category = list("Medical")

/datum/design/item/hemostat_laser
name = "Advenced Laser Hemostat"
desc = "A hemostat with a laser clamp. This one looks to be the pinnacle of precision energy a surgery tools!"
id = "hemostat_laser"
req_tech = list("biotech" = 4, "materials" = 6, "magnets" = 5)
build_type = PROTOLATHE
materials = list(MAT_METAL = 2000, MAT_GLASS = 1500, MAT_SILVER = 1000, MAT_GOLD = 1000)
build_path = /obj/item/hemostat/laser
category = list("Medical")

/datum/design/item/surgicaldrill_laser
name = "Advenced Laser Surgical Drill"
desc = "A surgery drill with a directed laser bit. This one looks to be the pinnacle of precision energy a surgery tools!"
id = "surgicaldrill_laser"
req_tech = list("biotech" = 4, "materials" = 6, "magnets" = 5)
build_type = PROTOLATHE
materials = list(MAT_METAL = 2000, MAT_GLASS = 1500, MAT_SILVER = 1000, MAT_GOLD = 1000)
build_path = /obj/item/surgicaldrill/laser
category = list("Medical")

/datum/design/item/circular_laser
name = "Advenced Laser Circular Saw"
desc = "A saw with a circular laser disk. This one looks to be the pinnacle of precision energy a surgery tools!"
id = "circular_laser"
req_tech = list("biotech" = 4, "materials" = 6, "magnets" = 5)
build_type = PROTOLATHE
materials = list(MAT_METAL = 2000, MAT_GLASS = 1500, MAT_SILVER = 1000, MAT_GOLD = 1000)
build_path = /obj/item/circular_saw/laser
category = list("Medical")

/datum/design/item/bonesetter_laser
name = "Advenced Laser Bonesetter"
desc = "A bone settler with a laser teeth. This one looks to be the pinnacle of precision energy a surgery tools!"
id = "bonesetter_laser"
req_tech = list("biotech" = 4, "materials" = 6, "magnets" = 5)
build_type = PROTOLATHE
materials = list(MAT_METAL = 2000, MAT_GLASS = 1500, MAT_SILVER = 1000, MAT_GOLD = 1000)
build_path = /obj/item/bonesetter/laser
category = list("Medical")

/datum/design/alienscalpel
name = "Alien Scalpel"
desc = "An advanced scalpel obtained through Abductor technology."
Expand Down
36 changes: 36 additions & 0 deletions code/modules/surgery/tools.dm
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,13 @@
. = ..()
ADD_TRAIT(src, TRAIT_SURGICAL, ROUNDSTART_TRAIT)

/obj/item/retractor/laser
name = "Advanced Laser Retractors"
desc = "A retractor with a laser tip. This one looks to be the pinnacle of precision energy a surgery tools!"
icon_state = "retractor_laser"
item_state = "retractor_laser"
toolspeed = 0.4

/obj/item/retractor/augment
desc = "Micro-mechanical manipulator for retracting stuff."
w_class = WEIGHT_CLASS_TINY
Expand All @@ -36,6 +43,13 @@
. = ..()
ADD_TRAIT(src, TRAIT_SURGICAL, ROUNDSTART_TRAIT)

/obj/item/hemostat/laser
name = "Advanced Laser Hemostat"
desc = "A hemostat with a laser clamp. This one looks to be the pinnacle of precision energy a surgery tools!"
icon_state = "hemostat_laser"
item_state = "hemostat_laser"
toolspeed = 0.4

/obj/item/hemostat/augment
desc = "Tiny servos power a pair of pincers to stop bleeding."
toolspeed = 0.5
Expand Down Expand Up @@ -86,6 +100,13 @@
span_suicide("[user] is pressing [src] to [user.p_their()] chest and activating it! It looks like [user.p_theyre()] trying to commit suicide.")))
return BRUTELOSS

/obj/item/surgicaldrill/laser
name = "Advanced Laser Surgical Drill"
desc = "A surgery drill with a directed laser bit. This one looks to be the pinnacle of precision energy a surgery tools!"
icon_state = "drill_laser"
item_state = "drill_laser"
toolspeed = 0.4

/obj/item/surgicaldrill/augment
desc = "Effectively a small power drill contained within your arm, edges dulled to prevent tissue damage. May or may not pierce the heavens."
hitsound = 'sound/weapons/circsawhit.ogg'
Expand Down Expand Up @@ -206,6 +227,14 @@
. = ..()
ADD_TRAIT(src, TRAIT_SURGICAL, ROUNDSTART_TRAIT)

/obj/item/circular_saw/laser
name = "Advanced Laser Circular Saw"
desc = "A saw with a circular laser disk. This one looks to be the pinnacle of precision energy a surgery tools!"
icon_state = "saw_laser"
item_state = "saw_laser"
origin_tech = "biotech=1;material=1"
toolspeed = 0.6

/obj/item/circular_saw/augment
desc = "A small but very fast spinning saw. Edges dulled to prevent accidental cutting inside of the surgeon."
force = 10
Expand Down Expand Up @@ -267,6 +296,13 @@
. = ..()
ADD_TRAIT(src, TRAIT_SURGICAL, ROUNDSTART_TRAIT)

/obj/item/bonesetter/laser
name = "Advanced Laser Bone Setter"
desc = "A bone settler with a laser teeth. This one looks to be the pinnacle of precision energy a surgery tools!"
icon_state = "bonesetter_laser"
item_state = "bonesetter_laser"
toolspeed = 0.4

/obj/item/bonesetter/augment
toolspeed = 0.5

Expand Down
Binary file modified icons/mob/inhands/items_lefthand.dmi
Binary file not shown.
Binary file modified icons/mob/inhands/items_righthand.dmi
Binary file not shown.
Binary file modified icons/obj/surgery.dmi
Binary file not shown.