[MIRROR] Skips traits that aren't implemented yet. (ABLE TO BE MERGED) (#13165)

* Merge pull request #8655 from MistakeNot4892/traitfix

Skips traits that aren't implemented yet.

* Skips traits that aren't implemented yet.

Co-authored-by: Atermonera <atermonera@gmail.com>
This commit is contained in:
VirgoBot
2022-09-22 21:03:37 -04:00
committed by GitHub
co-authored by Atermonera
parent 1a8f1760fa
commit 14b7d4d82b
2 changed files with 11 additions and 2 deletions
@@ -7,9 +7,12 @@
/datum/trait/modifier/apply_trait_post_spawn(mob/living/L)
L.add_modifier(modifier_type)
/datum/trait/modifier/is_available()
return !!modifier_type
/datum/trait/modifier/generate_desc()
var/new_desc = desc
if(!modifier_type)
if(!is_available())
new_desc = "[new_desc] This trait is not implemented yet."
return new_desc
var/datum/modifier/M = new modifier_type()
@@ -7,6 +7,9 @@ var/list/trait_categories = list() // The categories available for the trait men
//create a list of trait datums
for(var/trait_type in typesof(/datum/trait) - list(/datum/trait, /datum/trait/modifier))
var/datum/trait/T = new trait_type
if(!T.is_available())
qdel(T)
continue
if(!T.name)
error("Trait Menu - Missing name: [T.type]")
@@ -173,6 +176,9 @@ var/list/trait_categories = list() // The categories available for the trait men
return result
/datum/trait/proc/is_available()
return TRUE
// Similar to above, but uses the above two procs, in one place.
// Returns TRUE is everything is well.
/datum/trait/proc/validate(var/list/current_traits, var/datum/category_item/player_setup_item/traits/setup)
@@ -193,4 +199,4 @@ var/list/trait_categories = list() // The categories available for the trait men
for(var/trait in mind.traits)
var/datum/trait/T = trait_datums[trait]
if(istype(T))
T.apply_trait_post_spawn(src)
T.apply_trait_post_spawn(src)