Skip to content

Commit

Permalink
Fixes synths spilling brains when gibbed in deathmatch (#2258)
Browse files Browse the repository at this point in the history
* Fixes synths spilling brains when gibbed in deathmatch

* Update death.dm

* This can be modular

* Update deathmatch_lobby.dm

* No it can't be modular

Co-authored-by: Bloop <[email protected]>
  • Loading branch information
Steals-The-PRs and vinylspiders authored Mar 6, 2024
1 parent d9722e7 commit ded91b5
Show file tree
Hide file tree
Showing 8 changed files with 24 additions and 22 deletions.
5 changes: 5 additions & 0 deletions code/modules/deathmatch/deathmatch_lobby.dm
Original file line number Diff line number Diff line change
Expand Up @@ -133,6 +133,11 @@
if (global_chat)
ADD_TRAIT(new_player, TRAIT_SIXTHSENSE, INNATE_TRAIT)
ADD_TRAIT(new_player, TRAIT_XRAY_HEARING, INNATE_TRAIT)
// NOVA EDIT ADDITION START - Synth brains don't drop here - let them delete with the mob
var/obj/item/organ/internal/brain/synth/synth_brain = new_player.get_organ_slot(ORGAN_SLOT_BRAIN)
if(istype(synth_brain))
synth_brain.drop_when_organ_spilling = FALSE
// NOVA EDIT ADDITION END

/datum/deathmatch_lobby/proc/game_took_too_long()
if (!location || QDELING(src))
Expand Down
2 changes: 1 addition & 1 deletion code/modules/mob/living/death.dm
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
death(TRUE)

ghostize()
spill_organs(issynthetic(src) ? drop_bitflags|DROP_BRAIN : drop_bitflags) // NOVA EDIT CHANGE - Synths always drop brains - ORIGINAL: spill_organs(drop_bitflags)
spill_organs(drop_bitflags)

if(drop_bitflags & DROP_BODYPARTS)
spread_bodyparts(drop_bitflags)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,11 @@
held_organs.Add(organ)
organs.Remove(organ)

// synth brains always drop when gibbed, by default
var/obj/item/organ/internal/brain/synth/synth_brain = get_organ_slot(ORGAN_SLOT_BRAIN)
if(istype(synth_brain))
drop_bitflags |= DROP_BRAIN

. = ..()

// put the unspillable organs back
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
/mob/living/carbon/human/Initialize(mapload)
. = ..()
AddComponent(/datum/component/interactable)
//Removing ERP IC verbs depending on config
if(CONFIG_GET(flag/disable_erp_preferences))
verbs -= /mob/living/carbon/human/verb/toggle_genitals
verbs -= /mob/living/carbon/human/verb/toggle_arousal
if(CONFIG_GET(flag/disable_erp_preferences))
verbs -= /mob/living/carbon/human/verb/climax_verb
if(CONFIG_GET(flag/disable_lewd_items))
verbs -= /mob/living/carbon/human/verb/safeword
Original file line number Diff line number Diff line change
Expand Up @@ -500,7 +500,6 @@
return text2num(key)
return 0


/mob/living/carbon/human/verb/toggle_genitals()
set category = "IC"
set name = "Expose/Hide genitals"
Expand Down Expand Up @@ -530,13 +529,6 @@
update_body()
return

//Removing ERP IC verb depending on config
/mob/living/carbon/human/Initialize(mapload)
. = ..()
if(CONFIG_GET(flag/disable_erp_preferences))
verbs -= /mob/living/carbon/human/verb/toggle_genitals
verbs -= /mob/living/carbon/human/verb/toggle_arousal

/mob/living/carbon/human/verb/toggle_arousal()
set category = "IC"
set name = "Toggle Arousal"
Expand Down Expand Up @@ -566,4 +558,3 @@
picked_organ.aroused = gen_arous_trans[picked_arousal]
picked_organ.update_sprite_suffix()
update_body()
return
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,7 @@ GLOBAL_LIST_EMPTY_TYPED(interaction_instances, /datum/interaction)
if(INTERACTION_REQUIRE_TARGET_HAND)
if(!target.get_active_hand())
return FALSE

else
CRASH("Unimplemented interaction requirement '[requirement]'")
return TRUE
Expand Down Expand Up @@ -227,10 +227,6 @@ GLOBAL_LIST_EMPTY_TYPED(interaction_instances, /datum/interaction)
WRITE_FILE(file, json_encode(json))
return TRUE

/mob/living/carbon/human/Initialize(mapload)
. = ..()
AddComponent(/datum/component/interactable)

/// Global loading procs
/proc/populate_interaction_instances()
for(var/spath in subtypesof(/datum/interaction))
Expand Down
7 changes: 0 additions & 7 deletions modular_nova/modules/modular_items/lewd_items/code/verbs.dm
Original file line number Diff line number Diff line change
Expand Up @@ -34,13 +34,6 @@
/mob/living/silicon/get_reflexes_lose_text()
return "Our systems will allow platonic contact."

/mob/living/carbon/human/Initialize(mapload)
. = ..()
if(CONFIG_GET(flag/disable_erp_preferences))
verbs -= /mob/living/carbon/human/verb/climax_verb
if(CONFIG_GET(flag/disable_lewd_items))
verbs -= /mob/living/carbon/human/verb/safeword

/mob/living/carbon/human/verb/safeword()
set name = "Remove Lewd Items"
set category = "OOC"
Expand Down
1 change: 1 addition & 0 deletions tgstation.dme
Original file line number Diff line number Diff line change
Expand Up @@ -6508,6 +6508,7 @@
#include "modular_nova\master_files\code\modules\mob\living\carbon\death.dm"
#include "modular_nova\master_files\code\modules\mob\living\carbon\human_helpers.dm"
#include "modular_nova\master_files\code\modules\mob\living\carbon\human\death.dm"
#include "modular_nova\master_files\code\modules\mob\living\carbon\human\human.dm"
#include "modular_nova\master_files\code\modules\mob\living\carbon\human\species.dm"
#include "modular_nova\master_files\code\modules\mob\living\carbon\human\species_type\lizardpeople.dm"
#include "modular_nova\master_files\code\modules\mob\living\carbon\human\species_type\podpeople.dm"
Expand Down

0 comments on commit ded91b5

Please sign in to comment.