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)