public static CellCulturalSkill CreateCellInstance(CellGroup group, CulturalSkill baseSkill, float initialValue)
    {
        if (BiomeSurvivalSkill.IsBiomeSurvivalSkill(baseSkill))
        {
            return(new BiomeSurvivalSkill(group, baseSkill, initialValue));
        }

        if (SeafaringSkill.IsSeafaringSkill(baseSkill))
        {
            return(new SeafaringSkill(group, baseSkill, initialValue));
        }

        throw new System.Exception("Unhandled CulturalSkill type: " + baseSkill.Id);
    }
    public static CellCulturalSkill CreateCellInstance(string id, CellGroup group, float initialValue = 0)
    {
        if (BiomeSurvivalSkill.IsBiomeSurvivalSkill(id))
        {
            Biome biome = Biome.Biomes[BiomeSurvivalSkill.GetBiomeId(id)];

            return(new BiomeSurvivalSkill(group, biome, initialValue));
        }

        if (SeafaringSkill.IsSeafaringSkill(id))
        {
            return(new SeafaringSkill(group, initialValue));
        }

        throw new System.Exception("Unhandled CulturalSkill type: " + id);
    }