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); }
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); }
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); }
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); }