コード例 #1
0
 // Token: 0x06000027 RID: 39 RVA: 0x00002B44 File Offset: 0x00000D44
 public void UseJetPack(Pawn pilot, Thing JP, IntVec3 targCell)
 {
     if (!this.JPComposMentis(pilot, JP, out string Reason))
     {
         Messages.Message(TranslatorFormattedStringExtensions.Translate("JetPack.CantDo", pilot, Reason), pilot, MessageTypeDefOf.NeutralEvent, false);
         SoundStarter.PlayOneShotOnCamera(SoundDefOf.ClickReject, null);
         return;
     }
     if (!this.FlightChecksOK(pilot, JP, out string ChecksReason))
     {
         Messages.Message(TranslatorFormattedStringExtensions.Translate("JetPack.ChecksReason", GenText.CapitalizeFirst(pilot.LabelShort), ChecksReason), pilot, MessageTypeDefOf.NeutralEvent, false);
         SoundStarter.PlayOneShotOnCamera(SoundDefOf.ClickReject, null);
         return;
     }
     if (JPUtility.ChkForDissallowed(pilot, out string DAllowReason))
     {
         Messages.Message(TranslatorFormattedStringExtensions.Translate("JetPack.DAllowReason", GenText.CapitalizeFirst(pilot.LabelShort), DAllowReason), pilot, MessageTypeDefOf.NeutralEvent, false);
         SoundStarter.PlayOneShotOnCamera(SoundDefOf.ClickReject, null);
         return;
     }
     if (!this.FlightCellCheck(pilot, targCell, this.JPFuelAmount, this.JPFuelRate, this.JPJumpRangeMin, this.JPJumpRangeMax, out string JumpReason))
     {
         Messages.Message(TranslatorFormattedStringExtensions.Translate("JetPack.JumpReason", JumpReason), pilot, MessageTypeDefOf.NeutralEvent, false);
         SoundStarter.PlayOneShotOnCamera(SoundDefOf.ClickReject, null);
         return;
     }
     if (!JPInjury.CheckForExplosion(this))
     {
         this.DoJumpJet(pilot, targCell);
         return;
     }
     JPInjury.DoJPExplosion(pilot, this.JPFuelAmount, this.JPFuelItem);
     this.JPFuelAmount = 0;
 }
コード例 #2
0
        // Token: 0x06000027 RID: 39 RVA: 0x00002B44 File Offset: 0x00000D44
        public void UseJetPack(Pawn pilot, Thing JP, IntVec3 targCell)
        {
            if (!JPComposMentis(pilot, JP, out var Reason))
            {
                Messages.Message("JetPack.CantDo".Translate(pilot, Reason), pilot, MessageTypeDefOf.NeutralEvent,
                                 false);
                SoundDefOf.ClickReject.PlayOneShotOnCamera();
                return;
            }

            if (!FlightChecksOK(pilot, JP, out var ChecksReason))
            {
                Messages.Message("JetPack.ChecksReason".Translate(pilot.LabelShort.CapitalizeFirst(), ChecksReason),
                                 pilot, MessageTypeDefOf.NeutralEvent, false);
                SoundDefOf.ClickReject.PlayOneShotOnCamera();
                return;
            }

            if (JPUtility.ChkForDissallowed(pilot, out var DAllowReason))
            {
                Messages.Message("JetPack.DAllowReason".Translate(pilot.LabelShort.CapitalizeFirst(), DAllowReason),
                                 pilot, MessageTypeDefOf.NeutralEvent, false);
                SoundDefOf.ClickReject.PlayOneShotOnCamera();
                return;
            }

            if (!FlightCellCheck(pilot, targCell, JPFuelAmount, JPFuelRate, JPJumpRangeMin, JPJumpRangeMax,
                                 out var JumpReason))
            {
                Messages.Message("JetPack.JumpReason".Translate(JumpReason), pilot, MessageTypeDefOf.NeutralEvent,
                                 false);
                SoundDefOf.ClickReject.PlayOneShotOnCamera();
                return;
            }

            if (!JPInjury.CheckForExplosion(this))
            {
                DoJumpJet(pilot, targCell);
                return;
            }

            JPInjury.DoJPExplosion(pilot, JPFuelAmount, JPFuelItem);
            JPFuelAmount = 0;
        }