From 90f2ff4854641ef057a8f2955fce6e4b3d066afe Mon Sep 17 00:00:00 2001 From: SkyratBot <59378654+SkyratBot@users.noreply.github.com> Date: Sat, 1 Jul 2023 21:25:44 +0200 Subject: [PATCH] [MIRROR] Moves species brutemod and burnmod to be handled by bodyparts [MDB IGNORE] (#21903) * Moves species brutemod and burnmod to be handled by bodyparts * Fixes compilation issues and updates the brute and burn mods on our own species * Re-ticks the ashwalker bodyparts --------- Co-authored-by: ChungusGamer666 <82850673+ChungusGamer666@users.noreply.github.com> Co-authored-by: GoldenAlpharex --- code/__DEFINES/traits.dm | 8 ++- code/datums/dna.dm | 4 +- .../nightmare/nightmare_species.dm | 1 - code/modules/mob/living/carbon/human/human.dm | 10 +++- .../mob/living/carbon/human/human_defines.dm | 2 +- .../mob/living/carbon/human/physiology.dm | 1 - .../mob/living/carbon/human/species.dm | 56 +++++++++---------- .../carbon/human/species_types/ethereal.dm | 1 - .../carbon/human/species_types/golems.dm | 4 +- .../carbon/human/species_types/jellypeople.dm | 1 - .../human/species_types/lizardpeople.dm | 23 ++++---- .../carbon/human/species_types/mushpeople.dm | 1 - .../carbon/human/species_types/plasmamen.dm | 2 - .../carbon/human/species_types/podpeople.dm | 1 - .../carbon/human/species_types/snail.dm | 1 - .../carbon/human/species_types/zombies.dm | 10 ++-- .../crossbreeding/_status_effects.dm | 4 +- .../research/xenobiology/xenobiology.dm | 13 +++-- .../surgery/advanced/bioware/bioware.dm | 10 ++-- .../advanced/bioware/bioware_surgery.dm | 2 +- code/modules/surgery/bodyparts/_bodyparts.dm | 13 +++-- .../species_parts/ethereal_bodyparts.dm | 7 ++- .../bodyparts/species_parts/misc_bodyparts.dm | 43 +++++++++++--- .../species_parts/plasmaman_bodyparts.dm | 12 ++++ .../surgery/organs/stomach/stomach_golem.dm | 13 ++--- .../ashwalkers/code/species/Ashwalkers.dm | 12 +++- .../bodyparts/code/ashwalker_bodyparts.dm | 29 ++++++++++ .../modules/bodyparts/code/ghoul_bodyparts.dm | 24 +++++++- .../bodyparts/code/skrell_bodyparts.dm | 18 ++++++ .../bodyparts/code/teshari_bodyparts.dm | 20 +++++++ .../mob/living/carbon/human/species/ghoul.dm | 3 - .../carbon/human/species/roundstartslime.dm | 1 - .../mob/living/carbon/human/species/skrell.dm | 2 - .../modules/mutants/code/mutant_species.dm | 6 +- .../modules/synths/code/bodyparts/limbs.dm | 22 ++++++++ .../modules/synths/code/species/synthetic.dm | 2 - .../modules/teshari/code/_teshari.dm | 4 -- tgstation.dme | 1 + 38 files changed, 267 insertions(+), 120 deletions(-) create mode 100644 modular_skyrat/modules/bodyparts/code/ashwalker_bodyparts.dm diff --git a/code/__DEFINES/traits.dm b/code/__DEFINES/traits.dm index 3a30321e27d..e2f50699625 100644 --- a/code/__DEFINES/traits.dm +++ b/code/__DEFINES/traits.dm @@ -492,6 +492,8 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai #define TRAIT_HATED_BY_DOGS "hated_by_dogs" /// Mobs with this trait will not be immobilized when held up #define TRAIT_NOFEAR_HOLDUPS "no_fear_holdup" +/// Mob has gotten an armor buff from adamantine extract +#define TRAIT_ADAMANTINE_EXTRACT_ARMOR "adamantine_extract_armor" /// Mobs with this trait won't be able to dual wield guns. #define TRAIT_NO_GUN_AKIMBO "no_gun_akimbo" @@ -957,8 +959,10 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai #define BEAUTY_ELEMENT_TRAIT "beauty_element" #define MOOD_DATUM_TRAIT "mood_datum" #define DRONE_SHY_TRAIT "drone_shy" -/// Pacifism trait given by stabilized light pink extracts. -#define STABILIZED_LIGHT_PINK_TRAIT "stabilized_light_pink" +/// Trait given by stabilized light pink extracts +#define STABILIZED_LIGHT_PINK_EXTRACT_TRAIT "stabilized_light_pink" +/// Trait given by adamantine extracts +#define ADAMANTINE_EXTRACT_TRAIT "adamantine_extract" /// Given by the multiple_lives component to the previous body of the mob upon death. #define EXPIRED_LIFE_TRAIT "expired_life" /// Trait given to an atom/movable when they orbit something. diff --git a/code/datums/dna.dm b/code/datums/dna.dm index 3b01e7e0935..26019da69ba 100644 --- a/code/datums/dna.dm +++ b/code/datums/dna.dm @@ -891,8 +891,8 @@ GLOBAL_LIST_INIT(total_uf_len_by_block, populate_total_uf_len_by_block()) if(3) to_chat(src, span_notice("Oh, I actually feel quite alright!")) if(4) - to_chat(src, span_notice("Oh, I actually feel quite alright!")) //you thought - physiology.damage_resistance = -20000 + to_chat(src, span_notice("Oh, I actually feel quite alright!")) + physiology.damage_resistance -= 20000 //you thought if(5) to_chat(src, span_notice("Oh, I actually feel quite alright!")) reagents.add_reagent(/datum/reagent/aslimetoxin, 10) diff --git a/code/modules/antagonists/nightmare/nightmare_species.dm b/code/modules/antagonists/nightmare/nightmare_species.dm index 9fc44cb434c..fa8c0da16e6 100644 --- a/code/modules/antagonists/nightmare/nightmare_species.dm +++ b/code/modules/antagonists/nightmare/nightmare_species.dm @@ -5,7 +5,6 @@ name = "Nightmare" id = SPECIES_NIGHTMARE examine_limb_id = SPECIES_SHADOW - burnmod = 1.5 changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_PRIDE no_equip_flags = ITEM_SLOT_MASK | ITEM_SLOT_OCLOTHING | ITEM_SLOT_GLOVES | ITEM_SLOT_FEET | ITEM_SLOT_ICLOTHING | ITEM_SLOT_SUITSTORE species_traits = list(NO_UNDERWEAR,NO_DNA_COPY,NOTRANSSTING,NOEYESPRITES) diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index 8ab79b1278b..742663f4e28 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -7,6 +7,8 @@ setup_mood() // This needs to be called very very early in human init (before organs / species are created at the minimum) setup_organless_effects() + // Physiology needs to be created before species, as some species modify physiology + setup_physiology() create_dna() dna.species.create_fresh_body(src) @@ -17,8 +19,6 @@ prepare_huds() //Prevents a nasty runtime on human init - physiology = new() - . = ..() RegisterSignal(src, COMSIG_COMPONENT_CLEAN_FACE_ACT, PROC_REF(clean_face)) @@ -34,6 +34,9 @@ GLOB.human_list += src SSopposing_force.give_opfor_button(src) //SKYRAT EDIT - OPFOR SYSTEM +/mob/living/carbon/human/proc/setup_physiology() + physiology = new() + /mob/living/carbon/human/proc/setup_mood() if (CONFIG_GET(flag/disable_human_mood)) return @@ -57,7 +60,8 @@ /mob/living/carbon/human/Destroy() QDEL_NULL(physiology) - QDEL_LIST(bioware) + if(biowares) + QDEL_LIST(biowares) GLOB.human_list -= src if (mob_mood) diff --git a/code/modules/mob/living/carbon/human/human_defines.dm b/code/modules/mob/living/carbon/human/human_defines.dm index 4ef1a83ab68..df50507756a 100644 --- a/code/modules/mob/living/carbon/human/human_defines.dm +++ b/code/modules/mob/living/carbon/human/human_defines.dm @@ -68,7 +68,7 @@ var/datum/physiology/physiology - var/list/datum/bioware = list() + var/list/datum/bioware/biowares /// What types of mobs are allowed to ride/buckle to this mob var/static/list/can_ride_typecache = typecacheof(list(/mob/living/carbon/human, /mob/living/simple_animal/slime, /mob/living/simple_animal/parrot)) diff --git a/code/modules/mob/living/carbon/human/physiology.dm b/code/modules/mob/living/carbon/human/physiology.dm index f83cc5e6203..b2998db26ac 100644 --- a/code/modules/mob/living/carbon/human/physiology.dm +++ b/code/modules/mob/living/carbon/human/physiology.dm @@ -1,5 +1,4 @@ //Stores several modifiers in a way that isn't cleared by changing species - /datum/physiology var/brute_mod = 1 // % of brute damage taken from all sources var/burn_mod = 1 // % of burn damage taken from all sources diff --git a/code/modules/mob/living/carbon/human/species.dm b/code/modules/mob/living/carbon/human/species.dm index ca5b61f60b1..cd6e0ed192a 100644 --- a/code/modules/mob/living/carbon/human/species.dm +++ b/code/modules/mob/living/carbon/human/species.dm @@ -33,8 +33,6 @@ GLOBAL_LIST_EMPTY(features_by_species) ///The alpha used by the hair. 255 is completely solid, 0 is invisible. var/hair_alpha = 255 - ///Examine text when the person has cellular damage. - var/cellular_damage_desc = DEFAULT_CLONE_EXAMINE_TEXT ///This is used for children, it will determine their default limb ID for use of examine. See [/mob/living/carbon/human/proc/examine]. var/examine_limb_id ///Never, Optional, or Forced digi legs? @@ -111,12 +109,11 @@ GLOBAL_LIST_EMPTY(features_by_species) ///Multiplier for the race's speed. Positive numbers make it move slower, negative numbers make it move faster. var/speedmod = 0 - ///Percentage modifier for overall defense of the race, or less defense, if it's negative. - var/armor = 0 - ///multiplier for brute damage - var/brutemod = 1 - ///multiplier for burn damage - var/burnmod = 1 + /** + * Percentage modifier for overall defense of the race, or less defense, if it's negative + * THIS MODIFIES ALL DAMAGE TYPES. + **/ + var/damage_modifier = 0 ///multiplier for damage from cold temperature var/coldmod = 1 ///multiplier for damage from hot temperature @@ -452,7 +449,7 @@ GLOBAL_LIST_EMPTY(features_by_species) * * old_species - The species that the carbon used to be before becoming this race, used for regenerating organs. * * pref_load - Preferences to be loaded from character setup, loads in preferred mutant things like bodyparts, digilegs, skin color, etc. */ -/datum/species/proc/on_species_gain(mob/living/carbon/C, datum/species/old_species, pref_load) +/datum/species/proc/on_species_gain(mob/living/carbon/human/C, datum/species/old_species, pref_load) SHOULD_CALL_PARENT(TRUE) // Drop the items the new species can't wear if((AGENDER in species_traits)) @@ -466,7 +463,7 @@ GLOBAL_LIST_EMPTY(features_by_species) C.mob_biotypes = inherent_biotypes C.mob_respiration_type = inherent_respiration_type - if (old_species.type != type) + if(old_species.type != type) replace_body(C, src) regenerate_organs(C, old_species, visual_only = C.visual_only_organs) @@ -1412,7 +1409,7 @@ GLOBAL_LIST_EMPTY(features_by_species) /datum/species/proc/apply_damage(damage, damagetype = BRUTE, def_zone = null, blocked, mob/living/carbon/human/H, forced = FALSE, spread_damage = FALSE, wound_bonus = 0, bare_wound_bonus = 0, sharpness = NONE, attack_direction = null, attacking_item) SEND_SIGNAL(H, COMSIG_MOB_APPLY_DAMAGE, damage, damagetype, def_zone, blocked, wound_bonus, bare_wound_bonus, sharpness, attack_direction, attacking_item) - var/hit_percent = (100-(blocked+armor))/100 + var/hit_percent = (100-(damage_modifier+blocked))/100 hit_percent = (hit_percent * (100-H.physiology.damage_resistance))/100 if(!damage || (!forced && hit_percent <= 0)) return 0 @@ -1431,7 +1428,7 @@ GLOBAL_LIST_EMPTY(features_by_species) switch(damagetype) if(BRUTE) H.damageoverlaytemp = 20 - var/damage_amount = forced ? damage : damage * hit_percent * brutemod * H.physiology.brute_mod + var/damage_amount = forced ? damage : damage * hit_percent * H.physiology.brute_mod if(BP) if(BP.receive_damage(damage_amount, 0, wound_bonus = wound_bonus, bare_wound_bonus = bare_wound_bonus, sharpness = sharpness, attack_direction = attack_direction, damage_source = attacking_item)) H.update_damage_overlays() @@ -1440,7 +1437,7 @@ GLOBAL_LIST_EMPTY(features_by_species) INVOKE_ASYNC(H, TYPE_PROC_REF(/mob/living/carbon/human, adjust_pain), damage_amount) // SKYRAT EDIT ADDITION - ERP Pain if(BURN) H.damageoverlaytemp = 20 - var/damage_amount = forced ? damage : damage * hit_percent * burnmod * H.physiology.burn_mod + var/damage_amount = forced ? damage : damage * hit_percent * H.physiology.burn_mod if(BP) if(BP.receive_damage(0, damage_amount, wound_bonus = wound_bonus, bare_wound_bonus = bare_wound_bonus, sharpness = sharpness, attack_direction = attack_direction, damage_source = attacking_item)) H.update_damage_overlays() @@ -2020,10 +2017,13 @@ GLOBAL_LIST_EMPTY(features_by_species) * Returns a list containing perks, or an empty list. */ /datum/species/proc/create_pref_damage_perks() + // We use the chest to figure out brute and burn mod perks + var/obj/item/bodypart/chest/fake_chest = bodypart_overrides[BODY_ZONE_CHEST] + var/list/to_add = list() // Brute related - if(brutemod > 1) + if(initial(fake_chest.brute_modifier) > 1) to_add += list(list( SPECIES_PERK_TYPE = SPECIES_NEGATIVE_PERK, SPECIES_PERK_ICON = "band-aid", @@ -2031,29 +2031,29 @@ GLOBAL_LIST_EMPTY(features_by_species) SPECIES_PERK_DESC = "[plural_form] are weak to brute damage.", )) - if(brutemod < 1) + if(initial(fake_chest.brute_modifier) < 1) to_add += list(list( SPECIES_PERK_TYPE = SPECIES_POSITIVE_PERK, SPECIES_PERK_ICON = "shield-alt", SPECIES_PERK_NAME = "Brutal Resilience", - SPECIES_PERK_DESC = "[plural_form] are resilient to bruising and brute damage.", + SPECIES_PERK_DESC = "[plural_form] are resilient to brute damage.", )) // Burn related - if(burnmod > 1) + if(initial(fake_chest.burn_modifier) > 1) to_add += list(list( SPECIES_PERK_TYPE = SPECIES_NEGATIVE_PERK, SPECIES_PERK_ICON = "burn", - SPECIES_PERK_NAME = "Fire Weakness", - SPECIES_PERK_DESC = "[plural_form] are weak to fire and burn damage.", + SPECIES_PERK_NAME = "Burn Weakness", + SPECIES_PERK_DESC = "[plural_form] are weak to burn damage.", )) - if(burnmod < 1) + if(initial(fake_chest.burn_modifier) < 1) to_add += list(list( SPECIES_PERK_TYPE = SPECIES_POSITIVE_PERK, SPECIES_PERK_ICON = "shield-alt", - SPECIES_PERK_NAME = "Fire Resilience", - SPECIES_PERK_DESC = "[plural_form] are resilient to flames, and burn damage.", + SPECIES_PERK_NAME = "Burn Resilience", + SPECIES_PERK_DESC = "[plural_form] are resilient to burn damage.", )) // Shock damage @@ -2361,25 +2361,25 @@ GLOBAL_LIST_EMPTY(features_by_species) ignore_digi = TRUE // SKYRAT EDIT END - + var/list/final_bodypart_overrides = new_species.bodypart_overrides.Copy() if(!ignore_digi && ((new_species.digitigrade_customization == DIGITIGRADE_OPTIONAL && target.dna.features["legs"] == DIGITIGRADE_LEGS) || new_species.digitigrade_customization == DIGITIGRADE_FORCED)) //if((new_species.digitigrade_customization == DIGITIGRADE_OPTIONAL && target.dna.features["legs"] == DIGITIGRADE_LEGS) || new_species.digitigrade_customization == DIGITIGRADE_FORCED) // SKYRAT EDIT - Digitigrade customization - ORIGINAL /* SKYRAT EDIT - Digitigrade customization - ORIGINAL: - new_species.bodypart_overrides[BODY_ZONE_R_LEG] = /obj/item/bodypart/leg/right/digitigrade - new_species.bodypart_overrides[BODY_ZONE_L_LEG] = /obj/item/bodypart/leg/left/digitigrade + final_bodypart_overrides[BODY_ZONE_R_LEG] = /obj/item/bodypart/leg/right/digitigrade + final_bodypart_overrides[BODY_ZONE_L_LEG] = /obj/item/bodypart/leg/left/digitigrade */ // ORIGINAL END - SKYRAT EDIT START: var/obj/item/bodypart/leg/right/r_leg = new_species.bodypart_overrides[BODY_ZONE_R_LEG] if(r_leg) - new_species.bodypart_overrides[BODY_ZONE_R_LEG] = initial(r_leg.digitigrade_type) + final_bodypart_overrides[BODY_ZONE_R_LEG] = initial(r_leg.digitigrade_type) var/obj/item/bodypart/leg/left/l_leg = new_species.bodypart_overrides[BODY_ZONE_L_LEG] if(l_leg) - new_species.bodypart_overrides[BODY_ZONE_L_LEG] = initial(l_leg.digitigrade_type) + final_bodypart_overrides[BODY_ZONE_L_LEG] = initial(l_leg.digitigrade_type) // SKYRAT EDIT END for(var/obj/item/bodypart/old_part as anything in target.bodyparts) if((old_part.change_exempt_flags & BP_BLOCK_CHANGE_SPECIES) || (old_part.bodypart_flags & BODYPART_IMPLANTED)) continue - var/path = new_species.bodypart_overrides?[old_part.body_zone] + var/path = final_bodypart_overrides?[old_part.body_zone] var/obj/item/bodypart/new_part if(path) new_part = new path() diff --git a/code/modules/mob/living/carbon/human/species_types/ethereal.dm b/code/modules/mob/living/carbon/human/species_types/ethereal.dm index bd03f4fc940..61883cb0f62 100644 --- a/code/modules/mob/living/carbon/human/species_types/ethereal.dm +++ b/code/modules/mob/living/carbon/human/species_types/ethereal.dm @@ -9,7 +9,6 @@ exotic_blood = /datum/reagent/consumable/liquidelectricity //Liquid Electricity. fuck you think of something better gamer exotic_bloodtype = "LE" siemens_coeff = 0.5 //They thrive on energy - brutemod = 1.25 //They're weak to punches payday_modifier = 0.75 /* SKYRAT EDIT - ORIGINAL species_traits = list( diff --git a/code/modules/mob/living/carbon/human/species_types/golems.dm b/code/modules/mob/living/carbon/human/species_types/golems.dm index 87c716e858b..429c4430690 100644 --- a/code/modules/mob/living/carbon/human/species_types/golems.dm +++ b/code/modules/mob/living/carbon/human/species_types/golems.dm @@ -23,7 +23,7 @@ mutantlungs = null inherent_biotypes = MOB_HUMANOID|MOB_MINERAL liked_food = STONE - armor = 10 + damage_modifier = 10 //golem is stronk payday_modifier = 0.75 siemens_coeff = 0 no_equip_flags = ITEM_SLOT_MASK | ITEM_SLOT_OCLOTHING | ITEM_SLOT_GLOVES | ITEM_SLOT_FEET | ITEM_SLOT_ICLOTHING | ITEM_SLOT_SUITSTORE @@ -99,7 +99,7 @@ /// Remove nutrient value from non-mineral food, wish this was on an organ and not species but such is life /datum/species/golem/handle_chemicals(datum/reagent/chem, mob/living/carbon/human/H, delta_time, times_fired) - if (istype(chem, /datum/reagent/consumable) && !istype(chem, /datum/reagent/consumable/nutriment/mineral)) + if(istype(chem, /datum/reagent/consumable) && !istype(chem, /datum/reagent/consumable/nutriment/mineral)) var/datum/reagent/consumable/yummy_chem = chem yummy_chem.nutriment_factor = 0 return ..() diff --git a/code/modules/mob/living/carbon/human/species_types/jellypeople.dm b/code/modules/mob/living/carbon/human/species_types/jellypeople.dm index e68bbe0d7fa..dc738dd8883 100644 --- a/code/modules/mob/living/carbon/human/species_types/jellypeople.dm +++ b/code/modules/mob/living/carbon/human/species_types/jellypeople.dm @@ -31,7 +31,6 @@ toxic_food = NONE coldmod = 6 // = 3x cold damage heatmod = 0.5 // = 1/4x heat damage - burnmod = 0.5 // = 1/2x generic burn damage payday_modifier = 0.75 changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_PRIDE | MIRROR_MAGIC | RACE_SWAP | ERT_SPAWN | SLIME_EXTRACT inherent_factions = list(FACTION_SLIME) diff --git a/code/modules/mob/living/carbon/human/species_types/lizardpeople.dm b/code/modules/mob/living/carbon/human/species_types/lizardpeople.dm index 93e6e51786e..84774d9a1de 100644 --- a/code/modules/mob/living/carbon/human/species_types/lizardpeople.dm +++ b/code/modules/mob/living/carbon/human/species_types/lizardpeople.dm @@ -182,9 +182,9 @@ Lizard subspecies: SILVER SCALED TRAIT_WINE_TASTER, ) mutantlungs = null + damage_modifier = 10 //very light silvery scales soften blows species_language_holder = /datum/language_holder/lizard //SKYRAT EDIT CHANGE - Enclave pirates - ORIGINAL: species_language_holder = /datum/language_holder/lizard/silver mutanttongue = /obj/item/organ/internal/tongue/lizard //SKYRAT EDIT CHANGE - Enclave pirates - ORIGINAL: mutanttongue = /obj/item/organ/internal/tongue/lizard/silver - armor = 10 //very light silvery scales soften blows changesource_flags = MIRROR_BADMIN | MIRROR_MAGIC | RACE_SWAP | ERT_SPAWN examine_limb_id = SPECIES_LIZARD ///stored mutcolor for when we turn back off of a silverscale. @@ -194,22 +194,19 @@ Lizard subspecies: SILVER SCALED ///See above var/old_eye_color_right -/datum/species/lizard/silverscale/on_species_gain(mob/living/carbon/new_silverscale, datum/species/old_species, pref_load) - var/mob/living/carbon/human/silverscale = new_silverscale +/datum/species/lizard/silverscale/on_species_gain(mob/living/carbon/human/new_silverscale, datum/species/old_species, pref_load) old_mutcolor = new_silverscale.dna.features["mcolor"] - old_eye_color_left = silverscale.eye_color_left - old_eye_color_right = silverscale.eye_color_right + old_eye_color_left = new_silverscale.eye_color_left + old_eye_color_right = new_silverscale.eye_color_right new_silverscale.dna.features["mcolor"] = "#eeeeee" - silverscale.eye_color_left = "#0000a0" - silverscale.eye_color_right = "#0000a0" - ..() - silverscale.add_filter("silver_glint", 2, list("type" = "outline", "color" = "#ffffff63", "size" = 2)) + new_silverscale.eye_color_left = "#0000a0" + new_silverscale.eye_color_right = "#0000a0" + . = ..() + new_silverscale.add_filter("silver_glint", 2, list("type" = "outline", "color" = "#ffffff63", "size" = 2)) -/datum/species/lizard/silverscale/on_species_loss(mob/living/carbon/old_silverscale, datum/species/new_species, pref_load) - var/mob/living/carbon/human/was_silverscale = old_silverscale +/datum/species/lizard/silverscale/on_species_loss(mob/living/carbon/human/was_silverscale, datum/species/new_species, pref_load) was_silverscale.dna.features["mcolor"] = old_mutcolor was_silverscale.eye_color_left = old_eye_color_left was_silverscale.eye_color_right = old_eye_color_right - was_silverscale.remove_filter("silver_glint") - ..() + return ..() diff --git a/code/modules/mob/living/carbon/human/species_types/mushpeople.dm b/code/modules/mob/living/carbon/human/species_types/mushpeople.dm index 9143ec22fd7..75fbbf8add2 100644 --- a/code/modules/mob/living/carbon/human/species_types/mushpeople.dm +++ b/code/modules/mob/living/carbon/human/species_types/mushpeople.dm @@ -22,7 +22,6 @@ no_equip_flags = ITEM_SLOT_MASK | ITEM_SLOT_OCLOTHING | ITEM_SLOT_GLOVES | ITEM_SLOT_FEET | ITEM_SLOT_ICLOTHING - burnmod = 1.25 heatmod = 1.5 mutanttongue = /obj/item/organ/internal/tongue/mush diff --git a/code/modules/mob/living/carbon/human/species_types/plasmamen.dm b/code/modules/mob/living/carbon/human/species_types/plasmamen.dm index 8b8c4a3c86e..6d6cb9f985c 100644 --- a/code/modules/mob/living/carbon/human/species_types/plasmamen.dm +++ b/code/modules/mob/living/carbon/human/species_types/plasmamen.dm @@ -25,9 +25,7 @@ mutantstomach = /obj/item/organ/internal/stomach/bone/plasmaman mutantappendix = null mutantheart = null - burnmod = 1.5 heatmod = 1.5 - brutemod = 1.5 payday_modifier = 0.75 breathid = GAS_PLASMA disliked_food = FRUIT | CLOTH diff --git a/code/modules/mob/living/carbon/human/species_types/podpeople.dm b/code/modules/mob/living/carbon/human/species_types/podpeople.dm index 92518fc0ea2..53f483bc8ad 100644 --- a/code/modules/mob/living/carbon/human/species_types/podpeople.dm +++ b/code/modules/mob/living/carbon/human/species_types/podpeople.dm @@ -16,7 +16,6 @@ inherent_biotypes = MOB_ORGANIC | MOB_HUMANOID | MOB_PLANT inherent_factions = list(FACTION_PLANTS, FACTION_VINES) - burnmod = 1.25 heatmod = 1.5 payday_modifier = 0.75 meat = /obj/item/food/meat/slab/human/mutant/plant diff --git a/code/modules/mob/living/carbon/human/species_types/snail.dm b/code/modules/mob/living/carbon/human/species_types/snail.dm index e52f7a01462..35b24d42b97 100644 --- a/code/modules/mob/living/carbon/human/species_types/snail.dm +++ b/code/modules/mob/living/carbon/human/species_types/snail.dm @@ -20,7 +20,6 @@ ) coldmod = 0.5 //snails only come out when its cold and wet - burnmod = 2 speedmod = 6 siemens_coeff = 2 //snails are mostly water liked_food = VEGETABLES | FRUIT | GROSS | RAW //SKYRAT EDIT - Roundstart Snails - Food Prefs diff --git a/code/modules/mob/living/carbon/human/species_types/zombies.dm b/code/modules/mob/living/carbon/human/species_types/zombies.dm index 1333c6de4e3..1259afc6fdc 100644 --- a/code/modules/mob/living/carbon/human/species_types/zombies.dm +++ b/code/modules/mob/living/carbon/human/species_types/zombies.dm @@ -89,8 +89,8 @@ name = "Infectious Zombie" id = SPECIES_ZOMBIE_INFECTIOUS examine_limb_id = SPECIES_ZOMBIE - armor = 20 // 120 damage to KO a zombie, which kills it speedmod = 1.6 + damage_modifier = 20 // 120 damage to KO a zombie, which kills it mutanteyes = /obj/item/organ/internal/eyes/zombie mutantbrain = /obj/item/organ/internal/brain/zombie changesource_flags = MIRROR_BADMIN | WABBAJACK | ERT_SPAWN @@ -120,13 +120,13 @@ TRAIT_STABLELIVER, // Not necessary but for consistency with above ) -/datum/species/zombie/infectious/on_species_gain(mob/living/carbon/C, datum/species/old_species) +/datum/species/zombie/infectious/on_species_gain(mob/living/carbon/human/new_zombie, datum/species/old_species) . = ..() - C.AddComponent(/datum/component/mutant_hands, mutant_hand_path = /obj/item/mutant_hand/zombie) + new_zombie.AddComponent(/datum/component/mutant_hands, mutant_hand_path = /obj/item/mutant_hand/zombie) -/datum/species/zombie/infectious/on_species_loss(mob/living/carbon/human/C, datum/species/new_species, pref_load) +/datum/species/zombie/infectious/on_species_loss(mob/living/carbon/human/was_zombie, datum/species/new_species, pref_load) . = ..() - qdel(C.GetComponent(/datum/component/mutant_hands)) + qdel(was_zombie.GetComponent(/datum/component/mutant_hands)) /datum/species/zombie/infectious/check_roundstart_eligible() return FALSE diff --git a/code/modules/research/xenobiology/crossbreeding/_status_effects.dm b/code/modules/research/xenobiology/crossbreeding/_status_effects.dm index 845116d9327..bde40d944ec 100644 --- a/code/modules/research/xenobiology/crossbreeding/_status_effects.dm +++ b/code/modules/research/xenobiology/crossbreeding/_status_effects.dm @@ -1003,7 +1003,7 @@ /datum/status_effect/stabilized/lightpink/on_apply() owner.add_movespeed_modifier(/datum/movespeed_modifier/status_effect/lightpink) - ADD_TRAIT(owner, TRAIT_PACIFISM, STABILIZED_LIGHT_PINK_TRAIT) + ADD_TRAIT(owner, TRAIT_PACIFISM, STABILIZED_LIGHT_PINK_EXTRACT_TRAIT) return ..() /datum/status_effect/stabilized/lightpink/tick() @@ -1015,7 +1015,7 @@ /datum/status_effect/stabilized/lightpink/on_remove() owner.remove_movespeed_modifier(/datum/movespeed_modifier/status_effect/lightpink) - REMOVE_TRAIT(owner, TRAIT_PACIFISM, STABILIZED_LIGHT_PINK_TRAIT) + REMOVE_TRAIT(owner, TRAIT_PACIFISM, STABILIZED_LIGHT_PINK_EXTRACT_TRAIT) /datum/status_effect/stabilized/adamantine id = "stabilizedadamantine" diff --git a/code/modules/research/xenobiology/xenobiology.dm b/code/modules/research/xenobiology/xenobiology.dm index 7c3465e9796..ddbbe3eca43 100644 --- a/code/modules/research/xenobiology/xenobiology.dm +++ b/code/modules/research/xenobiology/xenobiology.dm @@ -473,12 +473,13 @@ /obj/item/slime_extract/adamantine/activate(mob/living/carbon/human/user, datum/species/jelly/luminescent/species, activation_type) switch(activation_type) if(SLIME_ACTIVATE_MINOR) - if(species.armor > 0) + if(HAS_TRAIT(user, TRAIT_ADAMANTINE_EXTRACT_ARMOR)) to_chat(user, span_warning("Your skin is already hardened!")) return + ADD_TRAIT(user, TRAIT_ADAMANTINE_EXTRACT_ARMOR, ADAMANTINE_EXTRACT_TRAIT) to_chat(user, span_notice("You feel your skin harden and become more resistant.")) - species.armor += 25 - addtimer(CALLBACK(src, PROC_REF(reset_armor), species), 1200) + user.physiology.damage_resistance += 25 + addtimer(CALLBACK(src, PROC_REF(reset_armor), user), 120 SECONDS) return 450 if(SLIME_ACTIVATE_MAJOR) @@ -489,9 +490,9 @@ return to_chat(user, span_notice("You stop feeding [src], and your body returns to its slimelike state.")) -/obj/item/slime_extract/adamantine/proc/reset_armor(datum/species/jelly/luminescent/species) - if(istype(species)) - species.armor -= 25 +/obj/item/slime_extract/adamantine/proc/reset_armor(mob/living/carbon/human/user) + REMOVE_TRAIT(user, TRAIT_ADAMANTINE_EXTRACT_ARMOR, ADAMANTINE_EXTRACT_TRAIT) + user.physiology.damage_resistance -= 25 /obj/item/slime_extract/bluespace name = "bluespace slime extract" diff --git a/code/modules/surgery/advanced/bioware/bioware.dm b/code/modules/surgery/advanced/bioware/bioware.dm index 6a4ce36a83f..4a679e74631 100644 --- a/code/modules/surgery/advanced/bioware/bioware.dm +++ b/code/modules/surgery/advanced/bioware/bioware.dm @@ -9,16 +9,18 @@ var/can_process = FALSE var/mod_type = BIOWARE_GENERIC -/datum/bioware/New(mob/living/carbon/human/_owner) - owner = _owner - for(var/datum/bioware/bioware as anything in owner.bioware) +/datum/bioware/New(mob/living/carbon/human/new_owner) + owner = new_owner + for(var/datum/bioware/bioware as anything in owner.biowares) if(bioware.mod_type == mod_type) qdel(src) return - owner.bioware += src + LAZYADD(owner.biowares, src) on_gain() /datum/bioware/Destroy() + if(owner) + LAZYREMOVE(owner.biowares, src) owner = null if(active) on_lose() diff --git a/code/modules/surgery/advanced/bioware/bioware_surgery.dm b/code/modules/surgery/advanced/bioware/bioware_surgery.dm index 203c8b17fba..4db161e5249 100644 --- a/code/modules/surgery/advanced/bioware/bioware_surgery.dm +++ b/code/modules/surgery/advanced/bioware/bioware_surgery.dm @@ -7,7 +7,7 @@ return FALSE if(!istype(target)) return FALSE - for(var/datum/bioware/bioware as anything in target.bioware) + for(var/datum/bioware/bioware as anything in target.biowares) if(bioware.mod_type == bioware_target) return FALSE return TRUE diff --git a/code/modules/surgery/bodyparts/_bodyparts.dm b/code/modules/surgery/bodyparts/_bodyparts.dm index 1f6bd734fee..faf6ed60945 100644 --- a/code/modules/surgery/bodyparts/_bodyparts.dm +++ b/code/modules/surgery/bodyparts/_bodyparts.dm @@ -89,10 +89,15 @@ ///Gradually increases while burning when at full damage, destroys the limb when at 100 var/cremation_progress = 0 + //Multiplicative damage modifiers + /// Brute damage gets multiplied by this on receive_damage() + var/brute_modifier = 1 + /// Burn damage gets multiplied by this on receive_damage() + var/burn_modifier = 1 // Damage reduction variables for damage handled on the limb level. Handled after worn armor. - ///Amount subtracted from brute damage inflicted on the limb. + /// Amount subtracted from brute damage inflicted on the limb. var/brute_reduction = 0 - ///Amount subtracted from burn damage inflicted on the limb. + /// Amount subtracted from burn damage inflicted on the limb. var/burn_reduction = 0 //Coloring and proper item icon update @@ -464,8 +469,8 @@ return FALSE var/dmg_multi = CONFIG_GET(number/damage_multiplier) * hit_percent - brute = round(max(brute * dmg_multi, 0),DAMAGE_PRECISION) - burn = round(max(burn * dmg_multi, 0),DAMAGE_PRECISION) + brute = round(max(brute * dmg_multi * brute_modifier, 0), DAMAGE_PRECISION) + burn = round(max(burn * dmg_multi * burn_modifier, 0), DAMAGE_PRECISION) brute = max(0, brute - brute_reduction) burn = max(0, burn - burn_reduction) diff --git a/code/modules/surgery/bodyparts/species_parts/ethereal_bodyparts.dm b/code/modules/surgery/bodyparts/species_parts/ethereal_bodyparts.dm index 767ee35cb7d..076d4f684a1 100644 --- a/code/modules/surgery/bodyparts/species_parts/ethereal_bodyparts.dm +++ b/code/modules/surgery/bodyparts/species_parts/ethereal_bodyparts.dm @@ -6,6 +6,7 @@ attack_type = BURN // bish buzz unarmed_attack_sound = 'sound/weapons/etherealhit.ogg' unarmed_miss_sound = 'sound/weapons/etherealmiss.ogg' + brute_modifier = 1.25 //ethereal are weak to brute damage /obj/item/bodypart/head/ethereal/update_limb(dropping_limb, is_creating) . = ..() @@ -19,6 +20,7 @@ limb_id = SPECIES_ETHEREAL is_dimorphic = FALSE dmg_overlay_type = null + brute_modifier = 1.25 //ethereal are weak to brute damage /obj/item/bodypart/chest/ethereal/update_limb(dropping_limb, is_creating) . = ..() @@ -35,6 +37,7 @@ unarmed_attack_verb = "burn" unarmed_attack_sound = 'sound/weapons/etherealhit.ogg' unarmed_miss_sound = 'sound/weapons/etherealmiss.ogg' + brute_modifier = 1.25 //ethereal are weak to brute damage /obj/item/bodypart/arm/left/ethereal/update_limb(dropping_limb, is_creating) . = ..() @@ -51,6 +54,7 @@ unarmed_attack_verb = "burn" unarmed_attack_sound = 'sound/weapons/etherealhit.ogg' unarmed_miss_sound = 'sound/weapons/etherealmiss.ogg' + brute_modifier = 1.25 //ethereal are weak to brute damages /obj/item/bodypart/arm/right/ethereal/update_limb(dropping_limb, is_creating) . = ..() @@ -59,7 +63,6 @@ var/datum/species/ethereal/eth_holder = potato_oc.dna.species species_color = eth_holder.current_color - /obj/item/bodypart/leg/left/ethereal icon_greyscale = 'icons/mob/species/ethereal/bodyparts.dmi' limb_id = SPECIES_ETHEREAL @@ -67,6 +70,7 @@ attack_type = BURN // bish buzz unarmed_attack_sound = 'sound/weapons/etherealhit.ogg' unarmed_miss_sound = 'sound/weapons/etherealmiss.ogg' + brute_modifier = 1.25 //ethereal are weak to brute damage /obj/item/bodypart/leg/left/ethereal/update_limb(dropping_limb, is_creating) . = ..() @@ -82,6 +86,7 @@ attack_type = BURN // bish buzz unarmed_attack_sound = 'sound/weapons/etherealhit.ogg' unarmed_miss_sound = 'sound/weapons/etherealmiss.ogg' + brute_modifier = 1.25 //ethereal are weak to brute damage /obj/item/bodypart/leg/right/ethereal/update_limb(dropping_limb, is_creating) . = ..() diff --git a/code/modules/surgery/bodyparts/species_parts/misc_bodyparts.dm b/code/modules/surgery/bodyparts/species_parts/misc_bodyparts.dm index 3967323cf48..baad134f6c8 100644 --- a/code/modules/surgery/bodyparts/species_parts/misc_bodyparts.dm +++ b/code/modules/surgery/bodyparts/species_parts/misc_bodyparts.dm @@ -3,43 +3,45 @@ biological_state = BIO_FLESH //SKYRAT EDIT - Roundstart Snails - Now invertebrates! limb_id = SPECIES_SNAIL is_dimorphic = FALSE + burn_modifier = 2 /obj/item/bodypart/chest/snail biological_state = BIO_FLESH //SKYRAT EDIT - Roundstart Snails - Now invertebrates! limb_id = SPECIES_SNAIL is_dimorphic = FALSE + burn_modifier = 2 /obj/item/bodypart/arm/left/snail biological_state = BIO_FLESH //SKYRAT EDIT - Roundstart Snails - Now invertebrates! limb_id = SPECIES_SNAIL unarmed_attack_verb = "slap" unarmed_attack_effect = ATTACK_EFFECT_DISARM - //unarmed_damage_high = 0.5 unarmed_damage_low = 1 //SKYRAT EDIT - Roundstart Snails - Lowest possible punch damage. if this is set to 0, punches will always miss. - unarmed_damage_high = 5 //snails are soft and squishy //SKYRAT EDIT - Roundstart Snails - A Bit More Damage. Original = unarmed_damage_high = 0.5 + unarmed_damage_high = 5 //snails are soft and squishy //SKYRAT EDIT - Roundstart Snails - A Bit More Damage. - ORIGINAL: unarmed_damage_high = 0.5 //snails are soft and squishy + burn_modifier = 2 /obj/item/bodypart/arm/right/snail biological_state = BIO_FLESH //SKYRAT EDIT - Roundstart Snails - Now invertebrates! limb_id = SPECIES_SNAIL unarmed_attack_verb = "slap" unarmed_attack_effect = ATTACK_EFFECT_DISARM - //unarmed_damage_high = 0.5 unarmed_damage_low = 1 //SKYRAT EDIT - Roundstart Snails - Lowest possible punch damage. if this is set to 0, punches will always miss. - unarmed_damage_high = 5 //snails are soft and squishy //SKYRAT EDIT - Roundstart Snails - A Bit More Damage. Original = unarmed_damage_high = 0.5 + unarmed_damage_high = 5 //snails are soft and squishy //SKYRAT EDIT - Roundstart Snails - A Bit More Damage. - ORIGINAL: unarmed_damage_high = 0.5 //snails are soft and squishy + burn_modifier = 2 /obj/item/bodypart/leg/left/snail biological_state = BIO_FLESH //SKYRAT EDIT - Roundstart Snails - Now invertebrates! limb_id = SPECIES_SNAIL - //unarmed_damage_high = 0.5 unarmed_damage_low = 1 //SKYRAT EDIT - Roundstart Snails - Lowest possible punch damage. if this is set to 0, punches will always miss. - unarmed_damage_high = 5 //snails are soft and squishy //SKYRAT EDIT - Roundstart Snails - A Bit More Damage. Original = unarmed_damage_high = 0.5 + unarmed_damage_high = 5 //snails are soft and squishy //SKYRAT EDIT - Roundstart Snails - A Bit More Damage. - ORIGINAL: unarmed_damage_high = 0.5 //snails are soft and squishy + burn_modifier = 2 /obj/item/bodypart/leg/right/snail biological_state = BIO_FLESH //SKYRAT EDIT - Roundstart Snails - Now invertebrates! limb_id = SPECIES_SNAIL - //unarmed_damage_high = 0.5 unarmed_damage_low = 1 //SKYRAT EDIT - Roundstart Snails - Lowest possible punch damage. if this is set to 0, punches will always miss. - unarmed_damage_high = 5 //snails are soft and squishy //SKYRAT EDIT - Roundstart Snails - A Bit More Damage. Original = unarmed_damage_high = 0.5 + unarmed_damage_high = 5 //snails are soft and squishy //SKYRAT EDIT - Roundstart Snails - A Bit More Damage. - ORIGINAL: unarmed_damage_high = 0.5 //snails are soft and squishy + burn_modifier = 2 ///ABDUCTOR /obj/item/bodypart/head/abductor @@ -82,32 +84,38 @@ limb_id = SPECIES_JELLYPERSON is_dimorphic = TRUE dmg_overlay_type = null + burn_modifier = 0.5 // = 1/2x generic burn damage /obj/item/bodypart/chest/jelly biological_state = BIO_INORGANIC limb_id = SPECIES_JELLYPERSON is_dimorphic = TRUE dmg_overlay_type = null + burn_modifier = 0.5 // = 1/2x generic burn damage /obj/item/bodypart/arm/left/jelly biological_state = BIO_INORGANIC limb_id = SPECIES_JELLYPERSON dmg_overlay_type = null + burn_modifier = 0.5 // = 1/2x generic burn damage /obj/item/bodypart/arm/right/jelly biological_state = BIO_INORGANIC limb_id = SPECIES_JELLYPERSON dmg_overlay_type = null + burn_modifier = 0.5 // = 1/2x generic burn damage /obj/item/bodypart/leg/left/jelly biological_state = BIO_INORGANIC limb_id = SPECIES_JELLYPERSON dmg_overlay_type = null + burn_modifier = 0.5 // = 1/2x generic burn damage /obj/item/bodypart/leg/right/jelly biological_state = BIO_INORGANIC limb_id = SPECIES_JELLYPERSON dmg_overlay_type = null + burn_modifier = 0.5 // = 1/2x generic burn damage ///SLIME /obj/item/bodypart/head/slime @@ -194,10 +202,12 @@ /obj/item/bodypart/head/pod limb_id = SPECIES_PODPERSON is_dimorphic = TRUE + burn_modifier = 1.25 /obj/item/bodypart/chest/pod limb_id = SPECIES_PODPERSON is_dimorphic = TRUE + burn_modifier = 1.25 /obj/item/bodypart/arm/left/pod limb_id = SPECIES_PODPERSON @@ -205,6 +215,7 @@ unarmed_attack_effect = ATTACK_EFFECT_CLAW unarmed_attack_sound = 'sound/weapons/slice.ogg' unarmed_miss_sound = 'sound/weapons/slashmiss.ogg' + burn_modifier = 1.25 /obj/item/bodypart/arm/right/pod limb_id = SPECIES_PODPERSON @@ -212,12 +223,15 @@ unarmed_attack_effect = ATTACK_EFFECT_CLAW unarmed_attack_sound = 'sound/weapons/slice.ogg' unarmed_miss_sound = 'sound/weapons/slashmiss.ogg' + burn_modifier = 1.25 /obj/item/bodypart/leg/left/pod limb_id = SPECIES_PODPERSON + burn_modifier = 1.25 /obj/item/bodypart/leg/right/pod limb_id = SPECIES_PODPERSON + burn_modifier = 1.25 ///FLY /obj/item/bodypart/head/fly @@ -252,32 +266,38 @@ limb_id = SPECIES_SHADOW is_dimorphic = FALSE should_draw_greyscale = FALSE + burn_modifier = 1.5 /obj/item/bodypart/chest/shadow biological_state = BIO_INORGANIC limb_id = SPECIES_SHADOW is_dimorphic = FALSE should_draw_greyscale = FALSE + burn_modifier = 1.5 /obj/item/bodypart/arm/left/shadow biological_state = BIO_INORGANIC limb_id = SPECIES_SHADOW should_draw_greyscale = FALSE + burn_modifier = 1.5 /obj/item/bodypart/arm/right/shadow biological_state = BIO_INORGANIC limb_id = SPECIES_SHADOW should_draw_greyscale = FALSE + burn_modifier = 1.5 /obj/item/bodypart/leg/left/shadow biological_state = BIO_INORGANIC limb_id = SPECIES_SHADOW should_draw_greyscale = FALSE + burn_modifier = 1.5 /obj/item/bodypart/leg/right/shadow biological_state = BIO_INORGANIC limb_id = SPECIES_SHADOW should_draw_greyscale = FALSE + burn_modifier = 1.5 /obj/item/bodypart/arm/left/shadow/nightmare bodypart_traits = list(TRAIT_CHUNKYFINGERS) @@ -328,36 +348,43 @@ /obj/item/bodypart/head/mushroom limb_id = SPECIES_MUSHROOM is_dimorphic = TRUE + burn_modifier = 1.25 /obj/item/bodypart/chest/mushroom limb_id = SPECIES_MUSHROOM is_dimorphic = TRUE bodypart_traits = list(TRAIT_NO_JUMPSUIT) + burn_modifier = 1.25 /obj/item/bodypart/arm/left/mushroom limb_id = SPECIES_MUSHROOM unarmed_damage_low = 6 unarmed_damage_high = 14 unarmed_stun_threshold = 14 + burn_modifier = 1.25 /obj/item/bodypart/arm/right/mushroom limb_id = SPECIES_MUSHROOM unarmed_damage_low = 6 unarmed_damage_high = 14 unarmed_stun_threshold = 14 + burn_modifier = 1.25 /obj/item/bodypart/leg/left/mushroom limb_id = SPECIES_MUSHROOM unarmed_damage_low = 9 unarmed_damage_high = 21 unarmed_stun_threshold = 14 + burn_modifier = 1.25 /obj/item/bodypart/leg/right/mushroom limb_id = SPECIES_MUSHROOM unarmed_damage_low = 9 unarmed_damage_high = 21 unarmed_stun_threshold = 14 + burn_modifier = 1.25 +//GOLEM /obj/item/bodypart/head/golem icon = 'icons/mob/species/golems.dmi' icon_static = 'icons/mob/species/golems.dmi' diff --git a/code/modules/surgery/bodyparts/species_parts/plasmaman_bodyparts.dm b/code/modules/surgery/bodyparts/species_parts/plasmaman_bodyparts.dm index 8adc098844d..b77c89da323 100644 --- a/code/modules/surgery/bodyparts/species_parts/plasmaman_bodyparts.dm +++ b/code/modules/surgery/bodyparts/species_parts/plasmaman_bodyparts.dm @@ -7,6 +7,8 @@ is_dimorphic = FALSE should_draw_greyscale = FALSE dmg_overlay_type = null + brute_modifier = 1.5 //Plasmemes are weak + burn_modifier = 1.5 //Plasmemes are weak /obj/item/bodypart/chest/plasmaman icon = 'icons/mob/species/plasmaman/bodyparts.dmi' @@ -17,6 +19,8 @@ is_dimorphic = FALSE should_draw_greyscale = FALSE dmg_overlay_type = null + brute_modifier = 1.5 //Plasmemes are weak + burn_modifier = 1.5 //Plasmemes are weak /obj/item/bodypart/arm/left/plasmaman icon = 'icons/mob/species/plasmaman/bodyparts.dmi' @@ -26,6 +30,8 @@ limb_id = SPECIES_PLASMAMAN should_draw_greyscale = FALSE dmg_overlay_type = null + brute_modifier = 1.5 //Plasmemes are weak + burn_modifier = 1.5 //Plasmemes are weak /obj/item/bodypart/arm/right/plasmaman icon = 'icons/mob/species/plasmaman/bodyparts.dmi' @@ -35,6 +41,8 @@ limb_id = SPECIES_PLASMAMAN should_draw_greyscale = FALSE dmg_overlay_type = null + brute_modifier = 1.5 //Plasmemes are weak + burn_modifier = 1.5 //Plasmemes are weak /obj/item/bodypart/leg/left/plasmaman icon = 'icons/mob/species/plasmaman/bodyparts.dmi' @@ -44,6 +52,8 @@ limb_id = SPECIES_PLASMAMAN should_draw_greyscale = FALSE dmg_overlay_type = null + brute_modifier = 1.5 //Plasmemes are weak + burn_modifier = 1.5 //Plasmemes are weak /obj/item/bodypart/leg/right/plasmaman icon = 'icons/mob/species/plasmaman/bodyparts.dmi' @@ -53,3 +63,5 @@ limb_id = SPECIES_PLASMAMAN should_draw_greyscale = FALSE dmg_overlay_type = null + brute_modifier = 1.5 //Plasmemes are weak + burn_modifier = 1.5 //Plasmemes are weak diff --git a/code/modules/surgery/organs/stomach/stomach_golem.dm b/code/modules/surgery/organs/stomach/stomach_golem.dm index 9a085a5bbfb..6b556c8d1f6 100644 --- a/code/modules/surgery/organs/stomach/stomach_golem.dm +++ b/code/modules/surgery/organs/stomach/stomach_golem.dm @@ -15,25 +15,20 @@ /obj/item/organ/internal/stomach/golem/on_insert(mob/living/carbon/organ_owner, special) . = ..() RegisterSignal(owner, COMSIG_CARBON_ATTEMPT_EAT, PROC_REF(try_eating)) - if (!ishuman(organ_owner)) + if(!ishuman(organ_owner)) return - if (organ_owner.flags_1 & INITIALIZED_1) - setup_physiology(organ_owner) - else - RegisterSignal(owner, COMSIG_ATOM_AFTER_SUCCESSFUL_INITIALIZE, PROC_REF(setup_physiology)) + setup_physiology(organ_owner) /// Physiology doesn't exist yet if this is added on initialisation of a golem, so we need to wait until it does /obj/item/organ/internal/stomach/golem/proc/setup_physiology(mob/living/carbon/human/human_owner) - SIGNAL_HANDLER human_owner.physiology?.hunger_mod *= hunger_mod - UnregisterSignal(human_owner, COMSIG_ATOM_AFTER_SUCCESSFUL_INITIALIZE) /obj/item/organ/internal/stomach/golem/on_remove(mob/living/carbon/organ_owner, special) . = ..() UnregisterSignal(organ_owner, COMSIG_CARBON_ATTEMPT_EAT) organ_owner.remove_movespeed_modifier(/datum/movespeed_modifier/golem_hunger) organ_owner.remove_status_effect(/datum/status_effect/golem_statued) - if (!ishuman(organ_owner)) + if(!ishuman(organ_owner)) return var/mob/living/carbon/human/human_owner = organ_owner human_owner.physiology?.hunger_mod /= hunger_mod @@ -41,7 +36,7 @@ /// Reject food, rocks only /obj/item/organ/internal/stomach/golem/proc/try_eating(mob/living/carbon/source, atom/eating) SIGNAL_HANDLER - if (istype(eating, /obj/item/food/golem_food)) + if(istype(eating, /obj/item/food/golem_food)) return source.balloon_alert(source, "minerals only!") return COMSIG_CARBON_BLOCK_EAT diff --git a/modular_skyrat/modules/ashwalkers/code/species/Ashwalkers.dm b/modular_skyrat/modules/ashwalkers/code/species/Ashwalkers.dm index 19bb8349e10..d24aa290ec0 100644 --- a/modular_skyrat/modules/ashwalkers/code/species/Ashwalkers.dm +++ b/modular_skyrat/modules/ashwalkers/code/species/Ashwalkers.dm @@ -1,7 +1,13 @@ /datum/species/lizard/ashwalker mutanteyes = /obj/item/organ/internal/eyes/night_vision/ashwalker - burnmod = 0.8 - brutemod = 0.9 + bodypart_overrides = list( + BODY_ZONE_HEAD = /obj/item/bodypart/head/lizard/ashwalker, + BODY_ZONE_CHEST = /obj/item/bodypart/chest/lizard/ashwalker, + BODY_ZONE_L_ARM = /obj/item/bodypart/arm/left/lizard/ashwalker, + BODY_ZONE_R_ARM = /obj/item/bodypart/arm/right/lizard/ashwalker, + BODY_ZONE_L_LEG = /obj/item/bodypart/leg/left/lizard/ashwalker, + BODY_ZONE_R_LEG = /obj/item/bodypart/leg/right/lizard/ashwalker, + ) /datum/species/lizard/ashwalker/on_species_gain(mob/living/carbon/carbon_target, datum/species/old_species) . = ..() @@ -68,7 +74,7 @@ ADD_TRAIT(human_target, TRAIT_ASHSTORM_IMMUNE, REF(src)) to_chat(human_target, span_notice("The biting wind seems to sting less...")) if(2) - species_target.armor += 10 + species_target.damage_modifier += 10 to_chat(human_target, span_notice("Your body seems to be sturdier...")) if(3) var/obj/item/bodypart/arm/left/left_arm = human_target.get_bodypart(BODY_ZONE_L_ARM) diff --git a/modular_skyrat/modules/bodyparts/code/ashwalker_bodyparts.dm b/modular_skyrat/modules/bodyparts/code/ashwalker_bodyparts.dm new file mode 100644 index 00000000000..8b37b191b48 --- /dev/null +++ b/modular_skyrat/modules/bodyparts/code/ashwalker_bodyparts.dm @@ -0,0 +1,29 @@ +#define ASHWALKER_BRUTE_MODIFIER 0.8 +#define ASHWALKER_BURN_MODIFIER 0.9 + +/obj/item/bodypart/head/lizard/ashwalker + brute_modifier = ASHWALKER_BRUTE_MODIFIER + burn_modifier = ASHWALKER_BURN_MODIFIER + +/obj/item/bodypart/chest/lizard/ashwalker + brute_modifier = ASHWALKER_BRUTE_MODIFIER + burn_modifier = ASHWALKER_BURN_MODIFIER + +/obj/item/bodypart/arm/left/lizard/ashwalker + brute_modifier = ASHWALKER_BRUTE_MODIFIER + burn_modifier = ASHWALKER_BURN_MODIFIER + +/obj/item/bodypart/arm/right/lizard/ashwalker + brute_modifier = ASHWALKER_BRUTE_MODIFIER + burn_modifier = ASHWALKER_BURN_MODIFIER + +/obj/item/bodypart/leg/left/lizard/ashwalker + brute_modifier = ASHWALKER_BRUTE_MODIFIER + burn_modifier = ASHWALKER_BURN_MODIFIER + +/obj/item/bodypart/leg/right/lizard/ashwalker + brute_modifier = ASHWALKER_BRUTE_MODIFIER + burn_modifier = ASHWALKER_BURN_MODIFIER + +#undef ASHWALKER_BRUTE_MODIFIER +#undef ASHWALKER_BURN_MODIFIER diff --git a/modular_skyrat/modules/bodyparts/code/ghoul_bodyparts.dm b/modular_skyrat/modules/bodyparts/code/ghoul_bodyparts.dm index 37a9cc982df..0a9ea41204c 100644 --- a/modular_skyrat/modules/bodyparts/code/ghoul_bodyparts.dm +++ b/modular_skyrat/modules/bodyparts/code/ghoul_bodyparts.dm @@ -1,8 +1,14 @@ +#define GHOUL_BRUTE_MODIFIER 2 +#define GHOUL_BURN_MODIFIER 2 + // Ghouls! /obj/item/bodypart/head/mutant/ghoul icon_greyscale = BODYPART_ICON_GHOUL is_dimorphic = FALSE limb_id = SPECIES_GHOUL + brute_modifier = GHOUL_BRUTE_MODIFIER + burn_modifier = GHOUL_BURN_MODIFIER + /obj/item/bodypart/head/mutant/ghoul/Initialize(mapload) worn_ears_offset = new( @@ -36,6 +42,9 @@ icon_greyscale = BODYPART_ICON_GHOUL limb_id = SPECIES_GHOUL is_dimorphic = FALSE + brute_modifier = GHOUL_BRUTE_MODIFIER + burn_modifier = GHOUL_BURN_MODIFIER + /obj/item/bodypart/chest/mutant/ghoul/Initialize(mapload) worn_neck_offset = new( @@ -54,8 +63,8 @@ unarmed_attack_effect = ATTACK_EFFECT_PUNCH unarmed_attack_sound = 'sound/weapons/punch1.ogg' unarmed_miss_sound = 'sound/weapons/punchmiss.ogg' - - + brute_modifier = GHOUL_BRUTE_MODIFIER + burn_modifier = GHOUL_BURN_MODIFIER /obj/item/bodypart/arm/right/mutant/ghoul @@ -67,15 +76,23 @@ unarmed_attack_effect = ATTACK_EFFECT_PUNCH unarmed_attack_sound = 'sound/weapons/punch1.ogg' unarmed_miss_sound = 'sound/weapons/punchmiss.ogg' + brute_modifier = GHOUL_BRUTE_MODIFIER + burn_modifier = GHOUL_BURN_MODIFIER /obj/item/bodypart/leg/left/mutant/ghoul icon_greyscale = BODYPART_ICON_GHOUL limb_id = SPECIES_GHOUL + brute_modifier = GHOUL_BRUTE_MODIFIER + burn_modifier = GHOUL_BURN_MODIFIER + /obj/item/bodypart/leg/right/mutant/ghoul icon_greyscale = BODYPART_ICON_GHOUL limb_id = SPECIES_GHOUL + brute_modifier = GHOUL_BRUTE_MODIFIER + burn_modifier = GHOUL_BURN_MODIFIER + // LIMBS @@ -122,3 +139,6 @@ . = newMeat // Return MEAT qdel(src) + +#undef GHOUL_BRUTE_MODIFIER +#undef GHOUL_BURN_MODIFIER diff --git a/modular_skyrat/modules/bodyparts/code/skrell_bodyparts.dm b/modular_skyrat/modules/bodyparts/code/skrell_bodyparts.dm index 6802a7f92f7..aa0b77c2e0e 100644 --- a/modular_skyrat/modules/bodyparts/code/skrell_bodyparts.dm +++ b/modular_skyrat/modules/bodyparts/code/skrell_bodyparts.dm @@ -1,24 +1,42 @@ +#define SKRELL_BRUTE_MODIFIER 1.70 +#define SKRELL_BURN_MODIFIER 0.60 + // Skrell! /obj/item/bodypart/head/mutant/skrell icon_greyscale = BODYPART_ICON_SKRELL limb_id = SPECIES_SKRELL + brute_modifier = SKRELL_BRUTE_MODIFIER + burn_modifier = SKRELL_BURN_MODIFIER /obj/item/bodypart/chest/mutant/skrell icon_greyscale = BODYPART_ICON_SKRELL limb_id = SPECIES_SKRELL + brute_modifier = SKRELL_BRUTE_MODIFIER + burn_modifier = SKRELL_BURN_MODIFIER /obj/item/bodypart/arm/left/mutant/skrell icon_greyscale = BODYPART_ICON_SKRELL limb_id = SPECIES_SKRELL + brute_modifier = SKRELL_BRUTE_MODIFIER + burn_modifier = SKRELL_BURN_MODIFIER /obj/item/bodypart/arm/right/mutant/skrell icon_greyscale = BODYPART_ICON_SKRELL limb_id = SPECIES_SKRELL + brute_modifier = SKRELL_BRUTE_MODIFIER + burn_modifier = SKRELL_BURN_MODIFIER /obj/item/bodypart/leg/left/mutant/skrell icon_greyscale = BODYPART_ICON_SKRELL limb_id = SPECIES_SKRELL + brute_modifier = SKRELL_BRUTE_MODIFIER + burn_modifier = SKRELL_BURN_MODIFIER /obj/item/bodypart/leg/right/mutant/skrell icon_greyscale = BODYPART_ICON_SKRELL limb_id = SPECIES_SKRELL + brute_modifier = SKRELL_BRUTE_MODIFIER + burn_modifier = SKRELL_BURN_MODIFIER + +#undef SKRELL_BRUTE_MODIFIER +#undef SKRELL_BURN_MODIFIER diff --git a/modular_skyrat/modules/bodyparts/code/teshari_bodyparts.dm b/modular_skyrat/modules/bodyparts/code/teshari_bodyparts.dm index af2755bc921..ff7bd998233 100644 --- a/modular_skyrat/modules/bodyparts/code/teshari_bodyparts.dm +++ b/modular_skyrat/modules/bodyparts/code/teshari_bodyparts.dm @@ -1,11 +1,15 @@ #define TESHARI_PUNCH_LOW 2 // Lower bound punch damage #define TESHARI_PUNCH_HIGH 6 +#define TESHARI_BURN_MODIFIER 1.25 // They take more damage from practically everything +#define TESHARI_BRUTE_MODIFIER 1.2 // teshari! /obj/item/bodypart/head/mutant/teshari icon_greyscale = BODYPART_ICON_TESHARI bodytype = BODYTYPE_HUMANOID | BODYTYPE_ORGANIC | BODYTYPE_CUSTOM limb_id = SPECIES_TESHARI + brute_modifier = TESHARI_BRUTE_MODIFIER + burn_modifier = TESHARI_BURN_MODIFIER /obj/item/bodypart/head/mutant/teshari/Initialize(mapload) worn_ears_offset = new( @@ -31,6 +35,8 @@ icon_greyscale = BODYPART_ICON_TESHARI bodytype = BODYTYPE_HUMANOID | BODYTYPE_ORGANIC | BODYTYPE_CUSTOM limb_id = SPECIES_TESHARI + brute_modifier = TESHARI_BRUTE_MODIFIER + burn_modifier = TESHARI_BURN_MODIFIER /obj/item/bodypart/chest/mutant/teshari/Initialize(mapload) worn_back_offset = new( @@ -52,6 +58,8 @@ limb_id = SPECIES_TESHARI unarmed_damage_low = TESHARI_PUNCH_LOW unarmed_damage_high = TESHARI_PUNCH_HIGH + brute_modifier = TESHARI_BRUTE_MODIFIER + burn_modifier = TESHARI_BURN_MODIFIER /obj/item/bodypart/arm/right/mutant/teshari @@ -60,6 +68,8 @@ limb_id = SPECIES_TESHARI unarmed_damage_low = TESHARI_PUNCH_LOW unarmed_damage_high = TESHARI_PUNCH_HIGH + brute_modifier = TESHARI_BRUTE_MODIFIER + burn_modifier = TESHARI_BURN_MODIFIER /obj/item/bodypart/leg/left/mutant/teshari @@ -67,22 +77,32 @@ bodytype = BODYTYPE_HUMANOID | BODYTYPE_ORGANIC | BODYTYPE_CUSTOM limb_id = SPECIES_TESHARI digitigrade_type = /obj/item/bodypart/leg/left/digitigrade/teshari + brute_modifier = TESHARI_BRUTE_MODIFIER + burn_modifier = TESHARI_BURN_MODIFIER /obj/item/bodypart/leg/right/mutant/teshari icon_greyscale = BODYPART_ICON_TESHARI bodytype = BODYTYPE_HUMANOID | BODYTYPE_ORGANIC | BODYTYPE_CUSTOM limb_id = SPECIES_TESHARI digitigrade_type = /obj/item/bodypart/leg/right/digitigrade/teshari + brute_modifier = TESHARI_BRUTE_MODIFIER + burn_modifier = TESHARI_BURN_MODIFIER /obj/item/bodypart/leg/left/digitigrade/teshari icon_greyscale = BODYPART_ICON_TESHARI bodytype = BODYTYPE_HUMANOID | BODYTYPE_ORGANIC | BODYTYPE_CUSTOM base_limb_id = SPECIES_TESHARI + brute_modifier = TESHARI_BRUTE_MODIFIER + burn_modifier = TESHARI_BURN_MODIFIER /obj/item/bodypart/leg/right/digitigrade/teshari icon_greyscale = BODYPART_ICON_TESHARI bodytype = BODYTYPE_HUMANOID | BODYTYPE_ORGANIC | BODYTYPE_CUSTOM base_limb_id = SPECIES_TESHARI + brute_modifier = TESHARI_BRUTE_MODIFIER + burn_modifier = TESHARI_BURN_MODIFIER #undef TESHARI_PUNCH_LOW #undef TESHARI_PUNCH_HIGH +#undef TESHARI_BURN_MODIFIER +#undef TESHARI_BRUTE_MODIFIER diff --git a/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species/ghoul.dm b/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species/ghoul.dm index e30f1138bfe..a73343dae35 100644 --- a/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species/ghoul.dm +++ b/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species/ghoul.dm @@ -28,9 +28,6 @@ disliked_food = VEGETABLES | FRUIT | CLOTH liked_food = RAW | MEAT payday_modifier = 0.75 //-- "Equality" - //armor = -100 //2x more damage - brutemod = 2 - burnmod = 2 stunmod = 1.25 //multiplier for stun durations bodytemp_normal = T20C changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_MAGIC | MIRROR_PRIDE | ERT_SPAWN | RACE_SWAP | SLIME_EXTRACT diff --git a/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species/roundstartslime.dm b/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species/roundstartslime.dm index 3f9afc54ade..a4889736b73 100644 --- a/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species/roundstartslime.dm +++ b/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species/roundstartslime.dm @@ -32,7 +32,6 @@ examine_limb_id = SPECIES_SLIMEPERSON coldmod = 3 heatmod = 1 - burnmod = 1 specific_alpha = 155 markings_alpha = 130 //This is set lower than the other so that the alpha values don't stack on top of each other so much mutanteyes = /obj/item/organ/internal/eyes diff --git a/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species/skrell.dm b/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species/skrell.dm index 49b4aadaa57..3d0f658a093 100644 --- a/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species/skrell.dm +++ b/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species/skrell.dm @@ -14,8 +14,6 @@ TRAIT_LITERATE, ) inherent_biotypes = MOB_ORGANIC|MOB_HUMANOID - brutemod = 1.70 - burnmod = 0.60 exotic_blood = /datum/reagent/copper bodytemp_normal = (BODYTEMP_NORMAL + 70) bodytemp_heat_damage_limit = FIRE_MINIMUM_TEMPERATURE_TO_SPREAD diff --git a/modular_skyrat/modules/mutants/code/mutant_species.dm b/modular_skyrat/modules/mutants/code/mutant_species.dm index d96f39604f3..c284ef9cc83 100644 --- a/modular_skyrat/modules/mutants/code/mutant_species.dm +++ b/modular_skyrat/modules/mutants/code/mutant_species.dm @@ -65,7 +65,7 @@ name = "Mutated Abomination" id = SPECIES_MUTANT_INFECTIOUS speedmod = 1 - armor = 10 + damage_modifier = 10 mutanteyes = /obj/item/organ/internal/eyes/zombie changesource_flags = MIRROR_BADMIN | WABBAJACK | ERT_SPAWN var/hands_to_give = /obj/item/hnz_mutant_hand @@ -82,7 +82,7 @@ name = "Fast Mutated Abomination" id = SPECIES_MUTANT_FAST hands_to_give = /obj/item/hnz_mutant_hand/fast - armor = 0 + damage_modifier = 0 /// The rate the mutants regenerate at heal_rate = 0.5 speedmod = 0.5 @@ -90,7 +90,7 @@ /datum/species/mutant/infectious/slow name = "Slow Mutated Abomination" id = SPECIES_MUTANT_SLOW - armor = 15 + damage_modifier = 15 speedmod = 1.5 /// The rate the mutants regenerate at heal_rate = 1.5 diff --git a/modular_skyrat/modules/synths/code/bodyparts/limbs.dm b/modular_skyrat/modules/synths/code/bodyparts/limbs.dm index c1d1cec7a72..5b44cf74084 100644 --- a/modular_skyrat/modules/synths/code/bodyparts/limbs.dm +++ b/modular_skyrat/modules/synths/code/bodyparts/limbs.dm @@ -1,3 +1,6 @@ +#define SYNTH_BRUTE_MODIFIER 1.3 +#define SYNTH_BURN_MODIFIER 1.3 + // Synth bois! /obj/item/bodypart/head/robot/synth icon_greyscale = BODYPART_ICON_IPC @@ -7,6 +10,8 @@ change_exempt_flags = NONE brute_reduction = 0 burn_reduction = 0 + brute_modifier = SYNTH_BRUTE_MODIFIER + burn_modifier = SYNTH_BURN_MODIFIER /obj/item/bodypart/chest/robot/synth icon_greyscale = BODYPART_ICON_IPC @@ -15,6 +20,8 @@ change_exempt_flags = NONE brute_reduction = 0 burn_reduction = 0 + brute_modifier = SYNTH_BRUTE_MODIFIER + burn_modifier = SYNTH_BURN_MODIFIER /obj/item/bodypart/arm/left/robot/synth icon_greyscale = BODYPART_ICON_IPC @@ -23,6 +30,8 @@ change_exempt_flags = NONE brute_reduction = 0 burn_reduction = 0 + brute_modifier = SYNTH_BRUTE_MODIFIER + burn_modifier = SYNTH_BURN_MODIFIER /obj/item/bodypart/arm/right/robot/synth icon_greyscale = BODYPART_ICON_IPC @@ -31,6 +40,8 @@ change_exempt_flags = NONE brute_reduction = 0 burn_reduction = 0 + brute_modifier = SYNTH_BRUTE_MODIFIER + burn_modifier = SYNTH_BURN_MODIFIER /obj/item/bodypart/leg/left/robot/synth icon_greyscale = BODYPART_ICON_IPC @@ -40,6 +51,8 @@ change_exempt_flags = NONE brute_reduction = 0 burn_reduction = 0 + brute_modifier = SYNTH_BRUTE_MODIFIER + burn_modifier = SYNTH_BURN_MODIFIER /obj/item/bodypart/leg/right/robot/synth icon_greyscale = BODYPART_ICON_IPC @@ -49,6 +62,8 @@ change_exempt_flags = NONE brute_reduction = 0 burn_reduction = 0 + brute_modifier = SYNTH_BRUTE_MODIFIER + burn_modifier = SYNTH_BURN_MODIFIER /obj/item/bodypart/leg/left/robot/digitigrade icon_greyscale = BODYPART_ICON_SYNTHLIZARD @@ -59,6 +74,8 @@ change_exempt_flags = NONE brute_reduction = 0 burn_reduction = 0 + brute_modifier = SYNTH_BRUTE_MODIFIER + burn_modifier = SYNTH_BURN_MODIFIER /obj/item/bodypart/leg/left/robot/digitigrade/update_limb(dropping_limb = FALSE, is_creating = FALSE) . = ..() @@ -73,7 +90,12 @@ change_exempt_flags = NONE brute_reduction = 0 burn_reduction = 0 + brute_modifier = SYNTH_BRUTE_MODIFIER + burn_modifier = SYNTH_BURN_MODIFIER /obj/item/bodypart/leg/right/robot/digitigrade/update_limb(dropping_limb = FALSE, is_creating = FALSE) . = ..() check_mutant_compatability() + +#undef SYNTH_BRUTE_MODIFIER +#undef SYNTH_BURN_MODIFIER diff --git a/modular_skyrat/modules/synths/code/species/synthetic.dm b/modular_skyrat/modules/synths/code/species/synthetic.dm index 1a48ab97c39..81a1f941ed5 100644 --- a/modular_skyrat/modules/synths/code/species/synthetic.dm +++ b/modular_skyrat/modules/synths/code/species/synthetic.dm @@ -63,8 +63,6 @@ BODY_ZONE_R_LEG = /obj/item/bodypart/leg/right/robot/synth, ) digitigrade_customization = DIGITIGRADE_OPTIONAL - burnmod = 1.3 // Every 0.1 is 10% above the base. - brutemod = 1.3 coldmod = 1.2 heatmod = 2 // TWO TIMES DAMAGE FROM BEING TOO HOT?! WHAT?! No wonder lava is literal instant death for us. siemens_coeff = 1.4 // Not more because some shocks will outright crit you, which is very unfun diff --git a/modular_skyrat/modules/teshari/code/_teshari.dm b/modular_skyrat/modules/teshari/code/_teshari.dm index ddc5391533e..8fa547b778e 100644 --- a/modular_skyrat/modules/teshari/code/_teshari.dm +++ b/modular_skyrat/modules/teshari/code/_teshari.dm @@ -1,6 +1,4 @@ #define TESHARI_TEMP_OFFSET -30 // K, added to comfort/damage limit etc -#define TESHARI_BURNMOD 1.25 // They take more damage from practically everything -#define TESHARI_BRUTEMOD 1.2 #define TESHARI_HEATMOD 1.3 #define TESHARI_COLDMOD 0.67 // Except cold. @@ -44,8 +42,6 @@ ) coldmod = TESHARI_COLDMOD heatmod = TESHARI_HEATMOD - brutemod = TESHARI_BRUTEMOD - burnmod = TESHARI_BURNMOD bodytemp_normal = BODYTEMP_NORMAL + TESHARI_TEMP_OFFSET bodytemp_heat_damage_limit = (BODYTEMP_HEAT_DAMAGE_LIMIT + TESHARI_TEMP_OFFSET) bodytemp_cold_damage_limit = (BODYTEMP_COLD_DAMAGE_LIMIT + TESHARI_TEMP_OFFSET) diff --git a/tgstation.dme b/tgstation.dme index 685321f37dd..0bac196d1f0 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -5917,6 +5917,7 @@ #include "modular_skyrat\modules\bodyparts\code\_mutant_bodyparts.dm" #include "modular_skyrat\modules\bodyparts\code\akula_bodyparts.dm" #include "modular_skyrat\modules\bodyparts\code\aquatic_bodyparts.dm" +#include "modular_skyrat\modules\bodyparts\code\ashwalker_bodyparts.dm" #include "modular_skyrat\modules\bodyparts\code\ghoul_bodyparts.dm" #include "modular_skyrat\modules\bodyparts\code\golem_bodyparts.dm" #include "modular_skyrat\modules\bodyparts\code\human_bodyparts.dm"