Beispiel #1
0
        public static void AddDefaultRelationships(IdeaTreeTemplate defaultTemplate)
        {
            CharacterRelationshipOption relationship = new CharacterRelationshipOption("Significant Other") { MinAgeOffset = -20, MaxAgeOffset = 20, RequiresOrientationMatch = true };
            CharacterRelationshipOption subRelationship = new CharacterRelationshipOption("Spouse")
            {
                IsChoice = true, Weight = 75, Max = 1, MinAge = 18, SharesMasculineSurname = true,
                ReciprocalRelationship = "Significant Other\\Spouse",
                IncompatibleRelationships = new ObservableCollection<string>() { "Significant Other\\Betrothed", "Significant Other\\Sweetheart" }
            };
            subRelationship.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 1, MaxAge = 24 });
            subRelationship.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 7, MinAge = 25, MaxAge = 29 });
            subRelationship.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 50, MinAge = 36, MaxAge = 39 });
            subRelationship.AddChild(new CharacterRelationshipOption("Husband")
            { Genders = new ObservableCollection<string>() { CharacterGenderOption.manArchetype } });
            subRelationship.AddChild(new CharacterRelationshipOption("Wife")
            { Genders = new ObservableCollection<string>() { CharacterGenderOption.womanArchetype } });
            relationship.AddChild(subRelationship);
            subRelationship = new CharacterRelationshipOption("Betrothed")
            {
                IsChoice = true, Weight = 7, Max = 1, MinAge = 18,
                ReciprocalRelationship = "Significant Other\\Betrothed",
                IncompatibleRelationships = new ObservableCollection<string>() { "Significant Other\\Spouse", "Significant Other\\Sweetheart" }
            };
            subRelationship.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 1, MaxAge = 24 });
            subRelationship.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 2, MinAge = 25, MaxAge = 29 });
            subRelationship.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 5, MinAge = 36, MaxAge = 39 });
            subRelationship.AddChild(new CharacterRelationshipOption("Fiancé")
            { Genders = new ObservableCollection<string>() { CharacterGenderOption.manArchetype } });
            subRelationship.AddChild(new CharacterRelationshipOption("Fiancée")
            { Genders = new ObservableCollection<string>() { CharacterGenderOption.womanArchetype } });
            relationship.AddChild(subRelationship);
            subRelationship = new CharacterRelationshipOption("Sweetheart")
            {
                IsChoice = true, Weight = 5, Max = 1, MinAge = 13,
                ReciprocalRelationship = "Significant Other\\Sweetheart",
                IncompatibleRelationships = new ObservableCollection<string>() { "Significant Other\\Spouse", "Significant Other\\Betrothed" }
            };
            subRelationship.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, MaxAge = 13 });
            subRelationship.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 20, MinAge = 16, MaxAge = 29 });
            subRelationship.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 10, MinAge = 30, MaxAge = 49 });
            subRelationship.AddChild(new CharacterRelationshipOption("Boyfriend")
            { Genders = new ObservableCollection<string>() { CharacterGenderOption.manArchetype } });
            subRelationship.AddChild(new CharacterRelationshipOption("Girlfriend")
            { Genders = new ObservableCollection<string>() { CharacterGenderOption.womanArchetype } });
            relationship.AddChild(subRelationship);
            subRelationship = new CharacterRelationshipOption("Lover")
            {
                IsChoice = true, Weight = 2,
                ReciprocalRelationship = "Significant Other\\Lover",
                RequiredRelationships = new ObservableCollection<string>() { "Significant Other\\Spouse" }
            };
            subRelationship.AddChild(new CharacterRelationshipOption("Paramour")
            { Genders = new ObservableCollection<string>() { CharacterGenderOption.manArchetype } });
            subRelationship.AddChild(new CharacterRelationshipOption("Mistress")
            { Genders = new ObservableCollection<string>() { CharacterGenderOption.womanArchetype } });
            relationship.AddChild(subRelationship);
            defaultTemplate.CharacterTemplate.Relationships.AddChild(relationship);

            relationship = new CharacterRelationshipOption("Ex") { MinAgeOffset = -15, MaxAgeOffset = 15 };
            subRelationship = new CharacterRelationshipOption("Ex-Spouse") { IsChoice = true, Weight = 50, SecondWeight = 5, Max = 2, MinAge = 18, ReciprocalRelationship = "Ex\\Ex-Spouse"};
            subRelationship.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 1, MaxAge = 24 });
            subRelationship.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 3, MinAge = 25, MaxAge = 29 });
            subRelationship.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 10, MinAge = 30, MaxAge = 35 });
            subRelationship.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 20, MinAge = 35, MaxAge = 44 });
            subRelationship.AddChild(new CharacterRelationshipOption("Ex-Husband") { Genders = new ObservableCollection<string>() { CharacterGenderOption.manArchetype } });
            subRelationship.AddChild(new CharacterRelationshipOption("Ex-Wife") { Genders = new ObservableCollection<string>() { CharacterGenderOption.womanArchetype } });
            relationship.AddChild(subRelationship);
            subRelationship = new CharacterRelationshipOption("Ex-Sweetheart") { IsChoice = true, Weight = 5, ReciprocalRelationship = "Ex\\Ex-Sweetheart"};
            subRelationship.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, MaxAge = 13 });
            subRelationship.AddChild(new CharacterRelationshipOption("Ex-Boyfriend") { Genders = new ObservableCollection<string>() { CharacterGenderOption.manArchetype } });
            subRelationship.AddChild(new CharacterRelationshipOption("Ex-Girlfriend") { Genders = new ObservableCollection<string>() { CharacterGenderOption.womanArchetype } });
            relationship.AddChild(subRelationship);
            defaultTemplate.CharacterTemplate.Relationships.AddChild(relationship);

            relationship = new CharacterRelationshipOption("Child")
            { IsChoice = true, Weight = 2, MinAgeOffset = -45, MaxAgeOffset = -18, IsBloodRelative = true, AlwaysSharesSurname = true, ReciprocalRelationship = "Parent" };
            relationship.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 0, MaxAge = 29 });
            relationship.Modifiers.Add(new NoteOptionCharacterModifier() { Weight = 85, MinAge = 61 });
            relationship.AddChild(new CharacterRelationshipOption("Son") { Genders = new ObservableCollection<string>() { CharacterGenderOption.manArchetype } });
            relationship.AddChild(new CharacterRelationshipOption("Daughter") { Genders = new ObservableCollection<string>() { CharacterGenderOption.womanArchetype } });
            defaultTemplate.CharacterTemplate.Relationships.AddChild(relationship);

            relationship = new CharacterRelationshipOption("Parent")
            {
                IsChoice = true, MinAgeOffset = 18, MaxAgeOffset = 45, Max = 2, IsBloodRelative = true, SharesFamilySurname = true,
                ReciprocalRelationship = "Child"
            };
            relationship.AddChild(new CharacterRelationshipOption("Father") { Genders = new ObservableCollection<string>() { CharacterGenderOption.manArchetype } });
            relationship.AddChild(new CharacterRelationshipOption("Mother") { Genders = new ObservableCollection<string>() { CharacterGenderOption.womanArchetype } });
            defaultTemplate.CharacterTemplate.Relationships.AddChild(relationship);

            relationship = new CharacterRelationshipOption("Sibling") { IsChoice = true, MaxAgeOffset = 27, MinAgeOffset = -27, IsBloodRelative = true, SharesFamilySurname = true };
            relationship.AddChild(new CharacterRelationshipOption("Brother") { Genders = new ObservableCollection<string>() { CharacterGenderOption.manArchetype } });
            relationship.AddChild(new CharacterRelationshipOption("Sister") { Genders = new ObservableCollection<string>() { CharacterGenderOption.womanArchetype } });
            defaultTemplate.CharacterTemplate.Relationships.AddChild(relationship);

            relationship = new CharacterRelationshipOption("Colleague") { IsFamily = false, Weight = 60, MinAge = 18, MaxAge = 65 };
            relationship.AddChild(new CharacterRelationshipOption("Boss")
            {
                IsFamily = false, Max = 2, Weight = 40, SecondWeight = 20, MinAge = 25, MaxAge = 65, ReciprocalRelationship = "Colleague\\Employee"
            });
            relationship.AddChild(new CharacterRelationshipOption("Employee")
            {
                IsFamily = false, Weight = 10, SecondWeight = 20, ThirdWeight = 50, MinAge = 18, MaxAge = 65, ReciprocalRelationship = "Colleague\\Boss"
            });
            defaultTemplate.CharacterTemplate.Relationships.AddChild(relationship);
            
            defaultTemplate.CharacterTemplate.Relationships.AddChild(new CharacterRelationshipOption("Friend") { IsFamily = false, Weight = 80, MinAgeOffset = -5, MaxAgeOffset = 5 });
            defaultTemplate.CharacterTemplate.Relationships.AddChild(new CharacterRelationshipOption("Neighbor") { IsFamily = false, Max = 5, Weight = 60, MinAge = 18 });
            defaultTemplate.CharacterTemplate.Relationships.AddChild(new CharacterRelationshipOption("Roommate")
            {
                IsFamily = false, Max = 3, Weight = 20, MinAge = 18, MinAgeOffset = -5, MaxAgeOffset = 5
            });
            defaultTemplate.CharacterTemplate.Relationships.AddChild(new CharacterRelationshipOption("Student")
            {
                IsFamily = false, Max = 24, Weight = 5, SecondWeight = 75, ThirdWeight = 100, MinAge = 5, MaxAge = 25, MaxAgeOffset = -6,
                ReciprocalRelationship = "Teacher",
                IncompatibleRelationships = new ObservableCollection<string>() { "Teacher" }
            });
            defaultTemplate.CharacterTemplate.Relationships.AddChild(new CharacterRelationshipOption("Teacher")
            {
                IsFamily = false, Max = 6, Weight = 5, SecondWeight = 80, MinAge = 26, MaxAge = 65, MinAgeOffset = 6,
                ReciprocalRelationship = "Student",
                IncompatibleRelationships = new ObservableCollection<string>() { "Student" }
            });
        }