protected virtual void ResolveRaidSpawnCenter(IncidentParms parms) { if (parms.spawnCenter.IsValid) { return; } if (parms.raidArrivalMode == PawnsArriveMode.CenterDrop || parms.raidArrivalMode == PawnsArriveMode.EdgeDrop) { if (parms.raidArrivalMode == PawnsArriveMode.CenterDrop) { parms.raidPodOpenDelay = 520; if (Rand.Value < 0.4f && Find.ListerBuildings.ColonistsHaveBuildingWithPowerOn(ThingDefOf.OrbitalTradeBeacon)) { parms.spawnCenter = DropCellFinder.TradeDropSpot(); } else if (!DropCellFinder.TryFindRaiderDropCenterClose(out parms.spawnCenter)) { parms.raidArrivalMode = PawnsArriveMode.EdgeDrop; } } if (parms.raidArrivalMode == PawnsArriveMode.EdgeDrop) { parms.raidPodOpenDelay = 140; parms.spawnCenter = DropCellFinder.FindRaiderDropCenterDistant(); } } else { RCellFinder.TryFindRandomPawnEntryCell(out parms.spawnCenter); } }