// Token: 0x06000053 RID: 83 RVA: 0x00004800 File Offset: 0x00002A00 public void JPIgnite(IntVec3 cell, Map map) { var pilot = GetThingForGraphic(); if (pilot == null) { return; } var JP = JPUtility.GetWornJP(pilot); if (JP == null) { return; } var jetPackApparel = JP as JetPackApparel; var fuel = jetPackApparel?.JPFuelItem; if (fuel == null) { return; } var factor = JPUtility.GetIgnitionFactor(fuel); var Rnd = Rand.Range(1, 100); if (Rnd < factor) { FireUtility.TryStartFireIn(cell, map, Math.Max(10f, factor - Rnd) / 100f); } }
// Token: 0x0600004C RID: 76 RVA: 0x0000435C File Offset: 0x0000255C internal void JPApplyCooldown(Thing pilot, int cd) { Apparel JP = JPUtility.GetWornJP(pilot); if (JP != null && JP is JetPackApparel) { (JP as JetPackApparel).JPCooldownTicks = Math.Max(0, 60 * cd); } }
// Token: 0x0600004C RID: 76 RVA: 0x0000435C File Offset: 0x0000255C internal void JPApplyCooldown(Thing pilot, int cd) { var JP = JPUtility.GetWornJP(pilot); if (JP is JetPackApparel apparel) { apparel.JPCooldownTicks = Math.Max(0, 60 * cd); } }
// Token: 0x0600004E RID: 78 RVA: 0x000043C4 File Offset: 0x000025C4 internal void CheckDrafting(Thing pilot) { if (pilot != null && pilot is Pawn) { Apparel JP = JPUtility.GetWornJP(pilot); if (JP != null && (JP as JetPackApparel).JPPilotIsDrafted) { (JP as JetPackApparel).JPPilotIsDrafted = false; (pilot as Pawn).drafter.Drafted = true; } } }
// Token: 0x0600003E RID: 62 RVA: 0x000038C0 File Offset: 0x00001AC0 protected override Job TryGiveJob(Pawn pawn) { if (!Settings.DoAutoRefuel || !pawn.IsColonistPlayerControlled) { return(null); } if (pawn.InMentalState) { return(null); } if (pawn.Map == null) { return(null); } var jobdef = DefDatabase <JobDef> .GetNamed("JPRefuel"); if (pawn.CurJobDef == jobdef) { return(null); } var JP = JPUtility.GetWornJP(pawn); if (JP == null) { return(null); } var FuelMax = ((JetPackApparel)JP).JPFuelMax; var Fuel = (JP as JetPackApparel).JPFuelAmount; var FuelItem = (JP as JetPackApparel).JPFuelItem; if (FuelMax <= 0 || Fuel >= FuelMax || Fuel * 100 / FuelMax > Settings.RefuelPCT) { return(null); } FindBestRefuel(pawn, FuelItem, FuelMax, Fuel, out var targ); if (targ != null) { return(new Job(jobdef, targ)); } return(null); }
// Token: 0x0600004E RID: 78 RVA: 0x000043C4 File Offset: 0x000025C4 internal void CheckDrafting(Thing pilot) { if (pilot is not Pawn) { return; } var JP = JPUtility.GetWornJP(pilot); if (JP == null || !((JetPackApparel)JP).JPPilotIsDrafted) { return; } (JP as JetPackApparel).JPPilotIsDrafted = false; ((Pawn)pilot).drafter.Drafted = true; }
// Token: 0x0600003E RID: 62 RVA: 0x000038C0 File Offset: 0x00001AC0 protected override Job TryGiveJob(Pawn pawn) { if (!Settings.DoAutoRefuel || !pawn.IsColonistPlayerControlled) { return(null); } if (pawn.InMentalState) { return(null); } if ((pawn?.Map) == null) { return(null); } JobDef jobdef = DefDatabase <JobDef> .GetNamed("JPRefuel", true); if ((pawn?.CurJobDef) == jobdef) { return(null); } Apparel JP = JPUtility.GetWornJP(pawn); if (JP != null) { int FuelMax = (JP as JetPackApparel).JPFuelMax; int Fuel = (JP as JetPackApparel).JPFuelAmount; ThingDef FuelItem = (JP as JetPackApparel).JPFuelItem; if (FuelMax > 0 && Fuel < FuelMax && Fuel * 100 / FuelMax <= Settings.RefuelPCT) { this.FindBestRefuel(pawn, FuelItem, FuelMax, Fuel, out Thing targ); if (targ != null) { return(new Job(jobdef, targ)); } } } return(null); }
// Token: 0x06000053 RID: 83 RVA: 0x00004800 File Offset: 0x00002A00 public void JPIgnite(IntVec3 cell, Map map) { Thing pilot = this.GetThingForGraphic(); if (pilot != null) { Apparel JP = JPUtility.GetWornJP(pilot); if (JP != null) { JetPackApparel jetPackApparel = JP as JetPackApparel; ThingDef fuel = jetPackApparel?.JPFuelItem; if (fuel != null) { float factor = JPUtility.GetIgnitionFactor(fuel); int Rnd = Rand.Range(1, 100); if ((float)Rnd < factor) { FireUtility.TryStartFireIn(cell, map, Math.Max(10f, factor - (float)Rnd) / 100f); } } } } }