// Token: 0x0600002D RID: 45 RVA: 0x000032F0 File Offset: 0x000014F0 public void ChangeFuelJP(Pawn pilot, Thing JP, ThingDef fueldef, float MinRange) { if (this.JPFuelItem != fueldef) { this.RemoveFuel(pilot); this.JPFuelAmount = 0; this.JPFuelItem = fueldef; this.JPFuelRate = JPUtility.GetFuelRate(fueldef); this.JPJumpRangeMax = (float)JPUtility.GetJumpRange(pilot, JP.def, fueldef, MinRange); } }
// Token: 0x0600002D RID: 45 RVA: 0x000032F0 File Offset: 0x000014F0 public void ChangeFuelJP(Pawn pilot, Thing JP, ThingDef fueldef, float MinRange) { if (JPFuelItem == fueldef) { return; } RemoveFuel(pilot); JPFuelAmount = 0; JPFuelItem = fueldef; JPFuelRate = JPUtility.GetFuelRate(fueldef); JPJumpRangeMax = JPUtility.GetJumpRange(pilot, JP.def, fueldef, MinRange); }
// Token: 0x06000021 RID: 33 RVA: 0x000025DC File Offset: 0x000007DC public override void PostMake() { base.PostMake(); JPFuelItem = DefDatabase <ThingDef> .GetNamed(GetComp <CompJetPack>().Props.JPFuel, false); JPFuelAmount = GetComp <CompJetPack>().Props.JPFuelLevel; JPFuelMax = GetComp <CompJetPack>().Props.JPFuelMaximum; JPFuelMin = GetComp <CompJetPack>().Props.JPFuelMinimum; JPFuelRate = GetComp <CompJetPack>().Props.JPFuelBurnRate; JPJumpRangeMax = GetComp <CompJetPack>().Props.JPJumpMax; JPJumpRangeMin = GetComp <CompJetPack>().Props.JPJumpMin; JPSkyFallType = GetComp <CompJetPack>().Props.JPSKType; JPPilotIsDrafted = false; JPSlowBurn = false; JPSlowBurnTicks = 0; if (JPFuelItem == null) { JPFuelItem = ThingDefOf.Chemfuel; Log.Message("Warning: Jet pack fuel item not defined, defaulting to chemfuel"); } else { var pilot = Wearer; if (JPFuelItem == DefDatabase <ThingDef> .GetNamed("MSHydrogenPeroxide", false)) { JPJumpRangeMax = JPUtility.GetJumpRange(pilot, def, JPFuelItem, JPJumpRangeMin); JPFuelRate = JPUtility.GetFuelRate(JPFuelItem); } else if (JPFuelItem == DefDatabase <ThingDef> .GetNamed("JPKerosene")) { JPJumpRangeMax = JPUtility.GetJumpRange(pilot, def, JPFuelItem, JPJumpRangeMin); JPFuelRate = JPUtility.GetFuelRate(JPFuelItem); } } if (JPFuelAmount < 0) { JPFuelAmount = 0; } if (JPFuelMax < 75) { JPFuelMax = 75; } if (JPFuelMax > 150) { JPFuelMax = 150; } if (JPFuelMin < 5) { JPFuelMin = 5; } if (JPFuelMin > JPFuelMax) { JPFuelMin = JPFuelMax; } if (JPFuelRate < 0.1f) { JPFuelRate = 0.1f; } if (JPFuelRate > 1f) { JPFuelRate = 1f; } if (JPJumpRangeMax > 30f) { JPJumpRangeMax = 30f; } if (JPJumpRangeMax < 10f) { JPJumpRangeMax = 10f; } if (JPJumpRangeMin < 5f) { JPJumpRangeMin = 5f; } if (JPJumpRangeMin > 9f) { JPJumpRangeMin = 9f; } if (def.defName != "Apparel_PowArmCGearJetPack") { if (def.defName != "Apparel_PowArmJetPack") { if (def.defName != "Apparel_BoosterJetPack") { if (JPSkyFallType != null && JPSkyFallType != "SFJetPack") { JPSkyFallType = "SFJetPack"; } } else { JPSkyFallType = "SFBoostPack"; } } else { JPSkyFallType = "SFJetPackPowArm"; } } else { JPSkyFallType = "SFJetPackCGear"; } if (JPFuelAmount > JPFuelMax) { JPFuelAmount = JPFuelMax; } }
// Token: 0x06000024 RID: 36 RVA: 0x00002B1F File Offset: 0x00000D1F // Token: 0x06000025 RID: 37 RVA: 0x00002B27 File Offset: 0x00000D27 public override IEnumerable <Gizmo> GetWornGizmos() { var fuelicon = JPFuelItem.uiIcon; if (fuelicon == null) { ThingDef chkFuelItem = null; if (JPFuelItem == null) { chkFuelItem = DefDatabase <ThingDef> .GetNamed(GetComp <CompJetPack>().Props.JPFuel, false); } if (chkFuelItem != null && chkFuelItem != JPFuelItem) { JPFuelItem = chkFuelItem; var chkFuelMax = GetComp <CompJetPack>().Props.JPFuelMaximum; if (chkFuelMax != JPFuelMax) { JPFuelMax = chkFuelMax; if (JPFuelAmount > JPFuelMax) { JPFuelAmount = JPFuelMax; } } } fuelicon = JPFuelItem.uiIcon; if (fuelicon == null) { JPFuelItem = ThingDefOf.Chemfuel; fuelicon = JPFuelItem.uiIcon; if (fuelicon == null) { fuelicon = def.uiIcon; Log.Message("Error: Jet Pack fuel definition not found."); } } } var chkSkyFallType = GetComp <CompJetPack>().Props.JPSKType; JPSkyFallType = string.IsNullOrEmpty(chkSkyFallType) ? "SFJetPack" : chkSkyFallType; var pilot = Wearer; JPJumpRangeMax = JPUtility.GetJumpRange(pilot, def, JPFuelItem, JPJumpRangeMin); JPFuelRate = JPUtility.GetFuelRate(JPFuelItem); if (Wearer == null || !Wearer.IsColonistPlayerControlled) { yield break; } var wearer = Wearer; if (wearer?.Map == null || Wearer.Downed || !Wearer.Spawned || JPUtility.IsInMeleeWithJP(Wearer)) { yield break; } if (Find.Selector.SingleSelectedThing != Wearer) { yield break; } string text = JPOnCooldown ? "JetPack.CooldownTicks".Translate(JPCooldownTicks.ToString()) : "JetPack.JPJump".Translate(); string desc = "JetPack.JPDesc".Translate(def.label.CapitalizeFirst()); yield return(new Command_JetPack { defaultLabel = text, defaultDesc = desc, icon = def.uiIcon, Pilot = Wearer, JPFuel = JPFuelAmount, JPFRate = JPFuelRate, JPMaxJump = JPJumpRangeMax, JPMinJump = JPJumpRangeMin, JPSKFStr = JPSkyFallType, action = delegate(IntVec3 cell) { SoundDefOf.Click.PlayOneShotOnCamera(); UseJetPack(Wearer, this, cell); } }); if (Settings.AllowSlowBurn) { text = "JetPack.JPSBSet".Translate(); desc = "JetPack.JPSBDesc".Translate(); yield return(new Command_Toggle { icon = ContentFinder <Texture2D> .Get(JPSBTexPath), defaultLabel = text, defaultDesc = desc, isActive = () => JPSlowBurn, toggleAction = delegate { ToggleSlowBurn(JPSlowBurn); } }); } text = "JetPack.JPLabel".Translate(def.label.CapitalizeFirst(), JPFuelAmount.ToString(), JPFuelMax.ToString()); desc = "JetPack.JPDesc".Translate(def.label.CapitalizeFirst()); yield return(new Command_Action { defaultLabel = text, defaultDesc = desc, icon = fuelicon, action = delegate { SoundDefOf.Click.PlayOneShotOnCamera(); RefuelJetPack(Wearer, this); } }); if (Prefs.DevMode) { yield return(new Command_Action { defaultLabel = "Debug Settings", defaultDesc = "Debug Commands", icon = fuelicon, action = delegate { SoundDefOf.Click.PlayOneShotOnCamera(); DoJetPackDebug(Wearer, this); } }); } }
// Token: 0x06000025 RID: 37 RVA: 0x00002B27 File Offset: 0x00000D27 public override IEnumerable <Gizmo> GetWornGizmos() { Texture2D fuelicon = this.JPFuelItem.uiIcon; if (fuelicon == null) { ThingDef chkFuelItem = null; if (this.JPFuelItem == null) { chkFuelItem = DefDatabase <ThingDef> .GetNamed(base.GetComp <CompJetPack>().Props.JPFuel, false); } if (chkFuelItem != null && chkFuelItem != this.JPFuelItem) { this.JPFuelItem = chkFuelItem; int chkFuelMax = base.GetComp <CompJetPack>().Props.JPFuelMaximum; if (chkFuelMax != this.JPFuelMax) { this.JPFuelMax = chkFuelMax; if (this.JPFuelAmount > this.JPFuelMax) { this.JPFuelAmount = this.JPFuelMax; } } } fuelicon = this.JPFuelItem.uiIcon; if (fuelicon == null) { this.JPFuelItem = ThingDefOf.Chemfuel; fuelicon = this.JPFuelItem.uiIcon; if (fuelicon == null) { fuelicon = this.def.uiIcon; Log.Message("Error: Jet Pack fuel definition not found.", false); } } } string chkSkyFallType = base.GetComp <CompJetPack>().Props.JPSKType; if (chkSkyFallType == null || chkSkyFallType == "") { this.JPSkyFallType = "SFJetPack"; } else if (chkSkyFallType != this.JPSkyFallType) { this.JPSkyFallType = chkSkyFallType; } Pawn pilot = base.Wearer; this.JPJumpRangeMax = (float)JPUtility.GetJumpRange(pilot, this.def, this.JPFuelItem, this.JPJumpRangeMin); this.JPFuelRate = JPUtility.GetFuelRate(this.JPFuelItem); if (base.Wearer != null && base.Wearer.IsColonistPlayerControlled) { Pawn wearer = base.Wearer; if ((wearer?.Map) != null && !base.Wearer.Downed && base.Wearer.Spawned && !JPUtility.IsInMeleeWithJP(base.Wearer)) { if (Find.Selector.SingleSelectedThing == base.Wearer) { string text; if (this.JPOnCooldown) { text = TranslatorFormattedStringExtensions.Translate("JetPack.CooldownTicks", this.JPCooldownTicks.ToString()); } else { text = Translator.Translate("JetPack.JPJump"); } string desc = TranslatorFormattedStringExtensions.Translate("JetPack.JPDesc", GenText.CapitalizeFirst(this.def.label)); yield return(new Command_JetPack { defaultLabel = text, defaultDesc = desc, icon = this.def.uiIcon, Pilot = base.Wearer, JPFuel = this.JPFuelAmount, JPFRate = this.JPFuelRate, JPMaxJump = this.JPJumpRangeMax, JPMinJump = this.JPJumpRangeMin, JPSKFStr = this.JPSkyFallType, action = delegate(IntVec3 cell) { SoundStarter.PlayOneShotOnCamera(SoundDefOf.Click, null); this.UseJetPack(base.Wearer, this, cell); } }); if (Settings.AllowSlowBurn) { text = Translator.Translate("JetPack.JPSBSet"); desc = Translator.Translate("JetPack.JPSBDesc"); yield return(new Command_Toggle { icon = ContentFinder <Texture2D> .Get(this.JPSBTexPath, true), defaultLabel = text, defaultDesc = desc, isActive = (() => this.JPSlowBurn), toggleAction = delegate() { this.ToggleSlowBurn(this.JPSlowBurn); } }); } text = TranslatorFormattedStringExtensions.Translate("JetPack.JPLabel", GenText.CapitalizeFirst(this.def.label), this.JPFuelAmount.ToString(), this.JPFuelMax.ToString()); desc = TranslatorFormattedStringExtensions.Translate("JetPack.JPDesc", GenText.CapitalizeFirst(this.def.label)); yield return(new Command_Action { defaultLabel = text, defaultDesc = desc, icon = fuelicon, action = delegate() { SoundStarter.PlayOneShotOnCamera(SoundDefOf.Click, null); this.RefuelJetPack(base.Wearer, this); } }); if (Prefs.DevMode) { yield return(new Command_Action { defaultLabel = "Debug Settings", defaultDesc = "Debug Commands", icon = fuelicon, action = delegate() { SoundStarter.PlayOneShotOnCamera(SoundDefOf.Click, null); this.DoJetPackDebug(base.Wearer, this); } }); } } yield break; } } yield break; }