public Jar(TraitDB traitDB, DefaultProperties defaultProperties)
    {
        this.traitDB = traitDB;

        maleParents   = new List <Fly>();
        femaleParents = new List <Fly>();
        progeny       = new List <Fly>();

        jarProperties = new Dictionary <JarProperty.PropertyType, JarProperty>();
        foreach (JarProperty property in defaultProperties.getDefaultProperties(traitDB.gameManager.getGamePhase()))
        {
            jarProperties.Add(property.propertyType, property);
        }

        selectiveSurvivabilityAdvantage = new Dictionary <TraitData.TraitID, float>();
        selectiveFitnessAdvantage       = new Dictionary <TraitData.TraitID, float>();
        statModification = new Dictionary <FlyStats.StatID, float>();

        setJarStats();

        tier = traitDB.gameManager.getGamePhase();
    }