Amputation Repair, Surgery adjustments, and amputation vision. (#19199)

* Fixes necrosis steps setting bone

Makes it so you the 'cut away' step doesn't set bones to open. This is entirely a non-internal fix (you're working on the flesh, not the organs inside) so you don't need the bone retracted.

* Update other.dm

* Crowbar Augment

* descriptors

* Update carbon.dm

* no typecasting

* removes unused proc

* Limb status

* Makes butchering take time

Gives a warning as well when starting it.

* Update organ.dm

* Update organ.dm

* Closing surgical stages and desc.

Opened organs have descriptions that they're opened.

Organs inform you that they have SPECIAL MECHANICS THAT'VE BEEN IN FOR 10 YEARS that you can do to them.

Allows fixing amputated organs

A BUNCH of stuff

* Update organ.dm

* Keep the washing

* Update external_repair.dm

* Update other.dm

* Organizes surgeries

* fix a typo

* Update surgery.dm

* More surgery

* Nerve Surgery

Adds template for nerve surgery

* Prevents pain from limbs that feel no pain

* Update external_repair.dm
This commit is contained in:
Cameron Lennox
2026-02-27 19:16:27 +01:00
committed by GitHub
parent 091c23739d
commit fb81ffbe83
31 changed files with 807 additions and 536 deletions
+8 -5
View File
@@ -195,6 +195,8 @@
if(prob(30))
burndamage += halloss
*/
//For reference, these will show up in game as:
//"My X is: [DESCRIPTOR]"
switch(brutedamage)
if(1 to 20)
status += "bruised"
@@ -218,18 +220,18 @@
if(org.dislocated == 1)
status += "dislocated"
if(org.status & ORGAN_BROKEN)
status += "hurts when touched"
status += "[can_feel_pain(org) ? "hurting and " : ""]abnormally bent"
//infection stuff
if(org.status & ORGAN_DEAD)
status += "necrotic"
else if(org.germ_level > INFECTION_LEVEL_TWO)
status += "feels like it's on fire!"
status += "burning and feels like it's on fire"
else if(org.germ_level > INFECTION_LEVEL_TWO-INFECTION_LEVEL_ONE) //Early warning
status += "warm to the touch"
if(LAZYLEN(org.wounds))
for(var/datum/wound/W in org.wounds)
if(W.internal)
status += "hurting with a slowly growing bruise"
status += "[can_feel_pain(org) ? "hurting and " : ""]showing a slowly growing bruise"
if(!org.is_usable() || org.is_dislocated())
status += "dangling uselessly"
if(status.len)
@@ -262,9 +264,10 @@
span_warning("You successfully pat out [src]'s flames."))
src.extinguish_mob()
else
if (ishuman(src) && src:w_uniform)
if (ishuman(src))
var/mob/living/carbon/human/H = src
H.w_uniform.add_fingerprint(M)
if(H.w_uniform)
H.w_uniform.add_fingerprint(M)
var/show_ssd
var/mob/living/carbon/human/H = src
@@ -85,6 +85,8 @@
for(var/obj/item/organ/external/O in organs)
if(O.robotic >= ORGAN_ROBOT)
continue //robot limbs don't count towards shock and crit
if(!O.organ_can_feel_pain())
continue //Limbs that can't feel pain don't count towards shock.
amount += O.brute_dam
return amount
@@ -107,6 +109,8 @@
for(var/obj/item/organ/external/O in organs)
if(O.robotic >= ORGAN_ROBOT)
continue //robot limbs don't count towards shock and crit
if(!O.organ_can_feel_pain())
continue //Limbs that can't feel pain don't count towards shock.
amount += O.burn_dam
return amount
@@ -307,7 +307,7 @@
return
/mob/living/simple_mob/slime/promethean/get_description_info()
/mob/living/simple_mob/slime/promethean/get_description_info(list/additional_information)
return
/mob/living/simple_mob/slime/promethean/init_vore(force)
+2
View File
@@ -22,6 +22,8 @@
if(ishuman(src))
var/mob/living/carbon/human/M = src
for(var/obj/item/organ/external/organ in M.organs)
if(!organ.organ_can_feel_pain())
continue
if(organ.is_broken() || organ.open)
src.traumatic_shock += 30
else if(organ.is_dislocated())
@@ -320,7 +320,7 @@
return results
/mob/living/simple_mob/slime/xenobio/get_description_info()
/mob/living/simple_mob/slime/xenobio/get_description_info(list/additional_information)
var/list/lines = list()
var/intro_line = "Slimes are generally the test subjects of Xenobiology, with different colors having different properties. \
They can be extremely dangerous if not handled properly."