예제 #1
0
        private BaseBlueprintDef GetBaseBlueprint()
        {
            BaseBlueprintDef print = DefDatabase <BaseBlueprintDef> .AllDefs.Where(b => b.Categories != null && b.Categories.Contains(blueprintsPattern)).RandomElement();

            if (print == null)
            {
                print = BlueprintDefOfLocal.SiegeCampBase2_1;
            }

            return(print);
        }
예제 #2
0
        public override void PostMapGenerate()
        {
            base.PostMapGenerate();

            BaseBlueprintDef basePrint = GetBaseBlueprint();

            BlueprintHandler.CreateBlueprintAt(settlement.Map.Center, settlement.Map, basePrint, settlement.Faction, null, out Dictionary <Pawn, LordType> pawns, out float totalThreat, true);
            foreach (var p in pawns.Keys)
            {
                friendlyPawns.Add(p);
                if (p != null)
                {
                    p.SetFaction(Faction.OfPlayer);
                }
            }

            friendlyPawnsBeforeAttack = friendlyPawns.Count;

            if (HelpShowed == false)
            {
                ShowHelp();
            }
        }