mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-23 13:10:02 +01:00
This tail refactor turned into an organ refactor. Funny how that works. (#67017)
* Fuck you (refactors ur tails) * Errors * Wow. Pain. * Fixes up probably everything * finish up here * Fixes hard del maybe * original owner hard del * garbage collection runtime * suck my peen byond * Mapped tails * motherfucker. * motherrfucker. again. * Whooopppppsie * yeah bad idea * Turns out external organs literally just sat in nullspace forever if their parent was deleted, and didnt Remove() themselves, causing harddels. * So anyways I repathed all organs * Fixes * really. * unit test... test * unit test-test but it passes linters this time because im a moh-ron * I've lost track of what im doing at this point * Hopefully fixes hard del? * meh * Update code/datums/dna.dm * things n stuff * repath from master pull
This commit is contained in:
@@ -229,7 +229,7 @@
|
||||
.["slots_max"] = null
|
||||
return
|
||||
|
||||
var/obj/item/organ/brain/occupant_brain = carbon_occupant.getorganslot(ORGAN_SLOT_BRAIN)
|
||||
var/obj/item/organ/internal/brain/occupant_brain = carbon_occupant.getorganslot(ORGAN_SLOT_BRAIN)
|
||||
|
||||
// If there's no brain, we don't need to worry either.
|
||||
if(QDELETED(occupant_brain))
|
||||
@@ -272,7 +272,7 @@
|
||||
return TRUE
|
||||
var/chipref = params["ref"]
|
||||
var/mob/living/carbon/carbon_occupant = occupant
|
||||
var/obj/item/organ/brain/occupant_brain = carbon_occupant.getorganslot(ORGAN_SLOT_BRAIN)
|
||||
var/obj/item/organ/internal/brain/occupant_brain = carbon_occupant.getorganslot(ORGAN_SLOT_BRAIN)
|
||||
if(QDELETED(carbon_occupant) || QDELETED(occupant_brain))
|
||||
return TRUE
|
||||
var/obj/item/skillchip/to_be_removed = locate(chipref) in occupant_brain.skillchips
|
||||
@@ -297,7 +297,7 @@
|
||||
stack_trace("[usr] tried to toggle skillchip activation when [src] was in an invalid state.")
|
||||
return TRUE
|
||||
var/mob/living/carbon/carbon_occupant = occupant
|
||||
var/obj/item/organ/brain/occupant_brain = carbon_occupant.getorganslot(ORGAN_SLOT_BRAIN)
|
||||
var/obj/item/organ/internal/brain/occupant_brain = carbon_occupant.getorganslot(ORGAN_SLOT_BRAIN)
|
||||
if(QDELETED(carbon_occupant) || QDELETED(occupant_brain))
|
||||
return TRUE
|
||||
var/obj/item/skillchip/to_be_removed = locate(chipref) in occupant_brain.skillchips
|
||||
|
||||
@@ -47,7 +47,7 @@
|
||||
/// Set to TRUE when the skill chip's effects are applied. Set to FALSE when they're not.
|
||||
var/active = FALSE
|
||||
/// Brain that holds this skillchip.
|
||||
var/obj/item/organ/brain/holding_brain
|
||||
var/obj/item/organ/internal/brain/holding_brain
|
||||
|
||||
/obj/item/skillchip/Initialize(mapload, is_removable = TRUE)
|
||||
. = ..()
|
||||
@@ -132,7 +132,7 @@
|
||||
* Arguments:
|
||||
* * owner_brain - The brain that this skillchip was implanted in to.
|
||||
*/
|
||||
/obj/item/skillchip/proc/on_implant(obj/item/organ/brain/owner_brain)
|
||||
/obj/item/skillchip/proc/on_implant(obj/item/organ/internal/brain/owner_brain)
|
||||
if(holding_brain)
|
||||
CRASH("Skillchip is trying to be implanted into [owner_brain], but it's already implanted in [holding_brain]")
|
||||
|
||||
@@ -198,7 +198,7 @@
|
||||
* Arguments:
|
||||
* * skillchip - The skillchip you're intending to activate. Does not activate the chip.
|
||||
*/
|
||||
/obj/item/skillchip/proc/has_activate_incompatibility(obj/item/organ/brain/brain)
|
||||
/obj/item/skillchip/proc/has_activate_incompatibility(obj/item/organ/internal/brain/brain)
|
||||
if(QDELETED(brain))
|
||||
return "No brain detected."
|
||||
|
||||
@@ -248,7 +248,7 @@
|
||||
return "Incompatible lifeform detected."
|
||||
|
||||
// No brain
|
||||
var/obj/item/organ/brain/brain = target.getorganslot(ORGAN_SLOT_BRAIN)
|
||||
var/obj/item/organ/internal/brain/brain = target.getorganslot(ORGAN_SLOT_BRAIN)
|
||||
if(QDELETED(brain))
|
||||
return "No brain detected."
|
||||
|
||||
@@ -267,7 +267,7 @@
|
||||
* Arguments:
|
||||
* * brain - The brain to check for implantability with.
|
||||
*/
|
||||
/obj/item/skillchip/proc/has_brain_incompatibility(obj/item/organ/brain/brain)
|
||||
/obj/item/skillchip/proc/has_brain_incompatibility(obj/item/organ/internal/brain/brain)
|
||||
if(!istype(brain))
|
||||
stack_trace("Attempted to check incompatibility with invalid brain object [brain].")
|
||||
return "Incompatible brain."
|
||||
|
||||
Reference in New Issue
Block a user