Better Block Injectors (#17128)

* Better Block Injectors

* makes it pass

* .

* Update human_organs.dm

* fixes blood v2

* save

* gwah

* update appearance

* resolve

* Update computers.dm
This commit is contained in:
Cameron Lennox
2025-02-13 06:27:14 -05:00
committed by GitHub
parent f2284b7272
commit 96381f94f1
26 changed files with 149 additions and 32 deletions
@@ -66,6 +66,7 @@
dna.real_name = real_name
sync_dna_traits(FALSE) // Traitgenes Sync traits to genetics if needed
sync_organ_dna()
initialize_vessel()
AddComponent(/datum/component/personal_crafting)
@@ -1068,6 +1069,7 @@
dna.ResetUIFrom(src)
sync_dna_traits(TRUE) // Traitgenes Sync traits to genetics if needed
sync_organ_dna()
initialize_vessel()
losebreath = 0
@@ -1312,7 +1314,9 @@
var/datum/mob_descriptor/descriptor = species.descriptors[desctype]
descriptors[desctype] = descriptor.default_value
addtimer(CALLBACK(src, PROC_REF(initialize_vessel)), 0, TIMER_DELETE_ME) //Doing ASYNC fails here. This used to be a spawn(0)
//This was the old location of initialize_vessel. A race condiiton happened here because of species code being JANK. This resulted in runtimes during unit test, but worked perfectly fine in game.
//Now, initialize_vessel has been moved to human/Initialize()
// addtimer(CALLBACK(src, PROC_REF(initialize_vessel)), 0, TIMER_DELETE_ME) //Doing ASYNC fails here. This used to be a spawn(0)
// Rebuild the HUD. If they aren't logged in then login() should reinstantiate it for them.
update_hud()
@@ -1326,7 +1330,6 @@
return 0
/mob/living/carbon/human/proc/initialize_vessel() //This needs fixing. For some reason mob species is not immediately set in set_species.
PRIVATE_PROC(TRUE)
SHOULD_NOT_OVERRIDE(TRUE)
regenerate_icons()
make_blood()
@@ -188,6 +188,7 @@
// Traitgenes Init genes based on the traits currently active
/mob/living/carbon/human/proc/sync_dna_traits(var/refresh_traits, var/hide_message = TRUE)
SHOULD_NOT_OVERRIDE(TRUE) //Don't. Even. /Think/. About. It.
if(!dna || !species)
return
// Traitgenes NO_SCAN and Synthetics cannot be mutated
@@ -11,7 +11,7 @@
activity_bounds = DNA_HARD_BOUNDS
activation_message="You feel no need to breathe."
/*
/datum/trait/positive/superpower_remoteview
name = "Remote Viewing"
desc = "Remotely view other locations."
@@ -33,7 +33,6 @@
. = ..()
if(/mob/living/carbon/human/proc/remoteobserve in S.inherent_verbs)
remove_verb(H, /mob/living/carbon/human/proc/remoteobserve)
*/
/datum/trait/positive/superpower_regenerate
name = "Regenerate"
@@ -161,6 +160,7 @@
if(H.dna)
H.dna.SetSEState(linked_gene.block, FALSE, FALSE) // Turn this thing off or so help me--
domutcheck(H,null,MUTCHK_FORCED)
H.UpdateAppearance()
H.mutations.Remove(HULK)
H.Weaken(3)
H.emote("collapse")
@@ -553,6 +553,7 @@
new_character.dna.b_type = client.prefs.b_type
new_character.sync_dna_traits(TRUE) // Traitgenes Sync traits to genetics if needed
new_character.sync_organ_dna()
new_character.initialize_vessel()
for(var/lang in client.prefs.alternate_languages)
var/datum/language/chosen_language = GLOB.all_languages[lang]