mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-26 13:37:58 +01:00
Removes the majority of brute/burn mods from species, replaces them with interesting downsides. (#18501)
* species rebalance * IPC rework PRT 2 * geneless * grammar * affected's suggestion Co-authored-by: AffectedArc07 <25063394+AffectedArc07@users.noreply.github.com> * Review pass Co-authored-by: Farie82 <farie82@users.noreply.github.com> * farie review * static list Co-authored-by: AffectedArc07 <25063394+AffectedArc07@users.noreply.github.com> Co-authored-by: Farie82 <farie82@users.noreply.github.com>
This commit is contained in:
co-authored by
AffectedArc07
Farie82
parent
222f9ae800
commit
9a663e3b1f
@@ -34,18 +34,25 @@
|
||||
|
||||
/datum/weather/rad_storm/weather_act(mob/living/L)
|
||||
var/resist = L.getarmor(null, RAD)
|
||||
if(prob(40))
|
||||
if(ishuman(L))
|
||||
var/mob/living/carbon/human/H = L
|
||||
if(!HAS_TRAIT(H, TRAIT_RADIMMUNE))
|
||||
if(prob(max(0, 100 - resist)))
|
||||
randmuti(H) // Applies bad mutation
|
||||
if(prob(50))
|
||||
if(prob(90))
|
||||
randmutb(H)
|
||||
else
|
||||
randmutg(H)
|
||||
domutcheck(H, MUTCHK_FORCED)
|
||||
if(!prob(60))
|
||||
return
|
||||
|
||||
if(!ishuman(L))
|
||||
return
|
||||
|
||||
var/mob/living/carbon/human/H = L
|
||||
if(HAS_TRAIT(H, TRAIT_RADIMMUNE))
|
||||
return
|
||||
|
||||
if(prob(max(0, 100 - resist)) && !HAS_TRAIT(H, TRAIT_GENELESS))
|
||||
randmuti(H) // Applies bad mutation
|
||||
if(prob(50))
|
||||
if(prob(90))
|
||||
randmutb(H)
|
||||
else
|
||||
randmutg(H)
|
||||
|
||||
domutcheck(H, MUTCHK_FORCED)
|
||||
|
||||
L.rad_act(20)
|
||||
|
||||
|
||||
@@ -603,8 +603,7 @@
|
||||
return
|
||||
|
||||
if(getBrainLoss() >= 100) // braindeath
|
||||
AdjustLoseBreath(20 SECONDS, bound_lower = 0, bound_upper = 50 SECONDS)
|
||||
Weaken(60 SECONDS)
|
||||
dna.species.handle_brain_death(src)
|
||||
|
||||
if(!check_death_method())
|
||||
if(health <= HEALTH_THRESHOLD_DEAD)
|
||||
|
||||
@@ -1002,6 +1002,10 @@ It'll return null if the organ doesn't correspond, so include null checks when u
|
||||
/datum/species/proc/spec_WakeUp(mob/living/carbon/human/H)
|
||||
return FALSE
|
||||
|
||||
/datum/species/proc/handle_brain_death(mob/living/carbon/human/H)
|
||||
H.AdjustLoseBreath(20 SECONDS, bound_lower = 0, bound_upper = 50 SECONDS)
|
||||
H.Weaken(60 SECONDS)
|
||||
|
||||
/**
|
||||
* Species-specific runechat colour handler
|
||||
*
|
||||
|
||||
@@ -8,8 +8,7 @@
|
||||
unarmed_type = /datum/unarmed_attack/diona
|
||||
remains_type = /obj/effect/decal/cleanable/ash
|
||||
|
||||
burn_mod = 1.25
|
||||
heatmod = 1.5
|
||||
heatmod = 3
|
||||
var/pod = FALSE //did they come from a pod? If so, they're stronger than normal Diona.
|
||||
|
||||
blurb = "Commonly referred to (erroneously) as 'plant people', the Dionaea are a strange space-dwelling collective \
|
||||
@@ -103,7 +102,6 @@
|
||||
if(!pod && H.health <= 0)
|
||||
return
|
||||
H.adjustBruteLoss(-1)
|
||||
H.adjustFireLoss(-1)
|
||||
H.adjustToxLoss(-1)
|
||||
H.adjustOxyLoss(-1)
|
||||
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
male_sneeze_sound = 'sound/voice/drasksneeze.ogg'
|
||||
female_sneeze_sound = 'sound/voice/drasksneeze.ogg'
|
||||
|
||||
burn_mod = 2
|
||||
burn_mod = 1.5
|
||||
//exotic_blood = "cryoxadone"
|
||||
body_temperature = 273
|
||||
|
||||
@@ -45,7 +45,7 @@
|
||||
heat_level_1 = 310 //Default 370 - Higher is better
|
||||
heat_level_2 = 340 //Default 400
|
||||
heat_level_3 = 400 //Default 460
|
||||
heatmod = 2
|
||||
heatmod = 3 // 4.5 * more damage from body temp
|
||||
|
||||
flesh_color = "#a3d4eb"
|
||||
reagent_tag = PROCESS_ORG
|
||||
|
||||
@@ -16,8 +16,6 @@
|
||||
"eyes" = /obj/item/organ/internal/eyes/grey //5 darksight.
|
||||
)
|
||||
|
||||
brute_mod = 1.25 //greys are fragile
|
||||
|
||||
species_traits = list(LIPS, IS_WHITELISTED, CAN_WINGDINGS, NO_HAIR)
|
||||
clothing_flags = HAS_UNDERWEAR | HAS_UNDERSHIRT | HAS_SOCKS
|
||||
bodyflags = HAS_BODY_MARKINGS | HAS_BODYACC_COLOR
|
||||
@@ -40,14 +38,8 @@
|
||||
. = ..()
|
||||
|
||||
if(method == REAGENT_TOUCH)
|
||||
if(H.wear_mask)
|
||||
to_chat(H, "<span class='danger'>Your [H.wear_mask] protects you from the acid!</span>")
|
||||
if((H.head?.flags & THICKMATERIAL) && (H.wear_suit?.flags & THICKMATERIAL)) // fully pierce proof clothing is also water proof!
|
||||
return
|
||||
|
||||
if(H.head)
|
||||
to_chat(H, "<span class='danger'>Your [H.wear_mask] protects you from the acid!</span>")
|
||||
return
|
||||
|
||||
if(volume > 25)
|
||||
if(prob(75))
|
||||
H.take_organ_damage(5, 10)
|
||||
|
||||
@@ -14,15 +14,15 @@
|
||||
skinned_type = /obj/item/stack/sheet/metal // Let's grind up IPCs for station resources!
|
||||
|
||||
eyes = "blank_eyes"
|
||||
brute_mod = 2.28 // 100% * 2.28 * 0.66 (robolimbs) ~= 150%
|
||||
burn_mod = 2.28 // So they take 50% extra damage from brute/burn overall
|
||||
brute_mod = 1 / 0.66 // 1 * 0.66 (robolimbs) * 1/0.66 = 1
|
||||
burn_mod = 1 / 0.66 // so no damage mod overall.
|
||||
tox_mod = 0
|
||||
clone_mod = 0
|
||||
death_message = "gives a short series of shrill beeps, their chassis shuddering before falling limp, nonfunctional."
|
||||
death_sounds = list('sound/voice/borg_deathsound.ogg') //I've made this a list in the event we add more sounds for dead robots.
|
||||
|
||||
species_traits = list(IS_WHITELISTED, NO_BLOOD, NO_CLONESCAN, NO_INTORGANS)
|
||||
inherent_traits = list(TRAIT_VIRUSIMMUNE, TRAIT_NOBREATH, TRAIT_RADIMMUNE, TRAIT_NOGERMS, TRAIT_NODECAY, TRAIT_NOPAIN, TRAIT_GENELESS) //Computers that don't decay? What a lie!
|
||||
inherent_traits = list(TRAIT_VIRUSIMMUNE, TRAIT_NOBREATH, TRAIT_NOGERMS, TRAIT_NODECAY, TRAIT_NOPAIN, TRAIT_GENELESS) //Computers that don't decay? What a lie!
|
||||
inherent_biotypes = MOB_ROBOTIC | MOB_HUMANOID
|
||||
clothing_flags = HAS_UNDERWEAR | HAS_UNDERSHIRT | HAS_SOCKS
|
||||
bodyflags = HAS_SKIN_COLOR | HAS_HEAD_MARKINGS | HAS_HEAD_ACCESSORY | ALL_RPARTS
|
||||
@@ -161,3 +161,35 @@
|
||||
H.change_hair(new_style, 1) // The 1 is to enable custom sprites
|
||||
if(new_color)
|
||||
H.change_hair_color(new_color)
|
||||
|
||||
/datum/species/machine/spec_electrocute_act(mob/living/carbon/human/H, shock_damage, source, siemens_coeff, flags)
|
||||
H.adjustBrainLoss(shock_damage)
|
||||
H.adjust_nutrition(shock_damage)
|
||||
|
||||
/datum/species/machine/handle_mutations_and_radiation(mob/living/carbon/human/H)
|
||||
H.adjustBrainLoss(H.radiation / 100)
|
||||
H.AdjustHallucinate(H.radiation)
|
||||
H.radiation = 0
|
||||
return TRUE
|
||||
|
||||
/datum/species/machine/handle_brain_death(mob/living/carbon/human/H)
|
||||
H.Weaken(60 SECONDS)
|
||||
H.adjustBrainLoss(1) // 40 seconds to live
|
||||
if(prob(20))
|
||||
var/static/list/error_messages = list("Error 196: motor functions failing.",
|
||||
"Error 32: Process %^~#/£ cannot be reached, being used by another file.",
|
||||
"Error 39: Cannot write to central memory unit, storage full.",
|
||||
"Error -1: isogjiohrj90903744kfgkgrpopK!!",
|
||||
"Error -1: poafejOIDAIJjamfooooWADm!afe!",
|
||||
"Error -1: PIKFAjgaiosafjiGGIGHasksid!!",
|
||||
"Error 534: Arithmetic result exceeded 512 bits.",
|
||||
"Error 0: Operation completed successfully.",
|
||||
"WARNING, CRITICAL COMPONENT ERROR, attempting to troubleshoot....",
|
||||
"runtime in sentience.dm, cannot modify null.som, STACK TRACE:",
|
||||
"master controller timed out, likely infinite recursion loop.",
|
||||
"Error 6344: Cannot delete file ~/2tmp1/8^33, no space left on device",
|
||||
"Error 42: Unable to display error message.",
|
||||
"Daisy.... Daisy...."
|
||||
)
|
||||
var/error_message = pick(error_messages)
|
||||
to_chat(H, "<span class='boldwarning'>[error_message]</span>")
|
||||
|
||||
@@ -36,7 +36,6 @@
|
||||
default_headacc = "Simple"
|
||||
default_headacc_colour = "#404040"
|
||||
butt_sprite = "unathi"
|
||||
brute_mod = 1.05
|
||||
|
||||
has_organ = list(
|
||||
"heart" = /obj/item/organ/internal/heart/unathi,
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
smell.<br/><br/>Most humans will never meet a Vox raider, instead learning of this insular species through \
|
||||
dealing with their traders and merchants; those that do rarely enjoy the experience."
|
||||
|
||||
brute_mod = 1.2 //20% more brute damage. Fragile bird bones.
|
||||
oxy_mod = 2 // die slightly faster in crit or areas without N2
|
||||
|
||||
breathid = "n2"
|
||||
|
||||
|
||||
Reference in New Issue
Block a user