Exemple #1
0
 // Token: 0x06000042 RID: 66 RVA: 0x00003AC8 File Offset: 0x00001CC8
 public static bool CheckForExplosion(JetPackApparel JP)
 {
     if (Settings.AllowBoom)
     {
         int hp    = JP.HitPoints;
         int maxhp = JP.MaxHitPoints;
         if ((float)hp < (float)maxhp * 0.33f)
         {
             float chance = ((float)maxhp * 0.33f - (float)hp) * 100f / (float)maxhp;
             if ((float)Rand.Range(1, 100) < chance)
             {
                 return(true);
             }
         }
     }
     return(false);
 }
Exemple #2
0
        // 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);
                        }
                    }
                }
            }
        }
Exemple #3
0
        // Token: 0x06000042 RID: 66 RVA: 0x00003AC8 File Offset: 0x00001CC8
        public static bool CheckForExplosion(JetPackApparel JP)
        {
            if (!Settings.AllowBoom)
            {
                return(false);
            }

            var hp    = JP.HitPoints;
            var maxhp = JP.MaxHitPoints;

            if (!(hp < maxhp * 0.33f))
            {
                return(false);
            }

            var chance = ((maxhp * 0.33f) - hp) * 100f / maxhp;

            if (Rand.Range(1, 100) < chance)
            {
                return(true);
            }

            return(false);
        }