From 97ef3ec3496a96cc1692b4dbd75058c0243b725c Mon Sep 17 00:00:00 2001 From: Ghom <42542238+Ghommie@users.noreply.github.com> Date: Sun, 15 Sep 2024 20:08:05 +0200 Subject: [PATCH] [NO GBP] Quickfix for a now removed status flag (also byond issue). (#86680) ## About The Pull Request Making the code compile. EDIT: There's an on-going BYOND issue with datum subtypes (not atoms) in which trying to override the parent value with null won't work. Melbert has provided me a fix for it too (from: https://github.com/tgstation/tgstation/pull/86666/commits/d6c1dbf4fd641d160961d7964e145e93b86d672c) ## Why It's Good For The Game Making the code compile and the CI succeed ## Changelog . --- code/game/atoms_movable.dm | 2 +- .../antagonists/heretic/magic/void_prison.dm | 6 ++---- code/modules/language/_language_holder.dm | 13 ++++++++++--- 3 files changed, 13 insertions(+), 8 deletions(-) diff --git a/code/game/atoms_movable.dm b/code/game/atoms_movable.dm index 8f8d350c927..f58a5def187 100644 --- a/code/game/atoms_movable.dm +++ b/code/game/atoms_movable.dm @@ -17,7 +17,7 @@ var/tk_throw_range = 10 var/mob/pulledby = null /// What language holder type to init as - var/initial_language_holder = /datum/language_holder + var/initial_language_holder = /datum/language_holder/atom_basic /// Holds all languages this mob can speak and understand VAR_PRIVATE/datum/language_holder/language_holder /// The list of factions this atom belongs to diff --git a/code/modules/antagonists/heretic/magic/void_prison.dm b/code/modules/antagonists/heretic/magic/void_prison.dm index 22a4d17eb88..211a747c800 100644 --- a/code/modules/antagonists/heretic/magic/void_prison.dm +++ b/code/modules/antagonists/heretic/magic/void_prison.dm @@ -56,8 +56,7 @@ owner.apply_status_effect(/datum/status_effect/void_chill, 3) if(stasis_overlay) //Free our prisoner - owner.status_flags &= ~GODMODE - owner.remove_traits(list(TRAIT_NO_TRANSFORM, TRAIT_SOFTSPOKEN), REF(src)) + owner.remove_traits(list(TRAIT_GODMODE, TRAIT_NO_TRANSFORM, TRAIT_SOFTSPOKEN), REF(src)) owner.forceMove(get_turf(stasis_overlay)) stasis_overlay.forceMove(owner) owner.vis_contents += stasis_overlay @@ -72,8 +71,7 @@ /datum/status_effect/void_prison/proc/enter_prison(mob/living/prisoner) stasis_overlay.forceMove(prisoner.loc) prisoner.forceMove(stasis_overlay) - prisoner.add_traits(list(TRAIT_NO_TRANSFORM, TRAIT_SOFTSPOKEN), REF(src)) - prisoner.status_flags |= GODMODE + prisoner.add_traits(list(TRAIT_GODMODE, TRAIT_NO_TRANSFORM, TRAIT_SOFTSPOKEN), REF(src)) ///Makes sure to clear the ref in case the voidball ever suddenly disappears /datum/status_effect/void_prison/proc/clear_overlay() diff --git a/code/modules/language/_language_holder.dm b/code/modules/language/_language_holder.dm index b6dea2d4e0e..a368186a513 100644 --- a/code/modules/language/_language_holder.dm +++ b/code/modules/language/_language_holder.dm @@ -37,10 +37,10 @@ Key procs /datum/language_holder /// Lazyassoclist of all understood languages - var/list/understood_languages = list(/datum/language/common = list(LANGUAGE_ATOM)) + var/list/understood_languages /// Lazyassoclist of languages that can be spoken. /// Tongue organ may also set limits beyond this list. - var/list/spoken_languages = list(/datum/language/common = list(LANGUAGE_ATOM)) + var/list/spoken_languages /// Lazyassoclist of blocked languages. /// Used to prevent understanding and speaking certain languages, ie for certain mobs, mutations etc. var/list/blocked_languages @@ -503,14 +503,21 @@ GLOBAL_LIST_INIT(prototype_language_holders, init_language_holder_prototypes()) /datum/language/nekomimetic = list(LANGUAGE_ATOM), ) +// Given to atoms by default +/datum/language_holder/atom_basic + understood_languages = list(/datum/language/common = list(LANGUAGE_ATOM)) + spoken_languages = list(/datum/language/common = list(LANGUAGE_ATOM)) + +// Explicitly empty one for readability /datum/language_holder/empty understood_languages = null spoken_languages = null +// Has all the languages known (via "mind") /datum/language_holder/universal understood_languages = null spoken_languages = null /datum/language_holder/universal/New() . = ..() - grant_all_languages() + grant_all_languages(source = LANGUAGE_MIND)