mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-08-25 22:12:58 +01:00
Diona Pain (#8966)
Diona now feel pain, although they only take 70% of the pain other species experience.
Unathi now get a unique pain message, instead of the dear god one.
This commit is contained in:
@@ -596,11 +596,10 @@
|
||||
m_type = 1
|
||||
else
|
||||
if (!muzzled)
|
||||
message = "screams!"
|
||||
m_type = 2
|
||||
message = pick(species.scream_emote)
|
||||
else
|
||||
message = "makes a very loud noise."
|
||||
m_type = 2
|
||||
m_type = 2
|
||||
if("swish")
|
||||
src.animate_tail_once()
|
||||
|
||||
|
||||
@@ -148,7 +148,7 @@
|
||||
continue
|
||||
drop_from_inventory(r_hand)
|
||||
|
||||
var/emote_scream = pick("screams in pain and ", "lets out a sharp cry and ", "cries out and ")
|
||||
var/emote_scream = pick(species.pain_item_drop_cry)
|
||||
emote("me", 1, "[(species.flags & NO_PAIN) ? "" : emote_scream ]drops what they were holding in their [E.name]!")
|
||||
|
||||
else if(!(E.status & ORGAN_ROBOT) && (CE_DROPITEM in chem_effects) && prob(chem_effects[CE_DROPITEM]))
|
||||
|
||||
@@ -1087,7 +1087,7 @@
|
||||
return 0
|
||||
|
||||
if(shock_stage == 10)
|
||||
custom_pain("[pick("It hurts so much", "You really need some painkillers", "Dear god, the pain")]!", 10, nohalloss = TRUE)
|
||||
custom_pain("[pick(species.pain_messages)]!", 10, nohalloss = TRUE)
|
||||
|
||||
if(shock_stage >= 30)
|
||||
if(shock_stage == 30)
|
||||
|
||||
@@ -67,6 +67,7 @@
|
||||
/datum/unarmed_attack/bite
|
||||
)
|
||||
var/list/unarmed_attacks = null // For empty hand harm-intent attack
|
||||
var/pain_mod = 1 // Pain multiplier
|
||||
var/brute_mod = 1 // Physical damage multiplier.
|
||||
var/burn_mod = 1 // Burn damage multiplier.
|
||||
var/oxy_mod = 1 // Oxyloss modifier
|
||||
@@ -96,9 +97,21 @@
|
||||
var/death_sound
|
||||
var/death_message = "falls limp and stops moving..."
|
||||
var/death_message_range = 2
|
||||
var/list/scream_emote = list("screams!")
|
||||
var/knockout_message = "has been knocked unconscious!"
|
||||
var/halloss_message = "slumps to the ground, too weak to continue fighting."
|
||||
var/halloss_message_self = "You're in too much pain to keep going..."
|
||||
var/list/pain_messages = list("It hurts so much", "You really need some painkillers", "Dear god, the pain") // passive message displayed to user when injured
|
||||
var/list/pain_item_drop_cry = list("screams in pain and ", "lets out a sharp cry and ", "cries out and ")
|
||||
|
||||
// External Organ Pain Damage
|
||||
var/organ_low_pain_message = "<b>Your %PARTNAME% hurts.</b>"
|
||||
var/organ_med_pain_message = "<b><font size=3>Your %PARTNAME% hurts badly!</font></b>"
|
||||
var/organ_high_pain_message = "<b><font size=3>Your %PARTNAME% is screaming out in pain!</font></b>"
|
||||
|
||||
var/organ_low_burn_message = "<span class='danger'>Your %PARTNAME% burns.</span>"
|
||||
var/organ_med_burn_message = "<span class='danger'><font size=3>Your %PARTNAME% burns horribly!</font></span>"
|
||||
var/organ_high_burn_message = "<span class='danger'><font size=4>Your %PARTNAME% feels like it's on fire!</font></span>"
|
||||
|
||||
// Environment tolerance/life processes vars.
|
||||
var/reagent_tag //Used for metabolizing reagents.
|
||||
|
||||
@@ -45,6 +45,22 @@
|
||||
even the simplest concepts of other minds. Their alien physiology allows them survive happily off a diet of nothing but light, \
|
||||
water and other radiation."
|
||||
|
||||
organ_low_pain_message = "<b>The nymph making up our %PARTNAME% feels injured.</b>"
|
||||
organ_med_pain_message = "<b><font size=3>The nymph making up our %PARTNAME% can barely manage the pain!</font></b>"
|
||||
organ_high_pain_message = "<b><font size=3>The nymph making up our %PARTNAME% screams out in pain!</font></b>"
|
||||
|
||||
organ_low_burn_message = "<b>The nymph making up our %PARTNAME% notes a burning injury.</b>"
|
||||
organ_med_burn_message = "<span class='danger'><font size=3>The nymph making up our %PARTNAME% burns terribly!</font></span>"
|
||||
organ_high_burn_message = "<span class='danger'><font size=3>The nymph making up our %PARTNAME% screams in agony at the burning!</font></span>"
|
||||
|
||||
scream_emote = list("creaks in pain!", "rustles in agony!")
|
||||
scream_emote = "screams!"
|
||||
halloss_message = "creaks and crumbles to the floor."
|
||||
halloss_message_self = "We can't take this much pain..."
|
||||
pain_messages = list("We're in pain", "We hurt so much", "We can't stand the pain")
|
||||
pain_item_drop_cry = list("creaks loudly and ", "rustles erratically and ", "twitches for a moment and ")
|
||||
|
||||
pain_mod = 0.7
|
||||
grab_mod = 0.6 // Viney Tentacles and shit to cling onto
|
||||
resist_mod = 1.5 // Reasonably stronk, not moreso than an Unathi or robot.
|
||||
|
||||
@@ -86,7 +102,7 @@
|
||||
body_temperature = T0C + 15 //make the plant people have a bit lower body temperature, why not
|
||||
|
||||
appearance_flags = HAS_HAIR_COLOR | HAS_SKIN_TONE | HAS_SKIN_PRESET
|
||||
flags = NO_BREATHE | NO_SCAN | IS_PLANT | NO_BLOOD | NO_PAIN | NO_SLIP | NO_CHUBBY | NO_ARTERIES
|
||||
flags = NO_BREATHE | NO_SCAN | IS_PLANT | NO_BLOOD | NO_SLIP | NO_CHUBBY | NO_ARTERIES
|
||||
spawn_flags = CAN_JOIN | IS_WHITELISTED | NO_AGE_MINIMUM
|
||||
|
||||
character_color_presets = list("Default Bark" = "#000000", "Light Bark" = "#141414", "Brown Bark" = "#2b1d0e", "Green Bark" = "#001400")
|
||||
|
||||
@@ -88,6 +88,8 @@
|
||||
"Your scales bristle against the cold."
|
||||
)
|
||||
|
||||
pain_messages = list("It hurts so much", "You really need some painkillers", "Ancestors, it hurts")
|
||||
|
||||
move_trail = /obj/effect/decal/cleanable/blood/tracks/claw
|
||||
|
||||
allowed_citizenships = list(CITIZENSHIP_IZWESKI, CITIZENSHIP_DOMINIA, CITIZENSHIP_BIESEL, CITIZENSHIP_SOL, CITIZENSHIP_COALITION, CITIZENSHIP_ELYRA, CITIZENSHIP_ERIDANI)
|
||||
|
||||
@@ -1346,6 +1346,7 @@ Note that amputating the affected organ does in fact remove the infection from t
|
||||
return
|
||||
var/last_pain = pain
|
||||
if(owner)
|
||||
amount *= owner.species.pain_mod
|
||||
amount -= (owner.chem_effects[CE_PAINKILLER]/3)
|
||||
if(amount <= 0)
|
||||
return
|
||||
|
||||
@@ -29,24 +29,25 @@ mob/var/next_pain_time = 0
|
||||
if(burning)
|
||||
switch(amount)
|
||||
if(1 to 10)
|
||||
msg = "<span class='danger'>Your [partname] burns.</span>"
|
||||
msg = species.organ_low_burn_message
|
||||
if(11 to 90)
|
||||
flash_weak_pain()
|
||||
msg = "<span class='danger'><font size=3>Your [partname] burns horribly!</font></span>"
|
||||
msg = species.organ_med_burn_message
|
||||
if(91 to 10000)
|
||||
flash_pain()
|
||||
msg = "<span class='danger'><font size=4>Your [partname] feels like it's on fire!</font></span>"
|
||||
msg = species.organ_high_burn_message
|
||||
else
|
||||
switch(amount)
|
||||
if(5 to 14)
|
||||
msg = "<b>Your [partname] hurts.</b>"
|
||||
msg = species.organ_low_pain_message
|
||||
if(15 to 90)
|
||||
flash_weak_pain()
|
||||
msg = "<b><font size=3>Your [partname] hurts badly!</font></b>"
|
||||
msg = species.organ_med_pain_message
|
||||
if(91 to 10000)
|
||||
flash_pain()
|
||||
msg = "<b><font size=3>Your [partname] is screaming out in pain!</font></b>"
|
||||
msg = species.organ_high_pain_message
|
||||
if(msg && (msg != last_pain_message || prob(10)))
|
||||
msg = replacetext(msg, "%PARTNAME%", partname)
|
||||
last_pain_message = msg
|
||||
to_chat(src, msg)
|
||||
next_pain_time = world.time + 50
|
||||
|
||||
@@ -480,7 +480,7 @@ datum/unit_test/mob_damage/diona/clone
|
||||
datum/unit_test/mob_damage/diona/halloss
|
||||
name = "MOB: Diona Halloss Damage Check"
|
||||
damagetype = PAIN
|
||||
expected_vulnerability = IMMUNE
|
||||
expected_vulnerability = ARMORED
|
||||
|
||||
// =================================================================
|
||||
// SPECIAL WHITTLE SNOWFLAKES aka IPC
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
author: Geeves
|
||||
|
||||
delete-after: True
|
||||
|
||||
changes:
|
||||
- rscadd: "Diona now feel pain, although they only take 70% of the pain other species experience."
|
||||
- rscadd: "Unathi now get a unique pain message, instead of the dear god one."
|
||||
Reference in New Issue
Block a user