economy testing (#1507)

* pricing check 1

* Update CP14Economy.cs

* seed and dye

* mini tweak

* seed and test mithril

* hammer and pickaxe

* blade

* expensive check

* fix test

* Update CP14Workbench.cs

* misc

* misc 2

* Update CP14Workbench.cs

* Update CP14Workbench.cs

* misc 3

* misc 4

* misc 5

* meat

* food

* dough

* Clothing

* misc

* food 2

* food 3

* Wallpaper

* Wallpape 2

* Floor

* Floor 2

* carpet

* plushie

* Plushie 2

* meat 66

* food 4

* misc 9

* misc 10

* Bucket

* meat 8

* meat 10

* rope

* TagResource deleted

* meat 11

* meat 12

* meat 13

* meat 14

* meat 15

* fix

* meat 16

---------

Co-authored-by: Nimfar11 <nimfiar@gmail.com>
Co-authored-by: Nim <128169402+Nimfar11@users.noreply.github.com>
This commit is contained in:
Red
2025-07-11 18:54:36 +03:00
committed by GitHub
parent 37ece7228f
commit b51e80c335
69 changed files with 653 additions and 376 deletions

View File

@@ -1,34 +0,0 @@
using System.Collections.Generic;
using Content.Shared._CP14.Trading.Prototypes;
using Robust.Shared.Prototypes;
namespace Content.IntegrationTests.Tests._CP14;
#nullable enable
[TestFixture]
public sealed class CP14CargoTest
{
[Test]
public async Task CheckAllBuyPositionsUniqueCode()
{
await using var pair = await PoolManager.GetServerClient();
var server = pair.Server;
var protoManager = server.ResolveDependency<IPrototypeManager>();
await server.WaitAssertion(() =>
{
Assert.Multiple(() =>
{
HashSet<string> existedCodes = new();
foreach (var proto in protoManager.EnumeratePrototypes<CP14TradingPositionPrototype>())
{
}
});
});
await pair.CleanReturnAsync();
}
}

View File

@@ -0,0 +1,66 @@
using Content.Server.Cargo.Systems;
using Content.Shared._CP14.Workbench.Prototypes;
using Robust.Shared.GameObjects;
using Robust.Shared.Prototypes;
namespace Content.IntegrationTests.Tests._CP14;
#nullable enable
[TestFixture]
public sealed class CP14Workbench
{
/// <summary>
/// Check that the price of all resources to craft the item on the workbench is lower than the price of the result.
/// </summary>
[Test]
public async Task CheckRecipePricingReduction()
{
await using var pair = await PoolManager.GetServerClient();
var server = pair.Server;
var entManager = server.ResolveDependency<IEntityManager>();
var protoMan = server.ResolveDependency<IPrototypeManager>();
var pricingSystem = entManager.System<PricingSystem>();
await server.WaitAssertion(() =>
{
Assert.Multiple(() =>
{
foreach (var recipe in protoMan.EnumeratePrototypes<CP14WorkbenchRecipePrototype>())
{
double resourcePrice = 0;
foreach (var req in recipe.Requirements)
{
resourcePrice += req.GetPrice(entManager, protoMan);
}
var result = entManager.Spawn(recipe.Result);
var resultPrice = pricingSystem.GetPrice(result) * recipe.ResultCount;
resourcePrice = Math.Round(resourcePrice, 3);
resultPrice = Math.Round(resultPrice, 3);
if (resourcePrice == 0 && resultPrice == 0)
continue;
var minLimit = resourcePrice;
var maxLimit = resourcePrice * 2;
if (resultPrice < minLimit)
{
Assert.Fail($"The ingredients to craft the [{recipe.ID}] cost more than the result of the crafting. \nCrafting: [{recipe.Result.Id} x{recipe.ResultCount}]. \nExpected price range: from {minLimit} to {maxLimit}. \nCurrent price: {resultPrice}");
}
if (resultPrice > maxLimit)
{
Assert.Fail($"The result of crafting [{recipe.ID}] is too expensive! After crafting, the final cost exceeds the cost of all resources more than 2 times! \nCrafting: [{recipe.Result.Id} x{recipe.ResultCount}]. \nExpected price range: from {minLimit} to {maxLimit}. \nCurrent price: {resultPrice}");
}
entManager.DeleteEntity(result);
}
});
});
await pair.CleanReturnAsync();
}
}

View File

@@ -19,7 +19,7 @@ public sealed partial class MaterialResource : CP14WorkbenchCraftRequirement
public int Count = 1;
public override bool CheckRequirement(
EntityManager entManager,
IEntityManager entManager,
IPrototypeManager protoManager,
HashSet<EntityUid> placedEntities)
{
@@ -53,7 +53,7 @@ public sealed partial class MaterialResource : CP14WorkbenchCraftRequirement
return true;
}
public override void PostCraft(EntityManager entManager, IPrototypeManager protoManager, HashSet<EntityUid> placedEntities)
public override void PostCraft(IEntityManager entManager, IPrototypeManager protoManager, HashSet<EntityUid> placedEntities)
{
var stackSystem = entManager.System<SharedStackSystem>();
@@ -96,7 +96,7 @@ public sealed partial class MaterialResource : CP14WorkbenchCraftRequirement
}
}
public override double GetPrice(EntityManager entManager,
public override double GetPrice(IEntityManager entManager,
IPrototypeManager protoManager)
{
if (protoManager.TryIndex(Material, out var indexedMaterial))

View File

@@ -5,7 +5,6 @@
using Content.Shared._CP14.Trading.Systems;
using Robust.Shared.Prototypes;
using Robust.Shared.Utility;
namespace Content.Shared._CP14.Workbench.Requirements;
@@ -17,7 +16,7 @@ public sealed partial class ProtoIdResource : CP14WorkbenchCraftRequirement
[DataField]
public int Count = 1;
public override bool CheckRequirement(EntityManager entManager,
public override bool CheckRequirement(IEntityManager entManager,
IPrototypeManager protoManager,
HashSet<EntityUid> placedEntities)
{
@@ -26,7 +25,7 @@ public sealed partial class ProtoIdResource : CP14WorkbenchCraftRequirement
return indexedIngredients.TryGetValue(ProtoId, out var availableQuantity) && availableQuantity >= Count;
}
public override void PostCraft(EntityManager entManager,IPrototypeManager protoManager, HashSet<EntityUid> placedEntities)
public override void PostCraft(IEntityManager entManager,IPrototypeManager protoManager, HashSet<EntityUid> placedEntities)
{
var requiredCount = Count;
@@ -47,7 +46,7 @@ public sealed partial class ProtoIdResource : CP14WorkbenchCraftRequirement
}
}
public override double GetPrice(EntityManager entManager,
public override double GetPrice(IEntityManager entManager,
IPrototypeManager protoManager)
{
if (!protoManager.TryIndex(ProtoId, out var indexedProto))
@@ -74,7 +73,7 @@ public sealed partial class ProtoIdResource : CP14WorkbenchCraftRequirement
return indexedProto;
}
private Dictionary<EntProtoId, int> IndexIngredients(EntityManager entManager, HashSet<EntityUid> ingredients)
private Dictionary<EntProtoId, int> IndexIngredients(IEntityManager entManager, HashSet<EntityUid> ingredients)
{
var indexedIngredients = new Dictionary<EntProtoId, int>();

View File

@@ -22,7 +22,7 @@ public sealed partial class SolutionResource : CP14WorkbenchCraftRequirement
[DataField]
public EntProtoId DummyEntityIcon = "CP14LiquidDropDummy";
public override bool CheckRequirement(EntityManager entManager,
public override bool CheckRequirement(IEntityManager entManager,
IPrototypeManager protoManager,
HashSet<EntityUid> placedEntities)
{
@@ -52,7 +52,7 @@ public sealed partial class SolutionResource : CP14WorkbenchCraftRequirement
return false;
}
public override void PostCraft(EntityManager entManager, IPrototypeManager protoManager, HashSet<EntityUid> placedEntities)
public override void PostCraft(IEntityManager entManager, IPrototypeManager protoManager, HashSet<EntityUid> placedEntities)
{
var solutionSys = entManager.System<SharedSolutionContainerSystem>();
foreach (var ent in placedEntities)
@@ -79,7 +79,7 @@ public sealed partial class SolutionResource : CP14WorkbenchCraftRequirement
}
}
public override double GetPrice(EntityManager entManager, IPrototypeManager protoManager)
public override double GetPrice(IEntityManager entManager, IPrototypeManager protoManager)
{
if (!protoManager.TryIndex(Reagent, out var indexedReagent))
return 0;

View File

@@ -3,6 +3,7 @@
* https://github.com/space-wizards/space-station-14/blob/master/LICENSE.TXT
*/
using Content.Shared._CP14.Trading.Systems;
using Content.Shared._CP14.Workbench.Prototypes;
using Content.Shared.Stacks;
using Robust.Shared.Prototypes;
@@ -18,7 +19,7 @@ public sealed partial class StackGroupResource : CP14WorkbenchCraftRequirement
[DataField]
public int Count = 1;
public override bool CheckRequirement(EntityManager entManager,
public override bool CheckRequirement(IEntityManager entManager,
IPrototypeManager protoManager,
HashSet<EntityUid> placedEntities)
{
@@ -43,7 +44,7 @@ public sealed partial class StackGroupResource : CP14WorkbenchCraftRequirement
return true;
}
public override void PostCraft(EntityManager entManager, IPrototypeManager protoManager,
public override void PostCraft(IEntityManager entManager, IPrototypeManager protoManager,
HashSet<EntityUid> placedEntities)
{
var stackSystem = entManager.System<SharedStackSystem>();
@@ -71,6 +72,40 @@ public sealed partial class StackGroupResource : CP14WorkbenchCraftRequirement
}
}
/// <summary>
/// We take the cheapest material from the group for evaluation.
/// </summary>
public override double GetPrice(IEntityManager entManager, IPrototypeManager protoManager)
{
if (!protoManager.TryIndex(Group, out var indexedGroup))
return 0;
double price = 0;
foreach (var stack in indexedGroup.Stacks)
{
if (!protoManager.TryIndex(stack, out var indexedStack))
continue;
if (!protoManager.TryIndex(indexedStack.Spawn, out var indexedProto))
continue;
var priceSys = entManager.System<CP14SharedStationEconomySystem>();
var tempPrice = priceSys.GetEstimatedPrice(indexedProto);
if (price > 0)
{
price = Math.Min(price, tempPrice);
}
else
{
price = tempPrice;
}
}
return price * Count;
}
public override string GetRequirementTitle(IPrototypeManager protoManager)
{
var indexedGroup = protoManager.Index(Group);

View File

@@ -18,7 +18,7 @@ public sealed partial class StackResource : CP14WorkbenchCraftRequirement
[DataField]
public int Count = 1;
public override bool CheckRequirement(EntityManager entManager,
public override bool CheckRequirement(IEntityManager entManager,
IPrototypeManager protoManager,
HashSet<EntityUid> placedEntities)
{
@@ -40,7 +40,8 @@ public sealed partial class StackResource : CP14WorkbenchCraftRequirement
return true;
}
public override void PostCraft(EntityManager entManager, IPrototypeManager protoManager,
public override void PostCraft(IEntityManager entManager,
IPrototypeManager protoManager,
HashSet<EntityUid> placedEntities)
{
var stackSystem = entManager.System<SharedStackSystem>();
@@ -65,7 +66,7 @@ public sealed partial class StackResource : CP14WorkbenchCraftRequirement
}
}
public override double GetPrice(EntityManager entManager,
public override double GetPrice(IEntityManager entManager,
IPrototypeManager protoManager)
{
if (!protoManager.TryIndex(Stack, out var indexedStack))

View File

@@ -1,78 +0,0 @@
/*
* This file is sublicensed under MIT License
* https://github.com/space-wizards/space-station-14/blob/master/LICENSE.TXT
*/
using Content.Shared.Tag;
using Robust.Shared.Prototypes;
using Robust.Shared.Utility;
namespace Content.Shared._CP14.Workbench.Requirements;
public sealed partial class TagResource : CP14WorkbenchCraftRequirement
{
[DataField(required: true)]
public ProtoId<TagPrototype> Tag;
[DataField]
public int Count = 1;
[DataField(required: true)]
public LocId? Title;
[DataField(required: true)]
public SpriteSpecifier? Texture;
public override bool CheckRequirement(
EntityManager entManager,
IPrototypeManager protoManager,
HashSet<EntityUid> placedEntities)
{
var tagSystem = entManager.System<TagSystem>();
var count = 0;
foreach (var ent in placedEntities)
{
if (!tagSystem.HasTag(ent, Tag))
continue;
count++;
}
if (count < Count)
return false;
return true;
}
public override void PostCraft(EntityManager entManager, IPrototypeManager protoManager, HashSet<EntityUid> placedEntities)
{
var tagSystem = entManager.System<TagSystem>();
var requiredCount = Count;
foreach (var placedEntity in placedEntities)
{
if (!tagSystem.HasTag(placedEntity, Tag))
continue;
if (requiredCount <= 0)
break;
requiredCount--;
entManager.DeleteEntity(placedEntity);
}
}
public override string GetRequirementTitle(IPrototypeManager protoManager)
{
if (Title is null)
return "Error tag name";
return $"{Loc.GetString(Title)} x{Count}";
}
public override SpriteSpecifier? GetRequirementTexture(IPrototypeManager protoManager)
{
return Texture;
}
}

View File

@@ -17,21 +17,21 @@ public abstract partial class CP14WorkbenchCraftRequirement
/// Here a check is made that the recipe as a whole can be fulfilled at the current moment. Do not add anything that affects gameplay here, and only perform checks here.
/// </summary>
/// <returns></returns>
public abstract bool CheckRequirement(EntityManager entManager,
public abstract bool CheckRequirement(IEntityManager entManager,
IPrototypeManager protoManager,
HashSet<EntityUid> placedEntities);
/// <summary>
/// An event that is triggered after crafting. This is the place to put important things like removing items, spending stacks or other things.
/// </summary>
public virtual void PostCraft(EntityManager entManager,
public virtual void PostCraft(IEntityManager entManager,
IPrototypeManager protoManager,
HashSet<EntityUid> placedEntities)
{
}
public virtual double GetPrice(EntityManager entManager,
public virtual double GetPrice(IEntityManager entManager,
IPrototypeManager protoManager)
{
return 0;

View File

@@ -1,4 +0,0 @@
cp14-recipe-title-meat = various pieces of raw meat
cp14-recipe-title-meat-cooked = various pieces of cooked meat
cp14-recipe-title-meat-cooked-leg = various leg of cooked meat
cp14-recipe-title-energy-crystal = energycrystals

View File

@@ -1,4 +0,0 @@
cp14-recipe-title-meat = разные кусочки сырого мяса
cp14-recipe-title-meat-cooked = разные кусочки приготовленного мяса
cp14-recipe-title-meat-cooked-leg = разные окорока приготовленного мяса
cp14-recipe-title-energy-crystal = энергокристаллы

View File

@@ -31,6 +31,9 @@
Blunt: 0.99
Slash: 0.98
Piercing: 0.99
- type: PhysicalComposition
materialComposition:
CP14Iron: 10
- type: entity
parent: CP14ClothingGlovesBase

View File

@@ -8,6 +8,11 @@
sprite: _CP14/Clothing/Head/Roles/General/beret_mercenary.rsi
- type: Clothing
sprite: _CP14/Clothing/Head/Roles/General/beret_mercenary.rsi
- type: PhysicalComposition
materialComposition:
CP14Cloth: 15
- type: StaticPrice
price: 12.6
- type: entity
parent: CP14ClothingHeadBase
@@ -63,6 +68,9 @@
sprite: _CP14/Clothing/Head/Roles/General/hunter_hat.rsi
- type: Clothing
sprite: _CP14/Clothing/Head/Roles/General/hunter_hat.rsi
- type: PhysicalComposition
materialComposition:
CP14Cloth: 15
- type: entity
parent: CP14ClothingHeadBase
@@ -132,4 +140,3 @@
sprite: _CP14/Clothing/Head/Roles/General/kasa_hat.rsi
- type: Clothing
sprite: _CP14/Clothing/Head/Roles/General/kasa_hat.rsi

View File

@@ -45,6 +45,9 @@
Slash: 0.95
Piercing: 0.95
Heat: 0.95
- type: PhysicalComposition
materialComposition:
CP14Iron: 20
- type: entity
parent: CP14ClothingMaskBase

View File

@@ -21,6 +21,9 @@
sprintModifier: 0.96
- type: CP14MagicManacostModify
globalModifier: 1.1
- type: PhysicalComposition
materialComposition:
CP14Copper: 40
- type: entity
parent: CP14ClothingOuterClothingBase

View File

@@ -17,6 +17,11 @@
sprite: _CP14/Clothing/Pants/Trousers/dark_blue.rsi
- type: Clothing
sprite: _CP14/Clothing/Pants/Trousers/dark_blue.rsi
- type: PhysicalComposition
materialComposition:
CP14Cloth: 25
- type: StaticPrice
price: 8.6
- type: entity
parent: CP14ClothingPantsBase
@@ -37,6 +42,11 @@
sprite: _CP14/Clothing/Pants/Trousers/trousers_mercenary.rsi
- type: Clothing
sprite: _CP14/Clothing/Pants/Trousers/trousers_mercenary.rsi
- type: PhysicalComposition
materialComposition:
CP14Cloth: 25
- type: StaticPrice
price: 12.6
- type: entity
parent: CP14ClothingPantsBase

View File

@@ -7,6 +7,9 @@
sprite: _CP14/Clothing/Shirt/Roles/General/Shirts/black.rsi
- type: Clothing
sprite: _CP14/Clothing/Shirt/Roles/General/Shirts/black.rsi
- type: PhysicalComposition
materialComposition:
CP14Cloth: 35
- type: entity
parent: CP14ClothingShirtBase
@@ -17,6 +20,9 @@
sprite: _CP14/Clothing/Shirt/Roles/General/Dress/black_dress.rsi
- type: Clothing
sprite: _CP14/Clothing/Shirt/Roles/General/Dress/black_dress.rsi
- type: PhysicalComposition
materialComposition:
CP14Cloth: 35
- type: entity
parent: CP14ClothingShirtBase
@@ -27,6 +33,11 @@
sprite: _CP14/Clothing/Shirt/Roles/General/Shirts/blue.rsi
- type: Clothing
sprite: _CP14/Clothing/Shirt/Roles/General/Shirts/blue.rsi
- type: PhysicalComposition
materialComposition:
CP14Cloth: 25
- type: StaticPrice
price: 8.6
- type: entity
parent: CP14ClothingShirtBase
@@ -58,6 +69,11 @@
sprite: _CP14/Clothing/Shirt/Roles/General/Shirts/mercenary.rsi
- type: Clothing
sprite: _CP14/Clothing/Shirt/Roles/General/Shirts/mercenary.rsi
- type: PhysicalComposition
materialComposition:
CP14Cloth: 35
- type: StaticPrice
price: 12.6
- type: entity
parent: CP14ClothingShirtBase
@@ -128,6 +144,11 @@
sprite: _CP14/Clothing/Shirt/Roles/General/Shirts/purple.rsi
- type: Clothing
sprite: _CP14/Clothing/Shirt/Roles/General/Shirts/purple.rsi
- type: PhysicalComposition
materialComposition:
CP14Cloth: 35
- type: StaticPrice
price: 4.4
- type: entity
parent: CP14ClothingShirtBase
@@ -138,6 +159,11 @@
sprite: _CP14/Clothing/Shirt/Roles/General/Shirts/red.rsi
- type: Clothing
sprite: _CP14/Clothing/Shirt/Roles/General/Shirts/red.rsi
- type: PhysicalComposition
materialComposition:
CP14Cloth: 35
- type: StaticPrice
price: 4
- type: entity
parent: CP14ClothingShirtBase
@@ -158,6 +184,9 @@
sprite: _CP14/Clothing/Shirt/Roles/General/Shirts/white.rsi
- type: Clothing
sprite: _CP14/Clothing/Shirt/Roles/General/Shirts/white.rsi
- type: PhysicalComposition
materialComposition:
CP14Cloth: 35
- type: entity
parent: CP14ClothingShirtBase
@@ -198,6 +227,11 @@
sprite: _CP14/Clothing/Shirt/Roles/General/Shirts/yellow.rsi
- type: Clothing
sprite: _CP14/Clothing/Shirt/Roles/General/Shirts/yellow.rsi
- type: PhysicalComposition
materialComposition:
CP14Cloth: 35
- type: StaticPrice
price: 3.5
- type: entity
parent: CP14ClothingShirtBase
@@ -240,6 +274,11 @@
sprite: _CP14/Clothing/Shirt/Roles/General/Dress/yellow_wizard_dress.rsi
- type: Clothing
sprite: _CP14/Clothing/Shirt/Roles/General/Dress/yellow_wizard_dress.rsi
- type: PhysicalComposition
materialComposition:
CP14Cloth: 35
- type: StaticPrice
price: 16.6
- type: entity
parent: CP14ClothingShirtBase

View File

@@ -26,6 +26,11 @@
stackType: CP14FloorCarpetBlue
- type: SpawnAfterInteract
prototype: CP14CarpetBlue
- type: PhysicalComposition
materialComposition:
CP14Cloth: 15
- type: StaticPrice
price: 8.6
- type: entity
name: red carpet
@@ -42,6 +47,11 @@
stackType: CP14FloorCarpetRed
- type: SpawnAfterInteract
prototype: CP14CarpetRed
- type: PhysicalComposition
materialComposition:
CP14Cloth: 15
- type: StaticPrice
price: 4
- type: entity
name: cyan carpet
@@ -58,6 +68,11 @@
stackType: CP14FloorCarpetCyan
- type: SpawnAfterInteract
prototype: CP14CarpetCyan
- type: PhysicalComposition
materialComposition:
CP14Cloth: 15
- type: StaticPrice
price: 14.6
- type: entity
name: green carpet
@@ -74,6 +89,11 @@
stackType: CP14FloorCarpetGreen
- type: SpawnAfterInteract
prototype: CP14CarpetGreen
- type: PhysicalComposition
materialComposition:
CP14Cloth: 15
- type: StaticPrice
price: 6
- type: entity
name: orange carpet
@@ -90,6 +110,11 @@
stackType: CP14FloorCarpetOrange
- type: SpawnAfterInteract
prototype: CP14CarpetOrange
- type: PhysicalComposition
materialComposition:
CP14Cloth: 15
- type: StaticPrice
price: 7.5
- type: entity
name: purpule carpet
@@ -106,6 +131,11 @@
stackType: CP14FloorCarpetPurple
- type: SpawnAfterInteract
prototype: CP14CarpetPurple
- type: PhysicalComposition
materialComposition:
CP14Cloth: 15
- type: StaticPrice
price: 4.4
- type: entity
name: black carpet
@@ -120,6 +150,11 @@
stackType: CP14FloorCarpetBlack
- type: SpawnAfterInteract
prototype: CP14CarpetBlack
- type: PhysicalComposition
materialComposition:
CP14Cloth: 15
- type: StaticPrice
price: 6
- type: entity
name: yellow carpet
@@ -134,6 +169,11 @@
stackType: CP14FloorCarpetYellow
- type: SpawnAfterInteract
prototype: CP14CarpetYellow
- type: PhysicalComposition
materialComposition:
CP14Cloth: 15
- type: StaticPrice
price: 3.5
#staks

View File

@@ -23,6 +23,9 @@
- map: ["enum.SolutionContainerLayers.Fill"]
state: fill-5
visible: false
- type: PhysicalComposition
materialComposition:
CP14Iron: 10
- type: entity
parent: CP14DrinkBaseGoblet
@@ -37,6 +40,9 @@
- map: ["enum.SolutionContainerLayers.Fill"]
state: fill-5
visible: false
- type: PhysicalComposition
materialComposition:
CP14Copper: 10
- type: entity
parent: CP14DrinkBaseGoblet
@@ -52,3 +58,6 @@
- map: ["enum.SolutionContainerLayers.Fill"]
state: fill-5
visible: false
- type: PhysicalComposition
materialComposition:
CP14Gold: 10

View File

@@ -88,6 +88,9 @@
components:
- type: Sprite
sprite: _CP14/Objects/Consumable/Drinks/beer_mug_1.rsi
- type: PhysicalComposition
materialComposition:
CP14WoodenPlanks: 20
- type: entity
parent: CP14DrinkBaseMug

View File

@@ -1,6 +1,6 @@
- type: entity
parent: FoodInjectableBase
id: CP14FoodDoughLarge
parent: FoodInjectableBase
name: large piece of dough
description: The perfect ingredient for any flour product. The only thing left to do is to shape it.
categories: [ ForkFiltered ]
@@ -17,10 +17,10 @@
- type: SolutionContainerManager
solutions:
food:
maxVol: 30
maxVol: 25
reagents:
- ReagentId: Nutriment
Quantity: 10
Quantity: 20
- ReagentId: UncookedAnimalProteins
Quantity: 2
- type: SliceableFood
@@ -80,8 +80,8 @@
transformTo: null
- type: entity
parent: FoodInjectableBase
id: CP14FoodDoughMedium
parent: FoodInjectableBase
name: medium piece of dough
categories: [ ForkFiltered ]
components:
@@ -100,7 +100,7 @@
maxVol: 7 # 1/4 large dough
reagents:
- ReagentId: Nutriment
Quantity: 1.3
Quantity: 5
- ReagentId: UncookedAnimalProteins
Quantity: 0.5
- type: CP14TemperatureTransformation
@@ -109,8 +109,8 @@
transformTo: CP14FoodBreadBun
- type: entity
parent: CP14FoodDoughMedium
id: CP14FoodBreadBun
parent: CP14FoodDoughMedium
name: bread bun
description: it's like regular bread, only smaller and funnier.
components:
@@ -139,8 +139,8 @@
transformTo: CP14Ash1
- type: entity
parent: CP14FoodDoughMedium
id: CP14FoodBreadBunBottom
parent: CP14FoodDoughMedium
name: botton bread bun
description: It's like regular bread, only smaller and funnier. And cut in half.
components:
@@ -176,8 +176,8 @@
transformTo: CP14Ash1
- type: entity
parent: CP14FoodDoughMedium
id: CP14FoodBreadBunTop
parent: CP14FoodDoughMedium
name: top bread bun
description: It's like regular bread, only smaller and funnier. And cut in half.
components:
@@ -202,8 +202,8 @@
transformTo: CP14Ash1
- type: entity
parent: CP14FoodDoughMedium
id: CP14FoodDoughMediumFlat
parent: CP14FoodDoughMedium
name: rolled dough
components:
- type: Item
@@ -216,7 +216,7 @@
maxVol: 7 # 1/4 large dough
reagents:
- ReagentId: Nutriment
Quantity: 1.3
Quantity: 5
- ReagentId: UncookedAnimalProteins
Quantity: 0.5
- type: CP14TemperatureTransformation

View File

@@ -65,19 +65,19 @@
sprite: _CP14/Objects/Consumable/Food/meat.rsi
state: sheepmeat
- type: SliceableFood
count: 3
count: 4
slice: CP14FoodMeatLambSlice
- type: SolutionContainerManager
solutions:
food:
maxVol: 15
maxVol: 24
reagents:
- ReagentId: Nutriment
Quantity: 2
- ReagentId: Protein
Quantity: 4
- ReagentId: Fat
Quantity: 8
- ReagentId: UncookedAnimalProteins
Quantity: 6
- ReagentId: Fat
Quantity: 8
- type: Item
size: Small
shape:
@@ -95,19 +95,19 @@
- type: Sprite
state: sheepmeat_cooked
- type: SliceableFood
count: 3
count: 4
slice: CP14FoodMeatLambCookedSlice
- type: SolutionContainerManager
solutions:
food:
maxVol: 15
maxVol: 24
reagents:
- ReagentId: Nutriment
Quantity: 8
- ReagentId: Protein
Quantity: 4
- ReagentId: Fat
Quantity: 6
- ReagentId: Fat
Quantity: 8
- type: CP14TemperatureTransformation
entries:
- temperatureRange: 400, 500
@@ -135,17 +135,14 @@
- type: SolutionContainerManager
solutions:
food:
maxVol: 15
maxVol: 12
reagents:
- ReagentId: Nutriment
Quantity: 2
- ReagentId: Protein
Quantity: 1
- ReagentId: UncookedAnimalProteins
Quantity: 1.5
- ReagentId: Fat
Quantity: 4
- type: Tag
tags:
- CP14RawMeatSlice
Quantity: 2
- type: CP14TemperatureTransformation
entries:
- temperatureRange: 400, 500
@@ -169,17 +166,14 @@
- type: SolutionContainerManager
solutions:
food:
maxVol: 15
maxVol: 12
reagents:
- ReagentId: Nutriment
Quantity: 2
- ReagentId: Protein
Quantity: 2
Quantity: 1.5
- ReagentId: Fat
Quantity: 6
- type: Tag
tags:
- CP14CookedMeatSlice
Quantity: 2
- type: CP14TemperatureTransformation
entries:
- temperatureRange: 400, 500
@@ -197,14 +191,16 @@
- type: SolutionContainerManager
solutions:
food:
maxVol: 10
maxVol: 30
reagents:
- ReagentId: Nutriment
Quantity: 2
Quantity: 4
- ReagentId: UncookedAnimalProteins
Quantity: 0.66
- ReagentId: Fat
Quantity: 3
- ReagentId: Protein
Quantity: 2
- ReagentId: Fat
Quantity: 4
- ReagentId: Egg
Quantity: 6
- type: FoodSequenceElement
@@ -226,12 +222,12 @@
- type: SolutionContainerManager
solutions:
food:
maxVol: 10
maxVol: 30
reagents:
- ReagentId: Nutriment
Quantity: 4
- ReagentId: Protein
Quantity: 0.66
Quantity: 5
- ReagentId: Fat
Quantity: 4
- ReagentId: EggCooked
@@ -472,20 +468,19 @@
- type: SolutionContainerManager
solutions:
food:
maxVol: 5
maxVol: 7
reagents:
- ReagentId: Nutriment
Quantity: 1.15
Quantity: 2
- ReagentId: UncookedAnimalProteins
Quantity: 1.5
- ReagentId: Fat
Quantity: 2
- type: RandomSprite
available:
- random:
rabbit_meat1: ""
rabbit_meat2: ""
- type: Tag
tags:
- CP14RawMeatSlice
- type: CP14TemperatureTransformation
entries:
- temperatureRange: 400, 500
@@ -504,20 +499,19 @@
- type: SolutionContainerManager
solutions:
food:
maxVol: 5
maxVol: 7
reagents:
- ReagentId: Nutriment
Quantity: 3
Quantity: 2
- ReagentId: Protein
Quantity: 1.5
- ReagentId: Fat
Quantity: 2
- type: RandomSprite
available:
- random:
rabbit_meat1_cooked: ""
rabbit_meat2_cooked: ""
- type: Tag
tags:
- CP14CookedMeatSlice
- type: CP14TemperatureTransformation
entries:
- temperatureRange: 400, 500
@@ -543,14 +537,14 @@
- type: SolutionContainerManager
solutions:
food:
maxVol: 20
maxVol: 30
reagents:
- ReagentId: Nutriment
Quantity: 4
Quantity: 8
- ReagentId: UncookedAnimalProteins
Quantity: 4
- ReagentId: Fat
Quantity: 6
Quantity: 14
- type: RandomSprite
available:
- random:
@@ -576,7 +570,7 @@
- type: SolutionContainerManager
solutions:
food:
maxVol: 20
maxVol: 30
reagents:
- ReagentId: Nutriment
Quantity: 8
@@ -608,14 +602,14 @@
- type: SolutionContainerManager
solutions:
food:
maxVol: 20
maxVol: 30
reagents:
- ReagentId: Nutriment
Quantity: 3.5
Quantity: 8
- ReagentId: UncookedAnimalProteins
Quantity: 10
- ReagentId: Fat
Quantity: 6
Quantity: 10
- type: CP14TemperatureTransformation
entries:
- temperatureRange: 400, 500
@@ -631,17 +625,14 @@
- type: SolutionContainerManager
solutions:
food:
maxVol: 20
maxVol: 30
reagents:
- ReagentId: Nutriment
Quantity: 8
- ReagentId: Protein
Quantity: 10
- ReagentId: Fat
Quantity: 12
- type: Tag
tags:
- CP14CookedMeatLeg
Quantity: 10
- type: CP14TemperatureTransformation
entries:
- temperatureRange: 400, 500
@@ -666,14 +657,14 @@
- type: SolutionContainerManager
solutions:
food:
maxVol: 20
maxVol: 30
reagents:
- ReagentId: Nutriment
Quantity: 2.25
Quantity: 6
- ReagentId: UncookedAnimalProteins
Quantity: 8
- ReagentId: Fat
Quantity: 7
Quantity: 10
- type: RandomSprite
available:
- random:
@@ -700,14 +691,14 @@
- type: SolutionContainerManager
solutions:
food:
maxVol: 20
maxVol: 30
reagents:
- ReagentId: Nutriment
Quantity: 6
- ReagentId: Protein
Quantity: 8
- ReagentId: Fat
Quantity: 12
Quantity: 10
- type: RandomSprite
available:
- random:
@@ -733,17 +724,14 @@
- type: SolutionContainerManager
solutions:
food:
maxVol: 5
maxVol: 7
reagents:
- ReagentId: Nutriment
Quantity: 1.45
Quantity: 1.5
- ReagentId: UncookedAnimalProteins
Quantity: 1
- ReagentId: Fat
Quantity: 2
- type: Tag
tags:
- CP14RawMeatSlice
- ReagentId: Fat
Quantity: 3
- type: CP14TemperatureTransformation
entries:
- temperatureRange: 400, 500
@@ -760,17 +748,14 @@
- type: SolutionContainerManager
solutions:
food:
maxVol: 5
maxVol: 7
reagents:
- ReagentId: Nutriment
Quantity: 2.75
Quantity: 1.5
- ReagentId: Protein
Quantity: 1
Quantity: 2
- ReagentId: Fat
Quantity: 4
- type: Tag
tags:
- CP14CookedMeatSlice
Quantity: 3
- type: CP14TemperatureTransformation
entries:
- temperatureRange: 400, 500
@@ -796,16 +781,16 @@
- type: SolutionContainerManager
solutions:
food:
maxVol: 20
maxVol: 26
reagents:
- ReagentId: CP14Taikamyrky
Quantity: 2
- ReagentId: Nutriment
Quantity: 2
Quantity: 6
- ReagentId: UncookedAnimalProteins
Quantity: 3
Quantity: 8
- ReagentId: Fat
Quantity: 2.5
Quantity: 8
- type: RandomSprite
available:
- random:
@@ -834,14 +819,14 @@
- type: SolutionContainerManager
solutions:
food:
maxVol: 20
maxVol: 26
reagents:
- ReagentId: Nutriment
Quantity: 6
Quantity: 8
- ReagentId: Protein
Quantity: 3
Quantity: 8
- ReagentId: Fat
Quantity: 6
Quantity: 8
- type: RandomSprite
available:
- random:
@@ -868,16 +853,16 @@
- type: SolutionContainerManager
solutions:
food:
maxVol: 20
maxVol: 30
reagents:
- ReagentId: CP14Taikamyrky
Quantity: 2
- ReagentId: Nutriment
Quantity: 3.25
Quantity: 6
- ReagentId: UncookedAnimalProteins
Quantity: 3
Quantity: 10
- ReagentId: Fat
Quantity: 1.5
Quantity: 10
- type: CP14TemperatureTransformation
entries:
- temperatureRange: 400, 500
@@ -894,17 +879,14 @@
- type: SolutionContainerManager
solutions:
food:
maxVol: 20
maxVol: 30
reagents:
- ReagentId: Nutriment
Quantity: 8
- ReagentId: Protein
Quantity: 3
Quantity: 10
- ReagentId: Fat
Quantity: 4
- type: Tag
tags:
- CP14CookedMeatLeg
Quantity: 10
- type: CP14TemperatureTransformation
entries:
- temperatureRange: 400, 500
@@ -925,19 +907,16 @@
- type: SolutionContainerManager
solutions:
food:
maxVol: 5
maxVol: 8
reagents:
- ReagentId: CP14Taikamyrky
Quantity: 0.5
- ReagentId: Nutriment
Quantity: 0.5
Quantity: 1.5
- ReagentId: UncookedAnimalProteins
Quantity: 0.5
Quantity: 2
- ReagentId: Fat
Quantity: 0.5
- type: Tag
tags:
- CP14RawMeatSlice
Quantity: 2
- type: CP14TemperatureTransformation
entries:
- temperatureRange: 400, 500
@@ -955,17 +934,14 @@
- type: SolutionContainerManager
solutions:
food:
maxVol: 5 # Add a reagent that restores mana, if heated, perhaps change the composition of the reagent
maxVol: 8
reagents:
- ReagentId: Nutriment
Quantity: 1.5
- ReagentId: Protein
Quantity: 0.5
Quantity: 2
- ReagentId: Fat
Quantity: 1.5
- type: Tag
tags:
- CP14CookedMeatSlice
Quantity: 2
- type: CP14TemperatureTransformation
entries:
- temperatureRange: 400, 500
@@ -1114,9 +1090,6 @@
Quantity: 5
- ReagentId: Fat
Quantity: 0.5
- type: Tag
tags:
- CP14RawMeatSlice
- type: CP14TemperatureTransformation
entries:
- temperatureRange: 400, 500

View File

@@ -15,14 +15,16 @@
- type: SolutionContainerManager
solutions:
food:
maxVol: 32
maxVol: 42
reagents:
- ReagentId: Nutriment
Quantity: 13
Quantity: 16
- ReagentId: Protein
Quantity: 12
Quantity: 13
- ReagentId: Vitamin
Quantity: 2.5
Quantity: 0.5
- ReagentId: Fat
Quantity: 12
- type: Sprite
layers:
- sprite: _CP14/Objects/Consumable/Food/plates.rsi
@@ -68,9 +70,9 @@
- ReagentId: PumpkinFlesh
Quantity: 4
- ReagentId: Protein
Quantity: 2
Quantity: 6
- ReagentId: Nutriment
Quantity: 13
Quantity: 14
- ReagentId: Vitamin
Quantity: 6
- ReagentId: Fat

View File

@@ -146,6 +146,17 @@
flavors:
- raw dough
- meaty
- type: SolutionContainerManager
solutions:
food:
maxVol: 34
reagents:
- ReagentId: Nutriment
Quantity: 16
- ReagentId: UncookedAnimalProteins
Quantity: 13
- ReagentId: Vitamin
Quantity: 2
- type: Sprite
layers:
- state: tin
@@ -170,12 +181,12 @@
- type: SolutionContainerManager
solutions:
food:
maxVol: 20
maxVol: 34
reagents:
- ReagentId: Nutriment
Quantity: 15
Quantity: 16
- ReagentId: Protein
Quantity: 12
Quantity: 13
- ReagentId: Vitamin
Quantity: 2
- type: Sprite
@@ -212,6 +223,8 @@
entries:
- temperatureRange: 400, 500
transformTo: CP14FoodPieFish
- type: StaticPrice
price: 20
- type: entity
name: fish pie
@@ -225,7 +238,7 @@
- type: SolutionContainerManager
solutions:
food:
maxVol: 20
maxVol: 30
reagents:
- ReagentId: Nutriment
Quantity: 15

View File

@@ -63,16 +63,16 @@
- type: SolutionContainerManager
solutions:
food:
maxVol: 15
maxVol: 14
reagents:
- ReagentId: Nutriment
Quantity: 9
Quantity: 6
- ReagentId: Protein
Quantity: 1
Quantity: 2
- ReagentId: Vitamin
Quantity: 2
- ReagentId: Fat
Quantity: 2
Quantity: 3
- type: entity
id: CP14FoodChromiumJelly

View File

@@ -20,6 +20,8 @@
unlitIcon: unlit-icon
- type: CP14IgnitionModifier
hideCaution: true
- type: StaticPrice
price: 1
- type: PhysicalComposition
materialComposition:
CP14WoodenPlanks: 20 # 2 wooden plank in craft

View File

@@ -16,6 +16,9 @@
- type: Tag
tags:
- WoodwindInstrument
- type: PhysicalComposition
materialComposition:
CP14WoodenPlanks: 40
- type: entity
parent: BaseHandheldInstrument
@@ -43,6 +46,10 @@
- type: Tag
tags:
- StringInstrument
- type: PhysicalComposition
materialComposition:
CP14WoodenPlanks: 30
CP14Cloth: 10
- type: entity
parent: BaseHandheldInstrument
@@ -77,6 +84,10 @@
- type: Tag
tags:
- StringInstrument
- type: PhysicalComposition
materialComposition:
CP14WoodenPlanks: 40
CP14Cloth: 5
- type: entity
parent: BaseHandheldInstrument

View File

@@ -68,6 +68,9 @@
wideAnimationRotation: 180
soundHit:
collection: MaleLaugh
- type: PhysicalComposition
materialComposition:
CP14Cloth: 25
- type: entity
parent: CP14BasePlushie
@@ -151,6 +154,12 @@
maxTransferAmount: 10
transferAmount: 1
toggleState: 1
- type: PhysicalComposition
materialComposition:
CP14Cloth: 20
CP14Stone: 30
- type: StaticPrice
price: 2
- type: entity
parent: CP14BasePlushie
@@ -204,6 +213,11 @@
- type: Tag
tags:
- CP14EnergyCrystal
- type: PhysicalComposition
materialComposition:
CP14Cloth: 25
- type: StaticPrice
price: 12
- type: entity
parent: [ CP14BasePlushie, BaseStorageItem ]
@@ -259,7 +273,11 @@
soundDump:
collection: CP14Coins
multiplier: 0.8
- type: PhysicalComposition
materialComposition:
CP14Cloth: 25
- type: StaticPrice
price: 5
- type: entity
parent: [ CP14BasePlushie, BaseStorageItem ]
@@ -297,6 +315,9 @@
whitelist:
tags:
- CP14FarmSeed
- type: PhysicalComposition
materialComposition:
CP14Cloth: 20
- type: entity
parent: CP14BasePlushie
@@ -348,6 +369,9 @@
color: "#8f6a2b"
radius: 1.5
energy: 8
- type: PhysicalComposition
materialComposition:
CP14Cloth: 25
- type: entity
parent: CP14BasePlushie
@@ -383,6 +407,11 @@
- type: Utensil
types:
- Knife
- type: PhysicalComposition
materialComposition:
CP14Cloth: 25
- type: StaticPrice
price: 15
# Misc plushies
@@ -426,6 +455,11 @@
path: /Audio/Animals/frog_ribbit.ogg
params:
variation: 0.1
- type: PhysicalComposition
materialComposition:
CP14Cloth: 20
- type: StaticPrice
price: 6
- type: entity
parent: CP14BasePlushie
@@ -466,6 +500,11 @@
collection: CatMeows
params:
variation: 0.1
- type: PhysicalComposition
materialComposition:
CP14Cloth: 25
- type: StaticPrice
price: 11
- type: entity
parent: CP14BasePlushie
@@ -505,4 +544,9 @@
soundHit:
path: /Audio/_CP14/Items/grass_gather3.ogg
params:
variation: 0.1
variation: 0.1
- type: PhysicalComposition
materialComposition:
CP14Cloth: 20
- type: StaticPrice
price: 0.5

View File

@@ -14,7 +14,7 @@
tags:
- CP14Dye
- type: StaticPrice
price: 7
price: 6
- type: entity
id: CP14DyeRed
@@ -30,6 +30,8 @@
tags:
- CP14Dye
- CP14DyeRed
- type: StaticPrice
price: 4
- type: entity
id: CP14DyeYellow
@@ -45,6 +47,8 @@
tags:
- CP14Dye
- CP14DyeYellow
- type: StaticPrice
price: 3.5
- type: entity
id: CP14DyeBlue
@@ -60,6 +64,8 @@
tags:
- CP14Dye
- CP14DyeBlue
- type: StaticPrice
price: 8.6
- type: entity
id: CP14DyeGreen
@@ -90,6 +96,8 @@
tags:
- CP14Dye
- CP14DyePurple
- type: StaticPrice
price: 4.4
- type: entity
id: CP14DyeBlack
@@ -105,4 +113,3 @@
tags:
- CP14Dye
- CP14DyeBlack

View File

@@ -24,8 +24,6 @@
type: CrayonBoundUserInterface
- type: Crayon
capacity: 15
- type: StaticPrice
price: 5
- type: entity
parent: CP14Crayon
@@ -49,6 +47,8 @@
color: white
- type: Crayon
color: white
- type: StaticPrice
price: 4
- type: entity
parent: CP14Crayon
@@ -132,6 +132,8 @@
color: "#ed5f5f"
- type: Crayon
color: "#ed5f5f"
- type: StaticPrice
price: 8
- type: entity
parent: CP14Crayon
@@ -155,6 +157,8 @@
color: "#ebe46e"
- type: Crayon
color: "#ebe46e"
- type: StaticPrice
price: 7.5
- type: entity
parent: CP14Crayon
@@ -178,6 +182,8 @@
color: "#6eeb87"
- type: Crayon
color: "#6eeb87"
- type: StaticPrice
price: 11
- type: entity
parent: CP14Crayon
@@ -201,6 +207,8 @@
color: "#6eaaeb"
- type: Crayon
color: "#6eaaeb"
- type: StaticPrice
price: 12.6
- type: entity
parent: CP14Crayon
@@ -224,3 +232,5 @@
color: "#d46eeb"
- type: Crayon
color: "#d46eeb"
- type: StaticPrice
price: 8.4

View File

@@ -59,6 +59,9 @@
CP14WoodenPlanks1:
min: 1
max: 1
- type: PhysicalComposition
materialComposition:
CP14WoodenPlanks: 20
- type: entity
id: CP14ClosedSign

View File

@@ -52,6 +52,9 @@
- CP14FloorFoundation
- type: Stack
stackType: CP14FloorTileFoundation
- type: PhysicalComposition
materialComposition:
CP14Stone: 5
- type: entity
parent: CP14FloorTileBase
@@ -65,6 +68,9 @@
- CP14FloorMarble
- type: Stack
stackType: CP14FloorTileMarbleBrick
- type: PhysicalComposition
materialComposition:
CP14MarbleStone: 5
- type: entity
parent: CP14FloorTileBase
@@ -78,6 +84,9 @@
- CP14FloorMarbleSmallbricks
- type: Stack
stackType: CP14FloorTileMarbleSmallbricks
- type: PhysicalComposition
materialComposition:
CP14MarbleStone: 5
- type: entity
parent: CP14FloorTileBase
@@ -96,6 +105,9 @@
- CP14FloorOakWoodPlanks
- type: Stack
stackType: CP14FloorTileOakWoodplanks
- type: PhysicalComposition
materialComposition:
CP14WoodenPlanks: 5
- type: entity
parent: CP14FloorTileBase
@@ -114,6 +126,9 @@
- CP14FloorOakWoodPlanksBig
- type: Stack
stackType: CP14FloorTileOakWoodplanksBig
- type: PhysicalComposition
materialComposition:
CP14WoodenPlanks: 5
- type: entity
parent: CP14FloorTileBase
@@ -132,6 +147,9 @@
- CP14FloorOakWoodPlanksCruciform
- type: Stack
stackType: CP14FloorTileOakWoodplanksCruciform
- type: PhysicalComposition
materialComposition:
CP14WoodenPlanks: 5
- type: entity
parent: CP14FloorTileBase
@@ -150,6 +168,9 @@
- CP14FloorOakWoodPlanksStairways
- type: Stack
stackType: CP14FloorTileOakWoodplanksStairs
- type: PhysicalComposition
materialComposition:
CP14WoodenPlanks: 5
- type: entity
parent: CP14FloorTileBase
@@ -163,6 +184,9 @@
- CP14FloorStonebricks
- type: Stack
stackType: CP14FloorTileStonebricks
- type: PhysicalComposition
materialComposition:
CP14Stone: 5
- type: entity
parent: CP14FloorTileBase
@@ -176,6 +200,9 @@
- CP14FloorStonebricksSmallCarved1
- type: Stack
stackType: CP14FloorTileStonebricksSmallCarved
- type: PhysicalComposition
materialComposition:
CP14Stone: 5
- type: entity
parent: CP14FloorTileBase
@@ -189,6 +216,9 @@
- CP14FloorStonebricksSmallCarved2
- type: Stack
stackType: CP14FloorTileStonebricksSmallCarved2
- type: PhysicalComposition
materialComposition:
CP14Stone: 5
- type: entity
parent: CP14FloorTileBase
@@ -202,7 +232,9 @@
- CP14FloorStonebricksSquareCarved
- type: Stack
stackType: CP14FloorTileStonebricksSquareCarved
- type: PhysicalComposition
materialComposition:
CP14Stone: 5
- type: entity
parent: CP14FloorTileBase
@@ -221,6 +253,9 @@
- CP14FloorBirchWoodPlanks
- type: Stack
stackType: CP14FloorTileBirchWoodplanks
- type: PhysicalComposition
materialComposition:
CP14WoodenPlanks: 5
- type: entity
parent: CP14FloorTileBase
@@ -239,6 +274,9 @@
- CP14FloorBirchWoodPlanksBig
- type: Stack
stackType: CP14FloorTileBirchWoodplanksBig
- type: PhysicalComposition
materialComposition:
CP14WoodenPlanks: 5
- type: entity
parent: CP14FloorTileBase
@@ -257,6 +295,9 @@
- CP14FloorBirchWoodPlanksCruciform
- type: Stack
stackType: CP14FloorTileBirchWoodplanksCruciform
- type: PhysicalComposition
materialComposition:
CP14WoodenPlanks: 5
- type: entity
parent: CP14FloorTileBase
@@ -275,4 +316,6 @@
- CP14FloorBirchWoodPlanksStairways
- type: Stack
stackType: CP14FloorTileBirchWoodplanksStairs
- type: PhysicalComposition
materialComposition:
CP14WoodenPlanks: 5

View File

@@ -25,7 +25,7 @@
- BladeIronAxe
- type: PhysicalComposition
materialComposition:
CP14Iron: 10
CP14Iron: 20
- type: entity
parent: CP14ModularBladeAxeBase
@@ -42,7 +42,7 @@
- BladeGoldAxe
- type: PhysicalComposition
materialComposition:
CP14Gold: 10
CP14Gold: 20
- type: entity
parent: CP14ModularBladeAxeBase
@@ -59,7 +59,7 @@
- BladeCopperAxe
- type: PhysicalComposition
materialComposition:
CP14Copper: 10
CP14Copper: 20
- type: entity
parent: CP14ModularBladeAxeBase
@@ -76,7 +76,7 @@
- BladeMithrilAxe
- type: PhysicalComposition
materialComposition:
CP14Mithril: 10
CP14Mithril: 20
- type: entity
parent: CP14ModularBladeAxeBase
@@ -90,3 +90,6 @@
- type: CP14ModularCraftPart
possibleParts:
- BladeWoodenAxe
- type: PhysicalComposition
materialComposition:
CP14WoodenPlanks: 20

View File

@@ -25,7 +25,7 @@
- BladeIronHammer
- type: PhysicalComposition
materialComposition:
CP14Iron: 10
CP14Iron: 20
- type: entity
parent: CP14ModularBladeHammerBase
@@ -42,7 +42,7 @@
- BladeGoldHammer
- type: PhysicalComposition
materialComposition:
CP14Gold: 10
CP14Gold: 20
- type: entity
parent: CP14ModularBladeHammerBase
@@ -59,7 +59,7 @@
- BladeCopperHammer
- type: PhysicalComposition
materialComposition:
CP14Copper: 10
CP14Copper: 20
- type: entity
parent: CP14ModularBladeHammerBase
@@ -76,5 +76,4 @@
- BladeMithrilHammer
- type: PhysicalComposition
materialComposition:
CP14Mithril: 10
CP14Mithril: 20

View File

@@ -23,6 +23,10 @@
- type: CP14ModularCraftPart
possibleParts:
- BladeWoodMop
- type: PhysicalComposition
materialComposition:
CP14WoodenPlanks: 10
CP14Cloth: 10
- type: entity
parent: CP14ModularBladeMopBase
@@ -36,3 +40,7 @@
- type: CP14ModularCraftPart
possibleParts:
- BladeLucensMop
- type: PhysicalComposition
materialComposition:
CP14LucensWoodenPlanks: 10
CP14Cloth: 10

View File

@@ -25,7 +25,7 @@
- BladeIronPickaxe
- type: PhysicalComposition
materialComposition:
CP14Iron: 10
CP14Iron: 20
- type: entity
parent: CP14ModularBladePickaxeBase
@@ -42,7 +42,7 @@
- BladeGoldPickaxe
- type: PhysicalComposition
materialComposition:
CP14Gold: 10
CP14Gold: 20
- type: entity
parent: CP14ModularBladePickaxeBase
@@ -59,7 +59,7 @@
- BladeCopperPickaxe
- type: PhysicalComposition
materialComposition:
CP14Copper: 10
CP14Copper: 20
- type: entity
parent: CP14ModularBladePickaxeBase
@@ -76,4 +76,4 @@
- BladeMithrilPickaxe
- type: PhysicalComposition
materialComposition:
CP14Mithril: 10
CP14Mithril: 20

View File

@@ -90,3 +90,6 @@
- type: CP14ModularCraftPart
possibleParts:
- BladeWoodenRapier
- type: PhysicalComposition
materialComposition:
CP14WoodenPlanks: 10

View File

@@ -24,7 +24,7 @@
- BladeIronSkimitar
- type: PhysicalComposition
materialComposition:
CP14Iron: 10
CP14Iron: 20
- type: entity
parent: CP14ModularBladeSkimitarBase
@@ -41,7 +41,7 @@
- BladeGoldSkimitar
- type: PhysicalComposition
materialComposition:
CP14Gold: 10
CP14Gold: 20
- type: entity
parent: CP14ModularBladeSkimitarBase
@@ -58,7 +58,7 @@
- BladeCopperSkimitar
- type: PhysicalComposition
materialComposition:
CP14Copper: 10
CP14Copper: 20
- type: entity
parent: CP14ModularBladeSkimitarBase
@@ -75,4 +75,4 @@
- BladeMithrilSkimitar
- type: PhysicalComposition
materialComposition:
CP14Mithril: 10
CP14Mithril: 20

View File

@@ -94,3 +94,6 @@
- type: CP14ModularCraftPart
possibleParts:
- BladeWoodenSpear
- type: PhysicalComposition
materialComposition:
CP14WoodenPlanks: 10

View File

@@ -24,7 +24,7 @@
- BladeIronSword
- type: PhysicalComposition
materialComposition:
CP14Iron: 10
CP14Iron: 20
- type: entity
parent: CP14ModularBladeSwordBase
@@ -41,7 +41,7 @@
- BladeGoldSword
- type: PhysicalComposition
materialComposition:
CP14Gold: 10
CP14Gold: 20
- type: entity
parent: CP14ModularBladeSwordBase
@@ -58,7 +58,7 @@
- BladeCopperSword
- type: PhysicalComposition
materialComposition:
CP14Copper: 10
CP14Copper: 20
- type: entity
parent: CP14ModularBladeSwordBase
@@ -75,7 +75,7 @@
- BladeMithrilSword
- type: PhysicalComposition
materialComposition:
CP14Mithril: 10
CP14Mithril: 20
- type: entity
parent: CP14ModularBladeSwordBase
@@ -101,3 +101,6 @@
- type: CP14ModularCraftPart
possibleParts:
- BladeWoodenSword
- type: PhysicalComposition
materialComposition:
CP14WoodenPlanks: 20

View File

@@ -82,3 +82,6 @@
- type: CP14ModularCraftPart
possibleParts:
- GardeSharpWooden
- type: PhysicalComposition
materialComposition:
CP14WoodenPlanks: 10

View File

@@ -82,3 +82,6 @@
- type: CP14ModularCraftPart
possibleParts:
- GardeSturdyWooden
- type: PhysicalComposition
materialComposition:
CP14WoodenPlanks: 10

View File

@@ -106,7 +106,7 @@
acts: ["Destruction"]
- type: PhysicalComposition
materialComposition:
CP14WoodenPlanks: 10
CP14WoodenPlanks: 20
- type: entity
parent: CP14ModularGripShort
@@ -135,7 +135,7 @@
acts: ["Destruction"]
- type: PhysicalComposition
materialComposition:
CP14LucensWoodenPlanks: 10
CP14LucensWoodenPlanks: 20
- type: entity
parent: CP14ModularGripShort
@@ -162,7 +162,7 @@
acts: ["Destruction"]
- type: PhysicalComposition
materialComposition:
CP14WoodenPlanks: 10
CP14WoodenPlanks: 20
- type: entity
parent: CP14ModularGripShort
@@ -328,7 +328,7 @@
acts: ["Destruction"]
- type: PhysicalComposition
materialComposition:
CP14WoodenPlanks: 20
CP14WoodenPlanks: 40
- type: entity
parent: CP14ModularGripLong
@@ -356,7 +356,7 @@
acts: ["Destruction"]
- type: PhysicalComposition
materialComposition:
CP14LucensWoodenPlanks: 20
CP14LucensWoodenPlanks: 40
- type: entity
parent: CP14ModularGripLong
@@ -383,7 +383,7 @@
acts: ["Destruction"]
- type: PhysicalComposition
materialComposition:
CP14WoodenPlanks: 20
CP14WoodenPlanks: 40
- type: entity
parent: CP14ModularGripLong

View File

@@ -71,6 +71,9 @@
- !type:CP14ModularDisassembleBehavior
- !type:DoActsBehavior
acts: ["Destruction"]
- type: PhysicalComposition
materialComposition:
CP14WoodenPlanks: 2
- type: entity
parent: CP14ModularRod
@@ -97,3 +100,6 @@
- !type:CP14ModularDisassembleBehavior
- !type:DoActsBehavior
acts: ["Destruction"]
- type: PhysicalComposition
materialComposition:
CP14LucensWoodenPlanks: 2

View File

@@ -42,4 +42,4 @@
- type: PhysicalComposition
materialComposition:
CP14Glass: 10
CP14Gold: 10
CP14Gold: 7

View File

@@ -21,6 +21,9 @@
- CP14FarmFood
- CP14FitInMortar
- type: Dumpable
- type: PhysicalComposition
materialComposition:
CP14Cloth: 35
- type: entity
id: CP14SackFarmingVegetables
@@ -97,6 +100,9 @@
whitelist:
tags:
- CP14FarmSeed
- type: PhysicalComposition
materialComposition:
CP14Cloth: 25
- type: entity
id: CP14SackFarmingSeedFull

View File

@@ -25,6 +25,8 @@
- state: wheat
- type: CP14Seed
plantProto: CP14PlantWheat
- type: StaticPrice
price: 0.4
- type: entity
id: CP14SeedPumpkin
@@ -38,6 +40,8 @@
- state: pumpkin
- type: CP14Seed
plantProto: CP14PlantPumpkin
- type: StaticPrice
price: 1
- type: entity
id: CP14SeedCabbage
@@ -51,6 +55,8 @@
- state: cabbage
- type: CP14Seed
plantProto: CP14PlantCabbage
- type: StaticPrice
price: 0.6
- type: entity
id: CP14SeedCucumber
@@ -64,6 +70,8 @@
- state: cucumber
- type: CP14Seed
plantProto: CP14PlantCucumber
- type: StaticPrice
price: 1
- type: entity
id: CP14SeedTomato
@@ -77,6 +85,8 @@
- state: tomato
- type: CP14Seed
plantProto: CP14PlantTomatoes
- type: StaticPrice
price: 0.4
- type: entity
id: CP14SeedPepper
@@ -90,6 +100,8 @@
- state: pepper
- type: CP14Seed
plantProto: CP14PlantPepper
- type: StaticPrice
price: 2
- type: entity
id: CP14SeedSage
@@ -103,6 +115,8 @@
- state: sage
- type: CP14Seed
plantProto: CP14PlantSage
- type: StaticPrice
price: 5
- type: entity
id: CP14SeedCotton
@@ -116,3 +130,5 @@
- state: cotton
- type: CP14Seed
plantProto: CP14PlantCotton
- type: StaticPrice
price: 1

View File

@@ -16,7 +16,7 @@
tags:
- CP14EnergyCrystal
- type: StaticPrice
price: 10
price: 15
- type: entity
id: CP14EnergyCrystalMedium

View File

@@ -80,6 +80,10 @@
- type: Tag
tags:
- Bucket
- type: PhysicalComposition
materialComposition:
CP14WoodenPlanks: 30
CP14Cloth: 20
- type: entity
parent: CP14Bucket
@@ -98,3 +102,7 @@
Slash: 0.93
- type: ClothingSpeedModifier
walkModifier: 0.98
- type: PhysicalComposition
materialComposition:
CP14LucensWoodenPlanks: 30
CP14Cloth: 20

View File

@@ -16,3 +16,7 @@
- type: Tag
tags:
- CP14Lighter
- type: PhysicalComposition
materialComposition:
CP14Stone: 20
CP14Iron: 10

View File

@@ -26,3 +26,5 @@
- Item
tags:
- Structure
- type: StaticPrice
price: 16

View File

@@ -33,5 +33,6 @@
Blunt: 0
- type: UseDelay
delay: 3
- type: StaticPrice
price: 3
- type: PhysicalComposition
materialComposition:
CP14Cloth: 20

View File

@@ -30,3 +30,6 @@
- type: Tag
tags:
- CP14Scissors
- type: PhysicalComposition
materialComposition:
CP14Iron: 10

View File

@@ -33,3 +33,7 @@
- Screwing
useSound:
collection: Screwdriver
- type: PhysicalComposition
materialComposition:
CP14Iron: 2
CP14WoodenPlanks: 20

View File

@@ -11,8 +11,6 @@
sprite: _CP14/Structures/Wallpaper/icons.rsi
- type: Stack
count: 30
- type: StackPrice
price: 0.5
- type: entity
id: CP14WallpaperBlack
@@ -25,6 +23,9 @@
rsiPath: _CP14/Structures/Wallpaper/wallpaper_black.rsi
- type: Stack
stackType: CP14WallpaperBlack
- type: PhysicalComposition
materialComposition:
CP14Cloth: 5
- type: entity
id: CP14WallpaperGreen
@@ -37,6 +38,9 @@
rsiPath: _CP14/Structures/Wallpaper/wallpaper_green.rsi
- type: Stack
stackType: CP14WallpaperGreen
- type: PhysicalComposition
materialComposition:
CP14Cloth: 5
- type: entity
id: CP14WallpaperPurple
@@ -49,6 +53,9 @@
rsiPath: _CP14/Structures/Wallpaper/wallpaper_purple.rsi
- type: Stack
stackType: CP14WallpaperPurple
- type: PhysicalComposition
materialComposition:
CP14Cloth: 5
- type: entity
id: CP14WallpaperRed
@@ -61,6 +68,9 @@
rsiPath: _CP14/Structures/Wallpaper/wallpaper_red.rsi
- type: Stack
stackType: CP14WallpaperRed
- type: PhysicalComposition
materialComposition:
CP14Cloth: 5
- type: entity
id: CP14WallpaperWhite
@@ -73,6 +83,9 @@
rsiPath: _CP14/Structures/Wallpaper/wallpaper_white.rsi
- type: Stack
stackType: CP14WallpaperWhite
- type: PhysicalComposition
materialComposition:
CP14Cloth: 5
- type: entity
id: CP14WallpaperWhite2
@@ -85,6 +98,9 @@
rsiPath: _CP14/Structures/Wallpaper/wallpaper_white2.rsi
- type: Stack
stackType: CP14WallpaperWhite2
- type: PhysicalComposition
materialComposition:
CP14Cloth: 5
- type: entity
id: CP14WallpaperYellow
@@ -97,4 +113,6 @@
rsiPath: _CP14/Structures/Wallpaper/wallpaper_yellow.rsi
- type: Stack
stackType: CP14WallpaperYellow
- type: PhysicalComposition
materialComposition:
CP14Cloth: 5

View File

@@ -31,4 +31,6 @@
- Anchoring
useSound:
path: /Audio/Items/ratchet.ogg
- type: PhysicalComposition
materialComposition:
CP14Iron: 20

View File

@@ -86,4 +86,7 @@
CP14WoodenPlanks1:
min: 1
max: 2
- type: PhysicalComposition
materialComposition:
CP14WoodenPlanks: 20
CP14Iron: 20

View File

@@ -54,7 +54,7 @@
visible: false
- type: PhysicalComposition
materialComposition:
CP14Iron: 3
CP14Iron: 2
- type: entity
id: CP14CrossboltGold
@@ -75,7 +75,7 @@
visible: false
- type: PhysicalComposition
materialComposition:
CP14Gold: 3
CP14Gold: 2
- type: entity
id: CP14CrossboltCopper
@@ -96,7 +96,7 @@
visible: false
- type: PhysicalComposition
materialComposition:
CP14Copper: 3
CP14Copper: 2
- type: entity
id: CP14CrossboltMithril
@@ -117,7 +117,7 @@
visible: false
- type: PhysicalComposition
materialComposition:
CP14Mithril: 3
CP14Mithril: 2
- type: entity
id: CP14BigCrossboltIron

View File

@@ -80,6 +80,10 @@
base:
True: { state: wielded }
False: { state: unwielded }
- type: PhysicalComposition
materialComposition:
CP14WoodenPlanks: 40
CP14Cloth: 5
- type: entity
name: ice bow

View File

@@ -63,3 +63,4 @@
- type: PhysicalComposition
materialComposition:
CP14Iron: 50
CP14Cloth: 10

View File

@@ -53,4 +53,8 @@
whitelist:
tags:
- CP14CrossbowBolt
- type: PhysicalComposition
materialComposition:
CP14Copper: 10
CP14Iron: 30
CP14Cloth: 5

View File

@@ -107,7 +107,7 @@
stack: CP14CopperBar
count: 1
result: CP14CrossboltCopper
resultCount: 3
resultCount: 5
- type: CP14Recipe
id: CP14CrossboltIron
@@ -121,7 +121,7 @@
stack: CP14IronBar
count: 1
result: CP14CrossboltIron
resultCount: 3
resultCount: 5
- type: CP14Recipe
id: CP14CrossboltGold
@@ -135,7 +135,7 @@
stack: CP14GoldBar
count: 1
result: CP14CrossboltGold
resultCount: 3
resultCount: 5
- type: CP14Recipe
id: CP14CrossboltMithril
@@ -149,7 +149,7 @@
stack: CP14MithrilBar
count: 1
result: CP14CrossboltMithril
resultCount: 3
resultCount: 5
- type: CP14Recipe
id: CP14BigCrossboltCopper
@@ -426,7 +426,7 @@
stack: CP14IronBar
count: 1
result: CP14Fork
resultCount: 2
resultCount: 3
- type: CP14Recipe
id: CP14Spoon
@@ -439,7 +439,7 @@
stack: CP14IronBar
count: 1
result: CP14Spoon
resultCount: 2
resultCount: 3
- type: CP14Recipe
id: CP14SteelGobletCopper

View File

@@ -13,7 +13,7 @@
stack: CP14CopperBar
count: 1
result: CP14ModularTipCopperArrow
resultCount: 4
resultCount: 5
- type: CP14Recipe
id: CP14ModularTipIronArrow
@@ -27,7 +27,7 @@
stack: CP14IronBar
count: 1
result: CP14ModularTipIronArrow
resultCount: 4
resultCount: 5
- type: CP14Recipe
id: CP14ModularTipGoldArrow
@@ -41,7 +41,7 @@
stack: CP14GoldBar
count: 1
result: CP14ModularTipGoldArrow
resultCount: 4
resultCount: 5
- type: CP14Recipe
id: CP14ModularTipMithrilArrow
@@ -55,4 +55,4 @@
stack: CP14MithrilBar
count: 1
result: CP14ModularTipMithrilArrow
resultCount: 4
resultCount: 5

View File

@@ -11,13 +11,9 @@
- !type:ProtoIdResource
protoId: CP14FoodCheeseSlice
count: 2
- !type:TagResource
tag: CP14CookedMeatLeg
- !type:ProtoIdResource
protoId: CP14FoodMeatPigLegCooked
count: 1
title: cp14-recipe-title-meat-cooked-leg
texture:
sprite: _CP14/Objects/Consumable/Food/meat.rsi
state: different_meat_leg
result: CP14FoodHamCheese
- type: CP14Recipe
@@ -30,11 +26,7 @@
- !type:ProtoIdResource
protoId: CP14FoodPotatoHot
count: 2
- !type:TagResource
tag: CP14CookedMeatSlice
- !type:ProtoIdResource
protoId: CP14FoodMeatPigCookedSlice
count: 2
title: cp14-recipe-title-meat-cooked
texture:
sprite: _CP14/Objects/Consumable/Food/meat.rsi
state: different_meat_slice
result: CP14FoodStuffedPumpkin

View File

@@ -47,11 +47,6 @@
requirements:
- !type:ProtoIdResource
protoId: CP14FoodPotatoHot
- !type:TagResource
tag: CP14CookedMeatSlice
count: 1
title: cp14-recipe-title-meat-cooked
texture:
sprite: _CP14/Objects/Consumable/Food/meat.rsi
state: different_meat_slice
- !type:ProtoIdResource
protoId: CP14FoodMeatPigCookedSlice
result: CP14FoodStuffedPotato

View File

@@ -21,13 +21,9 @@
protoId: CP14PlatePie
- !type:ProtoIdResource
protoId: CP14FoodDoughMediumFlat
- !type:TagResource
tag: CP14RawMeatSlice
- !type:ProtoIdResource
protoId: CP14FoodMeatPigSlice
count: 3
title: cp14-recipe-title-meat
texture:
sprite: _CP14/Objects/Consumable/Food/meat.rsi
state: different_meat_slice
result: CP14FoodPieMeatRaw
- type: CP14Recipe

View File

@@ -211,7 +211,7 @@
stack: CP14WoodenPlanks
count: 1
result: CP14ModularRodWooden
resultCount: 4
resultCount: 5
- type: CP14Recipe
id: CP14ModularRodLucens
@@ -223,7 +223,7 @@
stack: CP14LucensWoodenPlanks
count: 1
result: CP14ModularRodLucens
resultCount: 4
resultCount: 5
- type: CP14Recipe
id: CP14CrayonWhite
@@ -349,20 +349,10 @@
count: 2
result: CP14OpenSign
- type: CP14Recipe
id: CP14RopeFromGrass
tag: CP14RecipeWorkbench
craftTime: 4
requirements:
- !type:StackResource
stack: CP14FloraMaterial
count: 4
result: CP14Rope
- type: CP14Recipe
id: CP14RopeFromCloth
tag: CP14RecipeWorkbench
craftTime: 3
craftTime: 4
requirements:
- !type:StackResource
stack: CP14Cloth

View File

@@ -249,7 +249,7 @@
protoId: CP14DyeBlue
- !type:StackResource
stack: CP14Cloth
count: 2
count: 1
result: CP14ClothingHeadBeretMercenary
- type: CP14Recipe
@@ -310,7 +310,7 @@
protoId: CP14String
- !type:StackResource
stack: CP14Cloth
count: 4
count: 3
result: CP14SackFarming
- type: CP14Recipe

View File

@@ -94,9 +94,6 @@
- type: Tag
id: CP14MeatSlice
- type: Tag
id: CP14RawMeatSlice
- type: Tag
id: CP14Torch
@@ -156,9 +153,3 @@
- type: Tag
id: CP14Sandwich
- type: Tag
id: CP14CookedMeatSlice
- type: Tag
id: CP14CookedMeatLeg