Adds Sanguine and Osseous Reagent (#21148)

* SR (not strange reagent)

* Osseous Reagent

* i forgor the recipe

* typecasting tweak

* SR tweaks

* bone tumor tweaks

* SR overdose buff

* Update code/modules/surgery/organs/bone_tumor.dm

Co-authored-by: Luc <89928798+lewcc@users.noreply.github.com>

* Update code/modules/surgery/organs/bone_tumor.dm

Co-authored-by: Luc <89928798+lewcc@users.noreply.github.com>

* Apply suggestions from code review

Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com>

* makes SR actually work
oops 🤪

* guard clause

---------

Co-authored-by: Luc <89928798+lewcc@users.noreply.github.com>
Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com>
This commit is contained in:
JimKil3
2023-07-11 08:46:48 -05:00
committed by GitHub
parent 7e6075a934
commit 083b74ec85
4 changed files with 126 additions and 0 deletions
+29
View File
@@ -0,0 +1,29 @@
/obj/item/organ/internal/bone_tumor
name = "bone tumor"
parent_organ = "groin"
slot = "groin_tumor"
destroy_on_removal = TRUE
var/tumor_size = 0 //Changed in New to be dependent on amount of osseous reagent in the system when formed, determines damage done
/obj/item/organ/internal/bone_tumor/New(mob/living/carbon/holder)
..()
tumor_size = owner.reagents.get_reagent_amount("osseous_reagent")
owner.reagents.remove_all_type(/datum/reagent/medicine/osseous_reagent, tumor_size)
/obj/item/organ/internal/bone_tumor/on_life()
var/obj/item/organ/external/groin/G = owner.get_limb_by_name("groin")
var/tumor_damage_modifier = sqrt(tumor_size - 30) //diminishing returns, tumor size can't be lower than 30
if(prob(5))
G.receive_damage(10 + tumor_damage_modifier, 0, FALSE)
to_chat(owner, "<span class='danger'>Something sharp is moving around in your lower body!</span>")
if(prob(1))
to_chat(owner, "<span class='userdanger'>Something just tore in your lower body!</span>")
var/list/other_groin_organs = G.internal_organs
other_groin_organs -= src
for(var/obj/item/organ/internal/I in other_groin_organs)
I.receive_damage(rand(5, 15) + tumor_damage_modifier)