private int GetOverheat()
        {
            var stat = statCollection.OverheatLevel();

            stat.Create();
            return(MechDefStatisticModifier.ModifyStatistic(stat, mechDef));
        }
        private int GetHeatSinkCapacity()
        {
            var stat = statCollection.HeatSinkCapacity();

            stat.Create();
            return(MechDefStatisticModifier.ModifyStatistic(stat, mechDef));
        }
        private float GetWeaponHeatMultiplier()
        {
            var stat = statCollection.WeaponHeatMultiplier();

            stat.Create();
            return(MechDefStatisticModifier.ModifyStatistic(stat, mechDef));
        }
        private int GetMaxHeat()
        {
            var stat = statCollection.MaxHeat();

            stat.Create();
            return(MechDefStatisticModifier.ModifyStatistic(stat, mechDef));
        }
        private float GetJumpJetMaxCountMultiplier()
        {
            var stat = statCollection.JumpJetCountMultiplier();

            stat.Create();
            return(MechDefStatisticModifier.ModifyStatistic(stat, mechDef));
        }
        private float GetJumpCapacity()
        {
            var stat = statCollection.JumpCapacity();

            stat.Create();
            return(MechDefStatisticModifier.ModifyStatistic(stat, mechDef));
        }
        private float GetRunSpeed()
        {
            var stat = statCollection.RunSpeed();

            stat.CreateWithDefault(movement.RunSpeed);
            return(MechDefStatisticModifier.ModifyStatistic(stat, mechDef));
        }
        private int GetJumpHeat()
        {
            var stat = statCollection.JumpHeat();

            stat.Create();
            MechDefStatisticModifier.ModifyStatistic(stat, mechDef);
            return(statCollection.GetJumpHeat(1));
        }
        private int GetHeatGenerated()
        {
            var defaultValue = mechDef.Inventory
                               .Where(x => x.IsFunctionalORInstalling())
                               .Select(x => x.Def as WeaponDef)
                               .Where(x => x != null)
                               .Sum(x => x.HeatGenerated);

            var stat = statCollection.HeatGenerated();

            stat.CreateWithDefault(defaultValue);
            var value = MechDefStatisticModifier.ModifyStatistic(stat, mechDef);

            return(PrecisionUtils.RoundUpToInt(value));
        }
        private int GetHeatGenerated()
        {
            var defaultValue = mechDef.Inventory
                               .Where(x => x.IsFunctionalORInstalling())
                               .Select(x => x.Def as WeaponDef)
                               .Where(x => x != null)
                               .Sum(x => x.HeatGenerated);

            // TODO HeatDivisor support or not? nah we just don't support COIL, who needs that anyway...

            var stat = statCollection.HeatGenerated();

            stat.CreateWithDefault(defaultValue);
            var value = MechDefStatisticModifier.ModifyStatistic(stat, mechDef);

            return(PrecisionUtils.RoundUpToInt(value));
        }