From 808bbee90f6257e89f0aa74d7b65153bb7bc6c58 Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Fri, 4 Sep 2015 12:08:12 +0930 Subject: [PATCH 1/4] Added species vars for oxy/tox/rad/flash resistance. --- code/game/machinery/flasher.dm | 9 ++++-- code/game/objects/items/devices/flash.dm | 12 ++++++-- .../mob/living/carbon/human/human_damage.dm | 28 +++++++------------ code/modules/mob/living/carbon/human/life.dm | 3 +- .../living/carbon/human/species/species.dm | 8 ++++-- 5 files changed, 33 insertions(+), 27 deletions(-) diff --git a/code/game/machinery/flasher.dm b/code/game/machinery/flasher.dm index 5393de59cc..924a6f7374 100644 --- a/code/game/machinery/flasher.dm +++ b/code/game/machinery/flasher.dm @@ -75,17 +75,20 @@ if (istype(O, /mob/living/carbon/alien))//So aliens don't get flashed (they have no external eyes)/N continue - O.Weaken(strength) + var/flash_time = strength if (istype(O, /mob/living/carbon/human)) var/mob/living/carbon/human/H = O + flash_time *= H.species.flash_mod var/obj/item/organ/eyes/E = H.internal_organs_by_name["eyes"] - if (E && (E.damage > E.min_bruised_damage && prob(E.damage + 50))) + if(!E) + return + if(E.is_bruised() && prob(E.damage + 50)) flick("e_flash", O:flash) E.damage += rand(1, 5) else if(!O.blinded) flick("flash", O:flash) - + O.Weaken(flash_time) /obj/machinery/flasher/emp_act(severity) if(stat & (BROKEN|NOPOWER)) diff --git a/code/game/objects/items/devices/flash.dm b/code/game/objects/items/devices/flash.dm index 18826ff806..a9f45999ab 100644 --- a/code/game/objects/items/devices/flash.dm +++ b/code/game/objects/items/devices/flash.dm @@ -66,11 +66,12 @@ if(iscarbon(M)) var/safety = M:eyecheck() if(safety <= 0) - M.Weaken(10) - flick("e_flash", M.flash) + var/flash_strength = 10 if(ishuman(M) && ishuman(user) && M.stat!=DEAD) - if(user.mind && user.mind in revs.current_antagonists) + var/mob/living/carbon/human/H = M + flash_strength *= H.species.flash_mod + if(user.mind && user.mind in revs.head_revolutionaries) var/revsafe = 0 for(var/obj/item/weapon/implant/loyalty/L in M) if(L && L.implanted) @@ -86,6 +87,11 @@ user << "Something seems to be blocking the flash!" else user << "This mind seems resistant to the flash!" + + if(flash_strength > 0) + M.Weaken(flash_strength) + flick("e_flash", M.flash) + else flashfail = 1 diff --git a/code/modules/mob/living/carbon/human/human_damage.dm b/code/modules/mob/living/carbon/human/human_damage.dm index 575fa0c531..4155f0981e 100644 --- a/code/modules/mob/living/carbon/human/human_damage.dm +++ b/code/modules/mob/living/carbon/human/human_damage.dm @@ -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() diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm index bcf1100a08..f1cae922e6 100644 --- a/code/modules/mob/living/carbon/human/life.dm +++ b/code/modules/mob/living/carbon/human/life.dm @@ -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 << "Your hair falls out." h_style = "Bald" @@ -298,6 +298,7 @@ emote("gasp") if(damage) + damage *= species.radiation_mod adjustToxLoss(damage * RADIATION_SPEED_COEFFICIENT) updatehealth() if(organs.len) diff --git a/code/modules/mob/living/carbon/human/species/species.dm b/code/modules/mob/living/carbon/human/species/species.dm index 54e358e96c..e47d7c1087 100644 --- a/code/modules/mob/living/carbon/human/species/species.dm +++ b/code/modules/mob/living/carbon/human/species/species.dm @@ -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. From 3e015d7c716cc2d6e0f944a013f57da8e926519c Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Fri, 4 Sep 2015 12:10:47 +0930 Subject: [PATCH 2/4] Added three human subspecies. --- baystation12.dme | 1 + .../human/species/station/human_subspecies.dm | 57 ++++++++++++++++++ .../carbon/human/species/station/station.dm | 3 + .../human_races/subspecies/r_gravworlder.dmi | Bin 0 -> 2263 bytes icons/mob/human_races/subspecies/r_spacer.dmi | Bin 0 -> 2454 bytes .../subspecies/r_upliftedchimp.dmi | Bin 0 -> 1833 bytes .../mob/human_races/subspecies/r_vatgrown.dmi | Bin 0 -> 1892 bytes 7 files changed, 61 insertions(+) create mode 100644 code/modules/mob/living/carbon/human/species/station/human_subspecies.dm create mode 100644 icons/mob/human_races/subspecies/r_gravworlder.dmi create mode 100644 icons/mob/human_races/subspecies/r_spacer.dmi create mode 100644 icons/mob/human_races/subspecies/r_upliftedchimp.dmi create mode 100644 icons/mob/human_races/subspecies/r_vatgrown.dmi diff --git a/baystation12.dme b/baystation12.dme index 95701c7f34..145f24613e 100644 --- a/baystation12.dme +++ b/baystation12.dme @@ -1294,6 +1294,7 @@ #include "code\modules\mob\living\carbon\human\species\outsider\shadow.dm" #include "code\modules\mob\living\carbon\human\species\outsider\vox.dm" #include "code\modules\mob\living\carbon\human\species\station\golem.dm" +#include "code\modules\mob\living\carbon\human\species\station\human_subspecies.dm" #include "code\modules\mob\living\carbon\human\species\station\monkey.dm" #include "code\modules\mob\living\carbon\human\species\station\slime.dm" #include "code\modules\mob\living\carbon\human\species\station\station.dm" diff --git a/code/modules/mob/living/carbon/human/species/station/human_subspecies.dm b/code/modules/mob/living/carbon/human/species/station/human_subspecies.dm new file mode 100644 index 0000000000..b33d4e8ef7 --- /dev/null +++ b/code/modules/mob/living/carbon/human/species/station/human_subspecies.dm @@ -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' +*/ diff --git a/code/modules/mob/living/carbon/human/species/station/station.dm b/code/modules/mob/living/carbon/human/species/station/station.dm index 032cf51db9..c727a9599b 100644 --- a/code/modules/mob/living/carbon/human/species/station/station.dm +++ b/code/modules/mob/living/carbon/human/species/station/station.dm @@ -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" diff --git a/icons/mob/human_races/subspecies/r_gravworlder.dmi b/icons/mob/human_races/subspecies/r_gravworlder.dmi new file mode 100644 index 0000000000000000000000000000000000000000..d63cc5526c285603bde1d855423be75bc8e79c97 GIT binary patch literal 2263 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 literal 0 HcmV?d00001 diff --git a/icons/mob/human_races/subspecies/r_upliftedchimp.dmi b/icons/mob/human_races/subspecies/r_upliftedchimp.dmi new file mode 100644 index 0000000000000000000000000000000000000000..eb26c817ccbe72c8baebb70bc45e8b37687788a2 GIT binary patch literal 1833 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 MojU9M0!#YoKkRjf{{R30 literal 0 HcmV?d00001 From 6dc3b224327022b095e1c09a86cd4d1d9ab566d6 Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Sun, 6 Sep 2015 00:45:13 +0930 Subject: [PATCH 3/4] Death to flashrev (compile fix) --- code/game/objects/items/devices/flash.dm | 16 ---------------- 1 file changed, 16 deletions(-) diff --git a/code/game/objects/items/devices/flash.dm b/code/game/objects/items/devices/flash.dm index a9f45999ab..fa6d676ce0 100644 --- a/code/game/objects/items/devices/flash.dm +++ b/code/game/objects/items/devices/flash.dm @@ -71,22 +71,6 @@ if(ishuman(M) && ishuman(user) && M.stat!=DEAD) var/mob/living/carbon/human/H = M flash_strength *= H.species.flash_mod - if(user.mind && user.mind in revs.head_revolutionaries) - var/revsafe = 0 - for(var/obj/item/weapon/implant/loyalty/L in M) - if(L && L.implanted) - revsafe = 1 - break - M.mind_initialize() //give them a mind datum if they don't have one. - if(M.mind.has_been_rev) - revsafe = 2 - if(!revsafe) - M.mind.has_been_rev = 1 - revs.add_antagonist(M.mind) - else if(revsafe == 1) - user << "Something seems to be blocking the flash!" - else - user << "This mind seems resistant to the flash!" if(flash_strength > 0) M.Weaken(flash_strength) From 2b2e27d38003ee67a099bf9f4599e36c3e886f8d Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Sun, 6 Sep 2015 10:09:03 +0930 Subject: [PATCH 4/4] Species flash cleanup. --- code/game/machinery/flasher.dm | 8 +------- code/game/objects/items/devices/flash.dm | 26 +++++++++++------------- 2 files changed, 13 insertions(+), 21 deletions(-) diff --git a/code/game/machinery/flasher.dm b/code/game/machinery/flasher.dm index 924a6f7374..e6fb41193c 100644 --- a/code/game/machinery/flasher.dm +++ b/code/game/machinery/flasher.dm @@ -67,17 +67,11 @@ if (get_dist(src, O) > src.range) continue + var/flash_time = strength if (istype(O, /mob/living/carbon/human)) var/mob/living/carbon/human/H = O if(!H.eyecheck() <= 0) continue - - if (istype(O, /mob/living/carbon/alien))//So aliens don't get flashed (they have no external eyes)/N - continue - - var/flash_time = strength - if (istype(O, /mob/living/carbon/human)) - var/mob/living/carbon/human/H = O flash_time *= H.species.flash_mod var/obj/item/organ/eyes/E = H.internal_organs_by_name["eyes"] if(!E) diff --git a/code/game/objects/items/devices/flash.dm b/code/game/objects/items/devices/flash.dm index fa6d676ce0..cfbe33e5fd 100644 --- a/code/game/objects/items/devices/flash.dm +++ b/code/game/objects/items/devices/flash.dm @@ -64,20 +64,18 @@ var/flashfail = 0 if(iscarbon(M)) - var/safety = M:eyecheck() - if(safety <= 0) - - var/flash_strength = 10 - if(ishuman(M) && ishuman(user) && M.stat!=DEAD) - var/mob/living/carbon/human/H = M - flash_strength *= H.species.flash_mod - - if(flash_strength > 0) - M.Weaken(flash_strength) - flick("e_flash", M.flash) - - else - flashfail = 1 + if(M.stat!=DEAD) + var/safety = M:eyecheck() + if(safety <= 0) + var/flash_strength = 10 + if(ishuman(M)) + var/mob/living/carbon/human/H = M + flash_strength *= H.species.flash_mod + if(flash_strength > 0) + M.Weaken(flash_strength) + flick("e_flash", M.flash) + else + flashfail = 1 else if(issilicon(M)) M.Weaken(rand(5,10))