makes traits more paranoid, also removes the double application (#5929)

This commit is contained in:
Poojawa
2018-03-14 17:28:42 -05:00
committed by GitHub
parent 035b3458de
commit 452b58d1a1
2 changed files with 9 additions and 11 deletions
@@ -26,10 +26,12 @@ PROCESSING_SUBSYSTEM_DEF(traits)
/datum/controller/subsystem/processing/traits/proc/AssignTraits(mob/living/user, client/cli, spawn_effects)
GenerateTraits(cli)
for(var/V in cli.prefs.character_traits)
user.add_trait_datum(V, spawn_effects)
if(user && cli && cli.prefs.character_traits)
for(var/V in cli.prefs.character_traits)
user.add_trait_datum(V, spawn_effects)
/datum/controller/subsystem/processing/traits/proc/GenerateTraits(client/user)
if(user.prefs.character_traits.len)
return
user.prefs.character_traits = user.prefs.all_traits
if(user && user.prefs && user.prefs.character_traits)
if(user.prefs.character_traits.len)
return
user.prefs.character_traits = user.prefs.all_traits
+2 -6
View File
@@ -992,15 +992,14 @@ GLOBAL_LIST_EMPTY(preferences_datums)
return 1
else if(href_list["preference"] == "trait")
if(SSticker.HasRoundStarted() && !isnewplayer(user))
to_chat(user, "<span class='danger'>The round has already started. Please wait until next round to set up your traits!</span>")
return
switch(href_list["task"])
if("close")
user << browse(null, "window=mob_occupation")
ShowChoices(user)
if("update")
var/trait = href_list["trait"]
if(!SStraits.traits[trait])
return
var/value = SStraits.trait_points[trait]
if(value == 0)
if(trait in neutral_traits)
@@ -1926,6 +1925,3 @@ GLOBAL_LIST_EMPTY(preferences_datums)
character.update_hair()
character.update_body_parts()
character.update_genitals()
if(CONFIG_GET(flag/roundstart_traits))
SStraits.AssignTraits(character, parent)