Beispiel #1
0
 public static HumanoidCharacterProfile Default()
 {
     return(new(
                "John Doe",
                SpeciesManager.DefaultSpecies,
                MinimumAge,
                Sex.Male,
                Gender.Male,
                HumanoidCharacterAppearance.Default(),
                ClothingPreference.Jumpsuit,
                BackpackPreference.Backpack,
                new Dictionary <string, JobPriority>
     {
         { SharedGameTicker.FallbackOverflowJob, JobPriority.High }
     },
                PreferenceUnavailableMode.SpawnAsOverflow,
                new List <string>()));
 }
Beispiel #2
0
        public static HumanoidCharacterProfile Random()
        {
            var random = IoCManager.Resolve <IRobustRandom>();
            var sex    = random.Prob(0.5f) ? Sex.Male : Sex.Female;
            var gender = sex == Sex.Male ? Gender.Male : Gender.Female;

            var prototypeManager = IoCManager.Resolve <IPrototypeManager>();
            var firstName        = random.Pick(sex.FirstNames(prototypeManager).Values);
            var lastName         = random.Pick(prototypeManager.Index <DatasetPrototype>("names_last"));
            var name             = $"{firstName} {lastName}";
            var age = random.Next(MinimumAge, MaximumAge);

            return(new HumanoidCharacterProfile(name, age, sex, gender, HumanoidCharacterAppearance.Random(sex), ClothingPreference.Jumpsuit, BackpackPreference.Backpack,
                                                new Dictionary <string, JobPriority>
            {
                { SharedGameTicker.OverflowJob, JobPriority.High }
            }, PreferenceUnavailableMode.StayInLobby, new List <string>()));
        }
Beispiel #3
0
        public static HumanoidCharacterProfile Random()
        {
            var random = IoCManager.Resolve <IRobustRandom>();
            var sex    = random.Prob(0.5f) ? Sex.Male : Sex.Female;

            var firstName = random.Pick(sex == Sex.Male
                ? Names.MaleFirstNames
                : Names.FemaleFirstNames);
            var lastName = random.Pick(Names.LastNames);
            var name     = $"{firstName} {lastName}";
            var age      = random.Next(MinimumAge, MaximumAge);

            return(new HumanoidCharacterProfile(name, age, sex, HumanoidCharacterAppearance.Random(sex),
                                                new Dictionary <string, JobPriority>
            {
                { SharedGameTicker.OverflowJob, JobPriority.High }
            }, PreferenceUnavailableMode.StayInLobby, new List <string>()));
        }
        public static HumanoidCharacterProfile Random()
        {
            var prototypeManager = IoCManager.Resolve <IPrototypeManager>();
            var random           = IoCManager.Resolve <IRobustRandom>();

            var species = random.Pick(prototypeManager
                                      .EnumeratePrototypes <SpeciesPrototype>().Where(x => x.RoundStart).ToArray()).ID;
            var sex    = random.Prob(0.5f) ? Sex.Male : Sex.Female;
            var gender = sex == Sex.Male ? Gender.Male : Gender.Female;

            var name = sex.GetName(species, prototypeManager, random);
            var age  = random.Next(MinimumAge, MaximumAge);

            return(new HumanoidCharacterProfile(name, "", species, age, sex, gender, HumanoidCharacterAppearance.Random(sex), ClothingPreference.Jumpsuit, BackpackPreference.Backpack,
                                                new Dictionary <string, JobPriority>
            {
                { SharedGameTicker.FallbackOverflowJob, JobPriority.High }
            }, PreferenceUnavailableMode.StayInLobby, new List <string>()));
        }
Beispiel #5
0
 private HumanoidCharacterProfile(
     string name,
     int age,
     Sex sex,
     Gender gender,
     HumanoidCharacterAppearance appearance,
     ClothingPreference clothing,
     Dictionary <string, JobPriority> jobPriorities,
     PreferenceUnavailableMode preferenceUnavailable,
     List <string> antagPreferences)
 {
     Name                  = name;
     Age                   = age;
     Sex                   = sex;
     Gender                = gender;
     Appearance            = appearance;
     Clothing              = clothing;
     _jobPriorities        = jobPriorities;
     PreferenceUnavailable = preferenceUnavailable;
     _antagPreferences     = antagPreferences;
 }
Beispiel #6
0
        public static HumanoidCharacterAppearance EnsureValid(HumanoidCharacterAppearance appearance)
        {
            string hairStyleName;

            if (!HairStyles.HairStylesMap.ContainsKey(appearance.HairStyleName))
            {
                hairStyleName = HairStyles.DefaultHairStyle;
            }
            else
            {
                hairStyleName = appearance.HairStyleName;
            }

            string facialHairStyleName;

            if (!HairStyles.FacialHairStylesMap.ContainsKey(appearance.FacialHairStyleName))
            {
                facialHairStyleName = HairStyles.DefaultFacialHairStyle;
            }
            else
            {
                facialHairStyleName = appearance.FacialHairStyleName;
            }

            var hairColor       = ClampColor(appearance.HairColor);
            var facialHairColor = ClampColor(appearance.FacialHairColor);
            var eyeColor        = ClampColor(appearance.EyeColor);
            var skinColor       = ClampColor(appearance.SkinColor);

            return(new HumanoidCharacterAppearance(
                       hairStyleName,
                       hairColor,
                       facialHairStyleName,
                       facialHairColor,
                       eyeColor,
                       skinColor));
        }
Beispiel #7
0
 public HumanoidCharacterProfile WithCharacterAppearance(HumanoidCharacterAppearance appearance)
 {
     return(new HumanoidCharacterProfile(Name, Age, Sex, appearance, _jobPriorities, PreferenceUnavailable, _antagPreferences));
 }