Ejemplo n.º 1
0
        public static Site MakeSite(SiteCoreDef core, IEnumerable <SitePartDef> siteParts, Faction faction)
        {
            Site site = (Site)WorldObjectMaker.MakeWorldObject(WorldObjectDefOf.Site);

            site.core = core;
            site.SetFaction(faction);
            if (siteParts != null)
            {
                site.parts.AddRange(siteParts);
            }
            return(site);
        }
Ejemplo n.º 2
0
        public static Site MakeSite(SiteCoreDef core, IEnumerable <SitePartDef> siteParts, int tile, Faction faction, bool ifHostileThenMustRemainHostile = true, float?threatPoints = null)
        {
            Site site = (Site)WorldObjectMaker.MakeWorldObject(WorldObjectDefOf.Site);

            site.Tile = tile;
            site.SetFaction(faction);
            if (ifHostileThenMustRemainHostile && faction != null && faction.HostileTo(Faction.OfPlayer))
            {
                site.factionMustRemainHostile = true;
            }
            float num = (!threatPoints.HasValue) ? StorytellerUtility.DefaultSiteThreatPointsNow() : threatPoints.Value;

            site.desiredThreatPoints = num;
            int num2 = 0;

            if (core.wantsThreatPoints)
            {
                num2++;
            }
            if (siteParts != null)
            {
                foreach (SitePartDef current in siteParts)
                {
                    if (current.wantsThreatPoints)
                    {
                        num2++;
                    }
                }
            }
            float num3           = (num2 == 0) ? 0f : (num / (float)num2);
            float myThreatPoints = (!core.wantsThreatPoints) ? 0f : num3;

            site.core = new SiteCore(core, core.Worker.GenerateDefaultParams(site, myThreatPoints));
            if (siteParts != null)
            {
                foreach (SitePartDef current2 in siteParts)
                {
                    float myThreatPoints2 = (!current2.wantsThreatPoints) ? 0f : num3;
                    site.parts.Add(new SitePart(current2, current2.Worker.GenerateDefaultParams(site, myThreatPoints2)));
                }
            }
            return(site);
        }
Ejemplo n.º 3
0
        public static Site MakeSite(SiteCoreDef core, IEnumerable <SitePartDef> siteParts, Faction faction, bool ifHostileThenMustRemainHostile = true)
        {
            Site site = (Site)WorldObjectMaker.MakeWorldObject(WorldObjectDefOf.Site);

            site.core = new SiteCore(core, core.Worker.GenerateDefaultParams());
            site.SetFaction(faction);
            if (siteParts != null)
            {
                foreach (SitePartDef sitePartDef in siteParts)
                {
                    site.parts.Add(new SitePart(sitePartDef, sitePartDef.Worker.GenerateDefaultParams()));
                }
            }
            if (ifHostileThenMustRemainHostile && faction != null && faction.HostileTo(Faction.OfPlayer))
            {
                site.factionMustRemainHostile = true;
            }
            return(site);
        }
Ejemplo n.º 4
0
        public static Site MakeSite(IEnumerable <SitePartDefWithParams> siteParts, int tile, Faction faction, bool ifHostileThenMustRemainHostile = true)
        {
            Site site = (Site)WorldObjectMaker.MakeWorldObject(WorldObjectDefOf.Site);

            site.Tile = tile;
            site.SetFaction(faction);
            if (ifHostileThenMustRemainHostile && faction != null && faction.HostileTo(Faction.OfPlayer))
            {
                site.factionMustRemainHostile = true;
            }
            if (siteParts != null)
            {
                foreach (SitePartDefWithParams sitePart in siteParts)
                {
                    site.AddPart(new SitePart(site, sitePart.def, sitePart.parms));
                }
            }
            site.desiredThreatPoints = site.ActualThreatPoints;
            return(site);
        }