// Token: 0x060002EA RID: 746 RVA: 0x0001C738 File Offset: 0x0001AB38 protected override IEnumerable <Toil> MakeNewToils() { this.FailOnDespawnedOrNull(this.TransporterInd); yield return(Toils_Goto.GotoThing(this.TransporterInd, PathEndMode.Touch)); yield return(new Toil { initAction = delegate() { HiveLike transporter = this.Transporter; this.pawn.DeSpawn(DestroyMode.Vanish); transporter.GetDirectlyHeldThings().TryAdd(this.pawn, true); } }); yield break; }
public override void MapComponentTick() { base.MapComponentTick(); /* * if (true) * { * bool hiveship = XenomorphUtil.HiveShipPresent(this.map); * bool hivetunnel = XenomorphUtil.HivelikesPresent(this.map); * bool hiveslime = XenomorphUtil.HiveSlimePresent(this.map); * if (!hiveship && !hivetunnel && !hiveslime) * { * for (int i = 0; i < depthGrid.Length; i++) * { * if (depthGrid[i] > 0f) * { * HiveUtility.AddHiveRadial(this.map.cellIndices.IndexToCell(i), map, 1, -Rand.RangeSeeded(0.0001f,0.001f, AvPConstants.AvPSeed)); * } * } * } * } */ if (Find.TickManager.TicksGame % 500 == 0) { // Log.Message(string.Format("MapComponentTick update lists")); potentialHosts = map.ViableHosts(); nonpotentialHosts = map.InviableHosts(); Queenlist = map.mapPawns.AllPawnsSpawned.FindAll(x => x.def == XenomorphRacesDefOf.RRY_Xenomorph_Queen); Dronelist = map.mapPawns.AllPawnsSpawned.FindAll(x => x.def == XenomorphRacesDefOf.RRY_Xenomorph_Drone); Warriorlist = map.mapPawns.AllPawnsSpawned.FindAll(x => x.def == XenomorphRacesDefOf.RRY_Xenomorph_Warrior); Runnerlist = map.mapPawns.AllPawnsSpawned.FindAll(x => x.def == XenomorphRacesDefOf.RRY_Xenomorph_Runner); Predalienlist = map.mapPawns.AllPawnsSpawned.FindAll(x => x.def == XenomorphRacesDefOf.RRY_Xenomorph_Predalien); Thrumbomorphlist = map.mapPawns.AllPawnsSpawned.FindAll(x => x.def == XenomorphRacesDefOf.RRY_Xenomorph_Thrumbomorph); Hivelist = map.listerThings.ThingsOfDef(XenomorphDefOf.RRY_XenomorphHive); HiveChildlist = map.listerThings.ThingsOfDef(XenomorphDefOf.RRY_XenomorphHive_Child); foreach (HiveLike item in HiveChildlist) { if (!item.GetDirectlyHeldThings().NullOrEmpty()) { IList <Thing> l = item.GetDirectlyHeldThings(); if (Hivelist != null) { int drone = 0; int warrior = 0; int runner = 0; HiveLike main = (HiveLike)Hivelist.RandomElement(); foreach (Pawn i in l) { if (i.def == XenomorphRacesDefOf.RRY_Xenomorph_Runner) { runner++; if (runner > 2) { main.GetDirectlyHeldThings().TryAddOrTransfer(i); } } if (i.def == XenomorphRacesDefOf.RRY_Xenomorph_Drone) { drone++; if (drone > 2) { main.GetDirectlyHeldThings().TryAddOrTransfer(i); } } if (i.def == XenomorphRacesDefOf.RRY_Xenomorph_Warrior) { warrior++; if (warrior > 2) { main.GetDirectlyHeldThings().TryAddOrTransfer(i); } } if (i.def == XenomorphRacesDefOf.RRY_Xenomorph_Predalien) { main.GetDirectlyHeldThings().TryAddOrTransfer(i); } if (i.def == XenomorphRacesDefOf.RRY_Xenomorph_Queen) { main.GetDirectlyHeldThings().TryAddOrTransfer(i); } if (i.def == XenomorphRacesDefOf.RRY_Xenomorph_Thrumbomorph) { main.GetDirectlyHeldThings().TryAddOrTransfer(i); } if (!l.Contains(i)) { if (main.GetDirectlyHeldThings().Contains(i)) { if (main.Lord != null) { i.switchLord(main.Lord); } else { // Log.Message(string.Format("{0} lord is null", main, i.LabelShortCap)); } } else { // Log.Message(string.Format("{0} doesnt contain {1}", main, i.LabelShortCap)); } } else { // Log.Message(string.Format("{0} still contains {1}", item, i.LabelShortCap)); } } } } } } }