From 5d5f83d79198b98e02fe0a778e1c4f59fcd80223 Mon Sep 17 00:00:00 2001
From: Luc <89928798+lewcc@users.noreply.github.com>
Date: Wed, 29 Nov 2023 13:39:43 -0500
Subject: [PATCH] Lobotomizes the brain from /mob/living/carbon (#23320)
* find and replace. this causes zero errors.
* there was one error
* repathing
* minor emote repathing as well
---
code/__DEFINES/is_helpers.dm | 2 +-
code/__DEFINES/mob_defines.dm | 2 +-
code/__HELPERS/unsorted.dm | 2 +-
code/datums/keybindings/emote_keybinds.dm | 14 +++++-----
code/datums/radio_frequency.dm | 2 +-
code/game/gamemodes/cult/runes.dm | 2 +-
code/game/gamemodes/wizard/raginmages.dm | 2 +-
code/game/mecha/mecha.dm | 8 +++---
code/game/mecha/medical/odysseus.dm | 2 +-
code/modules/admin/admin_verbs.dm | 4 +--
.../mob/living/{carbon => }/brain/MMI.dm | 2 +-
.../living/{carbon => }/brain/MMI_radio.dm | 0
.../living/{carbon => }/brain/brain_death.dm | 4 +--
.../living/{carbon => }/brain/brain_emote.dm | 24 ++++++++--------
code/modules/mob/living/brain/brain_life.dm | 5 ++++
code/modules/mob/living/brain/brain_login.dm | 3 ++
.../living/{carbon => }/brain/brain_say.dm | 8 +++---
.../{carbon => }/brain/brain_update_status.dm | 2 +-
.../carbon_brain.dm => brain/living_brain.dm} | 28 +++++++++----------
.../{carbon => }/brain/robotic_brain.dm | 2 +-
.../mob/living/carbon/brain/brain_life.dm | 20 -------------
.../mob/living/carbon/brain/brain_login.dm | 3 --
.../modules/mob/living/carbon/carbon_emote.dm | 1 -
code/modules/mob/living/living_emote.dm | 8 +++---
code/modules/mob/mob_emote.dm | 4 +--
code/modules/surgery/organs/brain.dm | 2 +-
paradise.dme | 20 ++++++-------
27 files changed, 80 insertions(+), 96 deletions(-)
rename code/modules/mob/living/{carbon => }/brain/MMI.dm (99%)
rename code/modules/mob/living/{carbon => }/brain/MMI_radio.dm (100%)
rename code/modules/mob/living/{carbon => }/brain/brain_death.dm (91%)
rename code/modules/mob/living/{carbon => }/brain/brain_emote.dm (67%)
create mode 100644 code/modules/mob/living/brain/brain_life.dm
create mode 100644 code/modules/mob/living/brain/brain_login.dm
rename code/modules/mob/living/{carbon => }/brain/brain_say.dm (84%)
rename code/modules/mob/living/{carbon => }/brain/brain_update_status.dm (89%)
rename code/modules/mob/living/{carbon/brain/carbon_brain.dm => brain/living_brain.dm} (75%)
rename code/modules/mob/living/{carbon => }/brain/robotic_brain.dm (99%)
delete mode 100644 code/modules/mob/living/carbon/brain/brain_life.dm
delete mode 100644 code/modules/mob/living/carbon/brain/brain_login.dm
diff --git a/code/__DEFINES/is_helpers.dm b/code/__DEFINES/is_helpers.dm
index fc43a57eb92f..a82321181796 100644
--- a/code/__DEFINES/is_helpers.dm
+++ b/code/__DEFINES/is_helpers.dm
@@ -10,7 +10,7 @@
#define isliving(A) (istype(A, /mob/living))
-#define isbrain(A) (istype(A, /mob/living/carbon/brain))
+#define isbrain(A) (istype(A, /mob/living/brain))
// Carbon mobs
#define iscarbon(A) (istype(A, /mob/living/carbon))
diff --git a/code/__DEFINES/mob_defines.dm b/code/__DEFINES/mob_defines.dm
index bde8ac4801d3..efd9a4d2991d 100644
--- a/code/__DEFINES/mob_defines.dm
+++ b/code/__DEFINES/mob_defines.dm
@@ -247,7 +247,7 @@
// For the tcomms monitor
#define ispathhuman(A) (ispath(A, /mob/living/carbon/human))
-#define ispathbrain(A) (ispath(A, /mob/living/carbon/brain))
+#define ispathbrain(A) (ispath(A, /mob/living/brain))
#define ispathslime(A) (ispath(A, /mob/living/simple_animal/slime))
#define ispathbot(A) (ispath(A, /mob/living/simple_animal/bot))
#define ispathsilicon(A) (ispath(A, /mob/living/silicon))
diff --git a/code/__HELPERS/unsorted.dm b/code/__HELPERS/unsorted.dm
index 89165b5726d2..6bf107111572 100644
--- a/code/__HELPERS/unsorted.dm
+++ b/code/__HELPERS/unsorted.dm
@@ -410,7 +410,7 @@ Turf and target are seperate in case you want to teleport some distance from a t
moblist.Add(M)
for(var/mob/living/carbon/human/M in sortmob)
moblist.Add(M)
- for(var/mob/living/carbon/brain/M in sortmob)
+ for(var/mob/living/brain/M in sortmob)
moblist.Add(M)
for(var/mob/living/carbon/alien/M in sortmob)
moblist.Add(M)
diff --git a/code/datums/keybindings/emote_keybinds.dm b/code/datums/keybindings/emote_keybinds.dm
index 4b99ae192997..f81ed46cd943 100644
--- a/code/datums/keybindings/emote_keybinds.dm
+++ b/code/datums/keybindings/emote_keybinds.dm
@@ -296,31 +296,31 @@
return isbrain(M) && ..()
/datum/keybinding/emote/carbon/brain/alarm
- linked_emote = /datum/emote/living/carbon/brain/alarm
+ linked_emote = /datum/emote/living/brain/alarm
name = "Alarm"
/datum/keybinding/emote/carbon/brain/alert
- linked_emote = /datum/emote/living/carbon/brain/alert
+ linked_emote = /datum/emote/living/brain/alert
name = "Alert"
/datum/keybinding/emote/carbon/brain/notice
- linked_emote = /datum/emote/living/carbon/brain/notice
+ linked_emote = /datum/emote/living/brain/notice
name = "Notice"
/datum/keybinding/emote/carbon/brain/flash
- linked_emote = /datum/emote/living/carbon/brain/flash
+ linked_emote = /datum/emote/living/brain/flash
name = "Flash"
/datum/keybinding/emote/carbon/brain/whistle
- linked_emote = /datum/emote/living/carbon/brain/whistle
+ linked_emote = /datum/emote/living/brain/whistle
name = "Whistle"
/datum/keybinding/emote/carbon/brain/beep
- linked_emote = /datum/emote/living/carbon/brain/beep
+ linked_emote = /datum/emote/living/brain/beep
name = "Beep"
/datum/keybinding/emote/carbon/brain/boop
- linked_emote = /datum/emote/living/carbon/brain/boop
+ linked_emote = /datum/emote/living/brain/boop
name = "Boop"
/datum/keybinding/emote/carbon/human
diff --git a/code/datums/radio_frequency.dm b/code/datums/radio_frequency.dm
index 764fd640881a..cf14ba3c956d 100644
--- a/code/datums/radio_frequency.dm
+++ b/code/datums/radio_frequency.dm
@@ -98,7 +98,7 @@
var/mob/living/carbon/human/H = M
. = H.dna.species.name
else if(isbrain(M))
- var/mob/living/carbon/brain/B = M
+ var/mob/living/brain/B = M
. = B.get_race()
else if(issilicon(M))
. = "Artificial Life"
diff --git a/code/game/gamemodes/cult/runes.dm b/code/game/gamemodes/cult/runes.dm
index 925378fff65b..d846cc66c10c 100644
--- a/code/game/gamemodes/cult/runes.dm
+++ b/code/game/gamemodes/cult/runes.dm
@@ -290,7 +290,7 @@ structure_check() searches for nearby cultist structures required for the invoca
// Offering a head/brain
for(var/obj/item/organ/O in T)
- var/mob/living/carbon/brain/b_mob
+ var/mob/living/brain/b_mob
if(istype(O, /obj/item/organ/external/head)) // Offering a head
var/obj/item/organ/external/head/H = O
for(var/obj/item/organ/internal/brain/brain in H.contents)
diff --git a/code/game/gamemodes/wizard/raginmages.dm b/code/game/gamemodes/wizard/raginmages.dm
index 6321edc44bcb..434059436730 100644
--- a/code/game/gamemodes/wizard/raginmages.dm
+++ b/code/game/gamemodes/wizard/raginmages.dm
@@ -94,7 +94,7 @@
L.ghostize()
if(isbrain(L))
// diediedie
- var/mob/living/carbon/brain/B = L
+ var/mob/living/brain/B = L
if(isitem(B.loc))
qdel(B.loc)
if(B && B.container)
diff --git a/code/game/mecha/mecha.dm b/code/game/mecha/mecha.dm
index a8c49b67a7d1..981a4f3dedfa 100644
--- a/code/game/mecha/mecha.dm
+++ b/code/game/mecha/mecha.dm
@@ -1206,7 +1206,7 @@
if(!user.unEquip(mmi_as_oc))
to_chat(user, "\the [mmi_as_oc] is stuck to your hand, you cannot put it in \the [src]")
return FALSE
- var/mob/living/carbon/brain/brainmob = mmi_as_oc.brainmob
+ var/mob/living/brain/brainmob = mmi_as_oc.brainmob
brainmob.reset_perspective(src)
occupant = brainmob
brainmob.forceMove(src) //should allow relaymove
@@ -1231,13 +1231,13 @@
/obj/mecha/proc/pilot_is_mmi()
var/atom/movable/mob_container
if(isbrain(occupant))
- var/mob/living/carbon/brain/brain = occupant
+ var/mob/living/brain/brain = occupant
mob_container = brain.container
if(istype(mob_container, /obj/item/mmi))
return 1
return 0
-/obj/mecha/proc/pilot_mmi_hud(mob/living/carbon/brain/pilot)
+/obj/mecha/proc/pilot_mmi_hud(mob/living/brain/pilot)
return
/obj/mecha/Exited(atom/movable/M, atom/newloc)
@@ -1258,7 +1258,7 @@
mob_container = occupant
RemoveActions(occupant, human_occupant = 1)
else if(isbrain(occupant))
- var/mob/living/carbon/brain/brain = occupant
+ var/mob/living/brain/brain = occupant
RemoveActions(brain)
mob_container = brain.container
else if(isAI(occupant))
diff --git a/code/game/mecha/medical/odysseus.dm b/code/game/mecha/medical/odysseus.dm
index 3fd3cf8742b0..05d1d5c38ced 100644
--- a/code/game/mecha/medical/odysseus.dm
+++ b/code/game/mecha/medical/odysseus.dm
@@ -38,7 +38,7 @@
A.remove_hud_from(H)
builtin_hud_user = 0
else if((isbrain(occupant) || pilot_is_mmi()) && builtin_hud_user)
- var/mob/living/carbon/brain/H = occupant
+ var/mob/living/brain/H = occupant
var/datum/atom_hud/A = GLOB.huds[DATA_HUD_MEDICAL_ADVANCED]
A.remove_hud_from(H)
builtin_hud_user = 0
diff --git a/code/modules/admin/admin_verbs.dm b/code/modules/admin/admin_verbs.dm
index 9bb9212f81d2..637ddfeb4e82 100644
--- a/code/modules/admin/admin_verbs.dm
+++ b/code/modules/admin/admin_verbs.dm
@@ -814,7 +814,7 @@ GLOBAL_LIST_INIT(view_runtimes_verbs, list(
if(!istype(H))
if(isbrain(H))
- var/mob/living/carbon/brain/B = H
+ var/mob/living/brain/B = H
if(istype(B.container, /obj/item/mmi/robotic_brain/positronic))
var/obj/item/mmi/robotic_brain/positronic/C = B.container
var/obj/item/organ/internal/brain/mmi_holder/posibrain/P = C.loc
@@ -840,7 +840,7 @@ GLOBAL_LIST_INIT(view_runtimes_verbs, list(
if(!istype(H))
if(isbrain(H))
- var/mob/living/carbon/brain/B = H
+ var/mob/living/brain/B = H
if(istype(B.container, /obj/item/mmi/robotic_brain/positronic))
var/obj/item/mmi/robotic_brain/positronic/C = B.container
var/obj/item/organ/internal/brain/mmi_holder/posibrain/P = C.loc
diff --git a/code/modules/mob/living/carbon/brain/MMI.dm b/code/modules/mob/living/brain/MMI.dm
similarity index 99%
rename from code/modules/mob/living/carbon/brain/MMI.dm
rename to code/modules/mob/living/brain/MMI.dm
index 815821757ad6..9ed5f563c1e0 100644
--- a/code/modules/mob/living/carbon/brain/MMI.dm
+++ b/code/modules/mob/living/brain/MMI.dm
@@ -11,7 +11,7 @@
var/alien = 0
var/syndiemmi = FALSE //Whether or not this is a Syndicate MMI
var/mmi_item_name = "Man-Machine Interface" //Used to name the item when installing a brain
- var/mob/living/carbon/brain/brainmob = null//The current occupant.
+ var/mob/living/brain/brainmob = null//The current occupant.
var/obj/item/organ/internal/brain/held_brain = null // This is so MMI's aren't brainscrubber 9000's
var/mob/living/silicon/robot/robot = null//Appears unused.
var/obj/mecha/mecha = null//This does not appear to be used outside of reference in mecha.dm.
diff --git a/code/modules/mob/living/carbon/brain/MMI_radio.dm b/code/modules/mob/living/brain/MMI_radio.dm
similarity index 100%
rename from code/modules/mob/living/carbon/brain/MMI_radio.dm
rename to code/modules/mob/living/brain/MMI_radio.dm
diff --git a/code/modules/mob/living/carbon/brain/brain_death.dm b/code/modules/mob/living/brain/brain_death.dm
similarity index 91%
rename from code/modules/mob/living/carbon/brain/brain_death.dm
rename to code/modules/mob/living/brain/brain_death.dm
index 7aec0a713ee6..846425134c42 100644
--- a/code/modules/mob/living/carbon/brain/brain_death.dm
+++ b/code/modules/mob/living/brain/brain_death.dm
@@ -1,4 +1,4 @@
-/mob/living/carbon/brain/death(gibbed)
+/mob/living/brain/death(gibbed)
// Only execute the below if we successfully died
. = ..()
if(!.)
@@ -8,7 +8,7 @@
visible_message("[src]'s MMI flatlines!", "You hear something flatline.")
mmi.icon_state = mmi.dead_icon
-/mob/living/carbon/brain/gib()
+/mob/living/brain/gib()
// can we muster a parent call here?
if(!death(TRUE) && stat != DEAD)
return FALSE
diff --git a/code/modules/mob/living/carbon/brain/brain_emote.dm b/code/modules/mob/living/brain/brain_emote.dm
similarity index 67%
rename from code/modules/mob/living/carbon/brain/brain_emote.dm
rename to code/modules/mob/living/brain/brain_emote.dm
index b9f1d720e0c9..13fcf0c4104e 100644
--- a/code/modules/mob/living/carbon/brain/brain_emote.dm
+++ b/code/modules/mob/living/brain/brain_emote.dm
@@ -1,13 +1,13 @@
/**
* Emotes usable by brains, but only while they're in MMIs.
*/
-/datum/emote/living/carbon/brain
- mob_type_allowed_typecache = list(/mob/living/carbon/brain)
+/datum/emote/living/brain
+ mob_type_allowed_typecache = list(/mob/living/brain)
mob_type_blacklist_typecache = null
/// The message that will be displayed to themselves, since brains can't really see their own emotes
var/self_message
-/datum/emote/living/carbon/brain/run_emote(mob/user, params, type_override, intentional)
+/datum/emote/living/brain/run_emote(mob/user, params, type_override, intentional)
. = ..()
if(!.)
return FALSE
@@ -15,52 +15,52 @@
if(self_message)
to_chat(user, self_message)
-/datum/emote/living/carbon/brain/can_run_emote(mob/user, status_check, intentional)
+/datum/emote/living/brain/can_run_emote(mob/user, status_check, intentional)
. = ..()
if(!.)
return FALSE
- var/mob/living/carbon/brain/B = user
+ var/mob/living/brain/B = user
if(!(B.container && istype(B.container, /obj/item/mmi))) // No MMI, no emotes
return FALSE
// So, brains can't really see their own emotes so we'll probably just want to send an extra message
-/datum/emote/living/carbon/brain/alarm
+/datum/emote/living/brain/alarm
key = "alarm"
key_third_person = "alarms"
message = "sounds an alarm."
self_message = "You sound an alarm."
-/datum/emote/living/carbon/brain/alert
+/datum/emote/living/brain/alert
key = "alert"
key_third_person = "alerts"
message = "lets out a distressed noise."
self_message = "You let out a distressed noise."
-/datum/emote/living/carbon/brain/notice
+/datum/emote/living/brain/notice
key = "notice"
message = "plays a loud tone."
self_message = "You play a loud tone."
-/datum/emote/living/carbon/brain/flash
+/datum/emote/living/brain/flash
key = "flash"
message = "starts flashing its lights quickly!"
-/datum/emote/living/carbon/brain/whistle
+/datum/emote/living/brain/whistle
key = "whistle"
key_third_person = "whistles"
message = "whistles."
self_message = "You whistle."
-/datum/emote/living/carbon/brain/beep
+/datum/emote/living/brain/beep
key = "beep"
key_third_person = "beeps"
message = "beeps."
self_message = "You beep."
-/datum/emote/living/carbon/brain/boop
+/datum/emote/living/brain/boop
key = "boop"
key_third_person = "boops"
message = "boops."
diff --git a/code/modules/mob/living/brain/brain_life.dm b/code/modules/mob/living/brain/brain_life.dm
new file mode 100644
index 000000000000..456e025f9d14
--- /dev/null
+++ b/code/modules/mob/living/brain/brain_life.dm
@@ -0,0 +1,5 @@
+/mob/living/brain/Life()
+ . = ..()
+ if(.)
+ if(!container && (world.time - timeofhostdeath) > GLOB.configuration.general.revival_brain_life)
+ death()
diff --git a/code/modules/mob/living/brain/brain_login.dm b/code/modules/mob/living/brain/brain_login.dm
new file mode 100644
index 000000000000..fc4c40c93ff7
--- /dev/null
+++ b/code/modules/mob/living/brain/brain_login.dm
@@ -0,0 +1,3 @@
+/mob/living/brain/Login()
+ ..()
+ SetSleeping(0)
diff --git a/code/modules/mob/living/carbon/brain/brain_say.dm b/code/modules/mob/living/brain/brain_say.dm
similarity index 84%
rename from code/modules/mob/living/carbon/brain/brain_say.dm
rename to code/modules/mob/living/brain/brain_say.dm
index 40535dde96b7..d287a7360080 100644
--- a/code/modules/mob/living/carbon/brain/brain_say.dm
+++ b/code/modules/mob/living/brain/brain_say.dm
@@ -1,5 +1,5 @@
//TODO: Convert this over for languages.
-/mob/living/carbon/brain/say(message, datum/language/speaking = null)
+/mob/living/brain/say(message, datum/language/speaking = null)
if(stat == DEAD)
return ..()
if(!can_speak(warning = TRUE))
@@ -13,13 +13,13 @@
..(message)
-/mob/living/carbon/brain/whisper(message as text)
+/mob/living/brain/whisper(message as text)
if(!can_speak(warning = TRUE))
return
..()
-/mob/living/carbon/brain/can_speak(warning = FALSE)
+/mob/living/brain/can_speak(warning = FALSE)
. = ..()
if(!istype(container, /obj/item/mmi))
@@ -31,7 +31,7 @@
to_chat(usr, "You cannot speak, as your internal speaker is turned off.")
. = FALSE
-/mob/living/carbon/brain/handle_message_mode(message_mode, list/message_pieces, verb, used_radios)
+/mob/living/brain/handle_message_mode(message_mode, list/message_pieces, verb, used_radios)
switch(message_mode)
if("headset")
var/radio_worked = 0 // If any of the radios our brainmob could use functioned, this is set true so that we don't use any others
diff --git a/code/modules/mob/living/carbon/brain/brain_update_status.dm b/code/modules/mob/living/brain/brain_update_status.dm
similarity index 89%
rename from code/modules/mob/living/carbon/brain/brain_update_status.dm
rename to code/modules/mob/living/brain/brain_update_status.dm
index ec4edb77fc7b..269380e39529 100644
--- a/code/modules/mob/living/carbon/brain/brain_update_status.dm
+++ b/code/modules/mob/living/brain/brain_update_status.dm
@@ -1,4 +1,4 @@
-/mob/living/carbon/brain/update_stat(reason = "none given")
+/mob/living/brain/update_stat(reason = "none given")
if(status_flags & GODMODE)
return
// if(health <= min_health)
diff --git a/code/modules/mob/living/carbon/brain/carbon_brain.dm b/code/modules/mob/living/brain/living_brain.dm
similarity index 75%
rename from code/modules/mob/living/carbon/brain/carbon_brain.dm
rename to code/modules/mob/living/brain/living_brain.dm
index f216b88239eb..323309f0b372 100644
--- a/code/modules/mob/living/carbon/brain/carbon_brain.dm
+++ b/code/modules/mob/living/brain/living_brain.dm
@@ -1,4 +1,4 @@
-/mob/living/carbon/brain
+/mob/living/brain
var/obj/item/container = null
var/timeofhostdeath = 0
var/emp_damage = 0//Handles a type of MMI damage
@@ -6,18 +6,18 @@
icon = 'icons/obj/surgery.dmi'
icon_state = "brain1"
-/mob/living/carbon/brain/New()
+/mob/living/brain/New()
..()
add_language("Galactic Common")
-/mob/living/carbon/brain/Destroy()
+/mob/living/brain/Destroy()
if(key) //If there is a mob connected to this thing. Have to check key twice to avoid false death reporting.
if(stat!=DEAD) //If not dead.
death(1) //Brains can die again. AND THEY SHOULD AHA HA HA HA HA HA
ghostize() //Ghostize checks for key so nothing else is necessary.
return ..()
-/mob/living/carbon/brain/say_understands(other)//Goddamn is this hackish, but this say code is so odd
+/mob/living/brain/say_understands(other)//Goddamn is this hackish, but this say code is so odd
if(isAI(other))
if(!(container && istype(container, /obj/item/mmi)))
return 0
@@ -44,16 +44,16 @@
return 1
return ..()
-/mob/living/carbon/brain/ex_act() //you cant blow up brainmobs because it makes transfer_to() freak out when borgs blow up.
+/mob/living/brain/ex_act() //you cant blow up brainmobs because it makes transfer_to() freak out when borgs blow up.
return
-/mob/living/carbon/brain/blob_act(obj/structure/blob/B)
+/mob/living/brain/blob_act(obj/structure/blob/B)
return
-/mob/living/carbon/brain/incapacitated(ignore_restraints = FALSE, ignore_grab = FALSE)
+/mob/living/brain/incapacitated(ignore_restraints = FALSE, ignore_grab = FALSE)
return FALSE
-/mob/living/carbon/brain/on_forcemove(atom/newloc)
+/mob/living/brain/on_forcemove(atom/newloc)
if(container)
container.forceMove(newloc)
else //something went very wrong.
@@ -65,10 +65,10 @@ This will return true if the brain has a container that leaves it less helpless
I'm using this for Stat to give it a more nifty interface to work with
*/
-/mob/living/carbon/brain/proc/has_synthetic_assistance()
+/mob/living/brain/proc/has_synthetic_assistance()
return (container && istype(container, /obj/item/mmi)) || in_contents_of(/obj/mecha)
-/mob/living/carbon/brain/proc/get_race()
+/mob/living/brain/proc/get_race()
if(container)
var/obj/item/mmi/M = container
if(istype(M) && M.held_brain)
@@ -79,7 +79,7 @@ I'm using this for Stat to give it a more nifty interface to work with
var/obj/item/organ/internal/brain/B = loc
return B.dna.species.name
-/mob/living/carbon/brain/Stat()
+/mob/living/brain/Stat()
..()
if(has_synthetic_assistance() && statpanel("Status"))
show_stat_emergency_shuttle_eta()
@@ -88,13 +88,13 @@ I'm using this for Stat to give it a more nifty interface to work with
stat("Exosuit Charge:", "[istype(M.cell) ? "[M.cell.charge] / [M.cell.maxcharge]" : "No cell detected"]")
stat("Exosuit Integrity", "[!M.obj_integrity ? "0" : "[(M.obj_integrity / M.max_integrity) * 100]"]%")
-/mob/living/carbon/brain/can_safely_leave_loc()
+/mob/living/brain/can_safely_leave_loc()
return 0 //You're not supposed to be ethereal jaunting, brains
-/mob/living/carbon/brain/can_hear()
+/mob/living/brain/can_hear()
. = TRUE
-/mob/living/carbon/brain/update_runechat_msg_location()
+/mob/living/brain/update_runechat_msg_location()
if(ismecha(loc))
runechat_msg_location = loc.UID()
else if(container)
diff --git a/code/modules/mob/living/carbon/brain/robotic_brain.dm b/code/modules/mob/living/brain/robotic_brain.dm
similarity index 99%
rename from code/modules/mob/living/carbon/brain/robotic_brain.dm
rename to code/modules/mob/living/brain/robotic_brain.dm
index c4fb75669173..c53285084c42 100644
--- a/code/modules/mob/living/carbon/brain/robotic_brain.dm
+++ b/code/modules/mob/living/brain/robotic_brain.dm
@@ -11,7 +11,7 @@
var/searching = FALSE
var/askDelay = 10 * 60 * 1
- //var/mob/living/carbon/brain/brainmob = null
+ //var/mob/living/brain/brainmob = null
var/list/ghost_volunteers[0]
req_access = list(ACCESS_ROBOTICS)
mecha = null//This does not appear to be used outside of reference in mecha.dm.
diff --git a/code/modules/mob/living/carbon/brain/brain_life.dm b/code/modules/mob/living/carbon/brain/brain_life.dm
deleted file mode 100644
index 271524ad61d1..000000000000
--- a/code/modules/mob/living/carbon/brain/brain_life.dm
+++ /dev/null
@@ -1,20 +0,0 @@
-/mob/living/carbon/brain/proc/handle_temperature_damage(body_part, exposed_temperature, exposed_intensity)
- if(status_flags & GODMODE)
- return
-
- if(exposed_temperature > bodytemperature)
- var/discomfort = min( abs(exposed_temperature - bodytemperature)*(exposed_intensity)/2000000, 1.0)
- adjustFireLoss(20.0*discomfort)
-
- else
- var/discomfort = min( abs(exposed_temperature - bodytemperature)*(exposed_intensity)/2000000, 1.0)
- adjustFireLoss(5.0*discomfort)
-
-/mob/living/carbon/brain/Life()
- . = ..()
- if(.)
- if(!container && (world.time - timeofhostdeath) > GLOB.configuration.general.revival_brain_life)
- death()
-
-/mob/living/carbon/brain/breathe()
- return
diff --git a/code/modules/mob/living/carbon/brain/brain_login.dm b/code/modules/mob/living/carbon/brain/brain_login.dm
deleted file mode 100644
index 3e5f0e48365a..000000000000
--- a/code/modules/mob/living/carbon/brain/brain_login.dm
+++ /dev/null
@@ -1,3 +0,0 @@
-/mob/living/carbon/brain/Login()
- ..()
- SetSleeping(0)
diff --git a/code/modules/mob/living/carbon/carbon_emote.dm b/code/modules/mob/living/carbon/carbon_emote.dm
index 3a71facef032..64fb51f2abb2 100644
--- a/code/modules/mob/living/carbon/carbon_emote.dm
+++ b/code/modules/mob/living/carbon/carbon_emote.dm
@@ -1,6 +1,5 @@
/datum/emote/living/carbon
mob_type_allowed_typecache = list(/mob/living/carbon)
- mob_type_blacklist_typecache = list(/mob/living/carbon/brain)
/datum/emote/living/carbon/blink
key = "blink"
diff --git a/code/modules/mob/living/living_emote.dm b/code/modules/mob/living/living_emote.dm
index fc933697f5b5..3c6e65bebb8b 100644
--- a/code/modules/mob/living/living_emote.dm
+++ b/code/modules/mob/living/living_emote.dm
@@ -1,7 +1,7 @@
/datum/emote/living
mob_type_allowed_typecache = /mob/living
mob_type_blacklist_typecache = list(
- /mob/living/carbon/brain, // nice try
+ /mob/living/brain, // nice try
/mob/living/silicon,
/mob/living/simple_animal/bot
)
@@ -83,7 +83,7 @@
message_simple = "stops moving..."
mob_type_blacklist_typecache = list(
- /mob/living/carbon/brain,
+ /mob/living/brain,
)
/datum/emote/living/deathgasp/should_play_sound(mob/user, intentional)
@@ -350,7 +350,7 @@
emote_type = EMOTE_AUDIBLE | EMOTE_MOUTH
mob_type_blacklist_typecache = list(
- /mob/living/carbon/brain,
+ /mob/living/brain,
)
/datum/emote/living/tilt
@@ -392,7 +392,7 @@
key_third_person = "custom"
message = null
mob_type_blacklist_typecache = list(
- /mob/living/carbon/brain, // nice try
+ /mob/living/brain, // nice try
)
// Custom emotes should be able to be forced out regardless of context.
diff --git a/code/modules/mob/mob_emote.dm b/code/modules/mob/mob_emote.dm
index f702cb366c14..8d4957a89c11 100644
--- a/code/modules/mob/mob_emote.dm
+++ b/code/modules/mob/mob_emote.dm
@@ -122,7 +122,7 @@
hands_use_check = TRUE
emote_type = EMOTE_VISIBLE | EMOTE_FORCE_NO_RUNECHAT // don't need an emote to see that
mob_type_allowed_typecache = list(/mob/living, /mob/dead/observer) // okay but what if we allowed ghosts to flip as well
- mob_type_blacklist_typecache = list(/mob/living/carbon/brain, /mob/camera, /mob/living/silicon/ai)
+ mob_type_blacklist_typecache = list(/mob/living/brain, /mob/camera, /mob/living/silicon/ai)
mob_type_ignore_stat_typecache = list(/mob/dead/observer)
/datum/emote/flip/run_emote(mob/user, params, type_override, intentional)
@@ -176,7 +176,7 @@
hands_use_check = TRUE
emote_type = EMOTE_VISIBLE | EMOTE_FORCE_NO_RUNECHAT
mob_type_allowed_typecache = list(/mob/living, /mob/dead/observer)
- mob_type_blacklist_typecache = list(/mob/living/carbon/brain, /mob/camera, /mob/living/silicon/ai)
+ mob_type_blacklist_typecache = list(/mob/living/brain, /mob/camera, /mob/living/silicon/ai)
mob_type_ignore_stat_typecache = list(/mob/dead/observer)
cooldown = 2 SECONDS // how long the spin takes, any faster and mobs can spin
diff --git a/code/modules/surgery/organs/brain.dm b/code/modules/surgery/organs/brain.dm
index dae96b5f24f8..36fd7ed612e3 100644
--- a/code/modules/surgery/organs/brain.dm
+++ b/code/modules/surgery/organs/brain.dm
@@ -9,7 +9,7 @@
throw_range = 5
origin_tech = "biotech=5"
attack_verb = list("attacked", "slapped", "whacked")
- var/mob/living/carbon/brain/brainmob = null
+ var/mob/living/brain/brainmob = null
organ_tag = "brain"
parent_organ = "head"
slot = "brain"
diff --git a/paradise.dme b/paradise.dme
index 74af7c0e202a..45b6629d0321 100644
--- a/paradise.dme
+++ b/paradise.dme
@@ -2014,6 +2014,16 @@
#include "code\modules\mob\living\login.dm"
#include "code\modules\mob\living\stat_states.dm"
#include "code\modules\mob\living\taste.dm"
+#include "code\modules\mob\living\brain\brain_death.dm"
+#include "code\modules\mob\living\brain\brain_emote.dm"
+#include "code\modules\mob\living\brain\brain_life.dm"
+#include "code\modules\mob\living\brain\brain_login.dm"
+#include "code\modules\mob\living\brain\brain_say.dm"
+#include "code\modules\mob\living\brain\brain_update_status.dm"
+#include "code\modules\mob\living\brain\living_brain.dm"
+#include "code\modules\mob\living\brain\MMI.dm"
+#include "code\modules\mob\living\brain\MMI_radio.dm"
+#include "code\modules\mob\living\brain\robotic_brain.dm"
#include "code\modules\mob\living\carbon\_defines.dm"
#include "code\modules\mob\living\carbon\carbon.dm"
#include "code\modules\mob\living\carbon\carbon_death.dm"
@@ -2052,16 +2062,6 @@
#include "code\modules\mob\living\carbon\alien\larva\larva_update_icons.dm"
#include "code\modules\mob\living\carbon\alien\special\alien_embryo.dm"
#include "code\modules\mob\living\carbon\alien\special\facehugger.dm"
-#include "code\modules\mob\living\carbon\brain\brain_death.dm"
-#include "code\modules\mob\living\carbon\brain\brain_emote.dm"
-#include "code\modules\mob\living\carbon\brain\brain_life.dm"
-#include "code\modules\mob\living\carbon\brain\brain_login.dm"
-#include "code\modules\mob\living\carbon\brain\brain_say.dm"
-#include "code\modules\mob\living\carbon\brain\brain_update_status.dm"
-#include "code\modules\mob\living\carbon\brain\carbon_brain.dm"
-#include "code\modules\mob\living\carbon\brain\MMI.dm"
-#include "code\modules\mob\living\carbon\brain\MMI_radio.dm"
-#include "code\modules\mob\living\carbon\brain\robotic_brain.dm"
#include "code\modules\mob\living\carbon\human\appearance.dm"
#include "code\modules\mob\living\carbon\human\body_accessories.dm"
#include "code\modules\mob\living\carbon\human\human_damage.dm"