diff --git a/code/game/objects/effects/spawners/gibspawner.dm b/code/game/objects/effects/spawners/gibspawner.dm index f47d3b8ed3..c135458873 100644 --- a/code/game/objects/effects/spawners/gibspawner.dm +++ b/code/game/objects/effects/spawners/gibspawner.dm @@ -10,7 +10,7 @@ var/list/gibamounts = list() //amount to spawn for each gib decal type we'll spawn. var/list/gibdirections = list() //of lists of possible directions to spread each gib decal type towards. -/obj/effect/gibspawner/Initialize(mapload, mob/living/source_mob, list/datum/disease/diseases) +/obj/effect/gibspawner/Initialize(mapload, mob/living/source_mob, list/datum/disease/diseases, list/blood_dna) . = ..() if(gibtypes.len != gibamounts.len) stack_trace("Gib list amount length mismatch!") @@ -33,7 +33,7 @@ var/body_coloring = "" if(source_mob) if(!issilicon(source_mob)) - dna_to_add = source_mob.get_blood_dna_list() //ez pz + dna_to_add = blood_dna || source_mob.get_blood_dna_list() //ez pz if(ishuman(source_mob)) var/mob/living/carbon/human/H = source_mob if(H.dna.species.use_skintones) diff --git a/code/modules/admin/verbs/randomverbs.dm b/code/modules/admin/verbs/randomverbs.dm index 37c79b1123..b8b92b0a58 100644 --- a/code/modules/admin/verbs/randomverbs.dm +++ b/code/modules/admin/verbs/randomverbs.dm @@ -75,7 +75,7 @@ message_admins("[key_name_admin(src)] decided not to answer [key_name_admin(H)]'s [sender] request.") return - log_directed_talk(src, H, input, LOG_ADMIN, "reply") + log_directed_talk(mob, H, input, LOG_ADMIN, "reply") message_admins("[key_name_admin(src)] replied to [key_name_admin(H)]'s [sender] message with: \"[input]\"") to_chat(H, "You hear something crackle in your ears for a moment before a voice speaks. \"Please stand by for a message from [sender == "Syndicate" ? "your benefactor" : "Central Command"]. Message as follows[sender == "Syndicate" ? ", agent." : ":"] [input]. Message ends.\"") diff --git a/code/modules/antagonists/cult/cult.dm b/code/modules/antagonists/cult/cult.dm index df2383f892..ed912db044 100644 --- a/code/modules/antagonists/cult/cult.dm +++ b/code/modules/antagonists/cult/cult.dm @@ -300,7 +300,7 @@ if(ishuman(cultist)) var/mob/living/carbon/human/H = cultist H.eye_color = "f00" - H.dna.update_ui_block(DNA_EYE_COLOR_BLOCK) + H.dna?.update_ui_block(DNA_EYE_COLOR_BLOCK) ADD_TRAIT(H, TRAIT_CULT_EYES, "valid_cultist") H.update_body() diff --git a/code/modules/antagonists/cult/runes.dm b/code/modules/antagonists/cult/runes.dm index 7948b30035..0111334748 100644 --- a/code/modules/antagonists/cult/runes.dm +++ b/code/modules/antagonists/cult/runes.dm @@ -885,7 +885,7 @@ structure_check() searches for nearby cultist structures required for the invoca if(new_human) new_human.visible_message("[new_human] suddenly dissolves into bones and ashes.", \ "Your link to the world fades. Your form breaks apart.") - for(var/obj/I in new_human) + for(var/obj/item/I in new_human) new_human.dropItemToGround(I, TRUE) new_human.dust() else if(choice == "Ascend as a Dark Spirit") diff --git a/code/modules/mob/living/carbon/human/death.dm b/code/modules/mob/living/carbon/human/death.dm index d6f6b6d9ae..49053d17db 100644 --- a/code/modules/mob/living/carbon/human/death.dm +++ b/code/modules/mob/living/carbon/human/death.dm @@ -6,6 +6,7 @@ /mob/living/carbon/human/spawn_gibs(with_bodyparts, atom/loc_override) var/location = loc_override ? loc_override.drop_location() : drop_location() + var/blood_dna = get_blood_dna_list() if(dna?.species?.gib_types) var/datum/species/S = dna.species var/length = length(S.gib_types) @@ -13,7 +14,7 @@ var/path = (with_bodyparts && length > 1) ? S.gib_types[2] : S.gib_types[1] new path(location, src, get_static_viruses()) else - new S.gib_types(location, src, get_static_viruses()) + new S.gib_types(location, src, get_static_viruses(), dna) else if(with_bodyparts) new /obj/effect/gibspawner/human(location, src, get_static_viruses()) diff --git a/code/modules/mob/living/carbon/human/say.dm b/code/modules/mob/living/carbon/human/say.dm index 29597344cf..1079c48bf9 100644 --- a/code/modules/mob/living/carbon/human/say.dm +++ b/code/modules/mob/living/carbon/human/say.dm @@ -91,7 +91,7 @@ var/say_starter = "Say \"" //" if(findtextEx(temp, say_starter, 1, length(say_starter) + 1) && length(temp) > length(say_starter)) //case sensitive means - temp = trim_left(copytext(temp, length(say_starter + 1))) + temp = trim_left(copytext(temp, length(say_starter) + 1)) temp = replacetext(temp, ";", "", 1, 2) //general radio while(trim_left(temp)[1] == ":") //dept radio again (necessary) temp = copytext_char(trim_left(temp), 3) diff --git a/code/modules/mob/living/simple_animal/bot/bot.dm b/code/modules/mob/living/simple_animal/bot/bot.dm index cd449dacd9..69aacbf1d6 100644 --- a/code/modules/mob/living/simple_animal/bot/bot.dm +++ b/code/modules/mob/living/simple_animal/bot/bot.dm @@ -182,8 +182,9 @@ return TRUE /mob/living/simple_animal/bot/death(gibbed) - explode() - ..() + . = ..() + if(!gibbed) + explode() /mob/living/simple_animal/bot/proc/explode() qdel(src)