mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-25 06:00:16 +01:00
Adds regenerate_organs proc and adds it to relevant regeneration code (#22740)
* Adds regenerate_organs proc to carbon and adds it to relevant regeneration code I simply took the bit from the admin heal and made it into a proc and added it to the necessary regeneration-related bits of code. * Adds regenerate organs back to fully heal For some reason this didn't get included in the previous commit. * moves regenerate_organs to organ_internal As suggested. It fits better here, anyways.
This commit is contained in:
@@ -26,6 +26,7 @@
|
||||
and tearing!</span>")
|
||||
C.emote("scream")
|
||||
C.regenerate_limbs(1)
|
||||
C.regenerate_organs()
|
||||
if(ishuman(user))
|
||||
var/mob/living/carbon/human/H = user
|
||||
H.restore_blood()
|
||||
|
||||
@@ -23,6 +23,7 @@
|
||||
and tearing!</span>")
|
||||
user.emote("scream")
|
||||
user.regenerate_limbs(0, list("head"))
|
||||
user.regenerate_organs()
|
||||
user << "<span class='notice'>We have revived ourselves.</span>"
|
||||
user.mind.changeling.purchasedpowers -= src
|
||||
feedback_add_details("changeling_powers","CR")
|
||||
|
||||
@@ -688,6 +688,7 @@
|
||||
D.cure(0)
|
||||
if(admin_revive)
|
||||
regenerate_limbs()
|
||||
regenerate_organs()
|
||||
handcuffed = initial(handcuffed)
|
||||
for(var/obj/item/weapon/restraints/R in contents) //actually remove cuffs from inventory
|
||||
qdel(R)
|
||||
|
||||
@@ -823,31 +823,9 @@
|
||||
hud_used.healthdoll.icon_state = "healthdoll_DEAD"
|
||||
|
||||
/mob/living/carbon/human/fully_heal(admin_revive = 0)
|
||||
|
||||
if(admin_revive)
|
||||
regenerate_limbs()
|
||||
|
||||
if(!(NOBREATH in dna.species.species_traits) && !getorganslot("lungs"))
|
||||
var/obj/item/organ/lungs/L = new()
|
||||
L.Insert(src)
|
||||
|
||||
if(!(NOBLOOD in dna.species.species_traits) && !getorganslot("heart"))
|
||||
var/obj/item/organ/heart/H = new()
|
||||
H.Insert(src)
|
||||
|
||||
if(!getorganslot("tongue"))
|
||||
var/obj/item/organ/tongue/T
|
||||
|
||||
for(var/tongue_type in dna.species.mutant_organs)
|
||||
if(ispath(tongue_type, /obj/item/organ/tongue))
|
||||
T = new tongue_type()
|
||||
T.Insert(src)
|
||||
|
||||
// if they have no mutant tongues, give them a regular one
|
||||
if(!T)
|
||||
T = new()
|
||||
T.Insert(src)
|
||||
|
||||
regenerate_organs()
|
||||
remove_all_embedded_objects()
|
||||
drunkenness = 0
|
||||
for(var/datum/mutation/human/HM in dna.mutations)
|
||||
|
||||
@@ -91,6 +91,7 @@
|
||||
if(iscarbon(user))
|
||||
var/mob/living/carbon/C = user
|
||||
C.regenerate_limbs()
|
||||
C.regenerate_organs()
|
||||
user << "<span class='notice'>You feel great!</span>"
|
||||
charges--
|
||||
..()
|
||||
|
||||
@@ -79,6 +79,7 @@
|
||||
if(iscarbon(target))
|
||||
var/mob/living/carbon/C = target
|
||||
C.regenerate_limbs()
|
||||
C.regenerate_organs()
|
||||
if(target.revive(full_heal = 1))
|
||||
target.grab_ghost(force = TRUE) // even suicides
|
||||
target << "<span class='notice'>You rise with a start, \
|
||||
|
||||
@@ -311,7 +311,6 @@
|
||||
for(var/Z in limb_list)
|
||||
. += regenerate_limb(Z, noheal)
|
||||
|
||||
|
||||
/mob/living/proc/regenerate_limb(limb_zone, noheal)
|
||||
return
|
||||
|
||||
|
||||
@@ -693,3 +693,28 @@
|
||||
if(inflamed)
|
||||
S.reagents.add_reagent("????", 5)
|
||||
return S
|
||||
|
||||
/mob/living/proc/regenerate_organs()
|
||||
return 0
|
||||
|
||||
/mob/living/carbon/regenerate_organs()
|
||||
if(!(NOBREATH in dna.species.species_traits) && !getorganslot("lungs"))
|
||||
var/obj/item/organ/lungs/L = new()
|
||||
L.Insert(src)
|
||||
|
||||
if(!(NOBLOOD in dna.species.species_traits) && !getorganslot("heart"))
|
||||
var/obj/item/organ/heart/H = new()
|
||||
H.Insert(src)
|
||||
|
||||
if(!getorganslot("tongue"))
|
||||
var/obj/item/organ/tongue/T
|
||||
|
||||
for(var/tongue_type in dna.species.mutant_organs)
|
||||
if(ispath(tongue_type, /obj/item/organ/tongue))
|
||||
T = new tongue_type()
|
||||
T.Insert(src)
|
||||
|
||||
// if they have no mutant tongues, give them a regular one
|
||||
if(!T)
|
||||
T = new()
|
||||
T.Insert(src)
|
||||
|
||||
Reference in New Issue
Block a user