mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-27 05:57:24 +01:00
Merge remote-tracking branch 'upstream/master' into lungsss
# Conflicts: # code/modules/mob/living/carbon/alien/humanoid/humanoid.dm # code/modules/mob/living/carbon/carbon_defines.dm
This commit is contained in:
@@ -34,7 +34,7 @@
|
||||
|
||||
allowed_tools = list(
|
||||
/obj/item/weapon/bonegel = 100, \
|
||||
/obj/item/weapon/screwdriver = 75
|
||||
/obj/item/weapon/screwdriver = 90
|
||||
)
|
||||
can_infect = 1
|
||||
blood_level = 1
|
||||
@@ -70,7 +70,7 @@
|
||||
|
||||
allowed_tools = list(
|
||||
/obj/item/weapon/bonesetter = 100, \
|
||||
/obj/item/weapon/wrench = 75 \
|
||||
/obj/item/weapon/wrench = 90 \
|
||||
)
|
||||
|
||||
time = 32
|
||||
@@ -109,7 +109,7 @@
|
||||
|
||||
allowed_tools = list(
|
||||
/obj/item/weapon/bonesetter = 100, \
|
||||
/obj/item/weapon/wrench = 75 \
|
||||
/obj/item/weapon/wrench = 90 \
|
||||
)
|
||||
|
||||
time = 32
|
||||
@@ -144,7 +144,7 @@
|
||||
|
||||
allowed_tools = list(
|
||||
/obj/item/weapon/bonegel = 100, \
|
||||
/obj/item/weapon/screwdriver = 75
|
||||
/obj/item/weapon/screwdriver = 90
|
||||
)
|
||||
can_infect = 1
|
||||
blood_level = 1
|
||||
@@ -168,7 +168,7 @@
|
||||
affected.status &= ~ORGAN_BROKEN
|
||||
affected.status &= ~ORGAN_SPLINTED
|
||||
affected.perma_injury = 0
|
||||
|
||||
target.handle_splints()
|
||||
return 1
|
||||
|
||||
/datum/surgery_step/finish_bone/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
|
||||
|
||||
@@ -68,8 +68,8 @@
|
||||
name = "make cavity space"
|
||||
allowed_tools = list(
|
||||
/obj/item/weapon/surgicaldrill = 100, \
|
||||
/obj/item/weapon/pen = 75, \
|
||||
/obj/item/stack/rods = 50
|
||||
/obj/item/weapon/pen = 90, \
|
||||
/obj/item/stack/rods = 60
|
||||
)
|
||||
|
||||
time = 54
|
||||
@@ -93,9 +93,9 @@
|
||||
allowed_tools = list(
|
||||
/obj/item/weapon/scalpel/laser = 100, \
|
||||
/obj/item/weapon/cautery = 100, \
|
||||
/obj/item/clothing/mask/cigarette = 75, \
|
||||
/obj/item/weapon/lighter = 50, \
|
||||
/obj/item/weapon/weldingtool = 25
|
||||
/obj/item/clothing/mask/cigarette = 90, \
|
||||
/obj/item/weapon/lighter = 60, \
|
||||
/obj/item/weapon/weldingtool = 30
|
||||
)
|
||||
|
||||
time = 24
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
allowed_tools = list(
|
||||
/obj/item/weapon/circular_saw = 100, \
|
||||
/obj/item/weapon/melee/energy/sword/cyborg/saw = 100, \
|
||||
/obj/item/weapon/hatchet = 75
|
||||
/obj/item/weapon/hatchet = 90
|
||||
)
|
||||
|
||||
time = 54
|
||||
@@ -72,7 +72,7 @@
|
||||
allowed_tools = list(
|
||||
/obj/item/weapon/scalpel/laser/manager = 100, \
|
||||
/obj/item/weapon/retractor = 100, \
|
||||
/obj/item/weapon/crowbar = 75
|
||||
/obj/item/weapon/crowbar = 90
|
||||
)
|
||||
|
||||
time = 24
|
||||
@@ -123,7 +123,7 @@
|
||||
allowed_tools = list(
|
||||
/obj/item/weapon/scalpel/laser/manager = 100, \
|
||||
/obj/item/weapon/retractor = 100, \
|
||||
/obj/item/weapon/crowbar = 75
|
||||
/obj/item/weapon/crowbar = 90
|
||||
)
|
||||
|
||||
time = 24
|
||||
@@ -173,7 +173,7 @@
|
||||
name = "mend bone"
|
||||
allowed_tools = list(
|
||||
/obj/item/weapon/bonegel = 100, \
|
||||
/obj/item/weapon/screwdriver = 75
|
||||
/obj/item/weapon/screwdriver = 90
|
||||
)
|
||||
|
||||
time = 24
|
||||
|
||||
@@ -29,8 +29,8 @@
|
||||
name = "make incision"
|
||||
allowed_tools = list(
|
||||
/obj/item/weapon/scalpel = 100, \
|
||||
/obj/item/weapon/kitchen/knife = 75, \
|
||||
/obj/item/weapon/shard = 50, \
|
||||
/obj/item/weapon/kitchen/knife = 90, \
|
||||
/obj/item/weapon/shard = 60, \
|
||||
)
|
||||
|
||||
time = 16
|
||||
@@ -60,8 +60,8 @@
|
||||
allowed_tools = list(
|
||||
/obj/item/weapon/scalpel/laser/manager = 100, \
|
||||
/obj/item/weapon/hemostat = 100, \
|
||||
/obj/item/stack/cable_coil = 75, \
|
||||
/obj/item/device/assembly/mousetrap = 10 //I don't know. Don't ask me. But I'm leaving it because hilarity.
|
||||
/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.
|
||||
)
|
||||
|
||||
time = 24
|
||||
@@ -87,8 +87,8 @@
|
||||
allowed_tools = list(
|
||||
/obj/item/weapon/scalpel/laser/manager = 100, \
|
||||
/obj/item/weapon/retractor = 100, \
|
||||
/obj/item/weapon/crowbar = 55, \
|
||||
/obj/item/weapon/kitchen/utensil/fork = 75)
|
||||
/obj/item/weapon/crowbar = 65, \
|
||||
/obj/item/weapon/kitchen/utensil/fork = 90)
|
||||
|
||||
time = 64
|
||||
|
||||
@@ -114,9 +114,9 @@
|
||||
allowed_tools = list(
|
||||
/obj/item/weapon/scalpel/laser = 100, \
|
||||
/obj/item/weapon/cautery = 100, \
|
||||
/obj/item/clothing/mask/cigarette = 75, \
|
||||
/obj/item/weapon/lighter = 50, \
|
||||
/obj/item/weapon/weldingtool = 25
|
||||
/obj/item/clothing/mask/cigarette = 90, \
|
||||
/obj/item/weapon/lighter = 60, \
|
||||
/obj/item/weapon/weldingtool = 30
|
||||
)
|
||||
|
||||
time = 24
|
||||
|
||||
@@ -22,13 +22,13 @@
|
||||
|
||||
allowed_tools = list(
|
||||
/obj/item/weapon/scalpel = 100, \
|
||||
/obj/item/weapon/kitchen/knife = 75, \
|
||||
/obj/item/weapon/shard = 50, \
|
||||
/obj/item/weapon/scissors = 10, \
|
||||
/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 = 5, \
|
||||
/obj/item/weapon/melee/energy/ = 5, \
|
||||
/obj/item/weapon/pen/edagger = 5, \
|
||||
/obj/item/weapon/claymore = 6, \
|
||||
/obj/item/weapon/melee/energy/ = 6, \
|
||||
/obj/item/weapon/pen/edagger = 6, \
|
||||
)
|
||||
|
||||
time = 16
|
||||
@@ -60,8 +60,8 @@
|
||||
allowed_tools = list(
|
||||
/obj/item/weapon/scalpel/laser = 100, \
|
||||
/obj/item/weapon/hemostat = 100, \
|
||||
/obj/item/stack/cable_coil = 75, \
|
||||
/obj/item/device/assembly/mousetrap = 20
|
||||
/obj/item/stack/cable_coil = 90, \
|
||||
/obj/item/device/assembly/mousetrap = 25
|
||||
)
|
||||
|
||||
time = 24
|
||||
@@ -94,8 +94,8 @@
|
||||
allowed_tools = list(
|
||||
/obj/item/weapon/scalpel/laser/manager = 100, \
|
||||
/obj/item/weapon/retractor = 100, \
|
||||
/obj/item/weapon/crowbar = 75, \
|
||||
/obj/item/weapon/kitchen/utensil/fork = 50
|
||||
/obj/item/weapon/crowbar = 90, \
|
||||
/obj/item/weapon/kitchen/utensil/fork = 60
|
||||
)
|
||||
|
||||
time = 24
|
||||
@@ -149,9 +149,9 @@
|
||||
allowed_tools = list(
|
||||
/obj/item/weapon/scalpel/laser = 100, \
|
||||
/obj/item/weapon/cautery = 100, \
|
||||
/obj/item/clothing/mask/cigarette = 75, \
|
||||
/obj/item/weapon/lighter = 50, \
|
||||
/obj/item/weapon/weldingtool = 25
|
||||
/obj/item/clothing/mask/cigarette = 90, \
|
||||
/obj/item/weapon/lighter = 60, \
|
||||
/obj/item/weapon/weldingtool = 30
|
||||
)
|
||||
|
||||
time = 24
|
||||
@@ -199,8 +199,8 @@
|
||||
allowed_tools = list(
|
||||
/obj/item/weapon/circular_saw = 100, \
|
||||
/obj/item/weapon/melee/energy/sword/cyborg/saw = 100, \
|
||||
/obj/item/weapon/hatchet = 75, \
|
||||
/obj/item/weapon/melee/arm_blade = 60
|
||||
/obj/item/weapon/hatchet = 90, \
|
||||
/obj/item/weapon/melee/arm_blade = 75
|
||||
)
|
||||
|
||||
time = 100
|
||||
|
||||
@@ -81,7 +81,24 @@
|
||||
return 1
|
||||
return 0
|
||||
|
||||
|
||||
/proc/get_pain_modifier(mob/living/carbon/human/M) //returns modfier to make surgery harder if patient is conscious and feels pain
|
||||
if(M.stat) //stat=0 if CONSCIOUS, 1=UNCONSCIOUS and 2=DEAD. Operating on dead people is easy, too. Just sleeping won't work, though.
|
||||
return 1
|
||||
if(NO_PAIN in M.species.species_traits)//if you don't feel pain, you can hold still
|
||||
return 1
|
||||
if(M.reagents.has_reagent("hydrocodone"))//really good pain killer
|
||||
return 0.99
|
||||
if(M.reagents.has_reagent("morphine"))//Just as effective as Hydrocodone, but has an addiction chance
|
||||
return 0.99
|
||||
if(M.drunk >= 80)//really damn drunk
|
||||
return 0.95
|
||||
if(M.drunk >= 40)//pretty drunk
|
||||
return 0.9
|
||||
if(M.reagents.has_reagent("sal_acid")) //it's better than nothing, as far as painkillers go.
|
||||
return 0.85
|
||||
if(M.drunk >= 15)//a little drunk
|
||||
return 0.85
|
||||
return 0.8 //20% failure chance
|
||||
|
||||
/proc/get_location_modifier(mob/M)
|
||||
var/turf/T = get_turf(M)
|
||||
|
||||
@@ -171,8 +171,8 @@
|
||||
name = "connect limb"
|
||||
allowed_tools = list(
|
||||
/obj/item/weapon/hemostat = 100, \
|
||||
/obj/item/stack/cable_coil = 75, \
|
||||
/obj/item/device/assembly/mousetrap = 20
|
||||
/obj/item/stack/cable_coil = 90, \
|
||||
/obj/item/device/assembly/mousetrap = 25
|
||||
)
|
||||
can_infect = 1
|
||||
|
||||
|
||||
@@ -58,6 +58,8 @@
|
||||
var/can_grasp
|
||||
var/can_stand
|
||||
|
||||
var/splinted_count = 0 //Time when this organ was last splinted
|
||||
|
||||
/obj/item/organ/external/necrotize(update_sprite=TRUE)
|
||||
if(status & (ORGAN_ROBOT|ORGAN_DEAD))
|
||||
return
|
||||
@@ -84,6 +86,7 @@
|
||||
|
||||
if(owner)
|
||||
owner.bodyparts_by_name[limb_name] = null
|
||||
owner.splinted_limbs -= src
|
||||
|
||||
QDEL_LIST(children)
|
||||
|
||||
@@ -196,6 +199,10 @@
|
||||
|
||||
if(status & ORGAN_BROKEN && prob(40) && brute)
|
||||
owner.emote("scream") //getting hit on broken hand hurts
|
||||
if(status & ORGAN_SPLINTED && prob((brute + burn)*4)) //taking damage to splinted limbs removes the splints
|
||||
status &= ~ORGAN_SPLINTED
|
||||
owner.visible_message("<span class='danger'>The splint on [owner]'s left arm unravels from their [name]!</span>","<span class='userdanger'>The splint on your [name] unravels!</span>")
|
||||
owner.handle_splints()
|
||||
if(used_weapon)
|
||||
add_autopsy_data("[used_weapon]", brute + burn)
|
||||
|
||||
@@ -458,6 +465,18 @@ Note that amputating the affected organ does in fact remove the infection from t
|
||||
tbrute = 3
|
||||
return "[tbrute][tburn]"
|
||||
|
||||
/obj/item/organ/external/proc/update_splints()
|
||||
if(!(status & ORGAN_SPLINTED))
|
||||
owner.splinted_limbs -= src
|
||||
return
|
||||
if(owner.step_count >= splinted_count + SPLINT_LIFE)
|
||||
status &= ~ORGAN_SPLINTED //oh no, we actually need surgery now!
|
||||
owner.visible_message("<span class='danger'>[owner] screams in pain as their splint pops off their [name]!</span>","<span class='userdanger'>You scream in pain as your splint pops off your [name]!</span>")
|
||||
owner.emote("scream")
|
||||
owner.Stun(2)
|
||||
owner.handle_splints()
|
||||
|
||||
|
||||
/****************************************************
|
||||
DISMEMBERMENT
|
||||
****************************************************/
|
||||
@@ -648,6 +667,9 @@ Note that amputating the affected organ does in fact remove the infection from t
|
||||
var/is_robotic = status & ORGAN_ROBOT
|
||||
var/mob/living/carbon/human/victim = owner
|
||||
|
||||
if(status & ORGAN_SPLINTED)
|
||||
victim.splinted_limbs -= src
|
||||
|
||||
for(var/obj/item/I in embedded_objects)
|
||||
embedded_objects -= I
|
||||
I.forceMove(src)
|
||||
@@ -754,4 +776,4 @@ Note that amputating the affected organ does in fact remove the infection from t
|
||||
for(var/X in bodyparts)
|
||||
var/obj/item/organ/external/L = X
|
||||
for(var/obj/item/I in L.embedded_objects)
|
||||
return 1
|
||||
return 1
|
||||
|
||||
@@ -148,7 +148,7 @@ var/global/list/limb_icon_cache = list()
|
||||
overlays |= facial_s
|
||||
|
||||
if(h_style && !(owner.head && (owner.head.flags & BLOCKHEADHAIR)))
|
||||
var/datum/sprite_accessory/hair_style = hair_styles_list[h_style]
|
||||
var/datum/sprite_accessory/hair_style = hair_styles_full_list[h_style]
|
||||
if(hair_style && ((species.name in hair_style.species_allowed) || (src.species.bodyflags & ALL_RPARTS)))
|
||||
var/icon/hair_s = new/icon("icon" = hair_style.icon, "icon_state" = "[hair_style.icon_state]_s")
|
||||
if(species.name == "Slime People") // I am el worstos
|
||||
|
||||
@@ -68,17 +68,17 @@
|
||||
/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 = 55)
|
||||
var/implements_extract = list(/obj/item/weapon/hemostat = 100, /obj/item/weapon/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/glass/bottle = 75,
|
||||
/obj/item/weapon/reagent_containers/food/drinks/drinkingglass = 70,
|
||||
/obj/item/weapon/reagent_containers/food/drinks/bottle = 65,
|
||||
/obj/item/weapon/reagent_containers/glass/beaker = 60,
|
||||
/obj/item/weapon/reagent_containers/spray = 50,
|
||||
/obj/item/weapon/reagent_containers/glass/bucket = 40)
|
||||
/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)
|
||||
//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 = 75)
|
||||
var/implements_finsh = list(/obj/item/weapon/scalpel/laser/manager = 100,/obj/item/weapon/retractor = 100 ,/obj/item/weapon/crowbar = 90)
|
||||
var/current_type
|
||||
var/obj/item/organ/internal/I = null
|
||||
var/obj/item/organ/external/affected = null
|
||||
@@ -436,7 +436,7 @@
|
||||
allowed_tools = list(
|
||||
/obj/item/weapon/circular_saw = 100, \
|
||||
/obj/item/weapon/melee/energy/sword/cyborg/saw = 100, \
|
||||
/obj/item/weapon/hatchet = 75
|
||||
/obj/item/weapon/hatchet = 90
|
||||
)
|
||||
|
||||
time = 54
|
||||
@@ -464,13 +464,13 @@
|
||||
name = "cut carapace"
|
||||
allowed_tools = list(
|
||||
/obj/item/weapon/scalpel = 100, \
|
||||
/obj/item/weapon/kitchen/knife = 75, \
|
||||
/obj/item/weapon/shard = 50, \
|
||||
/obj/item/weapon/scissors = 10, \
|
||||
/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 = 5, \
|
||||
/obj/item/weapon/melee/energy/ = 5, \
|
||||
/obj/item/weapon/pen/edagger = 5, \
|
||||
/obj/item/weapon/claymore = 6, \
|
||||
/obj/item/weapon/melee/energy/ = 6, \
|
||||
/obj/item/weapon/pen/edagger = 6, \
|
||||
)
|
||||
|
||||
time = 16
|
||||
@@ -499,8 +499,8 @@
|
||||
allowed_tools = list(
|
||||
/obj/item/weapon/scalpel/laser/manager = 100, \
|
||||
/obj/item/weapon/retractor = 100, \
|
||||
/obj/item/weapon/crowbar = 75, \
|
||||
/obj/item/weapon/kitchen/utensil/fork = 50
|
||||
/obj/item/weapon/crowbar = 90, \
|
||||
/obj/item/weapon/kitchen/utensil/fork = 60
|
||||
)
|
||||
|
||||
time = 24
|
||||
|
||||
@@ -62,7 +62,7 @@
|
||||
name = "mend internal bleeding"
|
||||
allowed_tools = list(
|
||||
/obj/item/weapon/FixOVein = 100, \
|
||||
/obj/item/stack/cable_coil = 75
|
||||
/obj/item/stack/cable_coil = 90
|
||||
)
|
||||
can_infect = 1
|
||||
blood_level = 1
|
||||
@@ -107,8 +107,8 @@
|
||||
name = "remove dead tissue"
|
||||
allowed_tools = list(
|
||||
/obj/item/weapon/scalpel = 100, \
|
||||
/obj/item/weapon/kitchen/knife = 75, \
|
||||
/obj/item/weapon/shard = 50, \
|
||||
/obj/item/weapon/kitchen/knife = 90, \
|
||||
/obj/item/weapon/shard = 60, \
|
||||
)
|
||||
|
||||
can_infect = 1
|
||||
@@ -156,12 +156,12 @@
|
||||
name = "treat necrosis"
|
||||
allowed_tools = list(
|
||||
/obj/item/weapon/reagent_containers/dropper = 100,
|
||||
/obj/item/weapon/reagent_containers/glass/bottle = 75,
|
||||
/obj/item/weapon/reagent_containers/food/drinks/drinkingglass = 70,
|
||||
/obj/item/weapon/reagent_containers/food/drinks/bottle = 65,
|
||||
/obj/item/weapon/reagent_containers/glass/beaker = 60,
|
||||
/obj/item/weapon/reagent_containers/spray = 50,
|
||||
/obj/item/weapon/reagent_containers/glass/bucket = 40
|
||||
/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
|
||||
)
|
||||
|
||||
can_infect = 0
|
||||
|
||||
@@ -18,8 +18,8 @@
|
||||
/datum/surgery_step/slime/cut_flesh
|
||||
allowed_tools = list(
|
||||
/obj/item/weapon/scalpel = 100, \
|
||||
/obj/item/weapon/kitchen/knife = 75, \
|
||||
/obj/item/weapon/shard = 50, \
|
||||
/obj/item/weapon/kitchen/knife = 90, \
|
||||
/obj/item/weapon/shard = 60, \
|
||||
)
|
||||
|
||||
time = 16
|
||||
@@ -46,8 +46,8 @@
|
||||
/datum/surgery_step/slime/cut_innards
|
||||
allowed_tools = list(
|
||||
/obj/item/weapon/scalpel = 100, \
|
||||
/obj/item/weapon/kitchen/knife = 75, \
|
||||
/obj/item/weapon/shard = 50, \
|
||||
/obj/item/weapon/kitchen/knife = 90, \
|
||||
/obj/item/weapon/shard = 60, \
|
||||
)
|
||||
|
||||
time = 16
|
||||
@@ -73,7 +73,7 @@
|
||||
/datum/surgery_step/slime/saw_core
|
||||
allowed_tools = list(
|
||||
/obj/item/weapon/circular_saw = 100, \
|
||||
/obj/item/weapon/hatchet = 75
|
||||
/obj/item/weapon/hatchet = 90
|
||||
)
|
||||
|
||||
time = 16
|
||||
|
||||
@@ -116,6 +116,12 @@
|
||||
prob_chance = allowed_tools[implement_type]
|
||||
prob_chance *= get_location_modifier(target)
|
||||
|
||||
|
||||
if(!ispath(surgery.steps[surgery.status], /datum/surgery_step/robotics) && !ispath(surgery.steps[surgery.status], /datum/surgery_step/rigsuit))//Repairing robotic limbs doesn't hurt, and neither does cutting someone out of a rig
|
||||
if(ishuman(target))
|
||||
var/mob/living/carbon/human/H = target //typecast to human
|
||||
prob_chance *= get_pain_modifier(H)//operating on conscious people is hard.
|
||||
|
||||
if(prob(prob_chance) || isrobot(user))
|
||||
if(end_step(user, target, target_zone, tool, surgery))
|
||||
advance = 1
|
||||
|
||||
Reference in New Issue
Block a user