From da674d2008fa79de5814212e66e2cd508c5499d0 Mon Sep 17 00:00:00 2001 From: Cameron Lennox Date: Thu, 27 Mar 2025 04:13:36 -0400 Subject: [PATCH] Multiple bugfixes (#17432) * Fixes For downstream: File to remove: modular_chomp/code/modules/mob/living/carbon/human/species/species.dm Upports the vars in that file and fixes traits * whoops * Lightning bugfix * Fixes humans to have the proper skin color --- .../mob/living/carbon/human/species/species.dm | 12 +++++++++++- .../living/carbon/human/species/station/station.dm | 2 +- .../xenoarcheaology/effects/electric_field.dm | 8 ++++++-- .../xenoarcheaology/finds/Weapons/archeo_melee.dm | 4 +++- code/modules/xenobio/items/extracts_vr.dm | 4 +++- 5 files changed, 24 insertions(+), 6 deletions(-) diff --git a/code/modules/mob/living/carbon/human/species/species.dm b/code/modules/mob/living/carbon/human/species/species.dm index b3d1d58a889..3cedf363272 100644 --- a/code/modules/mob/living/carbon/human/species/species.dm +++ b/code/modules/mob/living/carbon/human/species/species.dm @@ -361,6 +361,14 @@ var/lleill_energy = 200 var/lleill_energy_max = 200 + var/bite_mod = 1 //NYI - Used Downstream + var/grab_resist_divisor_victims = 1 //NYI - Used Downstream + var/grab_resist_divisor_self = 1 //NYI - Used Downstream + var/grab_power_victims = 0 //NYI - Used Downstream + var/grab_power_self = 0 //NYI - Used Downstream + var/waking_speed = 1 //NYI - Used Downstream + var/lightweight_light = 0 //NYI - Used Downstream + /datum/species/proc/update_attack_types() unarmed_attacks = list() for(var/u_type in unarmed_types) @@ -576,8 +584,10 @@ /datum/species/proc/handle_death(var/mob/living/carbon/human/H) //Handles any species-specific death events (such as dionaea nymph spawns). return -// Only used for alien plasma weeds atm, but could be used for Dionaea later. +// Used for traits and species that have special environmental effects. /datum/species/proc/handle_environment_special(var/mob/living/carbon/human/H) + for(var/datum/trait/env_trait in env_traits) + env_trait.handle_environment_special(H) return // Used to update alien icons for aliens. 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 71ebf6dd641..a6cadd0524e 100644 --- a/code/modules/mob/living/carbon/human/species/station/station.dm +++ b/code/modules/mob/living/carbon/human/species/station/station.dm @@ -30,7 +30,7 @@ spawn_flags = SPECIES_CAN_JOIN - appearance_flags = HAS_HAIR_COLOR | HAS_SKIN_TONE | HAS_LIPS | HAS_UNDERWEAR | HAS_EYE_COLOR + appearance_flags = HAS_HAIR_COLOR | HAS_SKIN_COLOR | HAS_LIPS | HAS_UNDERWEAR | HAS_EYE_COLOR has_organ = list( O_HEART = /obj/item/organ/internal/heart, diff --git a/code/modules/xenoarcheaology/effects/electric_field.dm b/code/modules/xenoarcheaology/effects/electric_field.dm index 428fcc287ca..1e0f0637cd5 100644 --- a/code/modules/xenoarcheaology/effects/electric_field.dm +++ b/code/modules/xenoarcheaology/effects/electric_field.dm @@ -39,10 +39,14 @@ var/mob/living/carbon/human/H = L var/obj/item/organ/external/affected = H.get_organ(check_zone(BP_TORSO)) H.electrocute_act(rand(25, 40), holder, H.get_siemens_coefficient_organ(affected), affected) - lightning_strike(H.loc, TRUE) + var/turf/T = get_turf(H) + if(istype(T)) + lightning_strike(T, TRUE) else L.electrocute_act(rand(25, 40), holder, 0.75, BP_TORSO) - lightning_strike(L.loc, TRUE) + var/turf/T = get_turf(L) + if(istype(T)) + lightning_strike(T, TRUE) /datum/artifact_effect/electric_field/DoEffectAura() var/atom/holder = get_master_holder() diff --git a/code/modules/xenoarcheaology/finds/Weapons/archeo_melee.dm b/code/modules/xenoarcheaology/finds/Weapons/archeo_melee.dm index 449e82729e8..73ac9796754 100644 --- a/code/modules/xenoarcheaology/finds/Weapons/archeo_melee.dm +++ b/code/modules/xenoarcheaology/finds/Weapons/archeo_melee.dm @@ -75,7 +75,9 @@ if(last_touched.loc) conjure_animation(last_touched.loc) visible_message(span_cult("\The [src] screeches as it's destroyed")) - lightning_strike(last_touched.loc, TRUE) + var/turf/T = get_turf(last_touched) + if(istype(T)) + lightning_strike(T, TRUE) playsound(src, 'sound/goonstation/spooky/creepyshriek.ogg', 100, 1, 75) //It plays VERY far. last_touched = null //Get rid of the reference to our owner. ..() diff --git a/code/modules/xenobio/items/extracts_vr.dm b/code/modules/xenobio/items/extracts_vr.dm index a77e0fe3994..6a9206e7831 100644 --- a/code/modules/xenobio/items/extracts_vr.dm +++ b/code/modules/xenobio/items/extracts_vr.dm @@ -458,7 +458,9 @@ playsound(holder.my_atom, 'sound/effects/phasein.ogg', 75, 1) spawn(5 SECONDS) if(holder && holder.my_atom) - lightning_strike(get_turf(holder.my_atom)) + var/turf/T = get_turf(holder.my_atom) + if(istype(T)) + lightning_strike(T) ..()