// Token: 0x06000015 RID: 21 RVA: 0x000034AC File Offset: 0x000016AC private static void GiveRandomLootInventoryForTombPawn(Pawn p) { float value = Rand.Value; bool flag = value < 0.05f; if (flag) { ThingDef namedSilentFail = DefDatabase <ThingDef> .GetNamedSilentFail("Gun_RailgunMKI"); bool flag2 = namedSilentFail == null; if (flag2) { namedSilentFail = DefDatabase <ThingDef> .GetNamedSilentFail("Gun_ChargeLance"); } Building_XenomorphCryptosleepCasket.MakeIntoContainer(p.inventory.innerContainer, namedSilentFail, 1); } bool flag3 = value > 0.35f && value < 0.6f; if (flag3) { Building_XenomorphCryptosleepCasket.MakeIntoContainer(p.inventory.innerContainer, ThingDefOf.ComponentSpacer, Rand.Range(-1, 5)); } bool flag4 = value < 0.45f; if (flag4) { Building_XenomorphCryptosleepCasket.MakeIntoContainer(p.inventory.innerContainer, ThingDefOf.Gold, Rand.Range(10, 50)); } else { bool flag5 = value < 0.65f; if (flag5) { Building_XenomorphCryptosleepCasket.MakeIntoContainer(p.inventory.innerContainer, ThingDefOf.Uranium, Rand.Range(5, 60)); } else { Building_XenomorphCryptosleepCasket.MakeIntoContainer(p.inventory.innerContainer, ThingDefOf.Plasteel, Rand.Range(10, 50)); } } Building_XenomorphCryptosleepCasket.MakeIntoContainer(p.inventory.innerContainer, ThingDefOf.ComponentIndustrial, Rand.Range(-1, 6)); }
// Token: 0x06000010 RID: 16 RVA: 0x00003024 File Offset: 0x00001224 private void GenerateFromPawnkindList(Building_XenomorphCryptosleepCasket pod) { PawnGenerationRequest pawnGenerationRequest; pawnGenerationRequest = new PawnGenerationRequest(OfPawnKinds.RandomElement(), OfFaction, (PawnGenerationContext)2, -1, false, false, false, false, true, false, 1f, false, true, true, false, true, false, false); Pawn pawn = PawnGenerator.GeneratePawn(pawnGenerationRequest); if (Def.infectionDef != null) { BodyPartRecord part = null; if (Def.infectionDef == XenomorphDefOf.RRY_FaceHuggerInfection) { part = pawn.RaceProps.body.AllParts.Find(x => x.def == BodyPartDefOf.Head); } else if (Def.infectionDef != null && (Def.infectionDef == XenomorphDefOf.RRY_HiddenNeomorphImpregnation || Def.infectionDef == XenomorphDefOf.RRY_HiddenXenomorphImpregnation || Def.infectionDef == XenomorphDefOf.RRY_XenomorphImpregnation)) { part = pawn.RaceProps.body.AllParts.Find(x => x.def == BodyPartDefOf.Torso); } pawn.health.AddHediff(Def.infectionDef, part); } bool flag = Def.spawnThing != null; if (flag) { ThingDef namedSilentFail = Def.spawnThing; Building_XenomorphCryptosleepCasket.MakeIntoContainer(this.innerContainer, namedSilentFail, 1); } // Building_XenomorphCryptosleepCasket.GiveRandomLootInventoryForTombPawn(pawn); bool flag2 = !pod.TryAcceptThing(pawn, false); if (flag2) { Find.WorldPawns.PassToWorld(pawn, (PawnDiscardDecideMode)2); } }