Merge pull request #3438 from Crazylemon64/skele_drinks_milk

Milk is now a strong healing reagent for skeletons
This commit is contained in:
TheDZD
2016-02-02 21:00:28 -05:00
5 changed files with 45 additions and 6 deletions
@@ -104,7 +104,7 @@
icon_state = "green slime extract"
/obj/item/organ/brain/golem
name = "chem"
name = "Runic mind"
desc = "A tightly furled roll of paper, covered with indecipherable runes."
icon = 'icons/obj/wizard.dmi'
icon_state = "scroll"
@@ -31,8 +31,31 @@
heat_level_2 = 999999999
heat_level_3 = 999999999
heat_level_3_breathe = 999999999
suicide_messages = list(
"is snapping their own bones!",
"is collapsing into a pile!",
"is twisting their skull off!")
"is twisting their skull off!")
has_organ = list(
"brain" = /obj/item/organ/brain/golem,
)
/datum/species/skeleton/handle_reagents(var/mob/living/carbon/human/H, var/datum/reagent/R)
// Crazylemon is still silly
if(R.id == "milk")
H.heal_overall_damage(4,4)
if(prob(5)) // 5% chance per proc to find a random limb, and mend it
var/list/our_organs = H.organs.Copy()
shuffle(our_organs)
for(var/obj/item/organ/external/L in our_organs)
if(istype(L))
if(L.brute_dam < L.min_broken_damage)
L.status &= ~ORGAN_BROKEN
L.status &= ~ORGAN_SPLINTED
L.perma_injury = 0
break // We're only checking one limb here, bucko
if(prob(3))
H.say(pick("Thanks Mr Skeltal", "Thank for strong bones", "Doot doot!"))
return 1
return ..()
@@ -613,4 +613,11 @@ It'll return null if the organ doesn't correspond, so include null checks when u
/datum/species/proc/return_organ(var/organ_slot)
if(!(organ_slot in has_organ))
return null
return has_organ[organ_slot]
return has_organ[organ_slot]
// Do species-specific reagent handling here
// Return 1 if it should do normal processing too
// Return 0 if it shouldn't deplete and do its normal effect
// Other return values will cause weird badness
/datum/species/proc/handle_reagents(var/mob/living/carbon/human/H, var/datum/reagent/R)
return 1