コード例 #1
0
ファイル: JPInjury.cs プロジェクト: zwfengineer/Jetpack
 // Token: 0x06000045 RID: 69 RVA: 0x00003BF8 File Offset: 0x00001DF8
 internal static void CheckDFA(Thing instigator, IntVec3 DFACell)
 {
     if (Settings.ApplyDFA && instigator != null && (instigator?.Map) != null)
     {
         bool DFA        = false;
         bool injuryFull = false;
         if (JPInjury.DFAEvent(DFACell, instigator, true))
         {
             DFA        = true;
             injuryFull = true;
         }
         if (Settings.ApplyDFASplash)
         {
             List <IntVec3> neighbours = GenRadial.RadialCellsAround(DFACell, 1.5f, false).ToList <IntVec3>();
             if (neighbours.Count > 0)
             {
                 foreach (IntVec3 neighbour in neighbours)
                 {
                     if (GenGrid.InBounds(neighbour, instigator.Map) && JPInjury.DFAEvent(neighbour, instigator, false))
                     {
                         DFA = true;
                     }
                 }
             }
         }
         if (DFA)
         {
             JPInjury.DoJPRelatedInjury(instigator, false, true, null, injuryFull);
         }
     }
 }
コード例 #2
0
ファイル: JPSkyFaller.cs プロジェクト: zwfengineer/Jetpack
 // Token: 0x0600004D RID: 77 RVA: 0x00004390 File Offset: 0x00002590
 internal void CheckAndApplyPostInjury(Thing pilot)
 {
     if (this.PilotRoofPunchUp)
     {
         JPInjury.DoJPRelatedInjury(pilot, true, false, null, false);
         this.PilotRoofPunchUp = false;
     }
     if (this.PilotRoofPunchDown)
     {
         JPInjury.DoJPRelatedInjury(pilot, false, false, null, true);
         this.PilotRoofPunchDown = false;
     }
 }
コード例 #3
0
ファイル: JPInjury.cs プロジェクト: zwfengineer/Jetpack
        // Token: 0x06000046 RID: 70 RVA: 0x00003CC0 File Offset: 0x00001EC0
        internal static bool DFAEvent(IntVec3 cell, Thing instigator, bool fullDmg)
        {
            bool         DFAEvent   = false;
            List <Thing> cellThings = GridsUtility.GetThingList(cell, instigator.Map);

            if (cellThings.Count > 0)
            {
                for (int i = 0; i < cellThings.Count; i++)
                {
                    if (cellThings[i] is Pawn && cellThings[i] != instigator)
                    {
                        JPInjury.DoJPRelatedInjury(cellThings[i], true, true, instigator, fullDmg);
                        DFAEvent = true;
                    }
                }
            }
            return(DFAEvent);
        }