General and Diona Pain Tweaks (#9770)

This commit is contained in:
Geeves
2020-08-28 11:40:14 +02:00
committed by GitHub
parent 5b47fb0fc6
commit 1f8c14cdab
7 changed files with 34 additions and 23 deletions
+8 -10
View File
@@ -108,8 +108,8 @@ var/list/diona_banned_languages = list(
//This proc handles when diona take damage from being in darkness
/mob/living/carbon/proc/diona_darkness_damage(var/severity, var/datum/dionastats/DS)
adjustBruteLoss(severity*DS.trauma_factor)
adjustHalLoss(severity*DS.pain_factor, 1)
adjustBruteLoss(severity * DS.trauma_factor)
adjustHalLoss((severity * species.pain_mod) * DS.pain_factor) // pain mod here is to give a bit of padding to the amount of pain diona get, to make it less overbearing
DS.stored_energy = 0 //We reset the energy back to zero after calculating the damage. dont want it to go negative
/mob/living/carbon/proc/diona_handle_temperature(var/datum/dionastats/DS)
@@ -508,15 +508,13 @@ var/list/diona_banned_languages = list(
return health+(maxHealth*0.5)
/mob/living/carbon/proc/get_dionastats()
if (istype(src, /mob/living/carbon/alien/diona))
var/mob/living/carbon/alien/diona/T = src
return T.DS
return
if (istype(src, /mob/living/carbon/human))
var/mob/living/carbon/human/T = src
if (istype(T.species, /datum/species/diona))
return T.DS
return null
/mob/living/carbon/alien/diona/get_dionastats()
return DS
/mob/living/carbon/human/get_dionastats()
return DS
//Called on a nymph when it merges with a gestalt
//The nymph and gestalt get the combined total of both of their languages
@@ -58,7 +58,7 @@
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
pain_mod = 0.5
grab_mod = 0.6 // Viney Tentacles and shit to cling onto
resist_mod = 1.5 // Reasonably stronk, not moreso than an Unathi or robot.
+8 -8
View File
@@ -105,15 +105,15 @@
return 0
/mob/proc/is_diona()
//returns which type of diona we are, or zero
if (istype(src, /mob/living/carbon/human))
var/mob/living/carbon/human/T = src
if (istype(T.species, /datum/species/diona) || istype(src, /mob/living/carbon/human/diona))
return DIONA_WORKER
return FALSE
if (istype(src, /mob/living/carbon/alien/diona))
return DIONA_NYMPH
return 0
/mob/living/carbon/human/is_diona()
if(istype(species, /datum/species/diona))
return DIONA_WORKER
return FALSE
/mob/living/carbon/alien/diona/is_diona()
return DIONA_NYMPH
/proc/isskeleton(A)
if(istype(A, /mob/living/carbon/human) && (A:get_species() == SPECIES_SKELETON))