From 8e8b46b2285e9b35d6c1e79f337e92995c2e4b1e Mon Sep 17 00:00:00 2001 From: Heroman3003 <31296024+Heroman3003@users.noreply.github.com> Date: Sat, 31 Aug 2024 05:31:57 +1000 Subject: [PATCH] Revert "Removed negative trait limit (#16214)" (#16231) This reverts commit 041abec5b6ff9e099339f41eea0465b011aacc1f. --- .../client/preference_setup/vore/07_traits.dm | 3 +- code/modules/mob/new_player/new_player_vr.dm | 52 +++++++++---------- 2 files changed, 27 insertions(+), 28 deletions(-) diff --git a/code/modules/client/preference_setup/vore/07_traits.dm b/code/modules/client/preference_setup/vore/07_traits.dm index 85c97bcbb7..549b54be82 100644 --- a/code/modules/client/preference_setup/vore/07_traits.dm +++ b/code/modules/client/preference_setup/vore/07_traits.dm @@ -279,8 +279,7 @@ var/global/list/valid_bloodreagents = list("default","iron","copper","phoron","s for(var/T in pref.pos_traits + pref.neg_traits) points_left -= traits_costs[T] - if(T in pref.pos_traits) - traits_left-- + traits_left-- . += "Traits Left: [traits_left]
" . += "Points Left: [points_left]
" if(points_left < 0 || traits_left < 0 || (!pref.custom_species && pref.species == SPECIES_CUSTOM)) diff --git a/code/modules/mob/new_player/new_player_vr.dm b/code/modules/mob/new_player/new_player_vr.dm index 4306327dbd..0c159d8627 100644 --- a/code/modules/mob/new_player/new_player_vr.dm +++ b/code/modules/mob/new_player/new_player_vr.dm @@ -39,35 +39,35 @@ pass = FALSE to_chat(src,"You have to name your custom species. Do this on the VORE tab in character setup.") - //Check traits/costs - var/list/megalist = client.prefs.pos_traits + client.prefs.neu_traits + client.prefs.neg_traits - var/points_left = client.prefs.starting_trait_points - var/traits_left = client.prefs.max_traits - var/pref_synth = client.prefs.dirty_synth - var/pref_meat = client.prefs.gross_meatbag - for(var/datum/trait/T as anything in megalist) - var/cost = traits_costs[T] + //Check traits/costs + var/list/megalist = client.prefs.pos_traits + client.prefs.neu_traits + client.prefs.neg_traits + var/points_left = client.prefs.starting_trait_points + var/traits_left = client.prefs.max_traits + var/pref_synth = client.prefs.dirty_synth + var/pref_meat = client.prefs.gross_meatbag + for(var/datum/trait/T as anything in megalist) + var/cost = traits_costs[T] - if(T.category == TRAIT_TYPE_POSITIVE) - traits_left-- + if(cost) + traits_left-- - //A trait was removed from the game - if(isnull(cost)) + //A trait was removed from the game + if(isnull(cost)) + pass = FALSE + to_chat(src,"Your custom species is not playable. One or more traits appear to have been removed from the game or renamed. Enter character setup to correct this.") + break + else + points_left -= traits_costs[T] + + var/take_flags = initial(T.can_take) + if((pref_synth && !(take_flags & SYNTHETICS)) || (pref_meat && !(take_flags & ORGANICS))) + pass = FALSE + to_chat(src, "Some of your traits are not usable by your character type (synthetic traits on organic, or vice versa).") + + //Went into negatives + if(points_left < 0 || traits_left < 0) pass = FALSE - to_chat(src,"Your species is not playable. One or more traits appear to have been removed from the game or renamed. Enter character setup to correct this.") - break - else - points_left -= traits_costs[T] - - var/take_flags = initial(T.can_take) - if((pref_synth && !(take_flags & SYNTHETICS)) || (pref_meat && !(take_flags & ORGANICS))) - pass = FALSE - to_chat(src, "Some of your traits are not usable by your character type (synthetic traits on organic, or vice versa).") - - //Went into negatives - if(points_left < 0 || traits_left < 0) - pass = FALSE - to_chat(src,"Your species is not playable. Reconfigure your traits on the VORE tab. Trait points: [points_left]. Traits left: [traits_left].") + to_chat(src,"Your custom species is not playable. Reconfigure your traits on the VORE tab.") //Final popup notice if (!pass)