Merge pull request #10993 from Zuhayr/species

Human subspecies.
This commit is contained in:
Chinsky
2015-09-06 04:25:21 +03:00
12 changed files with 97 additions and 54 deletions
@@ -85,9 +85,7 @@
/mob/living/carbon/human/adjustBruteLoss(var/amount)
if(species && species.brute_mod)
amount = amount*species.brute_mod
amount = amount*species.brute_mod
if(amount > 0)
take_overall_damage(amount, 0)
else
@@ -95,9 +93,7 @@
BITSET(hud_updateflag, HEALTH_HUD)
/mob/living/carbon/human/adjustFireLoss(var/amount)
if(species && species.burn_mod)
amount = amount*species.burn_mod
amount = amount*species.burn_mod
if(amount > 0)
take_overall_damage(0, amount)
else
@@ -105,9 +101,7 @@
BITSET(hud_updateflag, HEALTH_HUD)
/mob/living/carbon/human/proc/adjustBruteLossByPart(var/amount, var/organ_name, var/obj/damage_source = null)
if(species && species.brute_mod)
amount = amount*species.brute_mod
amount = amount*species.brute_mod
if (organ_name in organs_by_name)
var/obj/item/organ/external/O = get_organ(organ_name)
@@ -120,9 +114,7 @@
BITSET(hud_updateflag, HEALTH_HUD)
/mob/living/carbon/human/proc/adjustFireLossByPart(var/amount, var/organ_name, var/obj/damage_source = null)
if(species && species.burn_mod)
amount = amount*species.burn_mod
amount = amount*species.burn_mod
if (organ_name in organs_by_name)
var/obj/item/organ/external/O = get_organ(organ_name)
@@ -205,7 +197,8 @@
if(species.flags & NO_BREATHE)
oxyloss = 0
else
..()
amount = amount*species.oxy_mod
..(amount)
/mob/living/carbon/human/setOxyLoss(var/amount)
if(species.flags & NO_BREATHE)
@@ -222,7 +215,8 @@
if(species.flags & NO_POISON)
toxloss = 0
else
..()
amount = amount*species.toxins_mod
..(amount)
/mob/living/carbon/human/setToxLoss(var/amount)
if(species.flags & NO_POISON)
@@ -388,14 +382,12 @@ This function restores all organs.
switch(damagetype)
if(BRUTE)
damageoverlaytemp = 20
if(species && species.brute_mod)
damage = damage*species.brute_mod
damage = damage*species.brute_mod
if(organ.take_damage(damage, 0, sharp, edge, used_weapon))
UpdateDamageIcon()
if(BURN)
damageoverlaytemp = 20
if(species && species.burn_mod)
damage = damage*species.burn_mod
damage = damage*species.burn_mod
if(organ.take_damage(0, damage, sharp, edge, used_weapon))
UpdateDamageIcon()
+2 -1
View File
@@ -280,7 +280,7 @@
Weaken(3)
if(!lying)
emote("collapse")
if(prob(5) && prob(100 * RADIATION_SPEED_COEFFICIENT) && species.name == "Human") //apes go bald
if(prob(5) && prob(100 * RADIATION_SPEED_COEFFICIENT) && species.get_bodytype() == "Human") //apes go bald
if((h_style != "Bald" || f_style != "Shaved" ))
src << "<span class='warning'>Your hair falls out.</span>"
h_style = "Bald"
@@ -298,6 +298,7 @@
emote("gasp")
if(damage)
damage *= species.radiation_mod
adjustToxLoss(damage * RADIATION_SPEED_COEFFICIENT)
updatehealth()
if(organs.len)
@@ -47,8 +47,12 @@
/datum/unarmed_attack/bite
)
var/list/unarmed_attacks = null // For empty hand harm-intent attack
var/brute_mod = 1 // Physical damage multiplier.
var/burn_mod = 1 // Burn damage multiplier.
var/brute_mod = 1 // Physical damage multiplier.
var/burn_mod = 1 // Burn damage multiplier.
var/oxy_mod = 1 // Oxyloss modifier
var/toxins_mod = 1 // Toxloss modifier
var/radiation_mod = 1 // Radiation modifier
var/flash_mod = 1 // Stun from blindness modifier.
var/vision_flags = SEE_SELF // Same flags as glasses.
// Death vars.
@@ -0,0 +1,57 @@
/datum/species/human/gravworlder
name = "grav-adapted Human"
name_plural = "grav-adapted Humans"
blurb = "Heavier and stronger than a baseline human, gravity-adapted people have \
thick radiation-resistant skin with a high lead content, denser bones, and recessed \
eyes beneath a prominent brow in order to shield them from the glare of a dangerously \
bright, alien sun. This comes at the cost of mobility, flexibility, and increased \
oxygen requirements to support their robust metabolism."
icobase = 'icons/mob/human_races/subspecies/r_gravworlder.dmi'
flash_mod = 0.9
oxy_mod = 1.1
radiation_mod = 0.5
brute_mod = 0.85
slowdown = 1
/datum/species/human/spacer
name = "space-adapted Human"
name_plural = "space-adapted Humans"
blurb = "Lithe and frail, these sickly folk were engineered for work in environments that \
lack both light and atmosphere. As such, they're quite resistant to asphyxiation as well as \
toxins, but they suffer from weakened bone structure and a marked vulnerability to bright lights."
icobase = 'icons/mob/human_races/subspecies/r_spacer.dmi'
oxy_mod = 0.8
toxins_mod = 0.9
flash_mod = 1.2
brute_mod = 1.1
burn_mod = 1.1
/datum/species/human/vatgrown
name = "vat-grown Human"
name_plural = "vat-grown Humans"
blurb = "With cloning on the forefront of human scientific advancement, cheap mass production \
of bodies is a very real and rather ethically grey industry. Vat-grown humans tend to be paler than \
baseline, with no appendix and fewer inherited genetic disabilities, but a weakened metabolism."
icobase = 'icons/mob/human_races/subspecies/r_vatgrown.dmi'
toxins_mod = 1.1
has_organ = list(
"heart" = /obj/item/organ/heart,
"lungs" = /obj/item/organ/lungs,
"liver" = /obj/item/organ/liver,
"kidneys" = /obj/item/organ/kidneys,
"brain" = /obj/item/organ/brain,
"eyes" = /obj/item/organ/eyes
)
/*
// These guys are going to need full resprites of all the suits/etc so I'm going to
// define them and commit the sprites, but leave the clothing for another day.
/datum/species/human/chimpanzee
name = "uplifted Chimpanzee"
name_plural = "uplifted Chimpanzees"
blurb = "Ook ook."
icobase = 'icons/mob/human_races/subspecies/r_upliftedchimp.dmi'
*/
@@ -14,6 +14,9 @@
spawn_flags = CAN_JOIN
appearance_flags = HAS_SKIN_TONE | HAS_LIPS | HAS_UNDERWEAR | HAS_EYE_COLOR
/datum/species/human/get_bodytype()
return "Human"
/datum/species/unathi
name = "Unathi"
name_plural = "Unathi"