// Token: 0x06000E63 RID: 3683 RVA: 0x0006B874 File Offset: 0x00069C74 protected override bool CanFireNowSub(IncidentParms parms) { Map map = (Map)parms.target; return(base.CanFireNowSub(parms) && HiveLikeUtility.TotalSpawnedHiveLikesCount(map) < 30 && InfestationLikeCellFinder.TryFindCell(out intVec, map)); /* * Map map = (Map)parms.target; * IntVec3 intVec = DropCellFinder.RandomDropSpot(map); * return base.CanFireNowSub(parms) && HiveLikeUtility.TotalSpawnedHiveLikesCount(map) < 100; */ }
// Token: 0x06002677 RID: 9847 RVA: 0x00124224 File Offset: 0x00122624 public override void DeSpawn(DestroyMode mode = DestroyMode.Vanish) { Map map = base.Map; base.DeSpawn(mode); List <Lord> lords = map.lordManager.lords; for (int i = 0; i < lords.Count; i++) { lords[i].ReceiveMemo(HiveLike.MemoDeSpawned); } HiveLikeUtility.Notify_HiveLikeDespawned(this, map); }
// Token: 0x0600268A RID: 9866 RVA: 0x00124ABC File Offset: 0x00122EBC public static void Notify_HiveLikeDespawned(HiveLike hivelike, Map map) { int num = GenRadial.NumCellsInRadius(2f); for (int i = 0; i < num; i++) { IntVec3 c = hivelike.Position + GenRadial.RadialPattern[i]; if (c.InBounds(map)) { List <Thing> thingList = c.GetThingList(map); for (int j = 0; j < thingList.Count; j++) { if (thingList[j].Faction == hivelike.OfFaction && !HiveLikeUtility.AnyHiveLikePreventsClaiming(thingList[j])) { thingList[j].SetFaction(null, null); } } } } }