mirror of
https://github.com/CHOMPstation/CHOMPstation.git
synced 2026-07-13 08:02:30 +01:00
@@ -19,6 +19,7 @@
|
||||
/mob/living/carbon/alien/diona/New()
|
||||
|
||||
..()
|
||||
species = all_species["Diona"]
|
||||
verbs += /mob/living/carbon/proc/eat_weeds
|
||||
verbs += /mob/living/carbon/proc/fertilize_plant
|
||||
verbs += /mob/living/carbon/alien/diona/proc/steal_blood
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
/mob/living/carbon/
|
||||
gender = MALE
|
||||
var/datum/species/species //Contains icon generation and language information, set during New().
|
||||
var/list/stomach_contents = list()
|
||||
var/list/datum/disease2/disease/virus2 = list()
|
||||
var/antibodies = 0
|
||||
|
||||
@@ -72,7 +72,12 @@
|
||||
|
||||
if(B.host_brain.ckey)
|
||||
src << "\red <B>You send a punishing spike of psychic agony lancing into your host's brain.</B>"
|
||||
B.host_brain << "\red <B><FONT size=3>Horrific, burning agony lances through you, ripping a soundless scream from your trapped mind!</FONT></B>"
|
||||
|
||||
if (species && (species.flags & NO_PAIN))
|
||||
B.host_brain << "\red You feel a strange sensation as a foreign influence prods your mind."
|
||||
src << "\red <B>It doesn't seem to be as effective as you hoped.</B>"
|
||||
else
|
||||
B.host_brain << "\red <B><FONT size=3>Horrific, burning agony lances through you, ripping a soundless scream from your trapped mind!</FONT></B>"
|
||||
|
||||
/mob/living/carbon/proc/spawn_larvae()
|
||||
set category = "Abilities"
|
||||
|
||||
@@ -6,7 +6,6 @@
|
||||
icon_state = "body_m_s"
|
||||
|
||||
var/list/hud_list[9]
|
||||
var/datum/species/species //Contains icon generation and language information, set during New().
|
||||
var/embedded_flag //To check if we've need to roll for damage on movement while an item is imbedded in us.
|
||||
|
||||
/mob/living/carbon/human/New(var/new_loc, var/new_species = null)
|
||||
|
||||
@@ -351,7 +351,7 @@ This function restores all organs.
|
||||
|
||||
//Handle other types of damage
|
||||
if((damagetype != BRUTE) && (damagetype != BURN))
|
||||
if(damagetype == HALLOSS)
|
||||
if(damagetype == HALLOSS && !(species && (species.flags & NO_PAIN)))
|
||||
if ((damage > 25 && prob(20)) || (damage > 50 && prob(60)))
|
||||
emote("scream")
|
||||
|
||||
|
||||
@@ -17,7 +17,8 @@
|
||||
var/health_deficiency = (100 - health)
|
||||
if(health_deficiency >= 40) tally += (health_deficiency / 25)
|
||||
|
||||
if(halloss >= 10) tally += (halloss / 10)
|
||||
if (!(species && (species.flags & NO_PAIN)))
|
||||
if(halloss >= 10) tally += (halloss / 10) //halloss shouldn't slow you down if you can't even feel it
|
||||
|
||||
var/hungry = (500 - nutrition)/5 // So overeat would be 100 and default level would be 80
|
||||
if (hungry >= 70) tally += hungry/50
|
||||
|
||||
@@ -61,13 +61,15 @@
|
||||
loc = M.loc
|
||||
|
||||
if(prob(15) && M.client && istype(M, /mob/living/carbon))
|
||||
M << "<span class='danger'>[pick("You can feel your body becoming weak!", \
|
||||
"You feel like you're about to die!", \
|
||||
"You feel every part of your body screaming in agony!", \
|
||||
"A low, rolling pain passes through your body!", \
|
||||
"Your body feels as if it's falling apart!", \
|
||||
"You feel extremely weak!", \
|
||||
"A sharp, deep pain bathes every inch of your body!")]</span>"
|
||||
var/mob/living/carbon/C = M
|
||||
if (!(C.species && (C.species.flags & NO_PAIN)))
|
||||
M << "<span class='danger'>[pick("You can feel your body becoming weak!", \
|
||||
"You feel like you're about to die!", \
|
||||
"You feel every part of your body screaming in agony!", \
|
||||
"A low, rolling pain passes through your body!", \
|
||||
"Your body feels as if it's falling apart!", \
|
||||
"You feel extremely weak!", \
|
||||
"A sharp, deep pain bathes every inch of your body!")]</span>"
|
||||
|
||||
if(istype(M, /mob/living/carbon))
|
||||
Victim.adjustCloneLoss(rand(5,6))
|
||||
|
||||
@@ -41,6 +41,9 @@
|
||||
reagents = R
|
||||
R.my_atom = src
|
||||
|
||||
species = all_species[greaterform]
|
||||
add_language(species.language)
|
||||
|
||||
if(name == initial(name)) //To stop Pun-Pun becoming generic.
|
||||
name = "[name] ([rand(1, 1000)])"
|
||||
real_name = name
|
||||
@@ -78,24 +81,22 @@
|
||||
|
||||
/mob/living/carbon/monkey/unathi/New()
|
||||
|
||||
..()
|
||||
dna.mutantrace = "lizard"
|
||||
greaterform = "Unathi"
|
||||
add_language("Sinta'unathi")
|
||||
..()
|
||||
|
||||
/mob/living/carbon/monkey/skrell/New()
|
||||
|
||||
..()
|
||||
|
||||
dna.mutantrace = "skrell"
|
||||
greaterform = "Skrell"
|
||||
add_language("Skrellian")
|
||||
..()
|
||||
|
||||
/mob/living/carbon/monkey/tajara/New()
|
||||
|
||||
..()
|
||||
dna.mutantrace = "tajaran"
|
||||
greaterform = "Tajara"
|
||||
add_language("Siik'tajr")
|
||||
..()
|
||||
|
||||
/mob/living/carbon/monkey/movement_delay()
|
||||
var/tally = 0
|
||||
|
||||
@@ -107,7 +107,7 @@
|
||||
|
||||
// standing is poor
|
||||
if(leg_tally <= 0 && !paralysis && !(lying || resting) && prob(5))
|
||||
if(species && species.flags & NO_PAIN)
|
||||
if(!(species && (species.flags & NO_PAIN)))
|
||||
emote("scream")
|
||||
emote("collapse")
|
||||
paralysis = 10
|
||||
|
||||
@@ -98,7 +98,8 @@
|
||||
brute -= brute / 2
|
||||
|
||||
if(status & ORGAN_BROKEN && prob(40) && brute)
|
||||
owner.emote("scream") //getting hit on broken hand hurts
|
||||
if (!(owner.species && (owner.species.flags & NO_PAIN)))
|
||||
owner.emote("scream") //getting hit on broken hand hurts
|
||||
if(used_weapon)
|
||||
add_autopsy_data("[used_weapon]", brute + burn)
|
||||
|
||||
@@ -648,7 +649,7 @@ Note that amputating the affected organ does in fact remove the infection from t
|
||||
if(status & ORGAN_ROBOT && !no_explode && sabotaged)
|
||||
owner.visible_message("\red \The [owner]'s [display_name] explodes violently!",\
|
||||
"\red <b>Your [display_name] explodes!</b>",\
|
||||
"You hear an explosion followed by a scream!")
|
||||
"You hear an explosion!")
|
||||
explosion(get_turf(owner),-1,-1,2,3)
|
||||
var/datum/effect/effect/system/spark_spread/spark_system = new /datum/effect/effect/system/spark_spread()
|
||||
spark_system.set_up(5, 0, owner)
|
||||
|
||||
@@ -1941,7 +1941,8 @@ datum
|
||||
if(affecting.take_damage(4*toxpwr, 2*toxpwr))
|
||||
H.UpdateDamageIcon()
|
||||
if(prob(meltprob)) //Applies disfigurement
|
||||
H.emote("scream")
|
||||
if (!(H.species && (H.species.flags & NO_PAIN)))
|
||||
H.emote("scream")
|
||||
H.status_flags |= DISFIGURED
|
||||
else
|
||||
M.take_organ_damage(min(6*toxpwr, volume * toxpwr)) // uses min() and volume to make sure they aren't being sprayed in trace amounts (1 unit != insta rape) -- Doohl
|
||||
@@ -2103,7 +2104,7 @@ datum
|
||||
if ( eyes_covered && mouth_covered )
|
||||
victim << "\red Your [safe_thing] protects you from the pepperspray!"
|
||||
return
|
||||
else if ( mouth_covered ) // Reduced effects if partially protected
|
||||
else if ( eyes_covered ) // Reduced effects if partially protected
|
||||
victim << "\red Your [safe_thing] protect you from most of the pepperspray!"
|
||||
victim.eye_blurry = max(M.eye_blurry, 15)
|
||||
victim.eye_blind = max(M.eye_blind, 5)
|
||||
@@ -2112,13 +2113,15 @@ datum
|
||||
//victim.Paralyse(10)
|
||||
//victim.drop_item()
|
||||
return
|
||||
else if ( eyes_covered ) // Eye cover is better than mouth cover
|
||||
victim << "\red Your [safe_thing] protects your eyes from the pepperspray!"
|
||||
victim.emote("scream")
|
||||
else if ( mouth_covered ) // Mouth cover is better than eye cover
|
||||
victim << "\red Your [safe_thing] protects your face from the pepperspray!"
|
||||
if (!(victim.species && (victim.species.flags & NO_PAIN)))
|
||||
victim.emote("scream")
|
||||
victim.eye_blurry = max(M.eye_blurry, 5)
|
||||
return
|
||||
else // Oh dear :D
|
||||
victim.emote("scream")
|
||||
if (!(victim.species && (victim.species.flags & NO_PAIN)))
|
||||
victim.emote("scream")
|
||||
victim << "\red You're sprayed directly in the eyes with pepperspray!"
|
||||
victim.eye_blurry = max(M.eye_blurry, 25)
|
||||
victim.eye_blind = max(M.eye_blind, 10)
|
||||
|
||||
Reference in New Issue
Block a user