mirror of
https://github.com/SPLURT-Station/S.P.L.U.R.T-Station-13.git
synced 2025-12-10 09:54:52 +00:00
one commit wonder
This commit is contained in:
@@ -8,6 +8,12 @@
|
|||||||
#define TOOL_ANALYZER "analyzer"
|
#define TOOL_ANALYZER "analyzer"
|
||||||
#define TOOL_MINING "mining"
|
#define TOOL_MINING "mining"
|
||||||
#define TOOL_SHOVEL "shovel"
|
#define TOOL_SHOVEL "shovel"
|
||||||
|
#define TOOL_RETRACTOR "retractor"
|
||||||
|
#define TOOL_HEMOSTAT "hemostat"
|
||||||
|
#define TOOL_CAUTERY "cautery"
|
||||||
|
#define TOOL_DRILL "drill"
|
||||||
|
#define TOOL_SCALPEL "scalpel"
|
||||||
|
#define TOOL_SAW "saw"
|
||||||
|
|
||||||
|
|
||||||
// If delay between the start and the end of tool operation is less than MIN_TOOL_SOUND_DELAY,
|
// If delay between the start and the end of tool operation is less than MIN_TOOL_SOUND_DELAY,
|
||||||
|
|||||||
@@ -13,6 +13,8 @@
|
|||||||
energy_drain = 10
|
energy_drain = 10
|
||||||
force = 15
|
force = 15
|
||||||
harmful = TRUE
|
harmful = TRUE
|
||||||
|
tool_behaviour = TOOL_DRILL
|
||||||
|
toolspeed = 0.9
|
||||||
var/drill_delay = 7
|
var/drill_delay = 7
|
||||||
var/drill_level = DRILL_BASIC
|
var/drill_level = DRILL_BASIC
|
||||||
|
|
||||||
@@ -141,6 +143,7 @@
|
|||||||
drill_delay = 4
|
drill_delay = 4
|
||||||
drill_level = DRILL_HARDENED
|
drill_level = DRILL_HARDENED
|
||||||
force = 15
|
force = 15
|
||||||
|
toolspeed = 0.7
|
||||||
|
|
||||||
|
|
||||||
/obj/item/mecha_parts/mecha_equipment/mining_scanner
|
/obj/item/mecha_parts/mecha_equipment/mining_scanner
|
||||||
|
|||||||
@@ -11,6 +11,8 @@
|
|||||||
var/dam_force = 20
|
var/dam_force = 20
|
||||||
var/obj/mecha/working/ripley/cargo_holder
|
var/obj/mecha/working/ripley/cargo_holder
|
||||||
harmful = TRUE
|
harmful = TRUE
|
||||||
|
tool_behaviour = TOOL_RETRACTOR
|
||||||
|
toolspeed = 0.8
|
||||||
|
|
||||||
/obj/item/mecha_parts/mecha_equipment/hydraulic_clamp/can_attach(obj/mecha/working/ripley/M as obj)
|
/obj/item/mecha_parts/mecha_equipment/hydraulic_clamp/can_attach(obj/mecha/working/ripley/M as obj)
|
||||||
if(..())
|
if(..())
|
||||||
|
|||||||
@@ -358,6 +358,8 @@
|
|||||||
slot_flags = ITEM_SLOT_BELT
|
slot_flags = ITEM_SLOT_BELT
|
||||||
attack_verb = list("sawed", "torn", "cut", "chopped", "diced")
|
attack_verb = list("sawed", "torn", "cut", "chopped", "diced")
|
||||||
hitsound = 'sound/weapons/chainsawhit.ogg'
|
hitsound = 'sound/weapons/chainsawhit.ogg'
|
||||||
|
tool_behaviour = TOOL_SAW
|
||||||
|
toolspeed = 1.5 //slower than a real saw
|
||||||
|
|
||||||
/obj/item/nullrod/claymore/glowing
|
/obj/item/nullrod/claymore/glowing
|
||||||
icon_state = "swordon"
|
icon_state = "swordon"
|
||||||
@@ -513,7 +515,8 @@
|
|||||||
slot_flags = ITEM_SLOT_BELT
|
slot_flags = ITEM_SLOT_BELT
|
||||||
attack_verb = list("sawed", "torn", "cut", "chopped", "diced")
|
attack_verb = list("sawed", "torn", "cut", "chopped", "diced")
|
||||||
hitsound = 'sound/weapons/chainsawhit.ogg'
|
hitsound = 'sound/weapons/chainsawhit.ogg'
|
||||||
|
tool_behaviour = TOOL_SAW
|
||||||
|
toolspeed = 0.5
|
||||||
|
|
||||||
/obj/item/nullrod/hammmer
|
/obj/item/nullrod/hammmer
|
||||||
icon_state = "hammeron"
|
icon_state = "hammeron"
|
||||||
@@ -539,6 +542,8 @@
|
|||||||
attack_verb = list("sawed", "torn", "cut", "chopped", "diced")
|
attack_verb = list("sawed", "torn", "cut", "chopped", "diced")
|
||||||
hitsound = 'sound/weapons/chainsawhit.ogg'
|
hitsound = 'sound/weapons/chainsawhit.ogg'
|
||||||
total_mass = TOTAL_MASS_HAND_REPLACEMENT
|
total_mass = TOTAL_MASS_HAND_REPLACEMENT
|
||||||
|
tool_behaviour = TOOL_SAW
|
||||||
|
toolspeed = 2
|
||||||
|
|
||||||
/obj/item/nullrod/chainsaw/Initialize()
|
/obj/item/nullrod/chainsaw/Initialize()
|
||||||
. = ..()
|
. = ..()
|
||||||
|
|||||||
@@ -142,6 +142,8 @@
|
|||||||
w_class = WEIGHT_CLASS_NORMAL
|
w_class = WEIGHT_CLASS_NORMAL
|
||||||
sharpness = IS_SHARP
|
sharpness = IS_SHARP
|
||||||
light_color = "#40ceff"
|
light_color = "#40ceff"
|
||||||
|
tool_behaviour = TOOL_SAW
|
||||||
|
toolspeed = 0.7
|
||||||
|
|
||||||
/obj/item/melee/transforming/energy/sword/cyborg/saw/hit_reaction(mob/living/carbon/human/owner, atom/movable/hitby, attack_text = "the attack", final_block_chance = 0, damage = 0, attack_type = MELEE_ATTACK)
|
/obj/item/melee/transforming/energy/sword/cyborg/saw/hit_reaction(mob/living/carbon/human/owner, atom/movable/hitby, attack_text = "the attack", final_block_chance = 0, damage = 0, attack_type = MELEE_ATTACK)
|
||||||
return 0
|
return 0
|
||||||
|
|||||||
@@ -599,6 +599,8 @@
|
|||||||
sharpness = IS_SHARP
|
sharpness = IS_SHARP
|
||||||
actions_types = list(/datum/action/item_action/startchainsaw)
|
actions_types = list(/datum/action/item_action/startchainsaw)
|
||||||
var/on = FALSE
|
var/on = FALSE
|
||||||
|
tool_behaviour = TOOL_SAW
|
||||||
|
toolspeed = 0.5
|
||||||
|
|
||||||
/obj/item/twohanded/required/chainsaw/Initialize()
|
/obj/item/twohanded/required/chainsaw/Initialize()
|
||||||
. = ..()
|
. = ..()
|
||||||
|
|||||||
@@ -436,6 +436,8 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301
|
|||||||
attack_verb = list("sawed", "torn", "cut", "chopped", "diced")
|
attack_verb = list("sawed", "torn", "cut", "chopped", "diced")
|
||||||
hitsound = 'sound/weapons/chainsawhit.ogg'
|
hitsound = 'sound/weapons/chainsawhit.ogg'
|
||||||
total_mass = TOTAL_MASS_HAND_REPLACEMENT
|
total_mass = TOTAL_MASS_HAND_REPLACEMENT
|
||||||
|
tool_behaviour = TOOL_SAW
|
||||||
|
toolspeed = 1
|
||||||
|
|
||||||
/obj/item/mounted_chainsaw/Initialize()
|
/obj/item/mounted_chainsaw/Initialize()
|
||||||
. = ..()
|
. = ..()
|
||||||
|
|||||||
@@ -290,7 +290,7 @@
|
|||||||
to_chat(user, "<span class='warning'>Access denied.</span>")
|
to_chat(user, "<span class='warning'>Access denied.</span>")
|
||||||
else if(istype(W, /obj/item/paicard))
|
else if(istype(W, /obj/item/paicard))
|
||||||
insertpai(user, W)
|
insertpai(user, W)
|
||||||
else if(istype(W, /obj/item/hemostat) && paicard)
|
else if(W.tool_behaviour == TOOL_HEMOSTAT && paicard)
|
||||||
if(open)
|
if(open)
|
||||||
to_chat(user, "<span class='warning'>Close the access panel before manipulating the personality slot!</span>")
|
to_chat(user, "<span class='warning'>Close the access panel before manipulating the personality slot!</span>")
|
||||||
else
|
else
|
||||||
|
|||||||
@@ -277,12 +277,12 @@
|
|||||||
..()
|
..()
|
||||||
if(istype(A, /obj/item/ammo_box) || istype(A, /obj/item/ammo_casing))
|
if(istype(A, /obj/item/ammo_box) || istype(A, /obj/item/ammo_casing))
|
||||||
chamber_round()
|
chamber_round()
|
||||||
|
if(A.tool_behaviour == TOOL_SAW || istype(A, /obj/item/gun/energy/plasmacutter))
|
||||||
|
sawoff(user)
|
||||||
if(istype(A, /obj/item/melee/transforming/energy))
|
if(istype(A, /obj/item/melee/transforming/energy))
|
||||||
var/obj/item/melee/transforming/energy/W = A
|
var/obj/item/melee/transforming/energy/W = A
|
||||||
if(W.active)
|
if(W.active)
|
||||||
sawoff(user)
|
sawoff(user)
|
||||||
if(istype(A, /obj/item/circular_saw) || istype(A, /obj/item/gun/energy/plasmacutter))
|
|
||||||
sawoff(user)
|
|
||||||
|
|
||||||
/obj/item/gun/ballistic/revolver/doublebarrel/attack_self(mob/living/user)
|
/obj/item/gun/ballistic/revolver/doublebarrel/attack_self(mob/living/user)
|
||||||
var/num_unloaded = 0
|
var/num_unloaded = 0
|
||||||
|
|||||||
@@ -95,7 +95,7 @@
|
|||||||
|
|
||||||
/obj/item/gun/ballistic/shotgun/riot/attackby(obj/item/A, mob/user, params)
|
/obj/item/gun/ballistic/shotgun/riot/attackby(obj/item/A, mob/user, params)
|
||||||
..()
|
..()
|
||||||
if(istype(A, /obj/item/circular_saw) || istype(A, /obj/item/gun/energy/plasmacutter))
|
if(A.tool_behaviour == TOOL_SAW || istype(A, /obj/item/gun/energy/plasmacutter))
|
||||||
sawoff(user)
|
sawoff(user)
|
||||||
if(istype(A, /obj/item/melee/transforming/energy))
|
if(istype(A, /obj/item/melee/transforming/energy))
|
||||||
var/obj/item/melee/transforming/energy/W = A
|
var/obj/item/melee/transforming/energy/W = A
|
||||||
|
|||||||
@@ -20,7 +20,7 @@
|
|||||||
|
|
||||||
/datum/surgery_step/dissection
|
/datum/surgery_step/dissection
|
||||||
name = "dissection"
|
name = "dissection"
|
||||||
implements = list(/obj/item/scalpel = 60, /obj/item/kitchen/knife = 30, /obj/item/shard = 15)
|
implements = list(TOOL_SCALPEL = 60, /obj/item/kitchen/knife = 30, /obj/item/shard = 15)
|
||||||
time = 125
|
time = 125
|
||||||
|
|
||||||
/datum/surgery_step/dissection/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
|
/datum/surgery_step/dissection/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
|
||||||
|
|||||||
@@ -24,7 +24,7 @@
|
|||||||
return TRUE
|
return TRUE
|
||||||
/datum/surgery_step/brainwash
|
/datum/surgery_step/brainwash
|
||||||
name = "brainwash"
|
name = "brainwash"
|
||||||
implements = list(/obj/item/hemostat = 85, TOOL_WIRECUTTER = 50, /obj/item/stack/packageWrap = 35, /obj/item/stack/cable_coil = 15)
|
implements = list(TOOL_HEMOSTAT = 85, TOOL_WIRECUTTER = 50, /obj/item/stack/packageWrap = 35, /obj/item/stack/cable_coil = 15)
|
||||||
time = 200
|
time = 200
|
||||||
var/objective
|
var/objective
|
||||||
/datum/surgery_step/brainwash/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
|
/datum/surgery_step/brainwash/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
|
||||||
|
|||||||
@@ -21,7 +21,7 @@
|
|||||||
return TRUE
|
return TRUE
|
||||||
/datum/surgery_step/lobotomize
|
/datum/surgery_step/lobotomize
|
||||||
name = "perform lobotomy"
|
name = "perform lobotomy"
|
||||||
implements = list(/obj/item/scalpel = 85, /obj/item/melee/transforming/energy/sword = 55, /obj/item/kitchen/knife = 35,
|
implements = list(TOOL_SCALPEL = 85, /obj/item/melee/transforming/energy/sword = 55, /obj/item/kitchen/knife = 35,
|
||||||
/obj/item/shard = 25, /obj/item = 20)
|
/obj/item/shard = 25, /obj/item = 20)
|
||||||
time = 100
|
time = 100
|
||||||
/datum/surgery_step/lobotomize/tool_check(mob/user, obj/item/tool)
|
/datum/surgery_step/lobotomize/tool_check(mob/user, obj/item/tool)
|
||||||
|
|||||||
@@ -16,7 +16,7 @@
|
|||||||
|
|
||||||
/datum/surgery_step/bionecrosis
|
/datum/surgery_step/bionecrosis
|
||||||
name = "start bionecrosis"
|
name = "start bionecrosis"
|
||||||
implements = list(/obj/item/hemostat = 100, TOOL_SCREWDRIVER = 35, /obj/item/pen = 15)
|
implements = list(TOOL_HEMOSTAT = 100, TOOL_SCREWDRIVER = 35, /obj/item/pen = 15)
|
||||||
implements = list(/obj/item/reagent_containers/syringe = 100, /obj/item/pen = 30)
|
implements = list(/obj/item/reagent_containers/syringe = 100, /obj/item/pen = 30)
|
||||||
time = 50
|
time = 50
|
||||||
chems_needed = list("zombiepowder", "rezadone")
|
chems_needed = list("zombiepowder", "rezadone")
|
||||||
|
|||||||
@@ -17,7 +17,7 @@
|
|||||||
return FALSE
|
return FALSE
|
||||||
/datum/surgery_step/pacify
|
/datum/surgery_step/pacify
|
||||||
name = "rewire brain"
|
name = "rewire brain"
|
||||||
implements = list(/obj/item/hemostat = 100, TOOL_SCREWDRIVER = 35, /obj/item/pen = 15)
|
implements = list(TOOL_HEMOSTAT = 100, TOOL_SCREWDRIVER = 35, /obj/item/pen = 15)
|
||||||
time = 40
|
time = 40
|
||||||
|
|
||||||
/datum/surgery_step/pacify/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
|
/datum/surgery_step/pacify/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
|
||||||
|
|||||||
@@ -17,7 +17,7 @@
|
|||||||
|
|
||||||
/datum/surgery_step/reconstruct
|
/datum/surgery_step/reconstruct
|
||||||
name = "repair body"
|
name = "repair body"
|
||||||
implements = list(/obj/item/hemostat = 100, TOOL_SCREWDRIVER = 35, /obj/item/pen = 15)
|
implements = list(TOOL_HEMOSTAT = 100, TOOL_SCREWDRIVER = 35, /obj/item/pen = 15)
|
||||||
repeatable = TRUE
|
repeatable = TRUE
|
||||||
time = 25
|
time = 25
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/datum/surgery/advanced/toxichealing
|
/datum/surgery/advanced/toxichealing
|
||||||
name = "Body Rejuvenation"
|
name = "Body Rejuvenation"
|
||||||
desc = "A surgical procedure that helps deal with oxygen deprecation, and treat toxic damaged. Works on corpses and alive alike without chemicals."
|
desc = "A surgical procedure that helps deal with oxygen deprivation, and treats parts damaged due to toxic compounds. Works on corpses and alive alike without chemicals."
|
||||||
steps = list(/datum/surgery_step/incise,
|
steps = list(/datum/surgery_step/incise,
|
||||||
/datum/surgery_step/incise,
|
/datum/surgery_step/incise,
|
||||||
/datum/surgery_step/retract_skin,
|
/datum/surgery_step/retract_skin,
|
||||||
@@ -17,7 +17,7 @@
|
|||||||
|
|
||||||
/datum/surgery_step/toxichealing
|
/datum/surgery_step/toxichealing
|
||||||
name = "rejuvenate body"
|
name = "rejuvenate body"
|
||||||
implements = list(/obj/item/hemostat = 100, TOOL_SCREWDRIVER = 35, /obj/item/pen = 15)
|
implements = list(TOOL_HEMOSTAT = 100, TOOL_SCREWDRIVER = 35, /obj/item/pen = 15)
|
||||||
repeatable = TRUE
|
repeatable = TRUE
|
||||||
time = 25
|
time = 25
|
||||||
|
|
||||||
|
|||||||
@@ -17,7 +17,7 @@
|
|||||||
return TRUE
|
return TRUE
|
||||||
/datum/surgery_step/viral_bond
|
/datum/surgery_step/viral_bond
|
||||||
name = "viral bond"
|
name = "viral bond"
|
||||||
implements = list(/obj/item/cautery = 100, TOOL_WELDER = 50, /obj/item = 30) // 30% success with any hot item.
|
implements = list(TOOL_CAUTERY = 100, TOOL_WELDER = 50, /obj/item = 30) // 30% success with any hot item.
|
||||||
time = 100
|
time = 100
|
||||||
chems_needed = list("spaceacillin","virusfood","formaldehyde")
|
chems_needed = list("spaceacillin","virusfood","formaldehyde")
|
||||||
|
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
requires_bodypart_type = 0
|
requires_bodypart_type = 0
|
||||||
/datum/surgery_step/sever_limb
|
/datum/surgery_step/sever_limb
|
||||||
name = "sever limb"
|
name = "sever limb"
|
||||||
implements = list(/obj/item/scalpel = 100, /obj/item/circular_saw = 100, /obj/item/melee/transforming/energy/sword/cyborg/saw = 100, /obj/item/melee/arm_blade = 80, /obj/item/twohanded/required/chainsaw = 80, /obj/item/mounted_chainsaw = 80, /obj/item/twohanded/fireaxe = 50, /obj/item/hatchet = 40, /obj/item/kitchen/knife/butcher = 25)
|
implements = list(TOOL_SCALPEL = 100, TOOL_SAW = 100, /obj/item/melee/transforming/energy/sword/cyborg/saw = 100, /obj/item/melee/arm_blade = 80, /obj/item/twohanded/required/chainsaw = 80, /obj/item/mounted_chainsaw = 80, /obj/item/twohanded/fireaxe = 50, /obj/item/hatchet = 40, /obj/item/kitchen/knife/butcher = 25)
|
||||||
time = 64
|
time = 64
|
||||||
|
|
||||||
/datum/surgery_step/sever_limb/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
|
/datum/surgery_step/sever_limb/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
|
||||||
|
|||||||
@@ -12,7 +12,7 @@
|
|||||||
requires_bodypart_type = 0
|
requires_bodypart_type = 0
|
||||||
/datum/surgery_step/fix_brain
|
/datum/surgery_step/fix_brain
|
||||||
name = "fix brain"
|
name = "fix brain"
|
||||||
implements = list(/obj/item/hemostat = 85, TOOL_SCREWDRIVER = 35, /obj/item/pen = 15) //don't worry, pouring some alcohol on their open brain will get that chance to 100
|
implements = list(TOOL_HEMOSTAT = 85, TOOL_SCREWDRIVER = 35, /obj/item/pen = 15) //don't worry, pouring some alcohol on their open brain will get that chance to 100
|
||||||
time = 120 //long and complicated
|
time = 120 //long and complicated
|
||||||
/datum/surgery/brain_surgery/can_start(mob/user, mob/living/carbon/target)
|
/datum/surgery/brain_surgery/can_start(mob/user, mob/living/carbon/target)
|
||||||
var/obj/item/organ/brain/B = target.getorganslot(ORGAN_SLOT_BRAIN)
|
var/obj/item/organ/brain/B = target.getorganslot(ORGAN_SLOT_BRAIN)
|
||||||
|
|||||||
@@ -11,7 +11,7 @@
|
|||||||
//extract brain
|
//extract brain
|
||||||
/datum/surgery_step/extract_core
|
/datum/surgery_step/extract_core
|
||||||
name = "extract core"
|
name = "extract core"
|
||||||
implements = list(/obj/item/hemostat = 100, TOOL_CROWBAR = 100)
|
implements = list(TOOL_HEMOSTAT = 100, TOOL_CROWBAR = 100)
|
||||||
time = 16
|
time = 16
|
||||||
|
|
||||||
/datum/surgery_step/extract_core/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
|
/datum/surgery_step/extract_core/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/datum/surgery/embalming //Fast and easy way to husk bodys
|
/datum/surgery/embalming //Fast and easy way to husk bodys
|
||||||
name = "Embalming"
|
name = "Embalming"
|
||||||
desc = "A surgical procedure that prevents a corps from producing."
|
desc = "A surgical procedure that prevents a corpse from producing miasma."
|
||||||
steps = list(/datum/surgery_step/incise,
|
steps = list(/datum/surgery_step/incise,
|
||||||
/datum/surgery_step/embalming,
|
/datum/surgery_step/embalming,
|
||||||
/datum/surgery_step/close)
|
/datum/surgery_step/close)
|
||||||
@@ -11,7 +11,7 @@
|
|||||||
|
|
||||||
/datum/surgery_step/embalming
|
/datum/surgery_step/embalming
|
||||||
name = "embalming body"
|
name = "embalming body"
|
||||||
implements = list(/obj/item/hemostat = 100, TOOL_SCREWDRIVER = 35, /obj/item/pen = 15)
|
implements = list(TOOL_HEMOSTAT = 100, TOOL_SCREWDRIVER = 35, /obj/item/pen = 15)
|
||||||
implements = list(/obj/item/reagent_containers/syringe = 100, /obj/item/pen = 30)
|
implements = list(/obj/item/reagent_containers/syringe = 100, /obj/item/pen = 30)
|
||||||
time = 10
|
time = 10
|
||||||
chems_needed = list("drying_agent", "sterilizine")
|
chems_needed = list("drying_agent", "sterilizine")
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
//fix eyes
|
//fix eyes
|
||||||
/datum/surgery_step/fix_eyes
|
/datum/surgery_step/fix_eyes
|
||||||
name = "fix eyes"
|
name = "fix eyes"
|
||||||
implements = list(/obj/item/hemostat = 100, TOOL_SCREWDRIVER = 45, /obj/item/pen = 25)
|
implements = listTOOL_HEMOSTAT = 100, TOOL_SCREWDRIVER = 45, /obj/item/pen = 25)
|
||||||
time = 64
|
time = 64
|
||||||
/datum/surgery/eye_surgery/can_start(mob/user, mob/living/carbon/target)
|
/datum/surgery/eye_surgery/can_start(mob/user, mob/living/carbon/target)
|
||||||
var/obj/item/organ/eyes/E = target.getorganslot(ORGAN_SLOT_EYES)
|
var/obj/item/organ/eyes/E = target.getorganslot(ORGAN_SLOT_EYES)
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
//extract implant
|
//extract implant
|
||||||
/datum/surgery_step/extract_implant
|
/datum/surgery_step/extract_implant
|
||||||
name = "extract implant"
|
name = "extract implant"
|
||||||
implements = list(/obj/item/hemostat = 100, TOOL_CROWBAR = 65)
|
implements = list(TOOL_HEMOSTAT = 100, TOOL_CROWBAR = 65)
|
||||||
time = 64
|
time = 64
|
||||||
var/obj/item/implant/I = null
|
var/obj/item/implant/I = null
|
||||||
/datum/surgery_step/extract_implant/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
|
/datum/surgery_step/extract_implant/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
//SURGERY STEPS
|
//SURGERY STEPS
|
||||||
/datum/surgery_step/replace
|
/datum/surgery_step/replace
|
||||||
name = "sever muscles"
|
name = "sever muscles"
|
||||||
implements = list(/obj/item/scalpel = 100, TOOL_WIRECUTTER = 55)
|
implements = list(TOOL_SCALPEL = 100, TOOL_WIRECUTTER = 55)
|
||||||
time = 32
|
time = 32
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -9,7 +9,7 @@
|
|||||||
//cut fat
|
//cut fat
|
||||||
/datum/surgery_step/cut_fat
|
/datum/surgery_step/cut_fat
|
||||||
name = "cut excess fat"
|
name = "cut excess fat"
|
||||||
implements = list(/obj/item/circular_saw = 100, /obj/item/melee/transforming/energy/sword/cyborg/saw = 100, /obj/item/hatchet = 35, /obj/item/kitchen/knife/butcher = 25)
|
implements = list(TOOL_SAW = 100, /obj/item/hatchet = 35, /obj/item/kitchen/knife/butcher = 25) //why we need a saw to cut adipose tissue is beyond me, shit's soft as fuck
|
||||||
time = 64
|
time = 64
|
||||||
|
|
||||||
/datum/surgery_step/cut_fat/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
|
/datum/surgery_step/cut_fat/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
name = "unscrew shell"
|
name = "unscrew shell"
|
||||||
implements = list(
|
implements = list(
|
||||||
TOOL_SCREWDRIVER = 100,
|
TOOL_SCREWDRIVER = 100,
|
||||||
/obj/item/scalpel = 75, // med borgs could try to unskrew shell with scalpel
|
TOOL_SCALPEL = 75, // med borgs could try to unskrew shell with scalpel
|
||||||
/obj/item/kitchen/knife = 50,
|
/obj/item/kitchen/knife = 50,
|
||||||
/obj/item = 10) // 10% success with any sharp item.
|
/obj/item = 10) // 10% success with any sharp item.
|
||||||
time = 24
|
time = 24
|
||||||
@@ -22,7 +22,7 @@
|
|||||||
name = "screw shell"
|
name = "screw shell"
|
||||||
implements = list(
|
implements = list(
|
||||||
TOOL_SCREWDRIVER = 100,
|
TOOL_SCREWDRIVER = 100,
|
||||||
/obj/item/scalpel = 75,
|
TOOL_SCALPELl = 75,
|
||||||
/obj/item/kitchen/knife = 50,
|
/obj/item/kitchen/knife = 50,
|
||||||
/obj/item = 10) // 10% success with any sharp item.
|
/obj/item = 10) // 10% success with any sharp item.
|
||||||
time = 24
|
time = 24
|
||||||
@@ -41,7 +41,7 @@
|
|||||||
name = "prepare electronics"
|
name = "prepare electronics"
|
||||||
implements = list(
|
implements = list(
|
||||||
TOOL_MULTITOOL = 100,
|
TOOL_MULTITOOL = 100,
|
||||||
/obj/item/hemostat = 10) // try to reboot internal controllers via short circuit with some conductor
|
TOOL_HEMOSTAT = 10) // try to reboot internal controllers via short circuit with some conductor
|
||||||
time = 24
|
time = 24
|
||||||
|
|
||||||
/datum/surgery_step/prepare_electronics/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
|
/datum/surgery_step/prepare_electronics/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
|
||||||
@@ -54,7 +54,7 @@
|
|||||||
name = "unwrench bolts"
|
name = "unwrench bolts"
|
||||||
implements = list(
|
implements = list(
|
||||||
TOOL_WRENCH = 100,
|
TOOL_WRENCH = 100,
|
||||||
/obj/item/retractor = 10)
|
TOOL_RETRACTOR = 10)
|
||||||
time = 24
|
time = 24
|
||||||
|
|
||||||
/datum/surgery_step/mechanic_unwrench/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
|
/datum/surgery_step/mechanic_unwrench/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
|
||||||
@@ -67,7 +67,7 @@
|
|||||||
name = "wrench bolts"
|
name = "wrench bolts"
|
||||||
implements = list(
|
implements = list(
|
||||||
TOOL_WRENCH = 100,
|
TOOL_WRENCH = 100,
|
||||||
/obj/item/retractor = 10)
|
TOOL_RETRACTOR = 10)
|
||||||
time = 24
|
time = 24
|
||||||
|
|
||||||
/datum/surgery_step/mechanic_wrench/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
|
/datum/surgery_step/mechanic_wrench/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
|
||||||
|
|||||||
@@ -62,7 +62,7 @@
|
|||||||
name = "manipulate organs"
|
name = "manipulate organs"
|
||||||
repeatable = 1
|
repeatable = 1
|
||||||
implements = list(/obj/item/organ = 100, /obj/item/reagent_containers/food/snacks/organ = 0, /obj/item/organ_storage = 100)
|
implements = list(/obj/item/organ = 100, /obj/item/reagent_containers/food/snacks/organ = 0, /obj/item/organ_storage = 100)
|
||||||
var/implements_extract = list(/obj/item/hemostat = 100, TOOL_CROWBAR = 55)
|
var/implements_extract = list(TOOL_HEMOSTAT = 100, TOOL_CROWBAR = 55)
|
||||||
var/current_type
|
var/current_type
|
||||||
var/obj/item/organ/I = null
|
var/obj/item/organ/I = null
|
||||||
/datum/surgery_step/manipulate_organs/New()
|
/datum/surgery_step/manipulate_organs/New()
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
//make incision
|
//make incision
|
||||||
/datum/surgery_step/incise
|
/datum/surgery_step/incise
|
||||||
name = "make incision"
|
name = "make incision"
|
||||||
implements = list(/obj/item/scalpel = 100, /obj/item/melee/transforming/energy/sword = 75, /obj/item/kitchen/knife = 65,
|
implements = list(TOOL_SCALPEL = 100, /obj/item/melee/transforming/energy/sword = 75, /obj/item/kitchen/knife = 65,
|
||||||
/obj/item/shard = 45, /obj/item = 30) // 30% success with any sharp item.
|
/obj/item/shard = 45, /obj/item = 30) // 30% success with any sharp item.
|
||||||
time = 16
|
time = 16
|
||||||
|
|
||||||
@@ -27,7 +27,7 @@
|
|||||||
//clamp bleeders
|
//clamp bleeders
|
||||||
/datum/surgery_step/clamp_bleeders
|
/datum/surgery_step/clamp_bleeders
|
||||||
name = "clamp bleeders"
|
name = "clamp bleeders"
|
||||||
implements = list(/obj/item/hemostat = 100, TOOL_WIRECUTTER = 60, /obj/item/stack/packageWrap = 35, /obj/item/stack/cable_coil = 15)
|
implements = list(TOOL_HEMOSTAT = 100, TOOL_WIRECUTTER = 60, /obj/item/stack/packageWrap = 35, /obj/item/stack/cable_coil = 15)
|
||||||
time = 24
|
time = 24
|
||||||
|
|
||||||
/datum/surgery_step/clamp_bleeders/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
|
/datum/surgery_step/clamp_bleeders/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
|
||||||
@@ -45,7 +45,7 @@
|
|||||||
//retract skin
|
//retract skin
|
||||||
/datum/surgery_step/retract_skin
|
/datum/surgery_step/retract_skin
|
||||||
name = "retract skin"
|
name = "retract skin"
|
||||||
implements = list(/obj/item/retractor = 100, TOOL_SCREWDRIVER = 45, TOOL_WIRECUTTER = 35)
|
implements = list(TOOL_RETRACTOR = 100, TOOL_SCREWDRIVER = 45, TOOL_WIRECUTTER = 35)
|
||||||
time = 24
|
time = 24
|
||||||
|
|
||||||
/datum/surgery_step/retract_skin/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
|
/datum/surgery_step/retract_skin/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
|
||||||
@@ -58,7 +58,7 @@
|
|||||||
//close incision
|
//close incision
|
||||||
/datum/surgery_step/close
|
/datum/surgery_step/close
|
||||||
name = "mend incision"
|
name = "mend incision"
|
||||||
implements = list(/obj/item/cautery = 100, /obj/item/gun/energy/laser = 90, TOOL_WELDER = 70,
|
implements = list(TOOL_CAUTERY = 100, /obj/item/gun/energy/laser = 90, TOOL_WELDER = 70,
|
||||||
/obj/item = 30) // 30% success with any hot item.
|
/obj/item = 30) // 30% success with any hot item.
|
||||||
time = 24
|
time = 24
|
||||||
|
|
||||||
@@ -81,9 +81,7 @@
|
|||||||
//saw bone
|
//saw bone
|
||||||
/datum/surgery_step/saw
|
/datum/surgery_step/saw
|
||||||
name = "saw bone"
|
name = "saw bone"
|
||||||
implements = list(/obj/item/circular_saw = 100, /obj/item/melee/transforming/energy/sword/cyborg/saw = 100,
|
implements = list(TOOL_SAW = 100, /obj/item/melee/arm_blade = 75, /obj/item/twohanded/fireaxe = 50, /obj/item/hatchet = 35, /obj/item/kitchen/knife/butcher = 25)
|
||||||
/obj/item/melee/arm_blade = 75, /obj/item/mounted_chainsaw = 65, /obj/item/twohanded/required/chainsaw = 50,
|
|
||||||
/obj/item/twohanded/fireaxe = 50, /obj/item/hatchet = 35, /obj/item/kitchen/knife/butcher = 25)
|
|
||||||
time = 54
|
time = 54
|
||||||
|
|
||||||
/datum/surgery_step/saw/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
|
/datum/surgery_step/saw/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
|
||||||
@@ -101,7 +99,7 @@
|
|||||||
//drill bone
|
//drill bone
|
||||||
/datum/surgery_step/drill
|
/datum/surgery_step/drill
|
||||||
name = "drill bone"
|
name = "drill bone"
|
||||||
implements = list(/obj/item/surgicaldrill = 100, /obj/item/screwdriver/power = 80, /obj/item/pickaxe/drill = 60, /obj/item/mecha_parts/mecha_equipment/drill = 60, TOOL_SCREWDRIVER = 20)
|
implements = list(TOOL_DRILL = 100, /obj/item/screwdriver/power = 80, /obj/item/pickaxe/drill = 60, TOOL_SCREWDRIVER = 20)
|
||||||
time = 30
|
time = 30
|
||||||
|
|
||||||
/datum/surgery_step/drill/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
|
/datum/surgery_step/drill/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
//reshape_face
|
//reshape_face
|
||||||
/datum/surgery_step/reshape_face
|
/datum/surgery_step/reshape_face
|
||||||
name = "reshape face"
|
name = "reshape face"
|
||||||
implements = list(/obj/item/scalpel = 100, /obj/item/kitchen/knife = 50, TOOL_WIRECUTTER = 35)
|
implements = list(TOOL_SCALPEL = 100, /obj/item/kitchen/knife = 50, TOOL_WIRECUTTER = 35)
|
||||||
time = 64
|
time = 64
|
||||||
|
|
||||||
/datum/surgery_step/reshape_face/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
|
/datum/surgery_step/reshape_face/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
|
||||||
|
|||||||
@@ -7,16 +7,29 @@
|
|||||||
item_flags = SURGICAL_TOOL
|
item_flags = SURGICAL_TOOL
|
||||||
flags_1 = CONDUCT_1
|
flags_1 = CONDUCT_1
|
||||||
w_class = WEIGHT_CLASS_TINY
|
w_class = WEIGHT_CLASS_TINY
|
||||||
|
tool_behaviour = TOOL_RETRACTOR
|
||||||
|
toolspeed = 1
|
||||||
|
|
||||||
/obj/item/retractor/adv
|
/obj/item/retractor/advanced
|
||||||
name = "Advanced Retractor"
|
name = "mechanical pinches"
|
||||||
desc = "A high-class, premium retractor, featuring precision crafted, silver-plated hook-ends and an electrum handle."
|
desc = "An agglomerate of rods and gears."
|
||||||
icon = 'icons/obj/surgery.dmi'
|
icon = 'icons/obj/surgery.dmi'
|
||||||
icon_state = "retractor"
|
icon_state = "retractor_a"
|
||||||
materials = list(MAT_METAL=6000, MAT_GLASS=3000)
|
toolspeed = 0.7
|
||||||
flags_1 = CONDUCT_1
|
|
||||||
w_class = WEIGHT_CLASS_TINY
|
/obj/item/retractor/advanced/attack_self(mob/user)
|
||||||
toolspeed = 0.65
|
playsound(get_turf(user), 'sound/items/change_drill.ogg', 50, TRUE)
|
||||||
|
if(tool_behaviour == TOOL_RETRACTOR)
|
||||||
|
tool_behaviour = TOOL_HEMOSTAT
|
||||||
|
to_chat(user, "<span class='notice'>You configure the gears of [src], they are now in hemostat mode.</span>")
|
||||||
|
icon_state = "hemostat_a"
|
||||||
|
else
|
||||||
|
tool_behaviour = TOOL_RETRACTOR
|
||||||
|
to_chat(user, "<span class='notice'>You configure the gears of [src], they are now in retractor mode.</span>")
|
||||||
|
icon_state = "retractor_a"
|
||||||
|
|
||||||
|
/obj/item/retractor/advanced/examine()
|
||||||
|
. += " It resembles a retractor[tool_behaviour == TOOL_RETRACTOR ? "retractor" : "hemostat"]."
|
||||||
|
|
||||||
/obj/item/retractor/augment
|
/obj/item/retractor/augment
|
||||||
name = "retractor"
|
name = "retractor"
|
||||||
@@ -38,17 +51,8 @@
|
|||||||
flags_1 = CONDUCT_1
|
flags_1 = CONDUCT_1
|
||||||
w_class = WEIGHT_CLASS_TINY
|
w_class = WEIGHT_CLASS_TINY
|
||||||
attack_verb = list("attacked", "pinched")
|
attack_verb = list("attacked", "pinched")
|
||||||
|
tool_behaviour = TOOL_HEMOSTAT
|
||||||
/obj/item/hemostat/adv
|
toolspeed = 1
|
||||||
name = "Advanced Hemostat"
|
|
||||||
desc = "An exceptionally fine pair of arterial forceps. These appear to be plated in electrum and feel soft to the touch."
|
|
||||||
icon = 'icons/obj/surgery.dmi'
|
|
||||||
icon_state = "hemostat"
|
|
||||||
materials = list(MAT_METAL=5000, MAT_GLASS=2500)
|
|
||||||
flags_1 = CONDUCT_1
|
|
||||||
w_class = WEIGHT_CLASS_TINY
|
|
||||||
toolspeed = 0.65
|
|
||||||
attack_verb = list("attacked", "pinched")
|
|
||||||
|
|
||||||
/obj/item/hemostat/augment
|
/obj/item/hemostat/augment
|
||||||
name = "hemostat"
|
name = "hemostat"
|
||||||
@@ -72,17 +76,8 @@
|
|||||||
flags_1 = CONDUCT_1
|
flags_1 = CONDUCT_1
|
||||||
w_class = WEIGHT_CLASS_TINY
|
w_class = WEIGHT_CLASS_TINY
|
||||||
attack_verb = list("burnt")
|
attack_verb = list("burnt")
|
||||||
|
tool_behaviour = TOOL_CAUTERY
|
||||||
/obj/item/cautery/adv
|
toolspeed = 1
|
||||||
name = "Electrocautery"
|
|
||||||
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!"
|
|
||||||
icon = 'icons/obj/surgery.dmi'
|
|
||||||
icon_state = "cautery"
|
|
||||||
materials = list(MAT_METAL=2500, MAT_GLASS=750)
|
|
||||||
flags_1 = CONDUCT_1
|
|
||||||
w_class = WEIGHT_CLASS_TINY
|
|
||||||
toolspeed = 0.5
|
|
||||||
attack_verb = list("burnt")
|
|
||||||
|
|
||||||
/obj/item/cautery/augment
|
/obj/item/cautery/augment
|
||||||
name = "cautery"
|
name = "cautery"
|
||||||
@@ -110,22 +105,33 @@
|
|||||||
force = 15
|
force = 15
|
||||||
w_class = WEIGHT_CLASS_NORMAL
|
w_class = WEIGHT_CLASS_NORMAL
|
||||||
attack_verb = list("drilled")
|
attack_verb = list("drilled")
|
||||||
|
tool_behaviour = TOOL_DRILL
|
||||||
|
toolspeed = 1
|
||||||
|
|
||||||
/obj/item/surgicaldrill/adv
|
/obj/item/surgicaldrill/advanced
|
||||||
name = "Surgical Autodrill"
|
name = "searing tool"
|
||||||
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."
|
desc = "It projects a high power laser used for medical application."
|
||||||
icon = 'icons/obj/surgery.dmi'
|
icon = 'icons/obj/surgery.dmi'
|
||||||
icon_state = "drill"
|
icon_state = "surgicaldrill_a"
|
||||||
lefthand_file = 'icons/mob/inhands/equipment/tools_lefthand.dmi'
|
hitsound = 'sound/items/welder.ogg'
|
||||||
righthand_file = 'icons/mob/inhands/equipment/tools_righthand.dmi'
|
|
||||||
hitsound = 'sound/weapons/circsawhit.ogg'
|
/obj/item/surgicaldrill/advanced/Initialize()
|
||||||
materials = list(MAT_METAL=10000, MAT_GLASS=6000)
|
. = ..()
|
||||||
flags_1 = CONDUCT_1
|
set_light(1)
|
||||||
force = 13 //Damions are not ment for flesh cutting!
|
|
||||||
w_class = WEIGHT_CLASS_NORMAL
|
/obj/item/surgicaldrill/advanced/attack_self(mob/user)
|
||||||
toolspeed = 0.65
|
playsound(get_turf(user), 'sound/weapons/tap.ogg', 50, TRUE)
|
||||||
attack_verb = list("drilled")
|
if(tool_behaviour == TOOL_DRILL)
|
||||||
sharpness = IS_SHARP_ACCURATE // Were making them use a damion for this...
|
tool_behaviour = TOOL_CAUTERY
|
||||||
|
to_chat(user, "<span class='notice'>You focus the lenses of [src], it is now in mending mode.</span>")
|
||||||
|
icon_state = "cautery_a"
|
||||||
|
else
|
||||||
|
tool_behaviour = TOOL_DRILL
|
||||||
|
to_chat(user, "<span class='notice'>You dilate the lenses of [src], it is now in drilling mode.</span>")
|
||||||
|
icon_state = "surgicaldrill_a"
|
||||||
|
|
||||||
|
/obj/item/surgicaldrill/advanced/examine()
|
||||||
|
. += " It's set to [tool_behaviour == TOOL_DRILL ? "drilling" : "mending"] mode."
|
||||||
|
|
||||||
/obj/item/surgicaldrill/augment
|
/obj/item/surgicaldrill/augment
|
||||||
name = "surgical drill"
|
name = "surgical drill"
|
||||||
@@ -159,30 +165,46 @@
|
|||||||
attack_verb = list("attacked", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut")
|
attack_verb = list("attacked", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut")
|
||||||
hitsound = 'sound/weapons/bladeslice.ogg'
|
hitsound = 'sound/weapons/bladeslice.ogg'
|
||||||
sharpness = IS_SHARP_ACCURATE
|
sharpness = IS_SHARP_ACCURATE
|
||||||
|
tool_behaviour = TOOL_SCALPEL
|
||||||
|
toolspeed = 1
|
||||||
|
|
||||||
/obj/item/scalpel/Initialize()
|
/obj/item/scalpel/Initialize()
|
||||||
. = ..()
|
. = ..()
|
||||||
AddComponent(/datum/component/butchering, 80 * toolspeed, 100, 0)
|
AddComponent(/datum/component/butchering, 80 * toolspeed, 100, 0)
|
||||||
|
|
||||||
/obj/item/scalpel/adv
|
/obj/item/scalpel/advanced
|
||||||
name = "Precision Scalpel"
|
name = "laser scalpel"
|
||||||
desc = "A perfectly balanced electrum scalpel with a silicon-coated edge to eliminate wear and tear."
|
desc = "An advanced scalpel which uses laser technology to cut."
|
||||||
icon = 'icons/obj/surgery.dmi'
|
icon = 'icons/obj/surgery.dmi'
|
||||||
icon_state = "scalpel"
|
icon_state = "scalpel_a"
|
||||||
lefthand_file = 'icons/mob/inhands/equipment/medical_lefthand.dmi'
|
hitsound = 'sound/weapons/blade1.ogg'
|
||||||
righthand_file = 'icons/mob/inhands/equipment/medical_righthand.dmi'
|
force = 16
|
||||||
flags_1 = CONDUCT_1
|
toolspeed = 0.7
|
||||||
force = 8
|
light_color = LIGHT_COLOR_GREEN
|
||||||
w_class = WEIGHT_CLASS_TINY
|
|
||||||
throwforce = 7
|
|
||||||
throw_speed = 3
|
|
||||||
throw_range = 6
|
|
||||||
materials = list(MAT_METAL=4000, MAT_GLASS=1000)
|
|
||||||
attack_verb = list("attacked", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut")
|
|
||||||
toolspeed = 0.65
|
|
||||||
hitsound = 'sound/weapons/bladeslice.ogg'
|
|
||||||
sharpness = IS_SHARP_ACCURATE
|
sharpness = IS_SHARP_ACCURATE
|
||||||
|
|
||||||
|
/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)
|
||||||
|
if(tool_behaviour == TOOL_SCALPEL)
|
||||||
|
tool_behaviour = TOOL_SAW
|
||||||
|
to_chat(user, "<span class='notice'>You increase the power of [src], now it can cut bones.</span>")
|
||||||
|
set_light(2)
|
||||||
|
force += 1 //we don't want to ruin sharpened stuff
|
||||||
|
icon_state = "saw_a"
|
||||||
|
else
|
||||||
|
tool_behaviour = TOOL_SCALPEL
|
||||||
|
to_chat(user, "<span class='notice'>You lower the power of [src], it can no longer cut bones.</span>")
|
||||||
|
set_light(1)
|
||||||
|
force -= 1
|
||||||
|
icon_state = "scalpel_a"
|
||||||
|
|
||||||
|
/obj/item/scalpel/advanced/examine()
|
||||||
|
. += " It's set to [tool_behaviour == TOOL_SCALPEL ? "scalpel" : "saw"] mode."
|
||||||
|
|
||||||
/obj/item/scalpel/augment
|
/obj/item/scalpel/augment
|
||||||
name = "scalpel"
|
name = "scalpel"
|
||||||
desc = "Ultra-sharp blade attached directly to your bone for extra-accuracy."
|
desc = "Ultra-sharp blade attached directly to your bone for extra-accuracy."
|
||||||
@@ -224,30 +246,13 @@
|
|||||||
materials = list(MAT_METAL=10000, MAT_GLASS=6000)
|
materials = list(MAT_METAL=10000, MAT_GLASS=6000)
|
||||||
attack_verb = list("attacked", "slashed", "sawed", "cut")
|
attack_verb = list("attacked", "slashed", "sawed", "cut")
|
||||||
sharpness = IS_SHARP
|
sharpness = IS_SHARP
|
||||||
|
tool_behaviour = TOOL_SAW
|
||||||
|
toolspeed = 1
|
||||||
|
|
||||||
/obj/item/circular_saw/Initialize()
|
/obj/item/circular_saw/Initialize()
|
||||||
. = ..()
|
. = ..()
|
||||||
AddComponent(/datum/component/butchering, 40 * toolspeed, 100, 5, 'sound/weapons/circsawhit.ogg') //saws are very accurate and fast at butchering
|
AddComponent(/datum/component/butchering, 40 * toolspeed, 100, 5, 'sound/weapons/circsawhit.ogg') //saws are very accurate and fast at butchering
|
||||||
|
|
||||||
/obj/item/circular_saw/adv
|
|
||||||
name = "Diamond-Grit Circular Saw"
|
|
||||||
desc = "For those Assistants with REALLY thick skulls."
|
|
||||||
icon = 'icons/obj/surgery.dmi'
|
|
||||||
icon_state = "saw"
|
|
||||||
lefthand_file = 'icons/mob/inhands/equipment/medical_lefthand.dmi'
|
|
||||||
righthand_file = 'icons/mob/inhands/equipment/medical_righthand.dmi'
|
|
||||||
hitsound = 'sound/weapons/circsawhit.ogg'
|
|
||||||
throwhitsound = 'sound/weapons/pierce.ogg'
|
|
||||||
flags_1 = CONDUCT_1
|
|
||||||
force = 13
|
|
||||||
w_class = WEIGHT_CLASS_NORMAL
|
|
||||||
throwforce = 6
|
|
||||||
throw_speed = 1
|
|
||||||
throw_range = 3
|
|
||||||
materials = list(MAT_METAL=10000, MAT_GLASS=6000)
|
|
||||||
attack_verb = list("attacked", "slashed", "sawed", "cut")
|
|
||||||
toolspeed = 0.65
|
|
||||||
sharpness = IS_SHARP
|
|
||||||
|
|
||||||
/obj/item/circular_saw/augment
|
/obj/item/circular_saw/augment
|
||||||
name = "circular saw"
|
name = "circular saw"
|
||||||
|
|||||||
Binary file not shown.
|
Before Width: | Height: | Size: 34 KiB After Width: | Height: | Size: 36 KiB |
@@ -517,7 +517,6 @@
|
|||||||
#include "code\game\atoms.dm"
|
#include "code\game\atoms.dm"
|
||||||
#include "code\game\atoms_movable.dm"
|
#include "code\game\atoms_movable.dm"
|
||||||
#include "code\game\communications.dm"
|
#include "code\game\communications.dm"
|
||||||
#include "code\game\data_huds.dm"
|
|
||||||
#include "code\game\say.dm"
|
#include "code\game\say.dm"
|
||||||
#include "code\game\shuttle_engines.dm"
|
#include "code\game\shuttle_engines.dm"
|
||||||
#include "code\game\sound.dm"
|
#include "code\game\sound.dm"
|
||||||
|
|||||||
Reference in New Issue
Block a user