makes traits more paranoid, also removes the double application (#5929)
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user