Balances skeletons by adding a subtype (#20587)

* balance skellies

* spoopy and scary

* more skellybones

* Ancient

* Apply suggestions from code review

* Update code/modules/mob/living/carbon/human/species/skeleton_species.dm

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

---------

Co-authored-by: Luc <89928798+lewcc@users.noreply.github.com>
This commit is contained in:
S34N
2023-03-27 20:39:24 +02:00
committed by GitHub
co-authored by Luc
parent fa040cdb65
commit b90845c2e3
7 changed files with 36 additions and 10 deletions
+2 -1
View File
@@ -544,13 +544,14 @@
/obj/effect/mob_spawn/human/skeleton
name = "skeletal remains"
mob_name = "skeleton"
mob_species = /datum/species/skeleton
mob_species = /datum/species/skeleton/brittle
mob_gender = NEUTER
/obj/effect/mob_spawn/human/skeleton/alive
death = FALSE
roundstart = FALSE
icon = 'icons/effects/blood.dmi'
mob_species = /datum/species/skeleton
icon_state = "remains"
description = "Be a spooky scary skeleton." //not mapped in anywhere so admin spawner, who knows what they'll use this for.
flavour_text = "By unknown powers, your skeletal remains have been reanimated! Walk this mortal plain and terrorize all living adventurers who dare cross your path."
@@ -94,6 +94,12 @@
/mob/living/carbon/human/skeleton/Initialize(mapload)
. = ..(mapload, /datum/species/skeleton)
/mob/living/carbon/human/skeleton/lich/Initialize(mapload)
. = ..(mapload, /datum/species/skeleton/lich)
/mob/living/carbon/human/skeleton/brittle/Initialize(mapload)
. = ..(mapload, /datum/species/skeleton/brittle)
/mob/living/carbon/human/kidan/Initialize(mapload)
. = ..(mapload, /datum/species/kidan)
@@ -1,6 +1,7 @@
/// The OG skellybones, quite OP. As of this comment, only available through ash-drake loot (2023-03-07)
/datum/species/skeleton
name = "Skeleton"
name_plural = "Skeletons"
name = "Ancient Skeleton"
name_plural = "Ancient Skeletons"
blurb = "Spoopy and scary."
@@ -32,11 +33,16 @@
"brain" = /obj/item/organ/internal/brain/golem,
) //Has default darksight of 2.
/// How much brute and burn does milk heal per handle_reagents()
var/milk_heal_amount = 4
/// How likely (in %) are we to heal a fracture?
var/milk_fracture_repair_probability = 5
/datum/species/skeleton/handle_reagents(mob/living/carbon/human/H, 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
H.heal_overall_damage(milk_heal_amount, milk_heal_amount)
if(prob(milk_fracture_repair_probability)) // 5% chance per proc to find a random limb, and mend it
var/list/our_organs = H.bodyparts.Copy()
shuffle(our_organs)
for(var/obj/item/organ/external/L in our_organs)
@@ -47,3 +53,16 @@
return TRUE
return ..()
/// Wizard subtype, subtype to allow balancing separately from other skellies
/datum/species/skeleton/lich
name = "Lich"
name_plural = "Liches"
/// The most common (and weakest) type, legion corpses and skeleton map spawners are these
/datum/species/skeleton/brittle
name = "Brittle Skeleton"
name_plural = "Brittle Skeletons"
inherent_traits = list(TRAIT_RESISTHEAT, TRAIT_NOBREATH, TRAIT_RESISTHIGHPRESSURE, TRAIT_RADIMMUNE, TRAIT_PIERCEIMMUNE, TRAIT_NOHUNGER, TRAIT_XENO_IMMUNE)
milk_heal_amount = 0.66 // On par with saline-glucose (after averaging that out)
milk_fracture_repair_probability = 0 //no bone juice here
@@ -327,7 +327,7 @@
mob_name = "ashen skeleton"
mob_gender = NEUTER
husk = FALSE
mob_species = /datum/species/skeleton
mob_species = /datum/species/skeleton/brittle
mob_color = "#454545"
//Legion infested mobs