mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-23 03:57:13 +01:00
Removes All Weapons
This commit is contained in:
@@ -33,8 +33,8 @@
|
||||
name = "mend bone"
|
||||
|
||||
allowed_tools = list(
|
||||
/obj/item/weapon/bonegel = 100, \
|
||||
/obj/item/weapon/screwdriver = 90
|
||||
/obj/item/bonegel = 100, \
|
||||
/obj/item/screwdriver = 90
|
||||
)
|
||||
can_infect = 1
|
||||
blood_level = 1
|
||||
@@ -69,8 +69,8 @@
|
||||
name = "set bone"
|
||||
|
||||
allowed_tools = list(
|
||||
/obj/item/weapon/bonesetter = 100, \
|
||||
/obj/item/weapon/wrench = 90 \
|
||||
/obj/item/bonesetter = 100, \
|
||||
/obj/item/wrench = 90 \
|
||||
)
|
||||
|
||||
time = 32
|
||||
@@ -108,8 +108,8 @@
|
||||
name = "mend skull"
|
||||
|
||||
allowed_tools = list(
|
||||
/obj/item/weapon/bonesetter = 100, \
|
||||
/obj/item/weapon/wrench = 90 \
|
||||
/obj/item/bonesetter = 100, \
|
||||
/obj/item/wrench = 90 \
|
||||
)
|
||||
|
||||
time = 32
|
||||
@@ -143,8 +143,8 @@
|
||||
name = "medicate bones"
|
||||
|
||||
allowed_tools = list(
|
||||
/obj/item/weapon/bonegel = 100, \
|
||||
/obj/item/weapon/screwdriver = 90
|
||||
/obj/item/bonegel = 100, \
|
||||
/obj/item/screwdriver = 90
|
||||
)
|
||||
can_infect = 1
|
||||
blood_level = 1
|
||||
|
||||
@@ -67,8 +67,8 @@
|
||||
/datum/surgery_step/cavity/make_space
|
||||
name = "make cavity space"
|
||||
allowed_tools = list(
|
||||
/obj/item/weapon/surgicaldrill = 100, \
|
||||
/obj/item/weapon/pen = 90, \
|
||||
/obj/item/surgicaldrill = 100, \
|
||||
/obj/item/pen = 90, \
|
||||
/obj/item/stack/rods = 60
|
||||
)
|
||||
|
||||
@@ -91,11 +91,11 @@
|
||||
/datum/surgery_step/cavity/close_space
|
||||
name = "close cavity space"
|
||||
allowed_tools = list(
|
||||
/obj/item/weapon/scalpel/laser = 100, \
|
||||
/obj/item/weapon/cautery = 100, \
|
||||
/obj/item/scalpel/laser = 100, \
|
||||
/obj/item/cautery = 100, \
|
||||
/obj/item/clothing/mask/cigarette = 90, \
|
||||
/obj/item/weapon/lighter = 60, \
|
||||
/obj/item/weapon/weldingtool = 30
|
||||
/obj/item/lighter = 60, \
|
||||
/obj/item/weldingtool = 30
|
||||
)
|
||||
|
||||
time = 24
|
||||
@@ -145,7 +145,7 @@
|
||||
if(!istype(I, /obj/item/organ))
|
||||
IC = I
|
||||
break
|
||||
if(istype(tool,/obj/item/weapon/cautery))
|
||||
if(istype(tool,/obj/item/cautery))
|
||||
to_chat(user, "<span class='notice'>You prepare to close the cavity wall.</span>")
|
||||
else if(tool)
|
||||
user.visible_message("[user] starts putting \the [tool] inside [target]'s [get_cavity(affected)] cavity.", \
|
||||
@@ -161,11 +161,11 @@
|
||||
/datum/surgery_step/cavity/place_item/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool,datum/surgery/surgery)
|
||||
var/obj/item/organ/external/chest/affected = target.get_organ(target_zone)
|
||||
|
||||
if(istype(tool, /obj/item/weapon/disk/nuclear))
|
||||
if(istype(tool, /obj/item/disk/nuclear))
|
||||
to_chat(user, "<span class='warning'>Central command would kill you if you implanted the disk into someone.</span>")
|
||||
return 0//fail
|
||||
|
||||
var/obj/item/weapon/disk/nuclear/datdisk = locate() in tool
|
||||
var/obj/item/disk/nuclear/datdisk = locate() in tool
|
||||
if(datdisk)
|
||||
to_chat(user, "<span class='warning'>Central command would kill you if you implanted the disk into someone. Even if in a box. Especially in a box.</span>")
|
||||
return 0//fail
|
||||
@@ -178,7 +178,7 @@
|
||||
to_chat(user, "<span class='warning'>[tool] is stuck to your hand, you can't put it in [target]!</span>")
|
||||
return 0
|
||||
|
||||
if(istype(tool,/obj/item/weapon/cautery))
|
||||
if(istype(tool,/obj/item/cautery))
|
||||
return 1//god this is ugly....
|
||||
else if(tool)
|
||||
if(IC)
|
||||
|
||||
@@ -12,19 +12,19 @@
|
||||
|
||||
/datum/surgery_step/insert_pill
|
||||
name = "insert pill"
|
||||
allowed_tools = list(/obj/item/weapon/reagent_containers/food/pill = 100)
|
||||
allowed_tools = list(/obj/item/reagent_containers/food/pill = 100)
|
||||
time = 16
|
||||
|
||||
/datum/surgery_step/insert_pill/begin_step(mob/living/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
|
||||
user.visible_message("[user] begins to wedge \the [tool] in [target]'s [parse_zone(target_zone)].", "<span class='notice'>You begin to wedge [tool] in [target]'s [parse_zone(target_zone)]...</span>")
|
||||
..()
|
||||
|
||||
/datum/surgery_step/insert_pill/end_step(mob/living/user, mob/living/carbon/target, target_zone, var/obj/item/weapon/reagent_containers/food/pill/tool, datum/surgery/surgery)
|
||||
/datum/surgery_step/insert_pill/end_step(mob/living/user, mob/living/carbon/target, target_zone, var/obj/item/reagent_containers/food/pill/tool, datum/surgery/surgery)
|
||||
if(!istype(tool))
|
||||
return 0
|
||||
|
||||
var/dental_implants = 0
|
||||
for(var/obj/item/weapon/reagent_containers/food/pill in target.contents) // Can't give them more than 4 dental implants.
|
||||
for(var/obj/item/reagent_containers/food/pill in target.contents) // Can't give them more than 4 dental implants.
|
||||
dental_implants++
|
||||
if(dental_implants >= 4)
|
||||
user.visible_message("[user] pulls \the [tool] back out of [target]'s [parse_zone(target_zone)]!", "<span class='notice'>You pull \the [tool] back out of [target]'s [parse_zone(target_zone)], there wans't enough room...</span>")
|
||||
|
||||
@@ -23,9 +23,9 @@
|
||||
/datum/surgery_step/open_encased/saw
|
||||
name = "saw bone"
|
||||
allowed_tools = list(
|
||||
/obj/item/weapon/circular_saw = 100, \
|
||||
/obj/item/weapon/melee/energy/sword/cyborg/saw = 100, \
|
||||
/obj/item/weapon/hatchet = 90
|
||||
/obj/item/circular_saw = 100, \
|
||||
/obj/item/melee/energy/sword/cyborg/saw = 100, \
|
||||
/obj/item/hatchet = 90
|
||||
)
|
||||
|
||||
time = 54
|
||||
@@ -70,9 +70,9 @@
|
||||
/datum/surgery_step/open_encased/retract
|
||||
name = "retract bone"
|
||||
allowed_tools = list(
|
||||
/obj/item/weapon/scalpel/laser/manager = 100, \
|
||||
/obj/item/weapon/retractor = 100, \
|
||||
/obj/item/weapon/crowbar = 90
|
||||
/obj/item/scalpel/laser/manager = 100, \
|
||||
/obj/item/retractor = 100, \
|
||||
/obj/item/crowbar = 90
|
||||
)
|
||||
|
||||
time = 24
|
||||
@@ -121,9 +121,9 @@
|
||||
/datum/surgery_step/open_encased/close
|
||||
name = "unretract bone" //i suck at names okay? give me a new one
|
||||
allowed_tools = list(
|
||||
/obj/item/weapon/scalpel/laser/manager = 100, \
|
||||
/obj/item/weapon/retractor = 100, \
|
||||
/obj/item/weapon/crowbar = 90
|
||||
/obj/item/scalpel/laser/manager = 100, \
|
||||
/obj/item/retractor = 100, \
|
||||
/obj/item/crowbar = 90
|
||||
)
|
||||
|
||||
time = 24
|
||||
@@ -172,8 +172,8 @@
|
||||
/datum/surgery_step/open_encased/mend
|
||||
name = "mend bone"
|
||||
allowed_tools = list(
|
||||
/obj/item/weapon/bonegel = 100, \
|
||||
/obj/item/weapon/screwdriver = 90
|
||||
/obj/item/bonegel = 100, \
|
||||
/obj/item/screwdriver = 90
|
||||
)
|
||||
|
||||
time = 24
|
||||
|
||||
@@ -28,9 +28,9 @@
|
||||
/datum/surgery_step/generic/cut_face
|
||||
name = "make incision"
|
||||
allowed_tools = list(
|
||||
/obj/item/weapon/scalpel = 100, \
|
||||
/obj/item/weapon/kitchen/knife = 90, \
|
||||
/obj/item/weapon/shard = 60, \
|
||||
/obj/item/scalpel = 100, \
|
||||
/obj/item/kitchen/knife = 90, \
|
||||
/obj/item/shard = 60, \
|
||||
)
|
||||
|
||||
time = 16
|
||||
@@ -58,8 +58,8 @@
|
||||
/datum/surgery_step/face/mend_vocal
|
||||
name = "mend vocal cords"
|
||||
allowed_tools = list(
|
||||
/obj/item/weapon/scalpel/laser/manager = 100, \
|
||||
/obj/item/weapon/hemostat = 100, \
|
||||
/obj/item/scalpel/laser/manager = 100, \
|
||||
/obj/item/hemostat = 100, \
|
||||
/obj/item/stack/cable_coil = 90, \
|
||||
/obj/item/device/assembly/mousetrap = 12 //I don't know. Don't ask me. But I'm leaving it because hilarity.
|
||||
)
|
||||
@@ -85,10 +85,10 @@
|
||||
/datum/surgery_step/face/fix_face
|
||||
name = "reshape face"
|
||||
allowed_tools = list(
|
||||
/obj/item/weapon/scalpel/laser/manager = 100, \
|
||||
/obj/item/weapon/retractor = 100, \
|
||||
/obj/item/weapon/crowbar = 65, \
|
||||
/obj/item/weapon/kitchen/utensil/fork = 90)
|
||||
/obj/item/scalpel/laser/manager = 100, \
|
||||
/obj/item/retractor = 100, \
|
||||
/obj/item/crowbar = 65, \
|
||||
/obj/item/kitchen/utensil/fork = 90)
|
||||
|
||||
time = 64
|
||||
|
||||
@@ -112,11 +112,11 @@
|
||||
/datum/surgery_step/face/cauterize
|
||||
name = "close incision"
|
||||
allowed_tools = list(
|
||||
/obj/item/weapon/scalpel/laser = 100, \
|
||||
/obj/item/weapon/cautery = 100, \
|
||||
/obj/item/scalpel/laser = 100, \
|
||||
/obj/item/cautery = 100, \
|
||||
/obj/item/clothing/mask/cigarette = 90, \
|
||||
/obj/item/weapon/lighter = 60, \
|
||||
/obj/item/weapon/weldingtool = 30
|
||||
/obj/item/lighter = 60, \
|
||||
/obj/item/weldingtool = 30
|
||||
)
|
||||
|
||||
time = 24
|
||||
|
||||
@@ -21,14 +21,14 @@
|
||||
name = "make incision"
|
||||
|
||||
allowed_tools = list(
|
||||
/obj/item/weapon/scalpel = 100, \
|
||||
/obj/item/weapon/kitchen/knife = 90, \
|
||||
/obj/item/weapon/shard = 60, \
|
||||
/obj/item/weapon/scissors = 12, \
|
||||
/obj/item/weapon/twohanded/chainsaw = 1, \
|
||||
/obj/item/weapon/claymore = 6, \
|
||||
/obj/item/weapon/melee/energy/ = 6, \
|
||||
/obj/item/weapon/pen/edagger = 6, \
|
||||
/obj/item/scalpel = 100, \
|
||||
/obj/item/kitchen/knife = 90, \
|
||||
/obj/item/shard = 60, \
|
||||
/obj/item/scissors = 12, \
|
||||
/obj/item/twohanded/chainsaw = 1, \
|
||||
/obj/item/claymore = 6, \
|
||||
/obj/item/melee/energy/ = 6, \
|
||||
/obj/item/pen/edagger = 6, \
|
||||
)
|
||||
|
||||
time = 16
|
||||
@@ -58,8 +58,8 @@
|
||||
name = "clamp bleeders"
|
||||
|
||||
allowed_tools = list(
|
||||
/obj/item/weapon/scalpel/laser = 100, \
|
||||
/obj/item/weapon/hemostat = 100, \
|
||||
/obj/item/scalpel/laser = 100, \
|
||||
/obj/item/hemostat = 100, \
|
||||
/obj/item/stack/cable_coil = 90, \
|
||||
/obj/item/device/assembly/mousetrap = 25
|
||||
)
|
||||
@@ -92,10 +92,10 @@
|
||||
name = "retract skin"
|
||||
|
||||
allowed_tools = list(
|
||||
/obj/item/weapon/scalpel/laser/manager = 100, \
|
||||
/obj/item/weapon/retractor = 100, \
|
||||
/obj/item/weapon/crowbar = 90, \
|
||||
/obj/item/weapon/kitchen/utensil/fork = 60
|
||||
/obj/item/scalpel/laser/manager = 100, \
|
||||
/obj/item/retractor = 100, \
|
||||
/obj/item/crowbar = 90, \
|
||||
/obj/item/kitchen/utensil/fork = 60
|
||||
)
|
||||
|
||||
time = 24
|
||||
@@ -147,11 +147,11 @@
|
||||
name = "cauterize incision"
|
||||
|
||||
allowed_tools = list(
|
||||
/obj/item/weapon/scalpel/laser = 100, \
|
||||
/obj/item/weapon/cautery = 100, \
|
||||
/obj/item/scalpel/laser = 100, \
|
||||
/obj/item/cautery = 100, \
|
||||
/obj/item/clothing/mask/cigarette = 90, \
|
||||
/obj/item/weapon/lighter = 60, \
|
||||
/obj/item/weapon/weldingtool = 30
|
||||
/obj/item/lighter = 60, \
|
||||
/obj/item/weldingtool = 30
|
||||
)
|
||||
|
||||
time = 24
|
||||
@@ -181,7 +181,7 @@
|
||||
//drill bone
|
||||
/datum/surgery_step/generic/drill
|
||||
name = "drill bone"
|
||||
allowed_tools = list(/obj/item/weapon/surgicaldrill = 100, /obj/item/weapon/pickaxe/drill = 60, /obj/item/mecha_parts/mecha_equipment/drill = 60, /obj/item/weapon/screwdriver = 20)
|
||||
allowed_tools = list(/obj/item/surgicaldrill = 100, /obj/item/pickaxe/drill = 60, /obj/item/mecha_parts/mecha_equipment/drill = 60, /obj/item/screwdriver = 20)
|
||||
time = 30
|
||||
|
||||
/datum/surgery_step/generic/drill/begin_step(mob/living/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
|
||||
@@ -197,10 +197,10 @@
|
||||
name = "amputate limb"
|
||||
|
||||
allowed_tools = list(
|
||||
/obj/item/weapon/circular_saw = 100, \
|
||||
/obj/item/weapon/melee/energy/sword/cyborg/saw = 100, \
|
||||
/obj/item/weapon/hatchet = 90, \
|
||||
/obj/item/weapon/melee/arm_blade = 75
|
||||
/obj/item/circular_saw = 100, \
|
||||
/obj/item/melee/energy/sword/cyborg/saw = 100, \
|
||||
/obj/item/hatchet = 90, \
|
||||
/obj/item/melee/arm_blade = 75
|
||||
)
|
||||
|
||||
time = 100
|
||||
|
||||
@@ -66,7 +66,7 @@
|
||||
M.surgeries -= current_surgery
|
||||
to_chat(user, "You stop the surgery.")
|
||||
qdel(current_surgery)
|
||||
else if(istype(user.get_inactive_hand(), /obj/item/weapon/cautery) && current_surgery.can_cancel)
|
||||
else if(istype(user.get_inactive_hand(), /obj/item/cautery) && current_surgery.can_cancel)
|
||||
M.surgeries -= current_surgery
|
||||
user.visible_message("[user] mends the incision on [M]'s [parse_zone(selected_zone)] with the [I] .", \
|
||||
"<span class='notice'>You mend the incision on [M]'s [parse_zone(selected_zone)].</span>")
|
||||
|
||||
@@ -36,13 +36,13 @@
|
||||
|
||||
/datum/surgery_step/extract_implant
|
||||
name = "extract implant"
|
||||
allowed_tools = list(/obj/item/weapon/hemostat = 100, /obj/item/weapon/crowbar = 65)
|
||||
allowed_tools = list(/obj/item/hemostat = 100, /obj/item/crowbar = 65)
|
||||
time = 64
|
||||
var/obj/item/weapon/implant/I = null
|
||||
var/obj/item/implant/I = null
|
||||
|
||||
/datum/surgery_step/extract_implant/begin_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool,datum/surgery/surgery)
|
||||
var/obj/item/organ/external/affected = target.get_organ(target_zone)
|
||||
I = locate(/obj/item/weapon/implant) in target
|
||||
I = locate(/obj/item/implant) in target
|
||||
user.visible_message("[user] starts poking around inside [target]'s [affected.name] with \the [tool].", \
|
||||
"You start poking around inside [target]'s [affected.name] with \the [tool]." )
|
||||
target.custom_pain("The pain in your [affected.name] is living hell!",1)
|
||||
@@ -50,21 +50,21 @@
|
||||
|
||||
/datum/surgery_step/extract_implant/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool,datum/surgery/surgery)
|
||||
var/obj/item/organ/external/affected = target.get_organ(target_zone)
|
||||
I = locate(/obj/item/weapon/implant) in target
|
||||
I = locate(/obj/item/implant) in target
|
||||
if(I && (target_zone == "chest")) //implant removal only works on the chest.
|
||||
user.visible_message("<span class='notice'>[user] takes something out of [target]'s [affected.name] with \the [tool].</span>", \
|
||||
"<span class='notice'>You take [I] out of [target]'s [affected.name]s with \the [tool].</span>" )
|
||||
|
||||
I.removed(target)
|
||||
|
||||
var/obj/item/weapon/implantcase/case
|
||||
var/obj/item/implantcase/case
|
||||
|
||||
if(istype(user.get_item_by_slot(slot_l_hand), /obj/item/weapon/implantcase))
|
||||
if(istype(user.get_item_by_slot(slot_l_hand), /obj/item/implantcase))
|
||||
case = user.get_item_by_slot(slot_l_hand)
|
||||
else if(istype(user.get_item_by_slot(slot_r_hand), /obj/item/weapon/implantcase))
|
||||
else if(istype(user.get_item_by_slot(slot_r_hand), /obj/item/implantcase))
|
||||
case = user.get_item_by_slot(slot_r_hand)
|
||||
else
|
||||
case = locate(/obj/item/weapon/implantcase) in get_turf(target)
|
||||
case = locate(/obj/item/implantcase) in get_turf(target)
|
||||
|
||||
if(case && !case.imp)
|
||||
case.imp = I
|
||||
|
||||
@@ -170,7 +170,7 @@
|
||||
/datum/surgery_step/limb/connect
|
||||
name = "connect limb"
|
||||
allowed_tools = list(
|
||||
/obj/item/weapon/hemostat = 100, \
|
||||
/obj/item/hemostat = 100, \
|
||||
/obj/item/stack/cable_coil = 90, \
|
||||
/obj/item/device/assembly/mousetrap = 25
|
||||
)
|
||||
|
||||
@@ -33,7 +33,7 @@
|
||||
..()
|
||||
to_chat(user, "<span class='info'>[src] is assembled in the [parent_organ == "r_arm" ? "right" : "left"] arm configuration. You can use a screwdriver to reassemble it.</span>")
|
||||
|
||||
/obj/item/organ/internal/cyberimp/arm/attackby(obj/item/weapon/W, mob/user, params)
|
||||
/obj/item/organ/internal/cyberimp/arm/attackby(obj/item/W, mob/user, params)
|
||||
..()
|
||||
if(isscrewdriver(W))
|
||||
if(parent_organ == "r_arm")
|
||||
@@ -43,7 +43,7 @@
|
||||
slot = parent_organ + "_device"
|
||||
to_chat(user, "<span class='notice'>You modify [src] to be installed on the [parent_organ == "r_arm" ? "right" : "left"] arm.</span>")
|
||||
update_icon()
|
||||
else if(istype(W, /obj/item/weapon/card/emag))
|
||||
else if(istype(W, /obj/item/card/emag))
|
||||
emag_act()
|
||||
|
||||
/obj/item/organ/internal/cyberimp/arm/remove(mob/living/carbon/M, special = 0)
|
||||
@@ -126,7 +126,7 @@
|
||||
|
||||
// You can emag the arm-mounted implant by activating it while holding emag in it's hand.
|
||||
var/arm_slot = (parent_organ == "r_arm" ? slot_r_hand : slot_l_hand)
|
||||
if(istype(owner.get_item_by_slot(arm_slot), /obj/item/weapon/card/emag) && emag_act())
|
||||
if(istype(owner.get_item_by_slot(arm_slot), /obj/item/card/emag) && emag_act())
|
||||
return
|
||||
|
||||
if(!holder || (holder in src))
|
||||
@@ -163,7 +163,7 @@
|
||||
desc = "A variant of the arm cannon implant that fires lethal laser beams. The cannon emerges from the subject's arm and remains inside when not in use."
|
||||
icon_state = "arm_laser"
|
||||
origin_tech = "materials=4;combat=4;biotech=4;powerstorage=4;syndicate=3"
|
||||
contents = newlist(/obj/item/weapon/gun/energy/laser/mounted)
|
||||
contents = newlist(/obj/item/gun/energy/laser/mounted)
|
||||
|
||||
/obj/item/organ/internal/cyberimp/arm/gun/laser/l
|
||||
parent_organ = "l_arm"
|
||||
@@ -174,7 +174,7 @@
|
||||
desc = "A variant of the arm cannon implant that fires electrodes and disabler shots. The cannon emerges from the subject's arm and remains inside when not in use."
|
||||
icon_state = "arm_taser"
|
||||
origin_tech = "materials=5;combat=5;biotech=4;powerstorage=4"
|
||||
contents = newlist(/obj/item/weapon/gun/energy/gun/advtaser/mounted)
|
||||
contents = newlist(/obj/item/gun/energy/gun/advtaser/mounted)
|
||||
|
||||
/obj/item/organ/internal/cyberimp/arm/gun/taser/l
|
||||
parent_organ = "l_arm"
|
||||
@@ -184,29 +184,29 @@
|
||||
name = "integrated toolset implant"
|
||||
desc = "A stripped-down version of engineering cyborg toolset, designed to be installed on subject's arm. Contains all neccessary tools."
|
||||
origin_tech = "materials=3;engineering=4;biotech=3;powerstorage=4"
|
||||
contents = newlist(/obj/item/weapon/screwdriver/cyborg, /obj/item/weapon/wrench/cyborg, /obj/item/weapon/weldingtool/largetank/cyborg,
|
||||
/obj/item/weapon/crowbar/cyborg, /obj/item/weapon/wirecutters/cyborg, /obj/item/device/multitool/cyborg)
|
||||
contents = newlist(/obj/item/screwdriver/cyborg, /obj/item/wrench/cyborg, /obj/item/weldingtool/largetank/cyborg,
|
||||
/obj/item/crowbar/cyborg, /obj/item/wirecutters/cyborg, /obj/item/device/multitool/cyborg)
|
||||
|
||||
/obj/item/organ/internal/cyberimp/arm/toolset/l
|
||||
parent_organ = "l_arm"
|
||||
|
||||
/obj/item/organ/internal/cyberimp/arm/toolset/emag_act()
|
||||
if(!(locate(/obj/item/weapon/kitchen/knife/combat/cyborg) in items_list))
|
||||
if(!(locate(/obj/item/kitchen/knife/combat/cyborg) in items_list))
|
||||
to_chat(usr, "<span class='notice'>You unlock [src]'s integrated knife!</span>")
|
||||
items_list += new /obj/item/weapon/kitchen/knife/combat/cyborg(src)
|
||||
items_list += new /obj/item/kitchen/knife/combat/cyborg(src)
|
||||
return 1
|
||||
return 0
|
||||
|
||||
/obj/item/organ/internal/cyberimp/arm/esword
|
||||
name = "arm-mounted energy blade"
|
||||
desc = "An illegal, and highly dangerous cybernetic implant that can project a deadly blade of concentrated enregy."
|
||||
contents = newlist(/obj/item/weapon/melee/energy/blade/hardlight)
|
||||
contents = newlist(/obj/item/melee/energy/blade/hardlight)
|
||||
origin_tech = "materials=4;combat=5;biotech=3;powerstorage=2;syndicate=5"
|
||||
|
||||
/obj/item/organ/internal/cyberimp/arm/medibeam
|
||||
name = "integrated medical beamgun"
|
||||
desc = "A cybernetic implant that allows the user to project a healing beam from their hand."
|
||||
contents = newlist(/obj/item/weapon/gun/medbeam)
|
||||
contents = newlist(/obj/item/gun/medbeam)
|
||||
origin_tech = "materials=5;combat=2;biotech=5;powerstorage=4;syndicate=1"
|
||||
|
||||
/obj/item/organ/internal/cyberimp/arm/flash
|
||||
@@ -230,7 +230,7 @@
|
||||
/obj/item/organ/internal/cyberimp/arm/combat
|
||||
name = "combat cybernetics implant"
|
||||
desc = "A powerful cybernetic implant that contains combat modules built into the user's arm"
|
||||
contents = newlist(/obj/item/weapon/melee/energy/blade/hardlight, /obj/item/weapon/gun/medbeam, /obj/item/borg/stun, /obj/item/device/flash/armimplant)
|
||||
contents = newlist(/obj/item/melee/energy/blade/hardlight, /obj/item/gun/medbeam, /obj/item/borg/stun, /obj/item/device/flash/armimplant)
|
||||
origin_tech = "materials=5;combat=7;biotech=5;powerstorage=5;syndicate=6;programming=5"
|
||||
|
||||
/obj/item/organ/internal/cyberimp/arm/combat/New()
|
||||
@@ -242,7 +242,7 @@
|
||||
/obj/item/organ/internal/cyberimp/arm/surgery
|
||||
name = "surgical toolset implant"
|
||||
desc = "A set of surgical tools hidden behind a concealed panel on the user's arm"
|
||||
contents = newlist(/obj/item/weapon/retractor, /obj/item/weapon/hemostat, /obj/item/weapon/cautery, /obj/item/weapon/surgicaldrill, /obj/item/weapon/scalpel, /obj/item/weapon/circular_saw, /obj/item/weapon/bonegel, /obj/item/weapon/FixOVein, /obj/item/weapon/bonesetter)
|
||||
contents = newlist(/obj/item/retractor, /obj/item/hemostat, /obj/item/cautery, /obj/item/surgicaldrill, /obj/item/scalpel, /obj/item/circular_saw, /obj/item/bonegel, /obj/item/FixOVein, /obj/item/bonesetter)
|
||||
origin_tech = "materials=3;engineering=3;biotech=3;programming=2;magnets=3"
|
||||
|
||||
// lets make IPCs even *more* vulnerable to EMPs!
|
||||
|
||||
@@ -277,24 +277,24 @@
|
||||
|
||||
//BOX O' IMPLANTS
|
||||
|
||||
/obj/item/weapon/storage/box/cyber_implants
|
||||
/obj/item/storage/box/cyber_implants
|
||||
name = "boxed cybernetic implant"
|
||||
desc = "A sleek, sturdy box."
|
||||
icon_state = "cyber_implants"
|
||||
|
||||
/obj/item/weapon/storage/box/cyber_implants/New(loc, implant)
|
||||
/obj/item/storage/box/cyber_implants/New(loc, implant)
|
||||
..()
|
||||
new /obj/item/device/autoimplanter(src)
|
||||
if(ispath(implant))
|
||||
new implant(src)
|
||||
|
||||
/obj/item/weapon/storage/box/cyber_implants/bundle
|
||||
/obj/item/storage/box/cyber_implants/bundle
|
||||
name = "boxed cybernetic implants"
|
||||
var/list/boxed = list(/obj/item/organ/internal/cyberimp/eyes/xray,/obj/item/organ/internal/cyberimp/eyes/thermals,
|
||||
/obj/item/organ/internal/cyberimp/brain/anti_stun, /obj/item/organ/internal/cyberimp/chest/reviver)
|
||||
var/amount = 5
|
||||
|
||||
/obj/item/weapon/storage/box/cyber_implants/bundle/New()
|
||||
/obj/item/storage/box/cyber_implants/bundle/New()
|
||||
..()
|
||||
var/implant
|
||||
while(contents.len <= amount + 1) // +1 for the autoimplanter.
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
I.forceMove(src)
|
||||
storedorgan = I
|
||||
to_chat(user, "<span class='notice'>You insert the [I] into [src].</span>")
|
||||
else if(istype(I, /obj/item/weapon/screwdriver))
|
||||
else if(istype(I, /obj/item/screwdriver))
|
||||
if(!storedorgan)
|
||||
to_chat(user, "<span class='notice'>There's no implant in [src] for you to remove.</span>")
|
||||
else
|
||||
|
||||
@@ -104,8 +104,8 @@
|
||||
if(flying == 1)
|
||||
return TRUE
|
||||
|
||||
var/obj/item/weapon/tank/jetpack/J
|
||||
if(istype(back,/obj/item/weapon/tank/jetpack))
|
||||
var/obj/item/tank/jetpack/J
|
||||
if(istype(back,/obj/item/tank/jetpack))
|
||||
J = back
|
||||
if(J.on == 1)
|
||||
return TRUE
|
||||
|
||||
@@ -92,7 +92,7 @@
|
||||
/obj/item/organ/internal/proc/prepare_eat()
|
||||
if(status == ORGAN_ROBOT)
|
||||
return //no eating cybernetic implants!
|
||||
var/obj/item/weapon/reagent_containers/food/snacks/organ/S = new
|
||||
var/obj/item/reagent_containers/food/snacks/organ/S = new
|
||||
S.name = name
|
||||
S.desc = desc
|
||||
S.icon = icon
|
||||
@@ -108,12 +108,12 @@
|
||||
insert(H)
|
||||
return 1
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/organ
|
||||
/obj/item/reagent_containers/food/snacks/organ
|
||||
name = "appendix"
|
||||
icon_state = "appendix"
|
||||
icon = 'icons/obj/surgery.dmi'
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/organ/New()
|
||||
/obj/item/reagent_containers/food/snacks/organ/New()
|
||||
..()
|
||||
|
||||
reagents.add_reagent("nutriment", 5)
|
||||
@@ -121,7 +121,7 @@
|
||||
/obj/item/organ/internal/attack(mob/living/carbon/M, mob/user)
|
||||
if(M == user && ishuman(user))
|
||||
var/mob/living/carbon/human/H = user
|
||||
var/obj/item/weapon/reagent_containers/food/snacks/S = prepare_eat()
|
||||
var/obj/item/reagent_containers/food/snacks/S = prepare_eat()
|
||||
if(S)
|
||||
H.drop_item()
|
||||
H.put_in_active_hand(S)
|
||||
|
||||
@@ -1,50 +1,50 @@
|
||||
/obj/item/weapon/skeleton
|
||||
/obj/item/skeleton
|
||||
name ="skeleton"
|
||||
desc = "skeleton parent object."
|
||||
icon = 'icons/mob/human_races/r_skeleton.dmi'
|
||||
|
||||
|
||||
/obj/item/weapon/skeleton/head
|
||||
/obj/item/skeleton/head
|
||||
name = "skull"
|
||||
desc = "a skeleton skull, would make a nice paperweight."
|
||||
icon_state = "head"
|
||||
|
||||
/obj/item/weapon/skeleton/r_hand
|
||||
/obj/item/skeleton/r_hand
|
||||
name = "skeleton right hand"
|
||||
desc = "a skeleton right hand."
|
||||
icon_state = "r_hand"
|
||||
|
||||
/obj/item/weapon/skeleton/r_arm
|
||||
/obj/item/skeleton/r_arm
|
||||
name = "skeleton right arm"
|
||||
desc = "a skeleton right arm."
|
||||
icon_state = "r_arm"
|
||||
|
||||
/obj/item/weapon/skeleton/l_hand
|
||||
/obj/item/skeleton/l_hand
|
||||
name = "skeleton left hand"
|
||||
desc = "a skeleton left hand."
|
||||
icon_state = "l_hand"
|
||||
|
||||
/obj/item/weapon/skeleton/l_arm
|
||||
/obj/item/skeleton/l_arm
|
||||
name = "skeleton left arm"
|
||||
desc = "a skeleton left arm."
|
||||
icon_state = "l_arm"
|
||||
|
||||
/obj/item/weapon/skeleton/r_foot
|
||||
/obj/item/skeleton/r_foot
|
||||
name = "skeleton right foot"
|
||||
desc = "a skeleton right foot."
|
||||
icon_state = "r_foot"
|
||||
|
||||
/obj/item/weapon/skeleton/r_leg
|
||||
/obj/item/skeleton/r_leg
|
||||
name = "skeleton right leg"
|
||||
desc = "a skeleton right leg"
|
||||
icon_state = "r_leg"
|
||||
|
||||
/obj/item/weapon/skeleton/l_foot
|
||||
/obj/item/skeleton/l_foot
|
||||
name = "skeleton left foot"
|
||||
desc = "a skeleton left foot"
|
||||
icon_state = "l_foot"
|
||||
|
||||
/obj/item/weapon/skeleton/l_leg
|
||||
/obj/item/skeleton/l_leg
|
||||
name = "skeleton left leg"
|
||||
desc = "a skeleton left leg"
|
||||
icon_state = "l_leg"
|
||||
|
||||
@@ -12,11 +12,11 @@
|
||||
slot = "headpocket"
|
||||
species = "Skrell"
|
||||
actions_types = list(/datum/action/item_action/organ_action/toggle)
|
||||
var/obj/item/weapon/storage/internal/pocket
|
||||
var/obj/item/storage/internal/pocket
|
||||
|
||||
/obj/item/organ/internal/headpocket/New()
|
||||
..()
|
||||
pocket = new /obj/item/weapon/storage/internal(src)
|
||||
pocket = new /obj/item/storage/internal(src)
|
||||
pocket.storage_slots = 1
|
||||
// Allow adjacency calculation to work properly
|
||||
loc = owner
|
||||
|
||||
@@ -67,20 +67,20 @@
|
||||
|
||||
/datum/surgery_step/internal/manipulate_organs
|
||||
name = "manipulate organs"
|
||||
allowed_tools = list(/obj/item/organ/internal = 100, /obj/item/weapon/reagent_containers/food/snacks/organ = 0)
|
||||
var/implements_extract = list(/obj/item/weapon/hemostat = 100, /obj/item/weapon/kitchen/utensil/fork = 70)
|
||||
allowed_tools = list(/obj/item/organ/internal = 100, /obj/item/reagent_containers/food/snacks/organ = 0)
|
||||
var/implements_extract = list(/obj/item/hemostat = 100, /obj/item/kitchen/utensil/fork = 70)
|
||||
var/implements_mend = list(/obj/item/stack/medical/bruise_pack = 20,/obj/item/stack/medical/bruise_pack/advanced = 100,/obj/item/stack/nanopaste = 100)
|
||||
var/implements_clean = list(/obj/item/weapon/reagent_containers/dropper = 100,
|
||||
/obj/item/weapon/reagent_containers/syringe = 100,
|
||||
/obj/item/weapon/reagent_containers/glass/bottle = 90,
|
||||
/obj/item/weapon/reagent_containers/food/drinks/drinkingglass = 85,
|
||||
/obj/item/weapon/reagent_containers/food/drinks/bottle = 80,
|
||||
/obj/item/weapon/reagent_containers/glass/beaker = 75,
|
||||
/obj/item/weapon/reagent_containers/spray = 60,
|
||||
/obj/item/weapon/reagent_containers/glass/bucket = 50)
|
||||
var/implements_clean = list(/obj/item/reagent_containers/dropper = 100,
|
||||
/obj/item/reagent_containers/syringe = 100,
|
||||
/obj/item/reagent_containers/glass/bottle = 90,
|
||||
/obj/item/reagent_containers/food/drinks/drinkingglass = 85,
|
||||
/obj/item/reagent_containers/food/drinks/bottle = 80,
|
||||
/obj/item/reagent_containers/glass/beaker = 75,
|
||||
/obj/item/reagent_containers/spray = 60,
|
||||
/obj/item/reagent_containers/glass/bucket = 50)
|
||||
|
||||
//Finish is just so you can close up after you do other things.
|
||||
var/implements_finsh = list(/obj/item/weapon/scalpel/laser/manager = 100,/obj/item/weapon/retractor = 100 ,/obj/item/weapon/crowbar = 90)
|
||||
var/implements_finsh = list(/obj/item/scalpel/laser/manager = 100,/obj/item/retractor = 100 ,/obj/item/crowbar = 90)
|
||||
var/current_type
|
||||
var/obj/item/organ/internal/I = null
|
||||
var/obj/item/organ/external/affected = null
|
||||
@@ -124,10 +124,10 @@
|
||||
else if(implement_type in implements_clean)
|
||||
current_type = "clean"
|
||||
|
||||
if(!istype(tool, /obj/item/weapon/reagent_containers))
|
||||
if(!istype(tool, /obj/item/reagent_containers))
|
||||
return
|
||||
|
||||
var/obj/item/weapon/reagent_containers/C = tool
|
||||
var/obj/item/reagent_containers/C = tool
|
||||
|
||||
for(var/obj/item/organ/internal/I in affected.internal_organs)
|
||||
if(I)
|
||||
@@ -138,7 +138,7 @@
|
||||
|
||||
var/msg = "[user] starts pouring some of [tool] over [target]'s [I.name]."
|
||||
var/self_msg = "You start pouring some of [tool] over [target]'s [I.name]."
|
||||
if(istype(C,/obj/item/weapon/reagent_containers/syringe))
|
||||
if(istype(C,/obj/item/reagent_containers/syringe))
|
||||
msg = "[user] begins injecting [tool] into [target]'s [I.name]."
|
||||
self_msg = "You begin injecting [tool] into [target]'s [I.name]."
|
||||
user.visible_message(msg, self_msg)
|
||||
@@ -223,7 +223,7 @@
|
||||
if(affected)
|
||||
H.custom_pain("The pain in your [affected.name] is living hell!", 1)
|
||||
|
||||
else if(istype(tool, /obj/item/weapon/reagent_containers/food/snacks/organ))
|
||||
else if(istype(tool, /obj/item/reagent_containers/food/snacks/organ))
|
||||
to_chat(user, "<span class='warning'>[tool] was bitten by someone! It's too damaged to use!</span>")
|
||||
return -1
|
||||
|
||||
@@ -299,10 +299,10 @@
|
||||
else if(current_type == "clean")
|
||||
if(!hasorgans(target))
|
||||
return
|
||||
if(!istype(tool,/obj/item/weapon/reagent_containers))
|
||||
if(!istype(tool,/obj/item/reagent_containers))
|
||||
return
|
||||
|
||||
var/obj/item/weapon/reagent_containers/C = tool
|
||||
var/obj/item/reagent_containers/C = tool
|
||||
var/datum/reagents/R = C.reagents
|
||||
var/ethanol = 0 //how much alcohol is in the thing
|
||||
var/spaceacillin = 0 //how much actual antibiotic is in the thing
|
||||
@@ -328,7 +328,7 @@
|
||||
I.germ_level = 0
|
||||
else
|
||||
I.germ_level = max(I.germ_level-ethanol, 0)
|
||||
if(istype(C,/obj/item/weapon/reagent_containers/syringe))
|
||||
if(istype(C,/obj/item/reagent_containers/syringe))
|
||||
user.visible_message("<span class='notice'> [user] has injected [tool] into [target]'s [I.name].</span>",
|
||||
"<span class='notice'> You have injected [tool] into [target]'s [I.name].</span>")
|
||||
else
|
||||
@@ -388,10 +388,10 @@
|
||||
else if(current_type == "clean")
|
||||
if(!hasorgans(target))
|
||||
return
|
||||
if(!istype(tool,/obj/item/weapon/reagent_containers))
|
||||
if(!istype(tool,/obj/item/reagent_containers))
|
||||
return
|
||||
|
||||
var/obj/item/weapon/reagent_containers/C = tool
|
||||
var/obj/item/reagent_containers/C = tool
|
||||
var/datum/reagents/R = C.reagents
|
||||
var/ethanol = 0 //how much alcohol is in the thing
|
||||
|
||||
@@ -450,9 +450,9 @@
|
||||
/datum/surgery_step/saw_carapace
|
||||
name = "saw carapace"
|
||||
allowed_tools = list(
|
||||
/obj/item/weapon/circular_saw = 100, \
|
||||
/obj/item/weapon/melee/energy/sword/cyborg/saw = 100, \
|
||||
/obj/item/weapon/hatchet = 90
|
||||
/obj/item/circular_saw = 100, \
|
||||
/obj/item/melee/energy/sword/cyborg/saw = 100, \
|
||||
/obj/item/hatchet = 90
|
||||
)
|
||||
|
||||
time = 54
|
||||
@@ -479,14 +479,14 @@
|
||||
/datum/surgery_step/cut_carapace
|
||||
name = "cut carapace"
|
||||
allowed_tools = list(
|
||||
/obj/item/weapon/scalpel = 100, \
|
||||
/obj/item/weapon/kitchen/knife = 90, \
|
||||
/obj/item/weapon/shard = 60, \
|
||||
/obj/item/weapon/scissors = 12, \
|
||||
/obj/item/weapon/twohanded/chainsaw = 1, \
|
||||
/obj/item/weapon/claymore = 6, \
|
||||
/obj/item/weapon/melee/energy/ = 6, \
|
||||
/obj/item/weapon/pen/edagger = 6, \
|
||||
/obj/item/scalpel = 100, \
|
||||
/obj/item/kitchen/knife = 90, \
|
||||
/obj/item/shard = 60, \
|
||||
/obj/item/scissors = 12, \
|
||||
/obj/item/twohanded/chainsaw = 1, \
|
||||
/obj/item/claymore = 6, \
|
||||
/obj/item/melee/energy/ = 6, \
|
||||
/obj/item/pen/edagger = 6, \
|
||||
)
|
||||
|
||||
time = 16
|
||||
@@ -513,10 +513,10 @@
|
||||
name = "retract carapace"
|
||||
|
||||
allowed_tools = list(
|
||||
/obj/item/weapon/scalpel/laser/manager = 100, \
|
||||
/obj/item/weapon/retractor = 100, \
|
||||
/obj/item/weapon/crowbar = 90, \
|
||||
/obj/item/weapon/kitchen/utensil/fork = 60
|
||||
/obj/item/scalpel/laser/manager = 100, \
|
||||
/obj/item/retractor = 100, \
|
||||
/obj/item/crowbar = 90, \
|
||||
/obj/item/kitchen/utensil/fork = 60
|
||||
)
|
||||
|
||||
time = 24
|
||||
|
||||
@@ -61,7 +61,7 @@
|
||||
/datum/surgery_step/fix_vein
|
||||
name = "mend internal bleeding"
|
||||
allowed_tools = list(
|
||||
/obj/item/weapon/FixOVein = 100, \
|
||||
/obj/item/FixOVein = 100, \
|
||||
/obj/item/stack/cable_coil = 90
|
||||
)
|
||||
can_infect = 1
|
||||
@@ -106,9 +106,9 @@
|
||||
/datum/surgery_step/fix_dead_tissue //Debridement
|
||||
name = "remove dead tissue"
|
||||
allowed_tools = list(
|
||||
/obj/item/weapon/scalpel = 100, \
|
||||
/obj/item/weapon/kitchen/knife = 90, \
|
||||
/obj/item/weapon/shard = 60, \
|
||||
/obj/item/scalpel = 100, \
|
||||
/obj/item/kitchen/knife = 90, \
|
||||
/obj/item/shard = 60, \
|
||||
)
|
||||
|
||||
can_infect = 1
|
||||
@@ -155,13 +155,13 @@
|
||||
/datum/surgery_step/treat_necrosis
|
||||
name = "treat necrosis"
|
||||
allowed_tools = list(
|
||||
/obj/item/weapon/reagent_containers/dropper = 100,
|
||||
/obj/item/weapon/reagent_containers/glass/bottle = 90,
|
||||
/obj/item/weapon/reagent_containers/food/drinks/drinkingglass = 85,
|
||||
/obj/item/weapon/reagent_containers/food/drinks/bottle = 80,
|
||||
/obj/item/weapon/reagent_containers/glass/beaker = 75,
|
||||
/obj/item/weapon/reagent_containers/spray = 60,
|
||||
/obj/item/weapon/reagent_containers/glass/bucket = 50
|
||||
/obj/item/reagent_containers/dropper = 100,
|
||||
/obj/item/reagent_containers/glass/bottle = 90,
|
||||
/obj/item/reagent_containers/food/drinks/drinkingglass = 85,
|
||||
/obj/item/reagent_containers/food/drinks/bottle = 80,
|
||||
/obj/item/reagent_containers/glass/beaker = 75,
|
||||
/obj/item/reagent_containers/spray = 60,
|
||||
/obj/item/reagent_containers/glass/bucket = 50
|
||||
)
|
||||
|
||||
can_infect = 0
|
||||
@@ -170,10 +170,10 @@
|
||||
time = 24
|
||||
|
||||
/datum/surgery_step/treat_necrosis/can_use(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool,datum/surgery/surgery)
|
||||
if(!istype(tool, /obj/item/weapon/reagent_containers))
|
||||
if(!istype(tool, /obj/item/reagent_containers))
|
||||
return 0
|
||||
|
||||
var/obj/item/weapon/reagent_containers/container = tool
|
||||
var/obj/item/reagent_containers/container = tool
|
||||
if(!container.reagents.has_reagent("mitocholide"))
|
||||
user.visible_message("[user] looks at \the [tool] and ponders." , \
|
||||
"You are not sure if \the [tool] contains mitocholide to treat the necrosis.")
|
||||
@@ -197,10 +197,10 @@
|
||||
/datum/surgery_step/treat_necrosis/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool,datum/surgery/surgery)
|
||||
var/obj/item/organ/external/affected = target.get_organ(target_zone)
|
||||
|
||||
if(!istype(tool, /obj/item/weapon/reagent_containers))
|
||||
if(!istype(tool, /obj/item/reagent_containers))
|
||||
return 0
|
||||
|
||||
var/obj/item/weapon/reagent_containers/container = tool
|
||||
var/obj/item/reagent_containers/container = tool
|
||||
var/mitocholide = 0
|
||||
|
||||
if(container.reagents.has_reagent("mitocholide"))
|
||||
@@ -222,10 +222,10 @@
|
||||
/datum/surgery_step/treat_necrosis/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool,datum/surgery/surgery)
|
||||
var/obj/item/organ/external/affected = target.get_organ(target_zone)
|
||||
|
||||
if(!istype(tool, /obj/item/weapon/reagent_containers))
|
||||
if(!istype(tool, /obj/item/reagent_containers))
|
||||
return
|
||||
|
||||
var/obj/item/weapon/reagent_containers/container = tool
|
||||
var/obj/item/reagent_containers/container = tool
|
||||
|
||||
var/trans = container.reagents.trans_to(target, container.amount_per_transfer_from_this)
|
||||
container.reagents.reaction(target, INGEST) //technically it's contact, but the reagents are being applied to internal tissue
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
if(ishuman(target))
|
||||
var/mob/living/carbon/human/H = target
|
||||
var/obj/item/backitem = H.get_item_by_slot(slot_back)
|
||||
if(istype(backitem,/obj/item/weapon/rig)) //Check if we have a rig to operate on
|
||||
if(istype(backitem,/obj/item/rig)) //Check if we have a rig to operate on
|
||||
if(backitem.flags&NODROP) //Check if the rig is sealed, if not, we don't need to operate
|
||||
return 1
|
||||
return 0
|
||||
@@ -18,9 +18,9 @@
|
||||
/datum/surgery_step/rigsuit
|
||||
name="Cut Seals"
|
||||
allowed_tools = list(
|
||||
/obj/item/weapon/weldingtool = 80,
|
||||
/obj/item/weapon/circular_saw = 60,
|
||||
/obj/item/weapon/gun/energy/plasmacutter = 100
|
||||
/obj/item/weldingtool = 80,
|
||||
/obj/item/circular_saw = 60,
|
||||
/obj/item/gun/energy/plasmacutter = 100
|
||||
)
|
||||
|
||||
can_infect = 0
|
||||
@@ -31,11 +31,11 @@
|
||||
/datum/surgery_step/hardsuit/can_use(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
|
||||
if(!istype(target))
|
||||
return 0
|
||||
if(istype(tool,/obj/item/weapon/weldingtool))
|
||||
var/obj/item/weapon/weldingtool/welder = tool
|
||||
if(istype(tool,/obj/item/weldingtool))
|
||||
var/obj/item/weldingtool/welder = tool
|
||||
if(!welder.isOn() || !welder.remove_fuel(1,user))
|
||||
return 0
|
||||
return (target_zone == "chest") && istype(target.back, /obj/item/weapon/rig) && (target.back.flags&NODROP)
|
||||
return (target_zone == "chest") && istype(target.back, /obj/item/rig) && (target.back.flags&NODROP)
|
||||
|
||||
/datum/surgery_step/rigsuit/begin_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
|
||||
user.visible_message("[user] starts cutting through the support systems of [target]'s [target.back] with \the [tool]." , \
|
||||
@@ -44,7 +44,7 @@
|
||||
|
||||
/datum/surgery_step/rigsuit/end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
|
||||
|
||||
var/obj/item/weapon/rig/rig = target.back
|
||||
var/obj/item/rig/rig = target.back
|
||||
if(!istype(rig))
|
||||
return
|
||||
rig.reset()
|
||||
|
||||
@@ -71,9 +71,9 @@
|
||||
/datum/surgery_step/robotics/external/unscrew_hatch
|
||||
name = "unscrew hatch"
|
||||
allowed_tools = list(
|
||||
/obj/item/weapon/screwdriver = 100,
|
||||
/obj/item/weapon/coin = 50,
|
||||
/obj/item/weapon/kitchen/knife = 50
|
||||
/obj/item/screwdriver = 100,
|
||||
/obj/item/coin = 50,
|
||||
/obj/item/kitchen/knife = 50
|
||||
)
|
||||
|
||||
time = 16
|
||||
@@ -107,9 +107,9 @@
|
||||
/datum/surgery_step/robotics/external/open_hatch
|
||||
name = "open hatch"
|
||||
allowed_tools = list(
|
||||
/obj/item/weapon/retractor = 100,
|
||||
/obj/item/weapon/crowbar = 100,
|
||||
/obj/item/weapon/kitchen/utensil/ = 50
|
||||
/obj/item/retractor = 100,
|
||||
/obj/item/crowbar = 100,
|
||||
/obj/item/kitchen/utensil/ = 50
|
||||
)
|
||||
|
||||
time = 24
|
||||
@@ -143,9 +143,9 @@
|
||||
/datum/surgery_step/robotics/external/close_hatch
|
||||
name = "close hatch"
|
||||
allowed_tools = list(
|
||||
/obj/item/weapon/retractor = 100,
|
||||
/obj/item/weapon/crowbar = 100,
|
||||
/obj/item/weapon/kitchen/utensil = 50
|
||||
/obj/item/retractor = 100,
|
||||
/obj/item/crowbar = 100,
|
||||
/obj/item/kitchen/utensil = 50
|
||||
)
|
||||
|
||||
time = 24
|
||||
@@ -181,16 +181,16 @@
|
||||
allowed_tools = list()
|
||||
|
||||
var/list/implements_finish = list(
|
||||
/obj/item/weapon/retractor = 100,
|
||||
/obj/item/weapon/crowbar = 100,
|
||||
/obj/item/weapon/kitchen/utensil = 50
|
||||
/obj/item/retractor = 100,
|
||||
/obj/item/crowbar = 100,
|
||||
/obj/item/kitchen/utensil = 50
|
||||
)
|
||||
var/list/implements_heal_burn = list(
|
||||
/obj/item/stack/cable_coil = 100
|
||||
)
|
||||
var/list/implements_heal_brute = list(
|
||||
/obj/item/weapon/weldingtool = 100,
|
||||
/obj/item/weapon/gun/energy/plasmacutter = 50
|
||||
/obj/item/weldingtool = 100,
|
||||
/obj/item/gun/energy/plasmacutter = 50
|
||||
)
|
||||
var/current_type
|
||||
time = 32
|
||||
@@ -225,8 +225,8 @@
|
||||
if(!(affected.brute_dam > 0 || affected.disfigured))
|
||||
to_chat(user, "<span class='warning'>The [affected] does not require welding repair!</span>")
|
||||
return -1
|
||||
if(istype(tool,/obj/item/weapon/weldingtool))
|
||||
var/obj/item/weapon/weldingtool/welder = tool
|
||||
if(istype(tool,/obj/item/weldingtool))
|
||||
var/obj/item/weldingtool/welder = tool
|
||||
if(!welder.isOn() || !welder.remove_fuel(1,user))
|
||||
return -1
|
||||
user.visible_message("[user] begins to patch damage to [target]'s [affected.name]'s support structure with \the [tool]." , \
|
||||
@@ -285,9 +285,9 @@
|
||||
name = "internal part manipulation"
|
||||
allowed_tools = list(/obj/item/device/mmi = 100)
|
||||
var/implements_extract = list(/obj/item/device/multitool = 100)
|
||||
var/implements_mend = list( /obj/item/stack/nanopaste = 100,/obj/item/weapon/bonegel = 30, /obj/item/weapon/screwdriver = 70)
|
||||
var/implements_mend = list( /obj/item/stack/nanopaste = 100,/obj/item/bonegel = 30, /obj/item/screwdriver = 70)
|
||||
var/implements_insert = list(/obj/item/organ/internal = 100)
|
||||
var/implements_finish =list(/obj/item/weapon/retractor = 100,/obj/item/weapon/crowbar = 100,/obj/item/weapon/kitchen/utensil = 50)
|
||||
var/implements_finish =list(/obj/item/retractor = 100,/obj/item/crowbar = 100,/obj/item/kitchen/utensil = 50)
|
||||
var/current_type
|
||||
var/obj/item/organ/internal/I = null
|
||||
var/obj/item/organ/external/affected = null
|
||||
|
||||
@@ -17,9 +17,9 @@
|
||||
|
||||
/datum/surgery_step/slime/cut_flesh
|
||||
allowed_tools = list(
|
||||
/obj/item/weapon/scalpel = 100, \
|
||||
/obj/item/weapon/kitchen/knife = 90, \
|
||||
/obj/item/weapon/shard = 60, \
|
||||
/obj/item/scalpel = 100, \
|
||||
/obj/item/kitchen/knife = 90, \
|
||||
/obj/item/shard = 60, \
|
||||
)
|
||||
|
||||
time = 16
|
||||
@@ -45,9 +45,9 @@
|
||||
|
||||
/datum/surgery_step/slime/cut_innards
|
||||
allowed_tools = list(
|
||||
/obj/item/weapon/scalpel = 100, \
|
||||
/obj/item/weapon/kitchen/knife = 90, \
|
||||
/obj/item/weapon/shard = 60, \
|
||||
/obj/item/scalpel = 100, \
|
||||
/obj/item/kitchen/knife = 90, \
|
||||
/obj/item/shard = 60, \
|
||||
)
|
||||
|
||||
time = 16
|
||||
@@ -72,8 +72,8 @@
|
||||
|
||||
/datum/surgery_step/slime/saw_core
|
||||
allowed_tools = list(
|
||||
/obj/item/weapon/circular_saw = 100, \
|
||||
/obj/item/weapon/hatchet = 90
|
||||
/obj/item/circular_saw = 100, \
|
||||
/obj/item/hatchet = 90
|
||||
)
|
||||
|
||||
time = 16
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/obj/item/weapon/retractor
|
||||
/obj/item/retractor
|
||||
name = "retractor"
|
||||
desc = "Retracts stuff."
|
||||
icon = 'icons/obj/surgery.dmi'
|
||||
@@ -9,7 +9,7 @@
|
||||
origin_tech = "materials=1;biotech=1"
|
||||
|
||||
|
||||
/obj/item/weapon/hemostat
|
||||
/obj/item/hemostat
|
||||
name = "hemostat"
|
||||
desc = "You think you have seen this before."
|
||||
icon = 'icons/obj/surgery.dmi'
|
||||
@@ -21,7 +21,7 @@
|
||||
attack_verb = list("attacked", "pinched")
|
||||
|
||||
|
||||
/obj/item/weapon/cautery
|
||||
/obj/item/cautery
|
||||
name = "cautery"
|
||||
desc = "This stops bleeding."
|
||||
icon = 'icons/obj/surgery.dmi'
|
||||
@@ -33,7 +33,7 @@
|
||||
attack_verb = list("burnt")
|
||||
|
||||
|
||||
/obj/item/weapon/surgicaldrill
|
||||
/obj/item/surgicaldrill
|
||||
name = "surgical drill"
|
||||
desc = "You can drill using this item. You dig?"
|
||||
icon = 'icons/obj/surgery.dmi'
|
||||
@@ -53,7 +53,7 @@
|
||||
return (BRUTELOSS)
|
||||
|
||||
|
||||
/obj/item/weapon/scalpel
|
||||
/obj/item/scalpel
|
||||
name = "scalpel"
|
||||
desc = "Cut, cut, and once more cut."
|
||||
icon = 'icons/obj/surgery.dmi'
|
||||
@@ -81,38 +81,38 @@
|
||||
/*
|
||||
* Researchable Scalpels
|
||||
*/
|
||||
/obj/item/weapon/scalpel/laser //parent type
|
||||
/obj/item/scalpel/laser //parent type
|
||||
name = "laser scalpel"
|
||||
desc = "A scalpel augmented with a directed laser."
|
||||
icon_state = "scalpel_laser1_on"
|
||||
damtype = "fire"
|
||||
hitsound = 'sound/weapons/sear.ogg'
|
||||
|
||||
/obj/item/weapon/scalpel/laser/laser1 //lasers also count as catuarys
|
||||
/obj/item/scalpel/laser/laser1 //lasers also count as catuarys
|
||||
name = "laser scalpel"
|
||||
desc = "A scalpel augmented with a directed laser. This one looks basic and could be improved."
|
||||
icon_state = "scalpel_laser1_on"
|
||||
toolspeed = 0.8
|
||||
|
||||
/obj/item/weapon/scalpel/laser/laser2
|
||||
/obj/item/scalpel/laser/laser2
|
||||
name = "laser scalpel"
|
||||
desc = "A scalpel augmented with a directed laser. This one looks somewhat advanced."
|
||||
icon_state = "scalpel_laser2_on"
|
||||
toolspeed = 0.6
|
||||
|
||||
/obj/item/weapon/scalpel/laser/laser3
|
||||
/obj/item/scalpel/laser/laser3
|
||||
name = "laser scalpel"
|
||||
desc = "A scalpel augmented with a directed laser. This one looks to be the pinnacle of precision energy cutlery!"
|
||||
icon_state = "scalpel_laser3_on"
|
||||
toolspeed = 0.4
|
||||
|
||||
/obj/item/weapon/scalpel/laser/manager //super tool! Retractor/hemostat
|
||||
/obj/item/scalpel/laser/manager //super tool! Retractor/hemostat
|
||||
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."
|
||||
icon_state = "scalpel_manager_on"
|
||||
toolspeed = 0.2
|
||||
|
||||
/obj/item/weapon/circular_saw
|
||||
/obj/item/circular_saw
|
||||
name = "circular saw"
|
||||
desc = "For heavy duty cutting."
|
||||
icon = 'icons/obj/surgery.dmi'
|
||||
@@ -130,7 +130,7 @@
|
||||
attack_verb = list("attacked", "slashed", "sawed", "cut")
|
||||
|
||||
//misc, formerly from code/defines/weapons.dm
|
||||
/obj/item/weapon/bonegel
|
||||
/obj/item/bonegel
|
||||
name = "bone gel"
|
||||
icon = 'icons/obj/surgery.dmi'
|
||||
icon_state = "bone-gel"
|
||||
@@ -139,7 +139,7 @@
|
||||
throwforce = 1.0
|
||||
origin_tech = "materials=1;biotech=1"
|
||||
|
||||
/obj/item/weapon/FixOVein
|
||||
/obj/item/FixOVein
|
||||
name = "FixOVein"
|
||||
icon = 'icons/obj/surgery.dmi'
|
||||
icon_state = "fixovein"
|
||||
@@ -148,7 +148,7 @@
|
||||
origin_tech = "materials=1;biotech=1"
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
|
||||
/obj/item/weapon/bonesetter
|
||||
/obj/item/bonesetter
|
||||
name = "bone setter"
|
||||
icon = 'icons/obj/surgery.dmi'
|
||||
icon_state = "bone setter"
|
||||
@@ -160,7 +160,7 @@
|
||||
attack_verb = list("attacked", "hit", "bludgeoned")
|
||||
origin_tech = "materials=1;biotech=1"
|
||||
|
||||
/obj/item/weapon/surgical_drapes
|
||||
/obj/item/surgical_drapes
|
||||
name = "surgical drapes"
|
||||
desc = "Nanotrasen brand surgical drapes provide optimal safety and infection control."
|
||||
icon = 'icons/obj/surgery.dmi'
|
||||
|
||||
Reference in New Issue
Block a user