public HediffDefStats(HediffDef d) : base(d)
        {
            this.isBad = d.isBad;
            this.chanceToCauseNoPain        = d.chanceToCauseNoPain;
            this.makesSickThought           = d.makesSickThought;
            this.makesAlert                 = d.makesAlert;
            this.minSeverity                = d.minSeverity;
            this.maxSeverity                = d.maxSeverity;
            this.cureAllAtOnceIfCuredByItem = d.cureAllAtOnceIfCuredByItem;
            this.everCurableByItem          = d.everCurableByItem;
            this.battleStateLabel           = d.battleStateLabel;
            this.priceImpact                = d.priceImpact;
            this.chronic = d.chronic;
            //this.removeOnRedressChanceByDaysCurve = new SimpleCurveStats(d.removeOnRedressChanceByDaysCurve);
            this.displayWound = d.displayWound;
            if (d.defaultLabelColor != null)
            {
                this.defaultLabelColor = new ColorStats(d.defaultLabelColor);
            }
            if (d.injuryProps != null)
            {
                this.injuryProps = new InjuryPropsStats(d.injuryProps);
            }
            if (d.addedPartProps != null)
            {
                this.addedPartProps = new AddedBodyPartPropsStats(d.addedPartProps);
            }

            Util.AssignDefStat(d.spawnThingOnRemoved, out this.spawnThingOnRemoved);
            Util.AssignDefStat(d.causesNeed, out this.causesNeed);
            Util.AssignDefStat(d.disablesNeed, out this.disablesNeed);
            Util.AssignDefStat(d.taleOnVisible, out this.taleOnVisible);
        }
 public DifficultyDefStat(DifficultyDef d) : base(d)
 {
     this.drawColor                        = new ColorStats(d.drawColor);
     this.isExtreme                        = d.isExtreme;
     this.difficulty                       = d.difficulty;
     this.threatScale                      = d.threatScale;
     this.allowBigThreats                  = d.allowBigThreats;
     this.allowCaveHives                   = d.allowCaveHives;
     this.allowIntroThreats                = d.allowIntroThreats;
     this.peacefulTemples                  = d.peacefulTemples;
     this.predatorsHuntHumanlikes          = d.predatorsHuntHumanlikes;
     this.colonistMoodOffset               = d.colonistMoodOffset;
     this.tradePriceFactorLoss             = d.tradePriceFactorLoss;
     this.cropYieldFactor                  = d.cropYieldFactor;
     this.mineYieldFactor                  = d.mineYieldFactor;
     this.researchSpeedFactor              = d.researchSpeedFactor;
     this.diseaseIntervalFactor            = d.diseaseIntervalFactor;
     this.enemyReproductionRateFactor      = d.enemyReproductionRateFactor;
     this.playerPawnInfectionChanceFactor  = d.playerPawnInfectionChanceFactor;
     this.manhunterChanceOnDamageFactor    = d.manhunterChanceOnDamageFactor;
     this.deepDrillInfestationChanceFactor = d.deepDrillInfestationChanceFactor;
     this.foodPoisonChanceFactor           = d.foodPoisonChanceFactor;
     // TODO this.raidBeaconThreatCountFactor = d.raidBeaconThreatCountFactor;
     this.maintenanceCostFactor              = d.maintenanceCostFactor;
     this.enemyDeathOnDownedChanceFactor     = d.enemyDeathOnDownedChanceFactor;
     this.adaptationGrowthRateFactorOverZero = d.adaptationGrowthRateFactorOverZero;
     this.adaptationEffectFactor             = d.adaptationEffectFactor;
 }