// Copyright (c) Strange Loop Games. All rights reserved.
// See LICENSE file in the project root for full license information.
// <auto-generated />

namespace Eco.Mods.TechTree
{
        using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Linq;
    using Eco.Gameplay.Components;
    using Eco.Gameplay.Items;
    using Eco.Gameplay.Players;
    using Eco.Gameplay.Skills;
    using Eco.Mods.TechTree;
    using Eco.Shared.Items;
    using Eco.Shared.Localization;
    using Eco.Shared.Serialization;
    using Eco.Shared.Utils;
    using Eco.Shared.View;
    public partial class FrugalWorkspaceTalent : Talent
    {
        public override bool Base { get { return true; } }
        public override Type TalentType { get { return typeof(CraftingTalent); } } 
    }

    [Serialized]
    [LocDisplayName("Frugal Workspace: Composites")]
    public partial class CompositesFrugalWorkspaceTalentGroup : TalentGroup
    {
        public override LocString DisplayDescription { get; } = Localizer.DoStr("Lowers the tier requirement of related tables by 0.2");

        public CompositesFrugalWorkspaceTalentGroup()
        {
            Talents = new Type[]
            {
            
            typeof(CompositesFrugalReqTalent), 
            
            
            };
            this.OwningSkill = typeof(CompositesSkill);
            this.Level = 6;
        }
    }

    
    [Serialized]
    public partial class CompositesFrugalReqTalent : FrugalWorkspaceTalent
    {
        public override bool Base { get { return false; } }
        public override Type TalentGroupType { get { return typeof(CompositesFrugalWorkspaceTalentGroup); } }
        public CompositesFrugalReqTalent()
        {
            this.Value = -0.2f;
        }
    }
    
    
    

    [Serialized]
    [LocDisplayName("Frugal Workspace: AdvancedBaking")]
    public partial class AdvancedBakingFrugalWorkspaceTalentGroup : TalentGroup
    {
        public override LocString DisplayDescription { get; } = Localizer.DoStr("Lowers the tier requirement of related tables by 0.2");

        public AdvancedBakingFrugalWorkspaceTalentGroup()
        {
            Talents = new Type[]
            {
            
            typeof(AdvancedBakingFrugalReqTalent), 
            
            
            };
            this.OwningSkill = typeof(AdvancedBakingSkill);
            this.Level = 6;
        }
    }

    
    [Serialized]
    public partial class AdvancedBakingFrugalReqTalent : FrugalWorkspaceTalent
    {
        public override bool Base { get { return false; } }
        public override Type TalentGroupType { get { return typeof(AdvancedBakingFrugalWorkspaceTalentGroup); } }
        public AdvancedBakingFrugalReqTalent()
        {
            this.Value = -0.2f;
        }
    }
    
    
    

    [Serialized]
    [LocDisplayName("Frugal Workspace: CampfireCooking")]
    public partial class CampfireCookingFrugalWorkspaceTalentGroup : TalentGroup
    {
        public override LocString DisplayDescription { get; } = Localizer.DoStr("Lowers the tier requirement of related tables by 0.2");

        public CampfireCookingFrugalWorkspaceTalentGroup()
        {
            Talents = new Type[]
            {
            
            typeof(CampfireCookingFrugalReqTalent), 
            
            
            };
            this.OwningSkill = typeof(CampfireCookingSkill);
            this.Level = 6;
        }
    }

    
    [Serialized]
    public partial class CampfireCookingFrugalReqTalent : FrugalWorkspaceTalent
    {
        public override bool Base { get { return false; } }
        public override Type TalentGroupType { get { return typeof(CampfireCookingFrugalWorkspaceTalentGroup); } }
        public CampfireCookingFrugalReqTalent()
        {
            this.Value = -0.2f;
        }
    }
    
    
    

    [Serialized]
    [LocDisplayName("Frugal Workspace: AdvancedCooking")]
    public partial class AdvancedCookingFrugalWorkspaceTalentGroup : TalentGroup
    {
        public override LocString DisplayDescription { get; } = Localizer.DoStr("Lowers the tier requirement of related tables by 0.2");

        public AdvancedCookingFrugalWorkspaceTalentGroup()
        {
            Talents = new Type[]
            {
            
            typeof(AdvancedCookingFrugalReqTalent), 
            
            
            };
            this.OwningSkill = typeof(AdvancedCookingSkill);
            this.Level = 6;
        }
    }

    
    [Serialized]
    public partial class AdvancedCookingFrugalReqTalent : FrugalWorkspaceTalent
    {
        public override bool Base { get { return false; } }
        public override Type TalentGroupType { get { return typeof(AdvancedCookingFrugalWorkspaceTalentGroup); } }
        public AdvancedCookingFrugalReqTalent()
        {
            this.Value = -0.2f;
        }
    }
    
    
    

    [Serialized]
    [LocDisplayName("Frugal Workspace: AdvancedSmelting")]
    public partial class AdvancedSmeltingFrugalWorkspaceTalentGroup : TalentGroup
    {
        public override LocString DisplayDescription { get; } = Localizer.DoStr("Lowers the tier requirement of related tables by 0.2");

        public AdvancedSmeltingFrugalWorkspaceTalentGroup()
        {
            Talents = new Type[]
            {
            
            typeof(AdvancedSmeltingFrugalReqTalent), 
            
            
            };
            this.OwningSkill = typeof(AdvancedSmeltingSkill);
            this.Level = 6;
        }
    }

    
    [Serialized]
    public partial class AdvancedSmeltingFrugalReqTalent : FrugalWorkspaceTalent
    {
        public override bool Base { get { return false; } }
        public override Type TalentGroupType { get { return typeof(AdvancedSmeltingFrugalWorkspaceTalentGroup); } }
        public AdvancedSmeltingFrugalReqTalent()
        {
            this.Value = -0.2f;
        }
    }
    
    
    

    [Serialized]
    [LocDisplayName("Frugal Workspace: Baking")]
    public partial class BakingFrugalWorkspaceTalentGroup : TalentGroup
    {
        public override LocString DisplayDescription { get; } = Localizer.DoStr("Lowers the tier requirement of related tables by 0.2");

        public BakingFrugalWorkspaceTalentGroup()
        {
            Talents = new Type[]
            {
            
            typeof(BakingFrugalReqTalent), 
            
            
            };
            this.OwningSkill = typeof(BakingSkill);
            this.Level = 6;
        }
    }

    
    [Serialized]
    public partial class BakingFrugalReqTalent : FrugalWorkspaceTalent
    {
        public override bool Base { get { return false; } }
        public override Type TalentGroupType { get { return typeof(BakingFrugalWorkspaceTalentGroup); } }
        public BakingFrugalReqTalent()
        {
            this.Value = -0.2f;
        }
    }
    
    
    

    [Serialized]
    [LocDisplayName("Frugal Workspace: BasicEngineering")]
    public partial class BasicEngineeringFrugalWorkspaceTalentGroup : TalentGroup
    {
        public override LocString DisplayDescription { get; } = Localizer.DoStr("Lowers the tier requirement of related tables by 0.2");

        public BasicEngineeringFrugalWorkspaceTalentGroup()
        {
            Talents = new Type[]
            {
            
            typeof(BasicEngineeringFrugalReqTalent), 
            
            
            };
            this.OwningSkill = typeof(BasicEngineeringSkill);
            this.Level = 6;
        }
    }

    
    [Serialized]
    public partial class BasicEngineeringFrugalReqTalent : FrugalWorkspaceTalent
    {
        public override bool Base { get { return false; } }
        public override Type TalentGroupType { get { return typeof(BasicEngineeringFrugalWorkspaceTalentGroup); } }
        public BasicEngineeringFrugalReqTalent()
        {
            this.Value = -0.2f;
        }
    }
    
    
    

    [Serialized]
    [LocDisplayName("Frugal Workspace: Pottery")]
    public partial class PotteryFrugalWorkspaceTalentGroup : TalentGroup
    {
        public override LocString DisplayDescription { get; } = Localizer.DoStr("Lowers the tier requirement of related tables by 0.2");

        public PotteryFrugalWorkspaceTalentGroup()
        {
            Talents = new Type[]
            {
            
            typeof(PotteryFrugalReqTalent), 
            
            
            };
            this.OwningSkill = typeof(PotterySkill);
            this.Level = 6;
        }
    }

    
    [Serialized]
    public partial class PotteryFrugalReqTalent : FrugalWorkspaceTalent
    {
        public override bool Base { get { return false; } }
        public override Type TalentGroupType { get { return typeof(PotteryFrugalWorkspaceTalentGroup); } }
        public PotteryFrugalReqTalent()
        {
            this.Value = -0.2f;
        }
    }
    
    
    

    [Serialized]
    [LocDisplayName("Frugal Workspace: Butchery")]
    public partial class ButcheryFrugalWorkspaceTalentGroup : TalentGroup
    {
        public override LocString DisplayDescription { get; } = Localizer.DoStr("Lowers the tier requirement of related tables by 0.2");

        public ButcheryFrugalWorkspaceTalentGroup()
        {
            Talents = new Type[]
            {
            
            typeof(ButcheryFrugalReqTalent), 
            
            
            };
            this.OwningSkill = typeof(ButcherySkill);
            this.Level = 6;
        }
    }

    
    [Serialized]
    public partial class ButcheryFrugalReqTalent : FrugalWorkspaceTalent
    {
        public override bool Base { get { return false; } }
        public override Type TalentGroupType { get { return typeof(ButcheryFrugalWorkspaceTalentGroup); } }
        public ButcheryFrugalReqTalent()
        {
            this.Value = -0.2f;
        }
    }
    
    
    

    [Serialized]
    [LocDisplayName("Frugal Workspace: AdvancedMasonry")]
    public partial class AdvancedMasonryFrugalWorkspaceTalentGroup : TalentGroup
    {
        public override LocString DisplayDescription { get; } = Localizer.DoStr("Lowers the tier requirement of related tables by 0.2");

        public AdvancedMasonryFrugalWorkspaceTalentGroup()
        {
            Talents = new Type[]
            {
            
            typeof(AdvancedMasonryFrugalReqTalent), 
            
            
            };
            this.OwningSkill = typeof(AdvancedMasonrySkill);
            this.Level = 6;
        }
    }

    
    [Serialized]
    public partial class AdvancedMasonryFrugalReqTalent : FrugalWorkspaceTalent
    {
        public override bool Base { get { return false; } }
        public override Type TalentGroupType { get { return typeof(AdvancedMasonryFrugalWorkspaceTalentGroup); } }
        public AdvancedMasonryFrugalReqTalent()
        {
            this.Value = -0.2f;
        }
    }
    
    
    

    [Serialized]
    [LocDisplayName("Frugal Workspace: Cooking")]
    public partial class CookingFrugalWorkspaceTalentGroup : TalentGroup
    {
        public override LocString DisplayDescription { get; } = Localizer.DoStr("Lowers the tier requirement of related tables by 0.2");

        public CookingFrugalWorkspaceTalentGroup()
        {
            Talents = new Type[]
            {
            
            typeof(CookingFrugalReqTalent), 
            
            
            };
            this.OwningSkill = typeof(CookingSkill);
            this.Level = 6;
        }
    }

    
    [Serialized]
    public partial class CookingFrugalReqTalent : FrugalWorkspaceTalent
    {
        public override bool Base { get { return false; } }
        public override Type TalentGroupType { get { return typeof(CookingFrugalWorkspaceTalentGroup); } }
        public CookingFrugalReqTalent()
        {
            this.Value = -0.2f;
        }
    }
    
    
    

    [Serialized]
    [LocDisplayName("Frugal Workspace: CuttingEdgeCooking")]
    public partial class CuttingEdgeCookingFrugalWorkspaceTalentGroup : TalentGroup
    {
        public override LocString DisplayDescription { get; } = Localizer.DoStr("Lowers the tier requirement of related tables by 0.2");

        public CuttingEdgeCookingFrugalWorkspaceTalentGroup()
        {
            Talents = new Type[]
            {
            
            typeof(CuttingEdgeCookingFrugalReqTalent), 
            
            
            };
            this.OwningSkill = typeof(CuttingEdgeCookingSkill);
            this.Level = 6;
        }
    }

    
    [Serialized]
    public partial class CuttingEdgeCookingFrugalReqTalent : FrugalWorkspaceTalent
    {
        public override bool Base { get { return false; } }
        public override Type TalentGroupType { get { return typeof(CuttingEdgeCookingFrugalWorkspaceTalentGroup); } }
        public CuttingEdgeCookingFrugalReqTalent()
        {
            this.Value = -0.2f;
        }
    }
    
    
    

    [Serialized]
    [LocDisplayName("Frugal Workspace: Electronics")]
    public partial class ElectronicsFrugalWorkspaceTalentGroup : TalentGroup
    {
        public override LocString DisplayDescription { get; } = Localizer.DoStr("Lowers the tier requirement of related tables by 0.2");

        public ElectronicsFrugalWorkspaceTalentGroup()
        {
            Talents = new Type[]
            {
            
            typeof(ElectronicsFrugalReqTalent), 
            
            
            };
            this.OwningSkill = typeof(ElectronicsSkill);
            this.Level = 6;
        }
    }

    
    [Serialized]
    public partial class ElectronicsFrugalReqTalent : FrugalWorkspaceTalent
    {
        public override bool Base { get { return false; } }
        public override Type TalentGroupType { get { return typeof(ElectronicsFrugalWorkspaceTalentGroup); } }
        public ElectronicsFrugalReqTalent()
        {
            this.Value = -0.2f;
        }
    }
    
    
    

    [Serialized]
    [LocDisplayName("Frugal Workspace: Fertilizers")]
    public partial class FertilizersFrugalWorkspaceTalentGroup : TalentGroup
    {
        public override LocString DisplayDescription { get; } = Localizer.DoStr("Lowers the tier requirement of related tables by 0.2");

        public FertilizersFrugalWorkspaceTalentGroup()
        {
            Talents = new Type[]
            {
            
            typeof(FertilizersFrugalReqTalent), 
            
            
            };
            this.OwningSkill = typeof(FertilizersSkill);
            this.Level = 6;
        }
    }

    
    [Serialized]
    public partial class FertilizersFrugalReqTalent : FrugalWorkspaceTalent
    {
        public override bool Base { get { return false; } }
        public override Type TalentGroupType { get { return typeof(FertilizersFrugalWorkspaceTalentGroup); } }
        public FertilizersFrugalReqTalent()
        {
            this.Value = -0.2f;
        }
    }
    
    
    

    [Serialized]
    [LocDisplayName("Frugal Workspace: Glassworking")]
    public partial class GlassworkingFrugalWorkspaceTalentGroup : TalentGroup
    {
        public override LocString DisplayDescription { get; } = Localizer.DoStr("Lowers the tier requirement of related tables by 0.2");

        public GlassworkingFrugalWorkspaceTalentGroup()
        {
            Talents = new Type[]
            {
            
            typeof(GlassworkingFrugalReqTalent), 
            
            
            };
            this.OwningSkill = typeof(GlassworkingSkill);
            this.Level = 6;
        }
    }

    
    [Serialized]
    public partial class GlassworkingFrugalReqTalent : FrugalWorkspaceTalent
    {
        public override bool Base { get { return false; } }
        public override Type TalentGroupType { get { return typeof(GlassworkingFrugalWorkspaceTalentGroup); } }
        public GlassworkingFrugalReqTalent()
        {
            this.Value = -0.2f;
        }
    }
    
    
    

    [Serialized]
    [LocDisplayName("Frugal Workspace: Industry")]
    public partial class IndustryFrugalWorkspaceTalentGroup : TalentGroup
    {
        public override LocString DisplayDescription { get; } = Localizer.DoStr("Lowers the tier requirement of related tables by 0.2");

        public IndustryFrugalWorkspaceTalentGroup()
        {
            Talents = new Type[]
            {
            
            typeof(IndustryFrugalReqTalent), 
            
            
            };
            this.OwningSkill = typeof(IndustrySkill);
            this.Level = 6;
        }
    }

    
    [Serialized]
    public partial class IndustryFrugalReqTalent : FrugalWorkspaceTalent
    {
        public override bool Base { get { return false; } }
        public override Type TalentGroupType { get { return typeof(IndustryFrugalWorkspaceTalentGroup); } }
        public IndustryFrugalReqTalent()
        {
            this.Value = -0.2f;
        }
    }
    
    
    

    [Serialized]
    [LocDisplayName("Frugal Workspace: Mechanics")]
    public partial class MechanicsFrugalWorkspaceTalentGroup : TalentGroup
    {
        public override LocString DisplayDescription { get; } = Localizer.DoStr("Lowers the tier requirement of related tables by 0.2");

        public MechanicsFrugalWorkspaceTalentGroup()
        {
            Talents = new Type[]
            {
            
            typeof(MechanicsFrugalReqTalent), 
            
            
            };
            this.OwningSkill = typeof(MechanicsSkill);
            this.Level = 6;
        }
    }

    
    [Serialized]
    public partial class MechanicsFrugalReqTalent : FrugalWorkspaceTalent
    {
        public override bool Base { get { return false; } }
        public override Type TalentGroupType { get { return typeof(MechanicsFrugalWorkspaceTalentGroup); } }
        public MechanicsFrugalReqTalent()
        {
            this.Value = -0.2f;
        }
    }
    
    
    

    [Serialized]
    [LocDisplayName("Frugal Workspace: Milling")]
    public partial class MillingFrugalWorkspaceTalentGroup : TalentGroup
    {
        public override LocString DisplayDescription { get; } = Localizer.DoStr("Lowers the tier requirement of related tables by 0.2");

        public MillingFrugalWorkspaceTalentGroup()
        {
            Talents = new Type[]
            {
            
            typeof(MillingFrugalReqTalent), 
            
            
            };
            this.OwningSkill = typeof(MillingSkill);
            this.Level = 6;
        }
    }

    
    [Serialized]
    public partial class MillingFrugalReqTalent : FrugalWorkspaceTalent
    {
        public override bool Base { get { return false; } }
        public override Type TalentGroupType { get { return typeof(MillingFrugalWorkspaceTalentGroup); } }
        public MillingFrugalReqTalent()
        {
            this.Value = -0.2f;
        }
    }
    
    
    

    [Serialized]
    [LocDisplayName("Frugal Workspace: Masonry")]
    public partial class MasonryFrugalWorkspaceTalentGroup : TalentGroup
    {
        public override LocString DisplayDescription { get; } = Localizer.DoStr("Lowers the tier requirement of related tables by 0.2");

        public MasonryFrugalWorkspaceTalentGroup()
        {
            Talents = new Type[]
            {
            
            typeof(MasonryFrugalReqTalent), 
            
            
            };
            this.OwningSkill = typeof(MasonrySkill);
            this.Level = 6;
        }
    }

    
    [Serialized]
    public partial class MasonryFrugalReqTalent : FrugalWorkspaceTalent
    {
        public override bool Base { get { return false; } }
        public override Type TalentGroupType { get { return typeof(MasonryFrugalWorkspaceTalentGroup); } }
        public MasonryFrugalReqTalent()
        {
            this.Value = -0.2f;
        }
    }
    
    
    

    [Serialized]
    [LocDisplayName("Frugal Workspace: OilDrilling")]
    public partial class OilDrillingFrugalWorkspaceTalentGroup : TalentGroup
    {
        public override LocString DisplayDescription { get; } = Localizer.DoStr("Lowers the tier requirement of related tables by 0.2");

        public OilDrillingFrugalWorkspaceTalentGroup()
        {
            Talents = new Type[]
            {
            
            typeof(OilDrillingFrugalReqTalent), 
            
            
            };
            this.OwningSkill = typeof(OilDrillingSkill);
            this.Level = 6;
        }
    }

    
    [Serialized]
    public partial class OilDrillingFrugalReqTalent : FrugalWorkspaceTalent
    {
        public override bool Base { get { return false; } }
        public override Type TalentGroupType { get { return typeof(OilDrillingFrugalWorkspaceTalentGroup); } }
        public OilDrillingFrugalReqTalent()
        {
            this.Value = -0.2f;
        }
    }
    
    
    

    [Serialized]
    [LocDisplayName("Frugal Workspace: PaperMilling")]
    public partial class PaperMillingFrugalWorkspaceTalentGroup : TalentGroup
    {
        public override LocString DisplayDescription { get; } = Localizer.DoStr("Lowers the tier requirement of related tables by 0.2");

        public PaperMillingFrugalWorkspaceTalentGroup()
        {
            Talents = new Type[]
            {
            
            typeof(PaperMillingFrugalReqTalent), 
            
            
            };
            this.OwningSkill = typeof(PaperMillingSkill);
            this.Level = 6;
        }
    }

    
    [Serialized]
    public partial class PaperMillingFrugalReqTalent : FrugalWorkspaceTalent
    {
        public override bool Base { get { return false; } }
        public override Type TalentGroupType { get { return typeof(PaperMillingFrugalWorkspaceTalentGroup); } }
        public PaperMillingFrugalReqTalent()
        {
            this.Value = -0.2f;
        }
    }
    
    
    

    [Serialized]
    [LocDisplayName("Frugal Workspace: Smelting")]
    public partial class SmeltingFrugalWorkspaceTalentGroup : TalentGroup
    {
        public override LocString DisplayDescription { get; } = Localizer.DoStr("Lowers the tier requirement of related tables by 0.2");

        public SmeltingFrugalWorkspaceTalentGroup()
        {
            Talents = new Type[]
            {
            
            typeof(SmeltingFrugalReqTalent), 
            
            
            };
            this.OwningSkill = typeof(SmeltingSkill);
            this.Level = 6;
        }
    }

    
    [Serialized]
    public partial class SmeltingFrugalReqTalent : FrugalWorkspaceTalent
    {
        public override bool Base { get { return false; } }
        public override Type TalentGroupType { get { return typeof(SmeltingFrugalWorkspaceTalentGroup); } }
        public SmeltingFrugalReqTalent()
        {
            this.Value = -0.2f;
        }
    }
    
    
    

    [Serialized]
    [LocDisplayName("Frugal Workspace: Tailoring")]
    public partial class TailoringFrugalWorkspaceTalentGroup : TalentGroup
    {
        public override LocString DisplayDescription { get; } = Localizer.DoStr("Lowers the tier requirement of related tables by 0.2");

        public TailoringFrugalWorkspaceTalentGroup()
        {
            Talents = new Type[]
            {
            
            typeof(TailoringFrugalReqTalent), 
            
            
            };
            this.OwningSkill = typeof(TailoringSkill);
            this.Level = 6;
        }
    }

    
    [Serialized]
    public partial class TailoringFrugalReqTalent : FrugalWorkspaceTalent
    {
        public override bool Base { get { return false; } }
        public override Type TalentGroupType { get { return typeof(TailoringFrugalWorkspaceTalentGroup); } }
        public TailoringFrugalReqTalent()
        {
            this.Value = -0.2f;
        }
    }
    
    
    

    [Serialized]
    [LocDisplayName("Frugal Workspace: Farming")]
    public partial class FarmingFrugalWorkspaceTalentGroup : TalentGroup
    {
        public override LocString DisplayDescription { get; } = Localizer.DoStr("Lowers the tier requirement of related tables by 0.2");

        public FarmingFrugalWorkspaceTalentGroup()
        {
            Talents = new Type[]
            {
            
            typeof(FarmingFrugalReqTalent), 
            
            
            };
            this.OwningSkill = typeof(FarmingSkill);
            this.Level = 6;
        }
    }

    
    [Serialized]
    public partial class FarmingFrugalReqTalent : FrugalWorkspaceTalent
    {
        public override bool Base { get { return false; } }
        public override Type TalentGroupType { get { return typeof(FarmingFrugalWorkspaceTalentGroup); } }
        public FarmingFrugalReqTalent()
        {
            this.Value = -0.2f;
        }
    }
    
    
    

    [Serialized]
    [LocDisplayName("Frugal Workspace: Carpentry")]
    public partial class CarpentryFrugalWorkspaceTalentGroup : TalentGroup
    {
        public override LocString DisplayDescription { get; } = Localizer.DoStr("Lowers the tier requirement of related tables by 0.2");

        public CarpentryFrugalWorkspaceTalentGroup()
        {
            Talents = new Type[]
            {
            
            typeof(CarpentryFrugalReqTalent), 
            
            
            };
            this.OwningSkill = typeof(CarpentrySkill);
            this.Level = 6;
        }
    }

    
    [Serialized]
    public partial class CarpentryFrugalReqTalent : FrugalWorkspaceTalent
    {
        public override bool Base { get { return false; } }
        public override Type TalentGroupType { get { return typeof(CarpentryFrugalWorkspaceTalentGroup); } }
        public CarpentryFrugalReqTalent()
        {
            this.Value = -0.2f;
        }
    }
    
    
    
}
