public void SpawnSetup()
        {
            backstoryDef = new BackstoryDef();
            backstoryDef.defName = ListerDroids.AllDroids.Count + "DroidBS";
            backstoryDef.bodyTypeFemale = BodyType.Male;
            backstoryDef.bodyTypeMale = BodyType.Male;
            backstoryDef.title = "Droid";
            backstoryDef.titleShort = "Droid";
            backstoryDef.baseDescription = "A droid.";
            backstoryDef.shuffleable = false;
            backstoryDef.saveKeyIdentifier = "MD2";
            backstoryDef.slot = BackstorySlot.Childhood;
            backstoryDef.spawnCategories = new List<string>() { "Civil" };

            List<WorkTags> workTags = new List<WorkTags>();
            foreach(var t in parent.work.AllRequiredWorkTags)
            {
                if (!workTags.Contains(t))
                    workTags.Add(t);
            }
            backstoryDef.workAllows = workTags;

            backstoryDef.ResolveReferences();
            parent.story.adulthood = BackstoryDatabase.GetWithKey(backstoryDef.UniqueSaveKeyFor());
            parent.story.childhood = BackstoryDatabase.GetWithKey(backstoryDef.UniqueSaveKeyFor());
        }
示例#2
0
 public static string GetNumberedNameFor(BackstoryDef backstoryDef, string titleShort)
 {
     int num = 1;
     if (!listerDroids.droidTypesDict.TryGetValue(backstoryDef, out num))
     {
         num = 1;
         listerDroids.droidTypesDict.Add(backstoryDef, 2);
     }
     else
     {
         listerDroids.droidTypesDict[backstoryDef]++;
     }
     return titleShort + " " + num.ToString();
 }