102 lines
3.6 KiB
C#
102 lines
3.6 KiB
C#
namespace Eco.Mods.TechTree
|
||
{
|
||
using System;
|
||
using System.Collections.Generic;
|
||
using System.ComponentModel;
|
||
using Eco.Gameplay.Blocks;
|
||
using Eco.Gameplay.Components;
|
||
using Eco.Gameplay.Components.Auth;
|
||
using Eco.Gameplay.DynamicValues;
|
||
using Eco.Gameplay.Economy;
|
||
using Eco.Gameplay.Housing;
|
||
using Eco.Gameplay.Interactions;
|
||
using Eco.Gameplay.Items;
|
||
using Eco.Gameplay.Minimap;
|
||
using Eco.Gameplay.Objects;
|
||
using Eco.Gameplay.Players;
|
||
using Eco.Gameplay.Property;
|
||
using Eco.Gameplay.Skills;
|
||
using Eco.Gameplay.Systems.TextLinks;
|
||
using Eco.Gameplay.Pipes.LiquidComponents;
|
||
using Eco.Gameplay.Pipes.Gases;
|
||
using Eco.Gameplay.Systems.Tooltip;
|
||
using Eco.Shared;
|
||
using Eco.Shared.Math;
|
||
using Eco.Shared.Localization;
|
||
using Eco.Shared.Serialization;
|
||
using Eco.Shared.Utils;
|
||
using Eco.Shared.View;
|
||
using Eco.Shared.Items;
|
||
using Eco.Gameplay.Pipes;
|
||
using Eco.World.Blocks;
|
||
|
||
[Serialized]
|
||
|
||
[RequireComponent(typeof(PropertyAuthComponent))]
|
||
[RequireComponent(typeof(MinimapComponent))]
|
||
[RequireComponent(typeof(LinkComponent))]
|
||
[RequireComponent(typeof(CraftingComponent))]
|
||
[RequireComponent(typeof(SolidGroundComponent))]
|
||
[RequireComponent(typeof(RoomRequirementsComponent))]
|
||
[RequireRoomContainment]
|
||
[RequireRoomVolume(45)]
|
||
[RequireRoomMaterialTier(1, 32)]
|
||
public partial class TailoringTableObject :
|
||
WorldObject
|
||
{
|
||
public override string FriendlyName { get { return "Tailoring Table"; } }
|
||
|
||
|
||
protected override void Initialize()
|
||
{
|
||
this.GetComponent<MinimapComponent>().Initialize("Crafting");
|
||
|
||
|
||
|
||
}
|
||
|
||
public override void Destroy()
|
||
{
|
||
base.Destroy();
|
||
}
|
||
|
||
}
|
||
|
||
[Serialized]
|
||
public partial class TailoringTableItem : WorldObjectItem<TailoringTableObject>
|
||
{
|
||
public override string FriendlyName { get { return "Tailoring Table"; } }
|
||
public override string Description { get { return "Spearhead the fashion movement with the finest clothes and<6E> hair!"; } }
|
||
|
||
static TailoringTableItem()
|
||
{
|
||
|
||
}
|
||
|
||
}
|
||
|
||
|
||
[RequiresSkill(typeof(WoodworkingSkill), 1)]
|
||
public partial class TailoringTableRecipe : Recipe
|
||
{
|
||
public TailoringTableRecipe()
|
||
{
|
||
this.Products = new CraftingElement[]
|
||
{
|
||
new CraftingElement<TailoringTableItem>(),
|
||
};
|
||
|
||
this.Ingredients = new CraftingElement[]
|
||
{
|
||
new CraftingElement<BoardItem>(typeof(WoodworkingEfficiencySkill), 40, WoodworkingEfficiencySkill.MultiplicativeStrategy),
|
||
new CraftingElement<PlantFibersItem>(typeof(WoodworkingEfficiencySkill), 50, WoodworkingEfficiencySkill.MultiplicativeStrategy),
|
||
};
|
||
SkillModifiedValue value = new SkillModifiedValue(60, WoodworkingSpeedSkill.MultiplicativeStrategy, typeof(WoodworkingSpeedSkill), Localizer.Do("craft time"));
|
||
SkillModifiedValueManager.AddBenefitForObject(typeof(TailoringTableRecipe), Item.Get<TailoringTableItem>().UILink(), value);
|
||
SkillModifiedValueManager.AddSkillBenefit(Item.Get<TailoringTableItem>().UILink(), value);
|
||
this.CraftMinutes = value;
|
||
this.Initialize("Tailoring Table", typeof(TailoringTableRecipe));
|
||
CraftingComponent.AddRecipe(typeof(CarpentryTableObject), this);
|
||
}
|
||
}
|
||
} |