diff --git a/code/controllers/configuration/entries/game_options.dm b/code/controllers/configuration/entries/game_options.dm index f2c9cd3315..436c77131d 100644 --- a/code/controllers/configuration/entries/game_options.dm +++ b/code/controllers/configuration/entries/game_options.dm @@ -110,6 +110,7 @@ CONFIG_DEF(number/shuttle_refuel_delay) CONFIG_DEF(flag/show_game_type_odds) //if set this allows players to see the odds of each roundtype on the get revision screen +<<<<<<< HEAD CONFIG_DEF(flag/join_with_mutant_race) //players can choose their mutant race before joining the game CONFIG_DEF(keyed_flag_list/roundstart_races) //races you can play as from the get go. If left undefined the game's roundstart var for species is used @@ -133,6 +134,9 @@ CONFIG_DEF(keyed_flag_list/roundstart_races) //races you can play as from the ge value = old_val else first_edit = FALSE +======= +CONFIG_DEF(keyed_flag_list/roundstart_races) //races you can play as from the get go. +>>>>>>> 360fbff... Fixes losing species preferences (#32093) CONFIG_DEF(flag/join_with_mutant_humans) //players can pick mutant bodyparts for humans before joining the game diff --git a/code/datums/datacore.dm b/code/datums/datacore.dm index 5ed8dcf733..5f9cf3ad9a 100644 --- a/code/datums/datacore.dm +++ b/code/datums/datacore.dm @@ -224,8 +224,7 @@ G.fields["name"] = H.real_name G.fields["rank"] = assignment G.fields["age"] = H.age - if(CONFIG_GET(flag/join_with_mutant_race)) - G.fields["species"] = H.dna.species.name + G.fields["species"] = H.dna.species.name G.fields["fingerprint"] = md5(H.dna.uni_identity) G.fields["p_stat"] = "Active" G.fields["m_stat"] = "Stable" diff --git a/code/game/gamemodes/miniantags/abduction/machinery/experiment.dm b/code/game/gamemodes/miniantags/abduction/machinery/experiment.dm index 99059e7a25..73a696fb3a 100644 --- a/code/game/gamemodes/miniantags/abduction/machinery/experiment.dm +++ b/code/game/gamemodes/miniantags/abduction/machinery/experiment.dm @@ -62,7 +62,7 @@ /obj/machinery/abductor/experiment/proc/dissection_icon(mob/living/carbon/human/H) var/icon/photo = null var/g = (H.gender == FEMALE) ? "f" : "m" - if(!CONFIG_GET(flag/join_with_mutant_race) || H.dna.species.use_skintones) + if(H.dna.species.use_skintones) photo = icon("icon" = 'icons/mob/human.dmi', "icon_state" = "[H.skin_tone]_[g]") else photo = icon("icon" = 'icons/mob/human.dmi', "icon_state" = "[H.dna.species.id]_[g]") diff --git a/code/game/machinery/computer/medical.dm b/code/game/machinery/computer/medical.dm index f13cfe8c00..41b41e536e 100644 --- a/code/game/machinery/computer/medical.dm +++ b/code/game/machinery/computer/medical.dm @@ -123,8 +123,7 @@ dat += "
| "
- if(CONFIG_GET(flag/join_with_mutant_race))
- dat += "Species: [pref_species.name] " - else - dat += "Species: Human " + dat += "Species: [pref_species.name] " dat += "Underwear: [underwear] " dat += "Undershirt: [undershirt] " @@ -337,79 +334,79 @@ GLOBAL_LIST_EMPTY(preferences_datums) dat += " | "
- if(CONFIG_GET(flag/join_with_mutant_race)) //We don't allow mutant bodyparts for humans either unless this is true.
- if((MUTCOLORS in pref_species.species_traits) || (MUTCOLORS_PARTSONLY in pref_species.species_traits))
+ if((MUTCOLORS in pref_species.species_traits) || (MUTCOLORS_PARTSONLY in pref_species.species_traits))
- dat += "" + dat += " | "
- dat += "Mutant Color" + dat += "Mutant Color" - dat += " Change" + dat += " Change " - dat += " | "
+ dat += ""
- if("tail_lizard" in pref_species.mutant_bodyparts)
- dat += "" + if("tail_lizard" in pref_species.mutant_bodyparts) + dat += " | "
- dat += "Tail" + dat += "Tail" - dat += "[features["tail_lizard"]]" + dat += "[features["tail_lizard"]] " - dat += " | "
+ dat += ""
- if("snout" in pref_species.mutant_bodyparts)
- dat += "" + if("snout" in pref_species.mutant_bodyparts) + dat += " | "
- dat += "Snout" + dat += "Snout" - dat += "[features["snout"]]" + dat += "[features["snout"]] " - dat += " | "
+ dat += ""
- if("horns" in pref_species.mutant_bodyparts)
- dat += "" + if("horns" in pref_species.mutant_bodyparts) + dat += " | "
- dat += "Horns" + dat += "Horns" - dat += "[features["horns"]]" + dat += "[features["horns"]] " - dat += " | "
+ dat += ""
- if("frills" in pref_species.mutant_bodyparts)
- dat += "" + if("frills" in pref_species.mutant_bodyparts) + dat += " | "
- dat += "Frills" + dat += "Frills" - dat += "[features["frills"]]" + dat += "[features["frills"]] " - dat += " | "
+ dat += ""
- if("spines" in pref_species.mutant_bodyparts)
- dat += "" + if("spines" in pref_species.mutant_bodyparts) + dat += " | "
- dat += "Spines" + dat += "Spines" - dat += "[features["spines"]]" + dat += "[features["spines"]] " - dat += " | "
+ dat += ""
- if("body_markings" in pref_species.mutant_bodyparts)
- dat += "" + if("body_markings" in pref_species.mutant_bodyparts) + dat += " | "
- dat += "Body Markings" + dat += "Body Markings" - dat += "[features["body_markings"]]" + dat += "[features["body_markings"]] " - dat += " | "
- if("legs" in pref_species.mutant_bodyparts)
- dat += "" + dat += " | " + if("legs" in pref_species.mutant_bodyparts) + dat += ""
- dat += "Legs" + dat += "Legs" - dat += "[features["legs"]]" + dat += "[features["legs"]] " + + dat += " | "
- dat += ""
if(CONFIG_GET(flag/join_with_mutant_humans))
if("tail_human" in pref_species.mutant_bodyparts)
@@ -1826,10 +1823,12 @@ GLOBAL_LIST_EMPTY(preferences_datums)
character.dna.features = features.Copy() //Flavor text is now a DNA feature
character.dna.real_name = character.real_name
var/datum/species/chosen_species
- if(pref_species != /datum/species/human && CONFIG_GET(flag/join_with_mutant_race))
+ if(pref_species.id in GLOB.roundstart_races)
chosen_species = pref_species.type
else
chosen_species = /datum/species/human
+ pref_species = new /datum/species/human
+ save_character()
character.set_species(chosen_species, icon_update=0)
//citadel code
diff --git a/code/modules/client/preferences_savefile.dm b/code/modules/client/preferences_savefile.dm
index dddac1e506..2cb59f2c8e 100644
--- a/code/modules/client/preferences_savefile.dm
+++ b/code/modules/client/preferences_savefile.dm
@@ -294,6 +294,7 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car
//Species
var/species_id
S["species"] >> species_id
+<<<<<<< HEAD
var/list/roundstart_races = CONFIG_GET(keyed_flag_list/roundstart_races)
if(species_id && (species_id in roundstart_races) && CONFIG_GET(flag/join_with_mutant_race))
var/newtype = GLOB.species_list[species_id]
@@ -302,6 +303,11 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car
var/rando_race = pick(roundstart_races)
if (rando_race)
pref_species = new rando_race()
+=======
+ if(species_id)
+ var/newtype = GLOB.species_list[species_id]
+ pref_species = new newtype()
+>>>>>>> 360fbff... Fixes losing species preferences (#32093)
if(!S["features["mcolor"]"] || S["features["mcolor"]"] == "#000")
WRITE_FILE(S["features["mcolor"]"] , "#FFF")