}
else
{
- profile = HumanoidCharacterProfile.Random();
+ var speciesToBlacklist =
+ new HashSet<string>(_cfg.GetCVar(CCVars.ICNewAccountSpeciesBlacklist).Split(","));
+ profile = HumanoidCharacterProfile.Random(speciesToBlacklist);
}
readyPlayerProfiles.Add(userId, profile);
}
var prefs = await _db.GetPlayerPreferencesAsync(userId, cancel);
if (prefs is null)
{
- return await _db.InitPrefsAsync(userId, HumanoidCharacterProfile.Random(), cancel);
+ var speciesToBlacklist =
+ new HashSet<string>(_cfg.GetCVar(CCVars.ICNewAccountSpeciesBlacklist).Split(","));
+ return await _db.InitPrefsAsync(userId, HumanoidCharacterProfile.Random(speciesToBlacklist), cancel);
}
return prefs;
public static readonly CVarDef<string> ICRandomSpeciesWeights =
CVarDef.Create("ic.random_species_weights", "SpeciesWeights", CVar.SERVER);
+ /// <summary>
+ /// The list of species that will NOT be given to new account joins when they are assigned a random character.
+ /// This only affects the first time a character is made for an account, nothing else.
+ /// </summary>
+ public static readonly CVarDef<string> ICNewAccountSpeciesBlacklist =
+ CVarDef.Create("ic.blacklist_species_new_account", "Diona,Vulpkanin,Vox,SlimePerson", CVar.SERVER);
+
/// <summary>
/// Control displaying SSD indicators near players
/// </summary>