Implemented NO_PAIN and parts of NO_BLOOD, restructured species flags.

This commit is contained in:
Zuhayr
2014-01-05 23:59:39 +10:30
parent 2a2fffc616
commit b70a79f853
3 changed files with 12 additions and 8 deletions

View File

@@ -1262,7 +1262,7 @@
if(2) healths.icon_state = "health7"
else
//switch(health - halloss)
switch(100 - traumatic_shock)
switch(100 - ((species && species.flags & NO_PAIN) ? 0 : traumatic_shock))
if(100 to INFINITY) healths.icon_state = "health0"
if(80 to 100) healths.icon_state = "health1"
if(60 to 80) healths.icon_state = "health2"
@@ -1422,7 +1422,7 @@
handle_shock()
..()
if(status_flags & GODMODE) return 0 //godmode
if(analgesic) return // analgesic avoids all traumatic shock temporarily
if(analgesic || (species && species.flags & NO_PAIN)) return // analgesic avoids all traumatic shock temporarily
if(health < config.health_threshold_softcrit)// health 0 makes you immediately collapse
shock_stage = max(shock_stage, 61)
@@ -1471,8 +1471,11 @@
Weaken(20)
proc/handle_pulse()
if(life_tick % 5) return pulse //update pulse every 5 life ticks (~1 tick/sec, depending on server load)
if(species && species.flags && NO_BLOOD) return PULSE_NONE //No blood, no pulse.
if(stat == DEAD)
return PULSE_NONE //that's it, you're dead, nothing can influence your pulse

View File

@@ -13,14 +13,15 @@ var/const/BLOOD_VOLUME_SURVIVE = 122
//Initializes blood vessels
/mob/living/carbon/human/proc/make_blood()
if (vessel)
return
if(species && species.flags & NO_BLOOD)
if(vessel)
return
vessel = new/datum/reagents(600)
vessel.my_atom = src
if(species && species.flags & NO_BLOOD) //We want the var for safety but we can do without the actual blood.
return
vessel.add_reagent("blood",560)
spawn(1)
fixblood()

View File

@@ -56,7 +56,7 @@ mob/living/carbon/proc/pain(var/partname, var/amount, var/force, var/burning = 0
mob/living/carbon/human/proc/custom_pain(var/message, var/flash_strength)
if(stat >= 1) return
if(species && species.flags & IS_PLANT) return
if(species && species.flags & NO_PAIN) return
if(reagents.has_reagent("tramadol"))
return
@@ -77,7 +77,7 @@ mob/living/carbon/human/proc/custom_pain(var/message, var/flash_strength)
mob/living/carbon/human/proc/handle_pain()
// not when sleeping
if(species && species.flags & IS_PLANT) return
if(species && species.flags & NO_PAIN) return
if(stat >= 2) return
if(reagents.has_reagent("tramadol"))