diff --git a/code/controllers/configuration.dm b/code/controllers/configuration.dm index c47ec37abf..f9743723d8 100644 --- a/code/controllers/configuration.dm +++ b/code/controllers/configuration.dm @@ -130,6 +130,7 @@ var/list/gamemode_cache = list() var/organ_regeneration_multiplier = 1 var/organs_decay var/default_brain_health = 400 + var/allow_headgibs = FALSE //Paincrit knocks someone down once they hit 60 shock_stage, so by default make it so that close to 100 additional damage needs to be dealt, //so that it's similar to HALLOSS. Lowered it a bit since hitting paincrit takes much longer to wear off than a halloss stun. @@ -792,6 +793,8 @@ var/list/gamemode_cache = list() config.bones_can_break = value if("limbs_can_break") config.limbs_can_break = value + if("allow_headgibs") + config.allow_headgibs = TRUE if("run_speed") config.run_speed = value diff --git a/code/modules/organs/subtypes/standard.dm b/code/modules/organs/subtypes/standard.dm index 568d45088c..63e4c4a7d2 100644 --- a/code/modules/organs/subtypes/standard.dm +++ b/code/modules/organs/subtypes/standard.dm @@ -258,7 +258,7 @@ joint = "jaw" amputation_point = "neck" gendered_icon = 1 - cannot_gib = 1 + cannot_gib = TRUE encased = "skull" base_miss_chance = 40 var/can_intake_reagents = 1 @@ -268,6 +268,11 @@ var/eye_icon_location = 'icons/mob/human_face.dmi' +/obj/item/organ/external/head/Initialize() + if(config.allow_headgibs) + cannot_gib = FALSE + return ..() + /obj/item/organ/external/head/robotize(var/company, var/skip_prosthetics, var/keep_organs) return ..(company, skip_prosthetics, 1) diff --git a/config/example/game_options.txt b/config/example/game_options.txt index 9e122db423..f537c90e92 100644 --- a/config/example/game_options.txt +++ b/config/example/game_options.txt @@ -35,7 +35,8 @@ REVIVAL_CLONING 1 ## amount of time (in hundredths of seconds) for which a brain retains the "spark of life" after the person's death (set to -1 for infinite) REVIVAL_BRAIN_LIFE -1 - +## Uncomment to allow headgibbing +ALLOW_HEADGIBS ### MOB MOVEMENT ### diff --git a/html/changelogs/Anewbe - Headgibs.yml b/html/changelogs/Anewbe - Headgibs.yml new file mode 100644 index 0000000000..6aa097a172 --- /dev/null +++ b/html/changelogs/Anewbe - Headgibs.yml @@ -0,0 +1,36 @@ +################################ +# Example Changelog File +# +# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb. +# +# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.) +# When it is, any changes listed below will disappear. +# +# Valid Prefixes: +# bugfix +# wip (For works in progress) +# tweak +# soundadd +# sounddel +# rscadd (general adding of nice things) +# rscdel (general deleting of nice things) +# imageadd +# imagedel +# maptweak +# spellcheck (typo fixes) +# experiment +################################# + +# Your name. +author: Anewbe + +# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again. +delete-after: True + +# Any changes you've made. See valid prefix list above. +# INDENT WITH TWO SPACES. NOT TABS. SPACES. +# SCREW THIS UP AND IT WON'T WORK. +# Also, all entries are changed into a single [] after a master changelog generation. Just remove the brackets when you add new entries. +# Please surround your changes in double quotes ("), as certain characters otherwise screws up compiling. The quotes will not show up in the changelog. +changes: + - tweak: "Headgibbing is now determined by config"