Skip to content

Commit

Permalink
Brain nerf (#4052)
Browse files Browse the repository at this point in the history
# About the pull request

Brain damage is now important again.

If you have 10 or more brain damage you drop items and walk in one tile
randomly.

If you have 30 or more brain damage you do the above and also get
paralyzed randomly and jitter.

# Explain why it's good for the game

Organ damage should be important and emergent.

# Testing Photographs and Procedure
<details>
<summary>Screenshots & Videos</summary>

Put screenshots and videos here with an empty line between the
screenshots and the `<details>` tags.

</details>


# Changelog

:cl: Morrow
add: Brain damage now causes random wandering, dropping of items,
paralysis, and jittering
/:cl:
  • Loading branch information
morrowwolf committed Jul 30, 2023
1 parent 5ee4ac3 commit 9228ea6
Show file tree
Hide file tree
Showing 3 changed files with 17 additions and 3 deletions.
2 changes: 1 addition & 1 deletion code/modules/mob/living/carbon/human/life.dm
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@
handle_chemicals_in_body(delta_time)

//Organs and blood
handle_organs()
handle_organs(delta_time)
handle_blood()

//Random events (vomiting etc)
Expand Down
4 changes: 2 additions & 2 deletions code/modules/mob/living/carbon/human/life/handle_organs.dm
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
// Takes care of organ & limb related updates, such as broken and missing limbs
/mob/living/carbon/human/proc/handle_organs()
/mob/living/carbon/human/proc/handle_organs(delta_time)

last_dam = getBruteLoss() + getFireLoss() + getToxLoss()

// Processing internal organs is pretty cheap, do that first.
for(var/datum/internal_organ/I as anything in internal_organs)
I.process()
I.process(delta_time)

for(var/obj/limb/E as anything in limbs_to_process)
if(!E)
Expand Down
14 changes: 14 additions & 0 deletions code/modules/organs/organ_internal.dm
Original file line number Diff line number Diff line change
Expand Up @@ -247,6 +247,20 @@
robotic_type = /obj/item/organ/brain/prosthetic
vital = 1

/datum/internal_organ/brain/process(delta_time)
..()

if(organ_status >= ORGAN_BRUISED && prob(5 * delta_time))
var/dir_choice = pick(list(NORTH, SOUTH, EAST, WEST))
owner.drop_held_items()
owner.Move(get_step(get_turf(owner), dir_choice))
to_chat(owner, SPAN_DANGER("Your mind wanders and goes blank for a moment..."))

if(organ_status >= ORGAN_BROKEN && prob(5 * delta_time))
owner.apply_effect(1, PARALYZE)
owner.make_jittery(50)
to_chat(owner, SPAN_DANGER("Your body seizes up!"))

/datum/internal_organ/brain/prosthetic //used by synthetic species
robotic = ORGAN_ROBOT
removed_type = /obj/item/organ/brain/prosthetic
Expand Down

0 comments on commit 9228ea6

Please sign in to comment.