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

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;

    /// <summary>
    /// <para>Server side talent definition for "FocusedWorkflow".</para>
    /// <para>More information about Talent objects can be found at https://docs.play.eco/api/server/eco.gameplay/Eco.Gameplay.Skills.Talent.html</para>
    /// <remarks>
    /// This is an auto-generated class. Don't modify it! All your changes will be wiped with next update! Use Mods* partial methods instead for customization. 
    /// If you wish to modify this class, please create a new partial class or follow the instructions in the "UserCode" folder to override the entire file.
    /// </remarks>
    /// </summary>
    public partial class FocusedWorkflowTalent : Talent
    {
        public override bool Base => true;
        public override Type TalentType { get { return typeof(CraftingTalent); } }
    }

    /// <summary>
    /// <para>Server side talent group definition for "FocusedWorkflow".</para>
    /// <para>More information about TalentGroup objects can be found at https://docs.play.eco/api/server/eco.gameplay/Eco.Gameplay.Skills.TalentGroup.html</para>
    /// </summary>
    [Serialized]
    [LocDisplayName("Focused Workflow: Composites")]
    [LocDescription("Doubles the speed of related tables when alone.")]
    public partial class CompositesFocusedWorkflowTalentGroup : TalentGroup
    {
        public CompositesFocusedWorkflowTalentGroup()
        {
            Talents = new Type[]
            {
                typeof(CompositesFocusedSpeedTalent),
            };
            this.OwningSkill = typeof(CompositesSkill);
            this.Level = 3;
        }
    }

    [Serialized]
    public partial class CompositesFocusedSpeedTalent : FocusedWorkflowTalent
    {
        public override bool Base { get { return false; } }
        public override Type TalentGroupType { get { return typeof(CompositesFocusedWorkflowTalentGroup); } }
        public CompositesFocusedSpeedTalent()
        {
            this.Value = 0.5f;
        }
    }

    /// <summary>
    /// <para>Server side talent group definition for "FocusedWorkflow".</para>
    /// <para>More information about TalentGroup objects can be found at https://docs.play.eco/api/server/eco.gameplay/Eco.Gameplay.Skills.TalentGroup.html</para>
    /// </summary>
    [Serialized]
    [LocDisplayName("Focused Workflow: AdvancedBaking")]
    [LocDescription("Doubles the speed of related tables when alone.")]
    public partial class AdvancedBakingFocusedWorkflowTalentGroup : TalentGroup
    {
        public AdvancedBakingFocusedWorkflowTalentGroup()
        {
            Talents = new Type[]
            {
                typeof(AdvancedBakingFocusedSpeedTalent),
            };
            this.OwningSkill = typeof(AdvancedBakingSkill);
            this.Level = 3;
        }
    }

    [Serialized]
    public partial class AdvancedBakingFocusedSpeedTalent : FocusedWorkflowTalent
    {
        public override bool Base { get { return false; } }
        public override Type TalentGroupType { get { return typeof(AdvancedBakingFocusedWorkflowTalentGroup); } }
        public AdvancedBakingFocusedSpeedTalent()
        {
            this.Value = 0.5f;
        }
    }

    /// <summary>
    /// <para>Server side talent group definition for "FocusedWorkflow".</para>
    /// <para>More information about TalentGroup objects can be found at https://docs.play.eco/api/server/eco.gameplay/Eco.Gameplay.Skills.TalentGroup.html</para>
    /// </summary>
    [Serialized]
    [LocDisplayName("Focused Workflow: CampfireCooking")]
    [LocDescription("Doubles the speed of related tables when alone.")]
    public partial class CampfireCookingFocusedWorkflowTalentGroup : TalentGroup
    {
        public CampfireCookingFocusedWorkflowTalentGroup()
        {
            Talents = new Type[]
            {
                typeof(CampfireCookingFocusedSpeedTalent),
            };
            this.OwningSkill = typeof(CampfireCookingSkill);
            this.Level = 3;
        }
    }

    [Serialized]
    public partial class CampfireCookingFocusedSpeedTalent : FocusedWorkflowTalent
    {
        public override bool Base { get { return false; } }
        public override Type TalentGroupType { get { return typeof(CampfireCookingFocusedWorkflowTalentGroup); } }
        public CampfireCookingFocusedSpeedTalent()
        {
            this.Value = 0.5f;
        }
    }

    /// <summary>
    /// <para>Server side talent group definition for "FocusedWorkflow".</para>
    /// <para>More information about TalentGroup objects can be found at https://docs.play.eco/api/server/eco.gameplay/Eco.Gameplay.Skills.TalentGroup.html</para>
    /// </summary>
    [Serialized]
    [LocDisplayName("Focused Workflow: AdvancedCooking")]
    [LocDescription("Doubles the speed of related tables when alone.")]
    public partial class AdvancedCookingFocusedWorkflowTalentGroup : TalentGroup
    {
        public AdvancedCookingFocusedWorkflowTalentGroup()
        {
            Talents = new Type[]
            {
                typeof(AdvancedCookingFocusedSpeedTalent),
            };
            this.OwningSkill = typeof(AdvancedCookingSkill);
            this.Level = 3;
        }
    }

    [Serialized]
    public partial class AdvancedCookingFocusedSpeedTalent : FocusedWorkflowTalent
    {
        public override bool Base { get { return false; } }
        public override Type TalentGroupType { get { return typeof(AdvancedCookingFocusedWorkflowTalentGroup); } }
        public AdvancedCookingFocusedSpeedTalent()
        {
            this.Value = 0.5f;
        }
    }

    /// <summary>
    /// <para>Server side talent group definition for "FocusedWorkflow".</para>
    /// <para>More information about TalentGroup objects can be found at https://docs.play.eco/api/server/eco.gameplay/Eco.Gameplay.Skills.TalentGroup.html</para>
    /// </summary>
    [Serialized]
    [LocDisplayName("Focused Workflow: AdvancedSmelting")]
    [LocDescription("Doubles the speed of related tables when alone.")]
    public partial class AdvancedSmeltingFocusedWorkflowTalentGroup : TalentGroup
    {
        public AdvancedSmeltingFocusedWorkflowTalentGroup()
        {
            Talents = new Type[]
            {
                typeof(AdvancedSmeltingFocusedSpeedTalent),
            };
            this.OwningSkill = typeof(AdvancedSmeltingSkill);
            this.Level = 3;
        }
    }

    [Serialized]
    public partial class AdvancedSmeltingFocusedSpeedTalent : FocusedWorkflowTalent
    {
        public override bool Base { get { return false; } }
        public override Type TalentGroupType { get { return typeof(AdvancedSmeltingFocusedWorkflowTalentGroup); } }
        public AdvancedSmeltingFocusedSpeedTalent()
        {
            this.Value = 0.5f;
        }
    }

    /// <summary>
    /// <para>Server side talent group definition for "FocusedWorkflow".</para>
    /// <para>More information about TalentGroup objects can be found at https://docs.play.eco/api/server/eco.gameplay/Eco.Gameplay.Skills.TalentGroup.html</para>
    /// </summary>
    [Serialized]
    [LocDisplayName("Focused Workflow: Baking")]
    [LocDescription("Doubles the speed of related tables when alone.")]
    public partial class BakingFocusedWorkflowTalentGroup : TalentGroup
    {
        public BakingFocusedWorkflowTalentGroup()
        {
            Talents = new Type[]
            {
                typeof(BakingFocusedSpeedTalent),
            };
            this.OwningSkill = typeof(BakingSkill);
            this.Level = 3;
        }
    }

    [Serialized]
    public partial class BakingFocusedSpeedTalent : FocusedWorkflowTalent
    {
        public override bool Base { get { return false; } }
        public override Type TalentGroupType { get { return typeof(BakingFocusedWorkflowTalentGroup); } }
        public BakingFocusedSpeedTalent()
        {
            this.Value = 0.5f;
        }
    }

    /// <summary>
    /// <para>Server side talent group definition for "FocusedWorkflow".</para>
    /// <para>More information about TalentGroup objects can be found at https://docs.play.eco/api/server/eco.gameplay/Eco.Gameplay.Skills.TalentGroup.html</para>
    /// </summary>
    [Serialized]
    [LocDisplayName("Focused Workflow: BasicEngineering")]
    [LocDescription("Doubles the speed of related tables when alone.")]
    public partial class BasicEngineeringFocusedWorkflowTalentGroup : TalentGroup
    {
        public BasicEngineeringFocusedWorkflowTalentGroup()
        {
            Talents = new Type[]
            {
                typeof(BasicEngineeringFocusedSpeedTalent),
            };
            this.OwningSkill = typeof(BasicEngineeringSkill);
            this.Level = 3;
        }
    }

    [Serialized]
    public partial class BasicEngineeringFocusedSpeedTalent : FocusedWorkflowTalent
    {
        public override bool Base { get { return false; } }
        public override Type TalentGroupType { get { return typeof(BasicEngineeringFocusedWorkflowTalentGroup); } }
        public BasicEngineeringFocusedSpeedTalent()
        {
            this.Value = 0.5f;
        }
    }

    /// <summary>
    /// <para>Server side talent group definition for "FocusedWorkflow".</para>
    /// <para>More information about TalentGroup objects can be found at https://docs.play.eco/api/server/eco.gameplay/Eco.Gameplay.Skills.TalentGroup.html</para>
    /// </summary>
    [Serialized]
    [LocDisplayName("Focused Workflow: Pottery")]
    [LocDescription("Doubles the speed of related tables when alone.")]
    public partial class PotteryFocusedWorkflowTalentGroup : TalentGroup
    {
        public PotteryFocusedWorkflowTalentGroup()
        {
            Talents = new Type[]
            {
                typeof(PotteryFocusedSpeedTalent),
            };
            this.OwningSkill = typeof(PotterySkill);
            this.Level = 3;
        }
    }

    [Serialized]
    public partial class PotteryFocusedSpeedTalent : FocusedWorkflowTalent
    {
        public override bool Base { get { return false; } }
        public override Type TalentGroupType { get { return typeof(PotteryFocusedWorkflowTalentGroup); } }
        public PotteryFocusedSpeedTalent()
        {
            this.Value = 0.5f;
        }
    }

    /// <summary>
    /// <para>Server side talent group definition for "FocusedWorkflow".</para>
    /// <para>More information about TalentGroup objects can be found at https://docs.play.eco/api/server/eco.gameplay/Eco.Gameplay.Skills.TalentGroup.html</para>
    /// </summary>
    [Serialized]
    [LocDisplayName("Focused Workflow: Butchery")]
    [LocDescription("Doubles the speed of related tables when alone.")]
    public partial class ButcheryFocusedWorkflowTalentGroup : TalentGroup
    {
        public ButcheryFocusedWorkflowTalentGroup()
        {
            Talents = new Type[]
            {
                typeof(ButcheryFocusedSpeedTalent),
            };
            this.OwningSkill = typeof(ButcherySkill);
            this.Level = 3;
        }
    }

    [Serialized]
    public partial class ButcheryFocusedSpeedTalent : FocusedWorkflowTalent
    {
        public override bool Base { get { return false; } }
        public override Type TalentGroupType { get { return typeof(ButcheryFocusedWorkflowTalentGroup); } }
        public ButcheryFocusedSpeedTalent()
        {
            this.Value = 0.5f;
        }
    }

    /// <summary>
    /// <para>Server side talent group definition for "FocusedWorkflow".</para>
    /// <para>More information about TalentGroup objects can be found at https://docs.play.eco/api/server/eco.gameplay/Eco.Gameplay.Skills.TalentGroup.html</para>
    /// </summary>
    [Serialized]
    [LocDisplayName("Focused Workflow: AdvancedMasonry")]
    [LocDescription("Doubles the speed of related tables when alone.")]
    public partial class AdvancedMasonryFocusedWorkflowTalentGroup : TalentGroup
    {
        public AdvancedMasonryFocusedWorkflowTalentGroup()
        {
            Talents = new Type[]
            {
                typeof(AdvancedMasonryFocusedSpeedTalent),
            };
            this.OwningSkill = typeof(AdvancedMasonrySkill);
            this.Level = 3;
        }
    }

    [Serialized]
    public partial class AdvancedMasonryFocusedSpeedTalent : FocusedWorkflowTalent
    {
        public override bool Base { get { return false; } }
        public override Type TalentGroupType { get { return typeof(AdvancedMasonryFocusedWorkflowTalentGroup); } }
        public AdvancedMasonryFocusedSpeedTalent()
        {
            this.Value = 0.5f;
        }
    }

    /// <summary>
    /// <para>Server side talent group definition for "FocusedWorkflow".</para>
    /// <para>More information about TalentGroup objects can be found at https://docs.play.eco/api/server/eco.gameplay/Eco.Gameplay.Skills.TalentGroup.html</para>
    /// </summary>
    [Serialized]
    [LocDisplayName("Focused Workflow: Cooking")]
    [LocDescription("Doubles the speed of related tables when alone.")]
    public partial class CookingFocusedWorkflowTalentGroup : TalentGroup
    {
        public CookingFocusedWorkflowTalentGroup()
        {
            Talents = new Type[]
            {
                typeof(CookingFocusedSpeedTalent),
            };
            this.OwningSkill = typeof(CookingSkill);
            this.Level = 3;
        }
    }

    [Serialized]
    public partial class CookingFocusedSpeedTalent : FocusedWorkflowTalent
    {
        public override bool Base { get { return false; } }
        public override Type TalentGroupType { get { return typeof(CookingFocusedWorkflowTalentGroup); } }
        public CookingFocusedSpeedTalent()
        {
            this.Value = 0.5f;
        }
    }

    /// <summary>
    /// <para>Server side talent group definition for "FocusedWorkflow".</para>
    /// <para>More information about TalentGroup objects can be found at https://docs.play.eco/api/server/eco.gameplay/Eco.Gameplay.Skills.TalentGroup.html</para>
    /// </summary>
    [Serialized]
    [LocDisplayName("Focused Workflow: CuttingEdgeCooking")]
    [LocDescription("Doubles the speed of related tables when alone.")]
    public partial class CuttingEdgeCookingFocusedWorkflowTalentGroup : TalentGroup
    {
        public CuttingEdgeCookingFocusedWorkflowTalentGroup()
        {
            Talents = new Type[]
            {
                typeof(CuttingEdgeCookingFocusedSpeedTalent),
            };
            this.OwningSkill = typeof(CuttingEdgeCookingSkill);
            this.Level = 3;
        }
    }

    [Serialized]
    public partial class CuttingEdgeCookingFocusedSpeedTalent : FocusedWorkflowTalent
    {
        public override bool Base { get { return false; } }
        public override Type TalentGroupType { get { return typeof(CuttingEdgeCookingFocusedWorkflowTalentGroup); } }
        public CuttingEdgeCookingFocusedSpeedTalent()
        {
            this.Value = 0.5f;
        }
    }

    /// <summary>
    /// <para>Server side talent group definition for "FocusedWorkflow".</para>
    /// <para>More information about TalentGroup objects can be found at https://docs.play.eco/api/server/eco.gameplay/Eco.Gameplay.Skills.TalentGroup.html</para>
    /// </summary>
    [Serialized]
    [LocDisplayName("Focused Workflow: Electronics")]
    [LocDescription("Doubles the speed of related tables when alone.")]
    public partial class ElectronicsFocusedWorkflowTalentGroup : TalentGroup
    {
        public ElectronicsFocusedWorkflowTalentGroup()
        {
            Talents = new Type[]
            {
                typeof(ElectronicsFocusedSpeedTalent),
            };
            this.OwningSkill = typeof(ElectronicsSkill);
            this.Level = 3;
        }
    }

    [Serialized]
    public partial class ElectronicsFocusedSpeedTalent : FocusedWorkflowTalent
    {
        public override bool Base { get { return false; } }
        public override Type TalentGroupType { get { return typeof(ElectronicsFocusedWorkflowTalentGroup); } }
        public ElectronicsFocusedSpeedTalent()
        {
            this.Value = 0.5f;
        }
    }

    /// <summary>
    /// <para>Server side talent group definition for "FocusedWorkflow".</para>
    /// <para>More information about TalentGroup objects can be found at https://docs.play.eco/api/server/eco.gameplay/Eco.Gameplay.Skills.TalentGroup.html</para>
    /// </summary>
    [Serialized]
    [LocDisplayName("Focused Workflow: Fertilizers")]
    [LocDescription("Doubles the speed of related tables when alone.")]
    public partial class FertilizersFocusedWorkflowTalentGroup : TalentGroup
    {
        public FertilizersFocusedWorkflowTalentGroup()
        {
            Talents = new Type[]
            {
                typeof(FertilizersFocusedSpeedTalent),
            };
            this.OwningSkill = typeof(FertilizersSkill);
            this.Level = 3;
        }
    }

    [Serialized]
    public partial class FertilizersFocusedSpeedTalent : FocusedWorkflowTalent
    {
        public override bool Base { get { return false; } }
        public override Type TalentGroupType { get { return typeof(FertilizersFocusedWorkflowTalentGroup); } }
        public FertilizersFocusedSpeedTalent()
        {
            this.Value = 0.5f;
        }
    }

    /// <summary>
    /// <para>Server side talent group definition for "FocusedWorkflow".</para>
    /// <para>More information about TalentGroup objects can be found at https://docs.play.eco/api/server/eco.gameplay/Eco.Gameplay.Skills.TalentGroup.html</para>
    /// </summary>
    [Serialized]
    [LocDisplayName("Focused Workflow: Glassworking")]
    [LocDescription("Doubles the speed of related tables when alone.")]
    public partial class GlassworkingFocusedWorkflowTalentGroup : TalentGroup
    {
        public GlassworkingFocusedWorkflowTalentGroup()
        {
            Talents = new Type[]
            {
                typeof(GlassworkingFocusedSpeedTalent),
            };
            this.OwningSkill = typeof(GlassworkingSkill);
            this.Level = 3;
        }
    }

    [Serialized]
    public partial class GlassworkingFocusedSpeedTalent : FocusedWorkflowTalent
    {
        public override bool Base { get { return false; } }
        public override Type TalentGroupType { get { return typeof(GlassworkingFocusedWorkflowTalentGroup); } }
        public GlassworkingFocusedSpeedTalent()
        {
            this.Value = 0.5f;
        }
    }

    /// <summary>
    /// <para>Server side talent group definition for "FocusedWorkflow".</para>
    /// <para>More information about TalentGroup objects can be found at https://docs.play.eco/api/server/eco.gameplay/Eco.Gameplay.Skills.TalentGroup.html</para>
    /// </summary>
    [Serialized]
    [LocDisplayName("Focused Workflow: Industry")]
    [LocDescription("Doubles the speed of related tables when alone.")]
    public partial class IndustryFocusedWorkflowTalentGroup : TalentGroup
    {
        public IndustryFocusedWorkflowTalentGroup()
        {
            Talents = new Type[]
            {
                typeof(IndustryFocusedSpeedTalent),
            };
            this.OwningSkill = typeof(IndustrySkill);
            this.Level = 3;
        }
    }

    [Serialized]
    public partial class IndustryFocusedSpeedTalent : FocusedWorkflowTalent
    {
        public override bool Base { get { return false; } }
        public override Type TalentGroupType { get { return typeof(IndustryFocusedWorkflowTalentGroup); } }
        public IndustryFocusedSpeedTalent()
        {
            this.Value = 0.5f;
        }
    }

    /// <summary>
    /// <para>Server side talent group definition for "FocusedWorkflow".</para>
    /// <para>More information about TalentGroup objects can be found at https://docs.play.eco/api/server/eco.gameplay/Eco.Gameplay.Skills.TalentGroup.html</para>
    /// </summary>
    [Serialized]
    [LocDisplayName("Focused Workflow: Mechanics")]
    [LocDescription("Doubles the speed of related tables when alone.")]
    public partial class MechanicsFocusedWorkflowTalentGroup : TalentGroup
    {
        public MechanicsFocusedWorkflowTalentGroup()
        {
            Talents = new Type[]
            {
                typeof(MechanicsFocusedSpeedTalent),
            };
            this.OwningSkill = typeof(MechanicsSkill);
            this.Level = 3;
        }
    }

    [Serialized]
    public partial class MechanicsFocusedSpeedTalent : FocusedWorkflowTalent
    {
        public override bool Base { get { return false; } }
        public override Type TalentGroupType { get { return typeof(MechanicsFocusedWorkflowTalentGroup); } }
        public MechanicsFocusedSpeedTalent()
        {
            this.Value = 0.5f;
        }
    }

    /// <summary>
    /// <para>Server side talent group definition for "FocusedWorkflow".</para>
    /// <para>More information about TalentGroup objects can be found at https://docs.play.eco/api/server/eco.gameplay/Eco.Gameplay.Skills.TalentGroup.html</para>
    /// </summary>
    [Serialized]
    [LocDisplayName("Focused Workflow: Milling")]
    [LocDescription("Doubles the speed of related tables when alone.")]
    public partial class MillingFocusedWorkflowTalentGroup : TalentGroup
    {
        public MillingFocusedWorkflowTalentGroup()
        {
            Talents = new Type[]
            {
                typeof(MillingFocusedSpeedTalent),
            };
            this.OwningSkill = typeof(MillingSkill);
            this.Level = 3;
        }
    }

    [Serialized]
    public partial class MillingFocusedSpeedTalent : FocusedWorkflowTalent
    {
        public override bool Base { get { return false; } }
        public override Type TalentGroupType { get { return typeof(MillingFocusedWorkflowTalentGroup); } }
        public MillingFocusedSpeedTalent()
        {
            this.Value = 0.5f;
        }
    }

    /// <summary>
    /// <para>Server side talent group definition for "FocusedWorkflow".</para>
    /// <para>More information about TalentGroup objects can be found at https://docs.play.eco/api/server/eco.gameplay/Eco.Gameplay.Skills.TalentGroup.html</para>
    /// </summary>
    [Serialized]
    [LocDisplayName("Focused Workflow: Masonry")]
    [LocDescription("Doubles the speed of related tables when alone.")]
    public partial class MasonryFocusedWorkflowTalentGroup : TalentGroup
    {
        public MasonryFocusedWorkflowTalentGroup()
        {
            Talents = new Type[]
            {
                typeof(MasonryFocusedSpeedTalent),
            };
            this.OwningSkill = typeof(MasonrySkill);
            this.Level = 3;
        }
    }

    [Serialized]
    public partial class MasonryFocusedSpeedTalent : FocusedWorkflowTalent
    {
        public override bool Base { get { return false; } }
        public override Type TalentGroupType { get { return typeof(MasonryFocusedWorkflowTalentGroup); } }
        public MasonryFocusedSpeedTalent()
        {
            this.Value = 0.5f;
        }
    }

    /// <summary>
    /// <para>Server side talent group definition for "FocusedWorkflow".</para>
    /// <para>More information about TalentGroup objects can be found at https://docs.play.eco/api/server/eco.gameplay/Eco.Gameplay.Skills.TalentGroup.html</para>
    /// </summary>
    [Serialized]
    [LocDisplayName("Focused Workflow: OilDrilling")]
    [LocDescription("Doubles the speed of related tables when alone.")]
    public partial class OilDrillingFocusedWorkflowTalentGroup : TalentGroup
    {
        public OilDrillingFocusedWorkflowTalentGroup()
        {
            Talents = new Type[]
            {
                typeof(OilDrillingFocusedSpeedTalent),
            };
            this.OwningSkill = typeof(OilDrillingSkill);
            this.Level = 3;
        }
    }

    [Serialized]
    public partial class OilDrillingFocusedSpeedTalent : FocusedWorkflowTalent
    {
        public override bool Base { get { return false; } }
        public override Type TalentGroupType { get { return typeof(OilDrillingFocusedWorkflowTalentGroup); } }
        public OilDrillingFocusedSpeedTalent()
        {
            this.Value = 0.5f;
        }
    }

    /// <summary>
    /// <para>Server side talent group definition for "FocusedWorkflow".</para>
    /// <para>More information about TalentGroup objects can be found at https://docs.play.eco/api/server/eco.gameplay/Eco.Gameplay.Skills.TalentGroup.html</para>
    /// </summary>
    [Serialized]
    [LocDisplayName("Focused Workflow: PaperMilling")]
    [LocDescription("Doubles the speed of related tables when alone.")]
    public partial class PaperMillingFocusedWorkflowTalentGroup : TalentGroup
    {
        public PaperMillingFocusedWorkflowTalentGroup()
        {
            Talents = new Type[]
            {
                typeof(PaperMillingFocusedSpeedTalent),
            };
            this.OwningSkill = typeof(PaperMillingSkill);
            this.Level = 3;
        }
    }

    [Serialized]
    public partial class PaperMillingFocusedSpeedTalent : FocusedWorkflowTalent
    {
        public override bool Base { get { return false; } }
        public override Type TalentGroupType { get { return typeof(PaperMillingFocusedWorkflowTalentGroup); } }
        public PaperMillingFocusedSpeedTalent()
        {
            this.Value = 0.5f;
        }
    }

    /// <summary>
    /// <para>Server side talent group definition for "FocusedWorkflow".</para>
    /// <para>More information about TalentGroup objects can be found at https://docs.play.eco/api/server/eco.gameplay/Eco.Gameplay.Skills.TalentGroup.html</para>
    /// </summary>
    [Serialized]
    [LocDisplayName("Focused Workflow: Smelting")]
    [LocDescription("Doubles the speed of related tables when alone.")]
    public partial class SmeltingFocusedWorkflowTalentGroup : TalentGroup
    {
        public SmeltingFocusedWorkflowTalentGroup()
        {
            Talents = new Type[]
            {
                typeof(SmeltingFocusedSpeedTalent),
            };
            this.OwningSkill = typeof(SmeltingSkill);
            this.Level = 3;
        }
    }

    [Serialized]
    public partial class SmeltingFocusedSpeedTalent : FocusedWorkflowTalent
    {
        public override bool Base { get { return false; } }
        public override Type TalentGroupType { get { return typeof(SmeltingFocusedWorkflowTalentGroup); } }
        public SmeltingFocusedSpeedTalent()
        {
            this.Value = 0.5f;
        }
    }

    /// <summary>
    /// <para>Server side talent group definition for "FocusedWorkflow".</para>
    /// <para>More information about TalentGroup objects can be found at https://docs.play.eco/api/server/eco.gameplay/Eco.Gameplay.Skills.TalentGroup.html</para>
    /// </summary>
    [Serialized]
    [LocDisplayName("Focused Workflow: Tailoring")]
    [LocDescription("Doubles the speed of related tables when alone.")]
    public partial class TailoringFocusedWorkflowTalentGroup : TalentGroup
    {
        public TailoringFocusedWorkflowTalentGroup()
        {
            Talents = new Type[]
            {
                typeof(TailoringFocusedSpeedTalent),
            };
            this.OwningSkill = typeof(TailoringSkill);
            this.Level = 3;
        }
    }

    [Serialized]
    public partial class TailoringFocusedSpeedTalent : FocusedWorkflowTalent
    {
        public override bool Base { get { return false; } }
        public override Type TalentGroupType { get { return typeof(TailoringFocusedWorkflowTalentGroup); } }
        public TailoringFocusedSpeedTalent()
        {
            this.Value = 0.5f;
        }
    }

    /// <summary>
    /// <para>Server side talent group definition for "FocusedWorkflow".</para>
    /// <para>More information about TalentGroup objects can be found at https://docs.play.eco/api/server/eco.gameplay/Eco.Gameplay.Skills.TalentGroup.html</para>
    /// </summary>
    [Serialized]
    [LocDisplayName("Focused Workflow: Farming")]
    [LocDescription("Doubles the speed of related tables when alone.")]
    public partial class FarmingFocusedWorkflowTalentGroup : TalentGroup
    {
        public FarmingFocusedWorkflowTalentGroup()
        {
            Talents = new Type[]
            {
                typeof(FarmingFocusedSpeedTalent),
            };
            this.OwningSkill = typeof(FarmingSkill);
            this.Level = 3;
        }
    }

    [Serialized]
    public partial class FarmingFocusedSpeedTalent : FocusedWorkflowTalent
    {
        public override bool Base { get { return false; } }
        public override Type TalentGroupType { get { return typeof(FarmingFocusedWorkflowTalentGroup); } }
        public FarmingFocusedSpeedTalent()
        {
            this.Value = 0.5f;
        }
    }

    /// <summary>
    /// <para>Server side talent group definition for "FocusedWorkflow".</para>
    /// <para>More information about TalentGroup objects can be found at https://docs.play.eco/api/server/eco.gameplay/Eco.Gameplay.Skills.TalentGroup.html</para>
    /// </summary>
    [Serialized]
    [LocDisplayName("Focused Workflow: Carpentry")]
    [LocDescription("Doubles the speed of related tables when alone.")]
    public partial class CarpentryFocusedWorkflowTalentGroup : TalentGroup
    {
        public CarpentryFocusedWorkflowTalentGroup()
        {
            Talents = new Type[]
            {
                typeof(CarpentryFocusedSpeedTalent),
            };
            this.OwningSkill = typeof(CarpentrySkill);
            this.Level = 3;
        }
    }

    [Serialized]
    public partial class CarpentryFocusedSpeedTalent : FocusedWorkflowTalent
    {
        public override bool Base { get { return false; } }
        public override Type TalentGroupType { get { return typeof(CarpentryFocusedWorkflowTalentGroup); } }
        public CarpentryFocusedSpeedTalent()
        {
            this.Value = 0.5f;
        }
    }

    /// <summary>
    /// <para>Server side talent group definition for "FocusedWorkflow".</para>
    /// <para>More information about TalentGroup objects can be found at https://docs.play.eco/api/server/eco.gameplay/Eco.Gameplay.Skills.TalentGroup.html</para>
    /// </summary>
    [Serialized]
    [LocDisplayName("Focused Workflow: Shipwright")]
    [LocDescription("Doubles the speed of related tables when alone.")]
    public partial class ShipwrightFocusedWorkflowTalentGroup : TalentGroup
    {
        public ShipwrightFocusedWorkflowTalentGroup()
        {
            Talents = new Type[]
            {
                typeof(ShipwrightFocusedSpeedTalent),
            };
            this.OwningSkill = typeof(ShipwrightSkill);
            this.Level = 3;
        }
    }

    [Serialized]
    public partial class ShipwrightFocusedSpeedTalent : FocusedWorkflowTalent
    {
        public override bool Base { get { return false; } }
        public override Type TalentGroupType { get { return typeof(ShipwrightFocusedWorkflowTalentGroup); } }
        public ShipwrightFocusedSpeedTalent()
        {
            this.Value = 0.5f;
        }
    }
}
