
// 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 ParallelProcessingTalent : Talent
    {
        public override bool Base => true;
        public override Type TalentType { get { return typeof(CraftingTalent); } }
    }

    [Serialized]
    [LocDisplayName("Parallel Processing: Composites")]
    public partial class CompositesParallelProcessingTalentGroup : TalentGroup
    {
        public override LocString DisplayDescription { get; } = Localizer.DoStr("Increases the crafting speed of related tables when they share a room with the same tables by 20 percent.");

        public CompositesParallelProcessingTalentGroup()
        {
            Talents = new Type[]
            {
                typeof(CompositesParallelSpeedTalent),
            };
            this.OwningSkill = typeof(CompositesSkill);
            this.Level = 3;
        }
    }

    [Serialized]
    public partial class CompositesParallelSpeedTalent : ParallelProcessingTalent
    {
        public override bool Base { get { return false; } }
        public override Type TalentGroupType { get { return typeof(CompositesParallelProcessingTalentGroup); } }
        public CompositesParallelSpeedTalent()
        {
            this.Value = 0.8f;
        }
    }

    [Serialized]
    [LocDisplayName("Parallel Processing: AdvancedBaking")]
    public partial class AdvancedBakingParallelProcessingTalentGroup : TalentGroup
    {
        public override LocString DisplayDescription { get; } = Localizer.DoStr("Increases the crafting speed of related tables when they share a room with the same tables by 20 percent.");

        public AdvancedBakingParallelProcessingTalentGroup()
        {
            Talents = new Type[]
            {
                typeof(AdvancedBakingParallelSpeedTalent),
            };
            this.OwningSkill = typeof(AdvancedBakingSkill);
            this.Level = 3;
        }
    }

    [Serialized]
    public partial class AdvancedBakingParallelSpeedTalent : ParallelProcessingTalent
    {
        public override bool Base { get { return false; } }
        public override Type TalentGroupType { get { return typeof(AdvancedBakingParallelProcessingTalentGroup); } }
        public AdvancedBakingParallelSpeedTalent()
        {
            this.Value = 0.8f;
        }
    }

    [Serialized]
    [LocDisplayName("Parallel Processing: CampfireCooking")]
    public partial class CampfireCookingParallelProcessingTalentGroup : TalentGroup
    {
        public override LocString DisplayDescription { get; } = Localizer.DoStr("Increases the crafting speed of related tables when they share a room with the same tables by 20 percent.");

        public CampfireCookingParallelProcessingTalentGroup()
        {
            Talents = new Type[]
            {
                typeof(CampfireCookingParallelSpeedTalent),
            };
            this.OwningSkill = typeof(CampfireCookingSkill);
            this.Level = 3;
        }
    }

    [Serialized]
    public partial class CampfireCookingParallelSpeedTalent : ParallelProcessingTalent
    {
        public override bool Base { get { return false; } }
        public override Type TalentGroupType { get { return typeof(CampfireCookingParallelProcessingTalentGroup); } }
        public CampfireCookingParallelSpeedTalent()
        {
            this.Value = 0.8f;
        }
    }

    [Serialized]
    [LocDisplayName("Parallel Processing: AdvancedCooking")]
    public partial class AdvancedCookingParallelProcessingTalentGroup : TalentGroup
    {
        public override LocString DisplayDescription { get; } = Localizer.DoStr("Increases the crafting speed of related tables when they share a room with the same tables by 20 percent.");

        public AdvancedCookingParallelProcessingTalentGroup()
        {
            Talents = new Type[]
            {
                typeof(AdvancedCookingParallelSpeedTalent),
            };
            this.OwningSkill = typeof(AdvancedCookingSkill);
            this.Level = 3;
        }
    }

    [Serialized]
    public partial class AdvancedCookingParallelSpeedTalent : ParallelProcessingTalent
    {
        public override bool Base { get { return false; } }
        public override Type TalentGroupType { get { return typeof(AdvancedCookingParallelProcessingTalentGroup); } }
        public AdvancedCookingParallelSpeedTalent()
        {
            this.Value = 0.8f;
        }
    }

    [Serialized]
    [LocDisplayName("Parallel Processing: AdvancedSmelting")]
    public partial class AdvancedSmeltingParallelProcessingTalentGroup : TalentGroup
    {
        public override LocString DisplayDescription { get; } = Localizer.DoStr("Increases the crafting speed of related tables when they share a room with the same tables by 20 percent.");

        public AdvancedSmeltingParallelProcessingTalentGroup()
        {
            Talents = new Type[]
            {
                typeof(AdvancedSmeltingParallelSpeedTalent),
            };
            this.OwningSkill = typeof(AdvancedSmeltingSkill);
            this.Level = 3;
        }
    }

    [Serialized]
    public partial class AdvancedSmeltingParallelSpeedTalent : ParallelProcessingTalent
    {
        public override bool Base { get { return false; } }
        public override Type TalentGroupType { get { return typeof(AdvancedSmeltingParallelProcessingTalentGroup); } }
        public AdvancedSmeltingParallelSpeedTalent()
        {
            this.Value = 0.8f;
        }
    }

    [Serialized]
    [LocDisplayName("Parallel Processing: Baking")]
    public partial class BakingParallelProcessingTalentGroup : TalentGroup
    {
        public override LocString DisplayDescription { get; } = Localizer.DoStr("Increases the crafting speed of related tables when they share a room with the same tables by 20 percent.");

        public BakingParallelProcessingTalentGroup()
        {
            Talents = new Type[]
            {
                typeof(BakingParallelSpeedTalent),
            };
            this.OwningSkill = typeof(BakingSkill);
            this.Level = 3;
        }
    }

    [Serialized]
    public partial class BakingParallelSpeedTalent : ParallelProcessingTalent
    {
        public override bool Base { get { return false; } }
        public override Type TalentGroupType { get { return typeof(BakingParallelProcessingTalentGroup); } }
        public BakingParallelSpeedTalent()
        {
            this.Value = 0.8f;
        }
    }

    [Serialized]
    [LocDisplayName("Parallel Processing: BasicEngineering")]
    public partial class BasicEngineeringParallelProcessingTalentGroup : TalentGroup
    {
        public override LocString DisplayDescription { get; } = Localizer.DoStr("Increases the crafting speed of related tables when they share a room with the same tables by 20 percent.");

        public BasicEngineeringParallelProcessingTalentGroup()
        {
            Talents = new Type[]
            {
                typeof(BasicEngineeringParallelSpeedTalent),
            };
            this.OwningSkill = typeof(BasicEngineeringSkill);
            this.Level = 3;
        }
    }

    [Serialized]
    public partial class BasicEngineeringParallelSpeedTalent : ParallelProcessingTalent
    {
        public override bool Base { get { return false; } }
        public override Type TalentGroupType { get { return typeof(BasicEngineeringParallelProcessingTalentGroup); } }
        public BasicEngineeringParallelSpeedTalent()
        {
            this.Value = 0.8f;
        }
    }

    [Serialized]
    [LocDisplayName("Parallel Processing: Pottery")]
    public partial class PotteryParallelProcessingTalentGroup : TalentGroup
    {
        public override LocString DisplayDescription { get; } = Localizer.DoStr("Increases the crafting speed of related tables when they share a room with the same tables by 20 percent.");

        public PotteryParallelProcessingTalentGroup()
        {
            Talents = new Type[]
            {
                typeof(PotteryParallelSpeedTalent),
            };
            this.OwningSkill = typeof(PotterySkill);
            this.Level = 3;
        }
    }

    [Serialized]
    public partial class PotteryParallelSpeedTalent : ParallelProcessingTalent
    {
        public override bool Base { get { return false; } }
        public override Type TalentGroupType { get { return typeof(PotteryParallelProcessingTalentGroup); } }
        public PotteryParallelSpeedTalent()
        {
            this.Value = 0.8f;
        }
    }

    [Serialized]
    [LocDisplayName("Parallel Processing: Butchery")]
    public partial class ButcheryParallelProcessingTalentGroup : TalentGroup
    {
        public override LocString DisplayDescription { get; } = Localizer.DoStr("Increases the crafting speed of related tables when they share a room with the same tables by 20 percent.");

        public ButcheryParallelProcessingTalentGroup()
        {
            Talents = new Type[]
            {
                typeof(ButcheryParallelSpeedTalent),
            };
            this.OwningSkill = typeof(ButcherySkill);
            this.Level = 3;
        }
    }

    [Serialized]
    public partial class ButcheryParallelSpeedTalent : ParallelProcessingTalent
    {
        public override bool Base { get { return false; } }
        public override Type TalentGroupType { get { return typeof(ButcheryParallelProcessingTalentGroup); } }
        public ButcheryParallelSpeedTalent()
        {
            this.Value = 0.8f;
        }
    }

    [Serialized]
    [LocDisplayName("Parallel Processing: AdvancedMasonry")]
    public partial class AdvancedMasonryParallelProcessingTalentGroup : TalentGroup
    {
        public override LocString DisplayDescription { get; } = Localizer.DoStr("Increases the crafting speed of related tables when they share a room with the same tables by 20 percent.");

        public AdvancedMasonryParallelProcessingTalentGroup()
        {
            Talents = new Type[]
            {
                typeof(AdvancedMasonryParallelSpeedTalent),
            };
            this.OwningSkill = typeof(AdvancedMasonrySkill);
            this.Level = 3;
        }
    }

    [Serialized]
    public partial class AdvancedMasonryParallelSpeedTalent : ParallelProcessingTalent
    {
        public override bool Base { get { return false; } }
        public override Type TalentGroupType { get { return typeof(AdvancedMasonryParallelProcessingTalentGroup); } }
        public AdvancedMasonryParallelSpeedTalent()
        {
            this.Value = 0.8f;
        }
    }

    [Serialized]
    [LocDisplayName("Parallel Processing: Cooking")]
    public partial class CookingParallelProcessingTalentGroup : TalentGroup
    {
        public override LocString DisplayDescription { get; } = Localizer.DoStr("Increases the crafting speed of related tables when they share a room with the same tables by 20 percent.");

        public CookingParallelProcessingTalentGroup()
        {
            Talents = new Type[]
            {
                typeof(CookingParallelSpeedTalent),
            };
            this.OwningSkill = typeof(CookingSkill);
            this.Level = 3;
        }
    }

    [Serialized]
    public partial class CookingParallelSpeedTalent : ParallelProcessingTalent
    {
        public override bool Base { get { return false; } }
        public override Type TalentGroupType { get { return typeof(CookingParallelProcessingTalentGroup); } }
        public CookingParallelSpeedTalent()
        {
            this.Value = 0.8f;
        }
    }

    [Serialized]
    [LocDisplayName("Parallel Processing: CuttingEdgeCooking")]
    public partial class CuttingEdgeCookingParallelProcessingTalentGroup : TalentGroup
    {
        public override LocString DisplayDescription { get; } = Localizer.DoStr("Increases the crafting speed of related tables when they share a room with the same tables by 20 percent.");

        public CuttingEdgeCookingParallelProcessingTalentGroup()
        {
            Talents = new Type[]
            {
                typeof(CuttingEdgeCookingParallelSpeedTalent),
            };
            this.OwningSkill = typeof(CuttingEdgeCookingSkill);
            this.Level = 3;
        }
    }

    [Serialized]
    public partial class CuttingEdgeCookingParallelSpeedTalent : ParallelProcessingTalent
    {
        public override bool Base { get { return false; } }
        public override Type TalentGroupType { get { return typeof(CuttingEdgeCookingParallelProcessingTalentGroup); } }
        public CuttingEdgeCookingParallelSpeedTalent()
        {
            this.Value = 0.8f;
        }
    }

    [Serialized]
    [LocDisplayName("Parallel Processing: Electronics")]
    public partial class ElectronicsParallelProcessingTalentGroup : TalentGroup
    {
        public override LocString DisplayDescription { get; } = Localizer.DoStr("Increases the crafting speed of related tables when they share a room with the same tables by 20 percent.");

        public ElectronicsParallelProcessingTalentGroup()
        {
            Talents = new Type[]
            {
                typeof(ElectronicsParallelSpeedTalent),
            };
            this.OwningSkill = typeof(ElectronicsSkill);
            this.Level = 3;
        }
    }

    [Serialized]
    public partial class ElectronicsParallelSpeedTalent : ParallelProcessingTalent
    {
        public override bool Base { get { return false; } }
        public override Type TalentGroupType { get { return typeof(ElectronicsParallelProcessingTalentGroup); } }
        public ElectronicsParallelSpeedTalent()
        {
            this.Value = 0.8f;
        }
    }

    [Serialized]
    [LocDisplayName("Parallel Processing: Fertilizers")]
    public partial class FertilizersParallelProcessingTalentGroup : TalentGroup
    {
        public override LocString DisplayDescription { get; } = Localizer.DoStr("Increases the crafting speed of related tables when they share a room with the same tables by 20 percent.");

        public FertilizersParallelProcessingTalentGroup()
        {
            Talents = new Type[]
            {
                typeof(FertilizersParallelSpeedTalent),
            };
            this.OwningSkill = typeof(FertilizersSkill);
            this.Level = 3;
        }
    }

    [Serialized]
    public partial class FertilizersParallelSpeedTalent : ParallelProcessingTalent
    {
        public override bool Base { get { return false; } }
        public override Type TalentGroupType { get { return typeof(FertilizersParallelProcessingTalentGroup); } }
        public FertilizersParallelSpeedTalent()
        {
            this.Value = 0.8f;
        }
    }

    [Serialized]
    [LocDisplayName("Parallel Processing: Glassworking")]
    public partial class GlassworkingParallelProcessingTalentGroup : TalentGroup
    {
        public override LocString DisplayDescription { get; } = Localizer.DoStr("Increases the crafting speed of related tables when they share a room with the same tables by 20 percent.");

        public GlassworkingParallelProcessingTalentGroup()
        {
            Talents = new Type[]
            {
                typeof(GlassworkingParallelSpeedTalent),
            };
            this.OwningSkill = typeof(GlassworkingSkill);
            this.Level = 3;
        }
    }

    [Serialized]
    public partial class GlassworkingParallelSpeedTalent : ParallelProcessingTalent
    {
        public override bool Base { get { return false; } }
        public override Type TalentGroupType { get { return typeof(GlassworkingParallelProcessingTalentGroup); } }
        public GlassworkingParallelSpeedTalent()
        {
            this.Value = 0.8f;
        }
    }

    [Serialized]
    [LocDisplayName("Parallel Processing: Industry")]
    public partial class IndustryParallelProcessingTalentGroup : TalentGroup
    {
        public override LocString DisplayDescription { get; } = Localizer.DoStr("Increases the crafting speed of related tables when they share a room with the same tables by 20 percent.");

        public IndustryParallelProcessingTalentGroup()
        {
            Talents = new Type[]
            {
                typeof(IndustryParallelSpeedTalent),
            };
            this.OwningSkill = typeof(IndustrySkill);
            this.Level = 3;
        }
    }

    [Serialized]
    public partial class IndustryParallelSpeedTalent : ParallelProcessingTalent
    {
        public override bool Base { get { return false; } }
        public override Type TalentGroupType { get { return typeof(IndustryParallelProcessingTalentGroup); } }
        public IndustryParallelSpeedTalent()
        {
            this.Value = 0.8f;
        }
    }

    [Serialized]
    [LocDisplayName("Parallel Processing: Mechanics")]
    public partial class MechanicsParallelProcessingTalentGroup : TalentGroup
    {
        public override LocString DisplayDescription { get; } = Localizer.DoStr("Increases the crafting speed of related tables when they share a room with the same tables by 20 percent.");

        public MechanicsParallelProcessingTalentGroup()
        {
            Talents = new Type[]
            {
                typeof(MechanicsParallelSpeedTalent),
            };
            this.OwningSkill = typeof(MechanicsSkill);
            this.Level = 3;
        }
    }

    [Serialized]
    public partial class MechanicsParallelSpeedTalent : ParallelProcessingTalent
    {
        public override bool Base { get { return false; } }
        public override Type TalentGroupType { get { return typeof(MechanicsParallelProcessingTalentGroup); } }
        public MechanicsParallelSpeedTalent()
        {
            this.Value = 0.8f;
        }
    }

    [Serialized]
    [LocDisplayName("Parallel Processing: Milling")]
    public partial class MillingParallelProcessingTalentGroup : TalentGroup
    {
        public override LocString DisplayDescription { get; } = Localizer.DoStr("Increases the crafting speed of related tables when they share a room with the same tables by 20 percent.");

        public MillingParallelProcessingTalentGroup()
        {
            Talents = new Type[]
            {
                typeof(MillingParallelSpeedTalent),
            };
            this.OwningSkill = typeof(MillingSkill);
            this.Level = 3;
        }
    }

    [Serialized]
    public partial class MillingParallelSpeedTalent : ParallelProcessingTalent
    {
        public override bool Base { get { return false; } }
        public override Type TalentGroupType { get { return typeof(MillingParallelProcessingTalentGroup); } }
        public MillingParallelSpeedTalent()
        {
            this.Value = 0.8f;
        }
    }

    [Serialized]
    [LocDisplayName("Parallel Processing: Masonry")]
    public partial class MasonryParallelProcessingTalentGroup : TalentGroup
    {
        public override LocString DisplayDescription { get; } = Localizer.DoStr("Increases the crafting speed of related tables when they share a room with the same tables by 20 percent.");

        public MasonryParallelProcessingTalentGroup()
        {
            Talents = new Type[]
            {
                typeof(MasonryParallelSpeedTalent),
            };
            this.OwningSkill = typeof(MasonrySkill);
            this.Level = 3;
        }
    }

    [Serialized]
    public partial class MasonryParallelSpeedTalent : ParallelProcessingTalent
    {
        public override bool Base { get { return false; } }
        public override Type TalentGroupType { get { return typeof(MasonryParallelProcessingTalentGroup); } }
        public MasonryParallelSpeedTalent()
        {
            this.Value = 0.8f;
        }
    }

    [Serialized]
    [LocDisplayName("Parallel Processing: OilDrilling")]
    public partial class OilDrillingParallelProcessingTalentGroup : TalentGroup
    {
        public override LocString DisplayDescription { get; } = Localizer.DoStr("Increases the crafting speed of related tables when they share a room with the same tables by 20 percent.");

        public OilDrillingParallelProcessingTalentGroup()
        {
            Talents = new Type[]
            {
                typeof(OilDrillingParallelSpeedTalent),
            };
            this.OwningSkill = typeof(OilDrillingSkill);
            this.Level = 3;
        }
    }

    [Serialized]
    public partial class OilDrillingParallelSpeedTalent : ParallelProcessingTalent
    {
        public override bool Base { get { return false; } }
        public override Type TalentGroupType { get { return typeof(OilDrillingParallelProcessingTalentGroup); } }
        public OilDrillingParallelSpeedTalent()
        {
            this.Value = 0.8f;
        }
    }

    [Serialized]
    [LocDisplayName("Parallel Processing: PaperMilling")]
    public partial class PaperMillingParallelProcessingTalentGroup : TalentGroup
    {
        public override LocString DisplayDescription { get; } = Localizer.DoStr("Increases the crafting speed of related tables when they share a room with the same tables by 20 percent.");

        public PaperMillingParallelProcessingTalentGroup()
        {
            Talents = new Type[]
            {
                typeof(PaperMillingParallelSpeedTalent),
            };
            this.OwningSkill = typeof(PaperMillingSkill);
            this.Level = 3;
        }
    }

    [Serialized]
    public partial class PaperMillingParallelSpeedTalent : ParallelProcessingTalent
    {
        public override bool Base { get { return false; } }
        public override Type TalentGroupType { get { return typeof(PaperMillingParallelProcessingTalentGroup); } }
        public PaperMillingParallelSpeedTalent()
        {
            this.Value = 0.8f;
        }
    }

    [Serialized]
    [LocDisplayName("Parallel Processing: Smelting")]
    public partial class SmeltingParallelProcessingTalentGroup : TalentGroup
    {
        public override LocString DisplayDescription { get; } = Localizer.DoStr("Increases the crafting speed of related tables when they share a room with the same tables by 20 percent.");

        public SmeltingParallelProcessingTalentGroup()
        {
            Talents = new Type[]
            {
                typeof(SmeltingParallelSpeedTalent),
            };
            this.OwningSkill = typeof(SmeltingSkill);
            this.Level = 3;
        }
    }

    [Serialized]
    public partial class SmeltingParallelSpeedTalent : ParallelProcessingTalent
    {
        public override bool Base { get { return false; } }
        public override Type TalentGroupType { get { return typeof(SmeltingParallelProcessingTalentGroup); } }
        public SmeltingParallelSpeedTalent()
        {
            this.Value = 0.8f;
        }
    }

    [Serialized]
    [LocDisplayName("Parallel Processing: Tailoring")]
    public partial class TailoringParallelProcessingTalentGroup : TalentGroup
    {
        public override LocString DisplayDescription { get; } = Localizer.DoStr("Increases the crafting speed of related tables when they share a room with the same tables by 20 percent.");

        public TailoringParallelProcessingTalentGroup()
        {
            Talents = new Type[]
            {
                typeof(TailoringParallelSpeedTalent),
            };
            this.OwningSkill = typeof(TailoringSkill);
            this.Level = 3;
        }
    }

    [Serialized]
    public partial class TailoringParallelSpeedTalent : ParallelProcessingTalent
    {
        public override bool Base { get { return false; } }
        public override Type TalentGroupType { get { return typeof(TailoringParallelProcessingTalentGroup); } }
        public TailoringParallelSpeedTalent()
        {
            this.Value = 0.8f;
        }
    }

    [Serialized]
    [LocDisplayName("Parallel Processing: Farming")]
    public partial class FarmingParallelProcessingTalentGroup : TalentGroup
    {
        public override LocString DisplayDescription { get; } = Localizer.DoStr("Increases the crafting speed of related tables when they share a room with the same tables by 20 percent.");

        public FarmingParallelProcessingTalentGroup()
        {
            Talents = new Type[]
            {
                typeof(FarmingParallelSpeedTalent),
            };
            this.OwningSkill = typeof(FarmingSkill);
            this.Level = 3;
        }
    }

    [Serialized]
    public partial class FarmingParallelSpeedTalent : ParallelProcessingTalent
    {
        public override bool Base { get { return false; } }
        public override Type TalentGroupType { get { return typeof(FarmingParallelProcessingTalentGroup); } }
        public FarmingParallelSpeedTalent()
        {
            this.Value = 0.8f;
        }
    }

    [Serialized]
    [LocDisplayName("Parallel Processing: Carpentry")]
    public partial class CarpentryParallelProcessingTalentGroup : TalentGroup
    {
        public override LocString DisplayDescription { get; } = Localizer.DoStr("Increases the crafting speed of related tables when they share a room with the same tables by 20 percent.");

        public CarpentryParallelProcessingTalentGroup()
        {
            Talents = new Type[]
            {
                typeof(CarpentryParallelSpeedTalent),
            };
            this.OwningSkill = typeof(CarpentrySkill);
            this.Level = 3;
        }
    }

    [Serialized]
    public partial class CarpentryParallelSpeedTalent : ParallelProcessingTalent
    {
        public override bool Base { get { return false; } }
        public override Type TalentGroupType { get { return typeof(CarpentryParallelProcessingTalentGroup); } }
        public CarpentryParallelSpeedTalent()
        {
            this.Value = 0.8f;
        }
    }
}
