diff --git a/Content.Server/_CP14/Workbench/CP14WorkbenchComponent.cs b/Content.Server/_CP14/Workbench/CP14WorkbenchComponent.cs index 6ff737d640..6c28f177da 100644 --- a/Content.Server/_CP14/Workbench/CP14WorkbenchComponent.cs +++ b/Content.Server/_CP14/Workbench/CP14WorkbenchComponent.cs @@ -4,16 +4,28 @@ using Robust.Shared.Prototypes; namespace Content.Server._CP14.Workbench; +/// +/// This entity can be used to craft other objects through the interface +/// [RegisterComponent] [Access(typeof(CP14WorkbenchSystem))] public sealed partial class CP14WorkbenchComponent : Component { + /// + /// Crafting speed modifier on this workbench. + /// [DataField] public float CraftSpeed = 1f; + /// + /// List of recipes available for crafting on this type of workbench + /// [DataField] public List> Recipes = new(); + /// + /// Played during crafting. Can be overwritten by the crafting sound of a specific recipe. + /// [DataField] public SoundSpecifier CraftSound = new SoundCollectionSpecifier("CP14Hammering"); } diff --git a/Content.Server/_CP14/Workbench/CP14WorkbenchSystem.cs b/Content.Server/_CP14/Workbench/CP14WorkbenchSystem.cs index 6990b028bb..fd3d34bfaf 100644 --- a/Content.Server/_CP14/Workbench/CP14WorkbenchSystem.cs +++ b/Content.Server/_CP14/Workbench/CP14WorkbenchSystem.cs @@ -1,3 +1,4 @@ +using Content.Server.Chemistry.Containers.EntitySystems; using Content.Server.DoAfter; using Content.Server.Popups; using Content.Server.Stack; @@ -6,7 +7,6 @@ using Content.Shared._CP14.Workbench.Prototypes; using Content.Shared.DoAfter; using Content.Shared.Stacks; using Content.Shared.UserInterface; -using Content.Shared.Verbs; using Robust.Server.Audio; using Robust.Server.GameObjects; using Robust.Shared.Prototypes; @@ -22,6 +22,9 @@ public sealed partial class CP14WorkbenchSystem : SharedCP14WorkbenchSystem [Dependency] private readonly IPrototypeManager _proto = default!; [Dependency] private readonly PopupSystem _popup = default!; [Dependency] private readonly UserInterfaceSystem _userInterface = default!; + [Dependency] private readonly SolutionContainerSystem _solutionContainer = default!; + [Dependency] private readonly SharedTransformSystem _transform = default!; + private EntityQuery _metaQuery; private EntityQuery _stackQuery; @@ -39,7 +42,6 @@ public sealed partial class CP14WorkbenchSystem : SharedCP14WorkbenchSystem SubscribeLocalEvent(OnBeforeUIOpen); SubscribeLocalEvent(OnCraft); - SubscribeLocalEvent>(OnInteractionVerb); SubscribeLocalEvent(OnCraftFinished); } @@ -48,36 +50,6 @@ public sealed partial class CP14WorkbenchSystem : SharedCP14WorkbenchSystem UpdateUIRecipes(ent); } - private void OnInteractionVerb(Entity ent, ref GetVerbsEvent args) - { - if (!args.CanAccess || !args.CanInteract || args.Hands is null) - return; - - var placedEntities = _lookup.GetEntitiesInRange(Transform(ent).Coordinates, WorkbenchRadius); - - var user = args.User; - foreach (var craftProto in ent.Comp.Recipes) - { - if (!_proto.TryIndex(craftProto, out var craft)) - continue; - - if (!_proto.TryIndex(craft.Result, out var result)) - continue; - - args.Verbs.Add(new() - { - Act = () => - { - StartCraft(ent, user, craft); - }, - Text = result.Name, - Message = GetCraftRecipeMessage(result.Description, craft), - Category = VerbCategory.CP14Craft, - Disabled = !CanCraftRecipe(craft, placedEntities), - }); - } - } - // TODO: Replace Del to QueueDel when it's will be works with events private void OnCraftFinished(Entity ent, ref CP14CraftDoAfterEvent args) { @@ -87,7 +59,7 @@ public sealed partial class CP14WorkbenchSystem : SharedCP14WorkbenchSystem if (!_proto.TryIndex(args.Recipe, out var recipe)) return; - var placedEntities = _lookup.GetEntitiesInRange(Transform(ent).Coordinates, WorkbenchRadius); + var placedEntities = _lookup.GetEntitiesInRange(Transform(ent).Coordinates, WorkbenchRadius, LookupFlags.Uncontained); if (!CanCraftRecipe(recipe, placedEntities)) { @@ -95,14 +67,35 @@ public sealed partial class CP14WorkbenchSystem : SharedCP14WorkbenchSystem return; } + var resultEntity = Spawn(_proto.Index(args.Recipe).Result); + + _solutionContainer.TryGetSolution(resultEntity, recipe.Solution, out var resultSoln, out var resultSolution); + if (recipe.TryMergeSolutions && resultSoln is not null) + { + resultSoln.Value.Comp.Solution.MaxVolume = 0; + _solutionContainer.RemoveAllSolution(resultSoln.Value); //If we combine ingredient solutions, we do not use the default solution prescribed in the entity. + } + foreach (var requiredIngredient in recipe.Entities) { var requiredCount = requiredIngredient.Value; foreach (var placedEntity in placedEntities) { - var placedProto = MetaData(placedEntity).EntityPrototype?.ID; - if (placedProto != null && placedProto == requiredIngredient.Key && requiredCount > 0) + if (!TryComp(placedEntity, out var metaData) || metaData.EntityPrototype is null) + continue; + + var placedProto = metaData.EntityPrototype.ID; + if (placedProto == requiredIngredient.Key && requiredCount > 0) { + // Trying merge solutions + if (recipe.TryMergeSolutions + && resultSoln is not null + && _solutionContainer.TryGetSolution(placedEntity, recipe.Solution, out var ingredientSoln, out var ingredientSolution)) + { + resultSoln.Value.Comp.Solution.MaxVolume += ingredientSoln.Value.Comp.Solution.MaxVolume; + _solutionContainer.TryAddSolution(resultSoln.Value, ingredientSolution); + } + requiredCount--; Del(placedEntity); } @@ -130,8 +123,7 @@ public sealed partial class CP14WorkbenchSystem : SharedCP14WorkbenchSystem requiredCount -= count; } } - - Spawn(_proto.Index(args.Recipe).Result, Transform(ent).Coordinates); + _transform.SetCoordinates(resultEntity, Transform(ent).Coordinates); UpdateUIRecipes(ent); args.Handled = true; } @@ -159,26 +151,6 @@ public sealed partial class CP14WorkbenchSystem : SharedCP14WorkbenchSystem _audio.PlayPvs(recipe.OverrideCraftSound ?? workbench.Comp.CraftSound, workbench); } - private List GetPossibleCrafts(Entity workbench, HashSet ingrediEnts) - { - List result = new(); - - if (ingrediEnts.Count == 0) - return result; - - foreach (var recipeProto in workbench.Comp.Recipes) - { - var recipe = _proto.Index(recipeProto); - - if (CanCraftRecipe(recipe, ingrediEnts)) - { - result.Add(recipe); - } - } - - return result; - } - private bool CanCraftRecipe(CP14WorkbenchRecipePrototype recipe, HashSet entities) { var indexedIngredients = IndexIngredients(entities); diff --git a/Content.Shared/_CP14/Workbench/Prototypes/CP14WorkbenchRecipePrototype.cs b/Content.Shared/_CP14/Workbench/Prototypes/CP14WorkbenchRecipePrototype.cs index f0dbf789c8..4474b07a12 100644 --- a/Content.Shared/_CP14/Workbench/Prototypes/CP14WorkbenchRecipePrototype.cs +++ b/Content.Shared/_CP14/Workbench/Prototypes/CP14WorkbenchRecipePrototype.cs @@ -24,4 +24,10 @@ public sealed class CP14WorkbenchRecipePrototype : IPrototype [DataField(required: true)] public EntProtoId Result; + + [DataField] + public bool TryMergeSolutions = false; + + [DataField] + public string Solution = "food"; } diff --git a/Resources/Maps/_CP14/Shuttles/test-ship.yml b/Resources/Maps/_CP14/Shuttles/test-ship.yml index fc546cbb7f..c35fe50281 100644 --- a/Resources/Maps/_CP14/Shuttles/test-ship.yml +++ b/Resources/Maps/_CP14/Shuttles/test-ship.yml @@ -1243,7 +1243,7 @@ entities: - type: Transform pos: -5.439834,-4.863015 parent: 1 -- proto: CP14CookedFoodMeat +- proto: CP14FoodMeatLamb entities: - uid: 734 components: @@ -2749,7 +2749,7 @@ entities: rot: 3.141592653589793 rad pos: 6.042266,-21.159649 parent: 1 -- proto: CP14RawFoodMeat +- proto: CP14FoodCheeseWheel entities: - uid: 735 components: diff --git a/Resources/Prototypes/_CP14/Entities/Objects/Consumable/Food/cheese.yml b/Resources/Prototypes/_CP14/Entities/Objects/Consumable/Food/cheese.yml new file mode 100644 index 0000000000..af566996c5 --- /dev/null +++ b/Resources/Prototypes/_CP14/Entities/Objects/Consumable/Food/cheese.yml @@ -0,0 +1,78 @@ +- type: entity + id: CP14FoodCheeseWheel + parent: FoodInjectableBase + name: cheese wheel + description: A large wheel of soft, fragrant piece of cheese. + components: + - type: Item + size: Normal + - type: FlavorProfile + flavors: + - cheesy + - type: Sprite + sprite: _CP14/Objects/Consumable/Food/cheese.rsi + layers: + - state: cheese_wheel + - type: SolutionContainerManager + solutions: + food: + maxVol: 30 + reagents: + - ReagentId: Nutriment + Quantity: 21 + - type: SliceableFood + count: 5 + slice: CP14FoodCheesePart + +- type: entity + id: CP14FoodCheesePart + parent: CP14FoodCheeseWheel + name: cheese + description: A triangle of soft, fragrant cheese. + components: + - type: Item + size: Tiny + - type: Sprite + layers: + - state: cheese_part + map: [ "random" ] + - type: RandomSprite + available: + - random: + cheese_part: "" + cheese_part2: "" + cheese_part3: "" + - type: SolutionContainerManager + solutions: + food: + maxVol: 6 # 1/5 cheese wheel + reagents: + - ReagentId: Nutriment + Quantity: 4.2 + - type: SliceableFood + count: 3 + slice: CP14FoodCheeseSlice + +- type: entity + id: CP14FoodCheeseSlice + parent: CP14FoodCheesePart + name: cheese slice + description: A thin slice of delicious smelling cheese + components: + - type: Sprite + layers: + - state: cheese_slice + map: [ "random" ] + - type: RandomSprite + available: + - random: + cheese_slice: "" + cheese_slice2: "" + cheese_slice3: "" + - type: SolutionContainerManager + solutions: + food: + maxVol: 2 # 1/3 cheese part + reagents: + - ReagentId: Nutriment + Quantity: 1.4 \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Entities/Objects/Consumable/Food/dough.yml b/Resources/Prototypes/_CP14/Entities/Objects/Consumable/Food/dough.yml new file mode 100644 index 0000000000..050807b467 --- /dev/null +++ b/Resources/Prototypes/_CP14/Entities/Objects/Consumable/Food/dough.yml @@ -0,0 +1,64 @@ +- type: entity + parent: FoodInjectableBase + id: CP14FoodDoughLarge + name: large piece of dough + description: The perfect ingredient for any flour product. The only thing left to do is to shape it. + components: + - type: Item + size: Normal + - type: FlavorProfile + flavors: + - bread #TODO smth disguisting. raw dough + - type: Sprite + sprite: _CP14/Objects/Consumable/Food/dough.rsi + state: dough_large + - type: SolutionContainerManager + solutions: + food: + maxVol: 30 + reagents: + - ReagentId: Nutriment + Quantity: 21 + - ReagentId: UncookedAnimalProteins + Quantity: 2 + - type: SliceableFood + count: 5 + slice: CP14FoodDoughMedium + +- type: entity + parent: CP14FoodDoughLarge + id: CP14FoodDoughMedium + name: medium piece of dough + components: + - type: Item + size: Tiny + - type: Sprite + state: dough_medium + - type: SolutionContainerManager + solutions: + food: + maxVol: 6 # 1/5 large dough + reagents: + - ReagentId: Nutriment + Quantity: 4.2 + - ReagentId: UncookedAnimalProteins + Quantity: 0.4 + +- type: entity + parent: CP14FoodDoughMedium + id: CP14FoodDoughMediumFlat + name: rolled dough + components: + - type: Item + size: Normal + - type: Sprite + state: dough_medium_flat + - type: SolutionContainerManager + solutions: + food: + maxVol: 6 # 1/5 large dough + reagents: + - ReagentId: Nutriment + Quantity: 4.2 + - ReagentId: UncookedAnimalProteins + Quantity: 0.4 \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Entities/Objects/Consumable/Food/egg.yml b/Resources/Prototypes/_CP14/Entities/Objects/Consumable/Food/egg.yml new file mode 100644 index 0000000000..6abff4399c --- /dev/null +++ b/Resources/Prototypes/_CP14/Entities/Objects/Consumable/Food/egg.yml @@ -0,0 +1,100 @@ +# Base + +- type: entity + parent: [FoodInjectableBase, ItemHeftyBase] + id: CP14FoodEggBase + description: An egg! + abstract: true + components: + - type: Food + trash: + - CP14Eggshells + - type: Sprite + sprite: _CP14/Objects/Consumable/Food/egg.rsi + state: brown + - type: Item + size: Tiny + - type: SolutionContainerManager + solutions: + food: + maxVol: 6 + reagents: + - ReagentId: Egg + Quantity: 6 + - type: DrawableSolution + solution: food + - type: SolutionSpiker + sourceSolution: food + ignoreEmpty: true + popup: spike-solution-egg + # egg fragile + - type: DamageOnHighSpeedImpact + minimumSpeed: 0.1 + damage: + types: + Blunt: 1 + - type: Damageable + damageContainer: Biological + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 1 + behaviors: + - !type:PlaySoundBehavior + sound: + collection: desecration + - !type:SpillBehavior + solution: food + - !type:SpawnEntitiesBehavior + spawn: + CP14Eggshells: + min: 1 + max: 1 + # Wow double-yolk you're so lucky! + - !type:DoActsBehavior + acts: [ "Destruction" ] + - type: Temperature + currentTemperature: 290 + - type: InternalTemperature + # ~1mm shell and ~1cm of albumen + thickness: 0.011 + area: 0.04 + # conductivity of egg shell based on a paper from Romanoff and Romanoff (1949) + conductivity: 0.456 + +# Splat +- type: entity + name: eggshells + parent: BaseItem + id: CP14Eggshells + description: You're walkin' on 'em bud. + components: + - type: Food + - type: Sprite + sprite: _CP14/Objects/Consumable/Food/egg.rsi + state: brown_shell + - type: Item + size: Tiny + - type: SolutionContainerManager + solutions: + food: + maxVol: 2 + reagents: + - ReagentId: Egg + Quantity: 1 + +- type: entity + parent: CP14FoodEggBase + id: CP14FoodEgg + name: egg + components: + - type: Sprite + layers: + - state: icon + map: [ "random" ] + - type: RandomSprite + available: + - random: + brown: "" + icon: "" \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Entities/Objects/Consumable/Food/meat.yml b/Resources/Prototypes/_CP14/Entities/Objects/Consumable/Food/meat.yml index d232714a3e..83f8c132cb 100644 --- a/Resources/Prototypes/_CP14/Entities/Objects/Consumable/Food/meat.yml +++ b/Resources/Prototypes/_CP14/Entities/Objects/Consumable/Food/meat.yml @@ -1,27 +1,110 @@ -- type: entity - name: raw meat - parent: FoodMeat - id: CP14RawFoodMeat - description: It smells weird, but looks like normal meat... +# Base + +- type: entity + parent: FoodInjectableBase + id: CP14FoodMeatBase + abstract: true + components: + - type: FlavorProfile + flavors: + - meaty + - type: Extractable + grindableSolutionName: food + - type: SolutionContainerManager + solutions: + food: + maxVol: 15 + reagents: + - ReagentId: Nutriment + Quantity: 6 + - ReagentId: UncookedAnimalProteins + Quantity: 1 + - ReagentId: Fat + Quantity: 6 + - type: Temperature + currentTemperature: 290 + - type: InternalTemperature + thickness: 0.02 + area: 0.02 # arbitrary number that sounds right for a slab of meat + +- type: entity + id: CP14FoodMeatSliceBase + parent: CP14FoodMeatBase + abstract: true + components: + - type: SolutionContainerManager + solutions: + food: + maxVol: 5 + reagents: + - ReagentId: Nutriment + Quantity: 2 + - ReagentId: UncookedAnimalProteins + Quantity: 0.33 + - ReagentId: Fat + Quantity: 2 + - type: InternalTemperature + thickness: 0.006 + area: 0.006 # 1\3 of meat value + +# Lamb Meat + +- type: entity + id: CP14FoodMeatLamb + parent: CP14FoodMeatBase + name: raw lamb + description: Succulent lamb steak components: - type: Sprite sprite: _CP14/Objects/Consumable/Food/meat.rsi state: sheepmeat - - type: Construction - graph: CP14MeatSteak - node: start - defaultTarget: sheep steak + - type: SliceableFood + count: 3 + slice: CP14FoodMeatLambSlice + - type: Item + size: Tiny + shape: + - 0,0,1,0 - type: entity - name: steak - parent: FoodMeatCooked - id: CP14CookedFoodMeat - description: A cooked slab of meat. Smells primal. + id: CP14FoodMeatLambSlice + parent: CP14FoodMeatSliceBase + name: meat pieces + description: Succulent lamb steak components: + - type: Item + size: Tiny - type: Sprite sprite: _CP14/Objects/Consumable/Food/meat.rsi layers: - - state: sheepmeat-cooked - - type: Construction - graph: CP14MeatSteak - node: sheep steak + - state: sheepmeat_slice + map: [ "random" ] + - type: RandomSprite + available: + - random: + sheepmeat_slice: "" + sheepmeat_slice2: "" + sheepmeat_slice3: "" + +- type: entity + id: CP14FoodMeatLambCutlet + parent: CP14FoodMeatSliceBase + name: lamb cutlet + description: the result of mixing sliced lamb and egg - a raw round cutlet. + components: + - type: Sprite + sprite: _CP14/Objects/Consumable/Food/meat.rsi + state: cutlet + - type: SolutionContainerManager + solutions: + food: + maxVol: 10 + reagents: + - ReagentId: Nutriment + Quantity: 4 + - ReagentId: UncookedAnimalProteins + Quantity: 0.66 + - ReagentId: Fat + Quantity: 4 + - ReagentId: Egg + Quantity: 6 \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Entities/Structures/Furniture/workbenchs.yml b/Resources/Prototypes/_CP14/Entities/Structures/Furniture/workbenchs.yml index 8d92237c03..03fa7504a5 100644 --- a/Resources/Prototypes/_CP14/Entities/Structures/Furniture/workbenchs.yml +++ b/Resources/Prototypes/_CP14/Entities/Structures/Furniture/workbenchs.yml @@ -91,41 +91,6 @@ - type: Icon sprite: _CP14/Structures/Furniture/workbench.rsi state: melting_crafter - - type: Damageable - damageContainer: Inorganic - damageModifierSet: Wood - - type: Destructible - thresholds: - - trigger: - !type:DamageTypeTrigger - damageType: Heat - damage: 40 - behaviors: - - !type:DoActsBehavior - acts: ["Destruction"] - - !type:PlaySoundBehavior - sound: - collection: WoodDestroy - - trigger: - !type:DamageTrigger - damage: 60 - behaviors: - - !type:DoActsBehavior - acts: ["Destruction"] - - !type:PlaySoundBehavior - sound: - collection: WoodDestroy - - !type:SpawnEntitiesBehavior - spawn: - CP14WoodenPlanks1: - min: 1 - max: 2 - - type: FootstepModifier - footstepSoundCollection: - collection: FootstepWood - - type: FireVisuals - sprite: _CP14/Effects/fire.rsi - normalState: full - type: CP14Workbench craftSound: collection: CP14Sawing @@ -138,4 +103,21 @@ - CP14MeltingMoldSickle - CP14MeltingMoldSword - CP14MeltingMoldThrowableSpear - - CP14MeltingMoldTwoHandedSword \ No newline at end of file + - CP14MeltingMoldTwoHandedSword + +- type: entity + id: CP14WorkbenchCooking + parent: + - CP14WorkbenchMeltingMolds + - CP14BaseWooden + name: cooking table + description: Lets cook + components: + - type: CP14Workbench + craftSound: + collection: CP14Sawing + recipes: + - CP14FoodDoughLarge + - CP14FoodDoughMediumFlat + - CP14FoodDoughMedium + - CP14FoodMeatLamb \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Recipes/Construction/Graphs/Food/steak.yml b/Resources/Prototypes/_CP14/Recipes/Construction/Graphs/Food/steak.yml deleted file mode 100644 index c663cd6968..0000000000 --- a/Resources/Prototypes/_CP14/Recipes/Construction/Graphs/Food/steak.yml +++ /dev/null @@ -1,16 +0,0 @@ -- type: constructionGraph - id: CP14MeatSteak - start: start - graph: - - - node: start - edges: - - to: sheep steak - completed: - - !type:PlaySound - sound: /Audio/Effects/sizzle.ogg - steps: - - minTemperature: 335 - - - node: sheep steak - entity: CP14CookedFoodMeat diff --git a/Resources/Prototypes/_CP14/Recipes/Workbench/cooking_table.yml b/Resources/Prototypes/_CP14/Recipes/Workbench/cooking_table.yml new file mode 100644 index 0000000000..df3bfef3be --- /dev/null +++ b/Resources/Prototypes/_CP14/Recipes/Workbench/cooking_table.yml @@ -0,0 +1,32 @@ +- type: CP14Recipe + id: CP14FoodMeatLamb + craftTime: 2 + entities: + CP14FoodMeatLambSlice: 2 + CP14FoodEgg: 1 + result: CP14FoodMeatLambCutlet + tryMergeSolutions: true + +- type: CP14Recipe + id: CP14FoodDoughLarge + craftTime: 3 + entities: + CP14FoodDoughMedium: 5 + result: CP14FoodDoughLarge + tryMergeSolutions: true + +- type: CP14Recipe + id: CP14FoodDoughMedium + craftTime: 3 + entities: + CP14FoodDoughMediumFlat: 1 + result: CP14FoodDoughMedium + tryMergeSolutions: true + +- type: CP14Recipe + id: CP14FoodDoughMediumFlat + craftTime: 3 + entities: + CP14FoodDoughMedium: 1 + result: CP14FoodDoughMediumFlat + tryMergeSolutions: true \ No newline at end of file diff --git a/Resources/Textures/_CP14/Objects/Consumable/Food/cheese.rsi/cheese_part.png b/Resources/Textures/_CP14/Objects/Consumable/Food/cheese.rsi/cheese_part.png new file mode 100644 index 0000000000..94c6dc1eca Binary files /dev/null and b/Resources/Textures/_CP14/Objects/Consumable/Food/cheese.rsi/cheese_part.png differ diff --git a/Resources/Textures/_CP14/Objects/Consumable/Food/cheese.rsi/cheese_part2.png b/Resources/Textures/_CP14/Objects/Consumable/Food/cheese.rsi/cheese_part2.png new file mode 100644 index 0000000000..4a6b4caa75 Binary files /dev/null and b/Resources/Textures/_CP14/Objects/Consumable/Food/cheese.rsi/cheese_part2.png differ diff --git a/Resources/Textures/_CP14/Objects/Consumable/Food/cheese.rsi/cheese_part3.png b/Resources/Textures/_CP14/Objects/Consumable/Food/cheese.rsi/cheese_part3.png new file mode 100644 index 0000000000..8762958da6 Binary files /dev/null and b/Resources/Textures/_CP14/Objects/Consumable/Food/cheese.rsi/cheese_part3.png differ diff --git a/Resources/Textures/_CP14/Objects/Consumable/Food/cheese.rsi/cheese_slice.png b/Resources/Textures/_CP14/Objects/Consumable/Food/cheese.rsi/cheese_slice.png new file mode 100644 index 0000000000..5f6384ce8b Binary files /dev/null and b/Resources/Textures/_CP14/Objects/Consumable/Food/cheese.rsi/cheese_slice.png differ diff --git a/Resources/Textures/_CP14/Objects/Consumable/Food/cheese.rsi/cheese_slice2.png b/Resources/Textures/_CP14/Objects/Consumable/Food/cheese.rsi/cheese_slice2.png new file mode 100644 index 0000000000..34dd7c20ff Binary files /dev/null and b/Resources/Textures/_CP14/Objects/Consumable/Food/cheese.rsi/cheese_slice2.png differ diff --git a/Resources/Textures/_CP14/Objects/Consumable/Food/cheese.rsi/cheese_slice3.png b/Resources/Textures/_CP14/Objects/Consumable/Food/cheese.rsi/cheese_slice3.png new file mode 100644 index 0000000000..2879138493 Binary files /dev/null and b/Resources/Textures/_CP14/Objects/Consumable/Food/cheese.rsi/cheese_slice3.png differ diff --git a/Resources/Textures/_CP14/Objects/Consumable/Food/cheese.rsi/cheese_wheel.png b/Resources/Textures/_CP14/Objects/Consumable/Food/cheese.rsi/cheese_wheel.png new file mode 100644 index 0000000000..e6c2ff45db Binary files /dev/null and b/Resources/Textures/_CP14/Objects/Consumable/Food/cheese.rsi/cheese_wheel.png differ diff --git a/Resources/Textures/_CP14/Objects/Consumable/Food/cheese.rsi/meta.json b/Resources/Textures/_CP14/Objects/Consumable/Food/cheese.rsi/meta.json new file mode 100644 index 0000000000..67cc605cc8 --- /dev/null +++ b/Resources/Textures/_CP14/Objects/Consumable/Food/cheese.rsi/meta.json @@ -0,0 +1,32 @@ +{ + "version": 1, + "license": "All rights reserved for the CrystallPunk14 project only", + "copyright": "Created by Artista.rar", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "cheese_part" + }, + { + "name": "cheese_part2" + }, + { + "name": "cheese_part3" + }, + { + "name": "cheese_slice" + }, + { + "name": "cheese_slice2" + }, + { + "name": "cheese_slice3" + }, + { + "name": "cheese_wheel" + } + ] +} \ No newline at end of file diff --git a/Resources/Textures/_CP14/Objects/Consumable/Food/dough.rsi/bread_cooked.png b/Resources/Textures/_CP14/Objects/Consumable/Food/dough.rsi/bread_cooked.png new file mode 100644 index 0000000000..16d78123e5 Binary files /dev/null and b/Resources/Textures/_CP14/Objects/Consumable/Food/dough.rsi/bread_cooked.png differ diff --git a/Resources/Textures/_CP14/Objects/Consumable/Food/dough.rsi/bun_cooked.png b/Resources/Textures/_CP14/Objects/Consumable/Food/dough.rsi/bun_cooked.png new file mode 100644 index 0000000000..8a6723269c Binary files /dev/null and b/Resources/Textures/_CP14/Objects/Consumable/Food/dough.rsi/bun_cooked.png differ diff --git a/Resources/Textures/_CP14/Objects/Consumable/Food/dough.rsi/bun_cooked_slice_bottom.png b/Resources/Textures/_CP14/Objects/Consumable/Food/dough.rsi/bun_cooked_slice_bottom.png new file mode 100644 index 0000000000..dbb7e0fa37 Binary files /dev/null and b/Resources/Textures/_CP14/Objects/Consumable/Food/dough.rsi/bun_cooked_slice_bottom.png differ diff --git a/Resources/Textures/_CP14/Objects/Consumable/Food/dough.rsi/bun_cooked_slice_top.png b/Resources/Textures/_CP14/Objects/Consumable/Food/dough.rsi/bun_cooked_slice_top.png new file mode 100644 index 0000000000..56c10ca242 Binary files /dev/null and b/Resources/Textures/_CP14/Objects/Consumable/Food/dough.rsi/bun_cooked_slice_top.png differ diff --git a/Resources/Textures/_CP14/Objects/Consumable/Food/dough.rsi/dough_large.png b/Resources/Textures/_CP14/Objects/Consumable/Food/dough.rsi/dough_large.png new file mode 100644 index 0000000000..bfd118fd4c Binary files /dev/null and b/Resources/Textures/_CP14/Objects/Consumable/Food/dough.rsi/dough_large.png differ diff --git a/Resources/Textures/_CP14/Objects/Consumable/Food/dough.rsi/dough_medium.png b/Resources/Textures/_CP14/Objects/Consumable/Food/dough.rsi/dough_medium.png new file mode 100644 index 0000000000..26748e0242 Binary files /dev/null and b/Resources/Textures/_CP14/Objects/Consumable/Food/dough.rsi/dough_medium.png differ diff --git a/Resources/Textures/_CP14/Objects/Consumable/Food/dough.rsi/dough_medium_flat.png b/Resources/Textures/_CP14/Objects/Consumable/Food/dough.rsi/dough_medium_flat.png new file mode 100644 index 0000000000..082b08d601 Binary files /dev/null and b/Resources/Textures/_CP14/Objects/Consumable/Food/dough.rsi/dough_medium_flat.png differ diff --git a/Resources/Textures/_CP14/Objects/Consumable/Food/dough.rsi/meta.json b/Resources/Textures/_CP14/Objects/Consumable/Food/dough.rsi/meta.json new file mode 100644 index 0000000000..d83c98c506 --- /dev/null +++ b/Resources/Textures/_CP14/Objects/Consumable/Food/dough.rsi/meta.json @@ -0,0 +1,32 @@ +{ + "version": 1, + "license": "All rights reserved for the CrystallPunk14 project only", + "copyright": "bun_cooked bun_cooked_slice_bottom bun_cooked_slice_top dough_medium Created by Artista.rar, bread_cooked dough_large dough_medium_flat created by TheShuEd", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "bread_cooked" + }, + { + "name": "bun_cooked" + }, + { + "name": "bun_cooked_slice_bottom" + }, + { + "name": "bun_cooked_slice_top" + }, + { + "name": "dough_large" + }, + { + "name": "dough_medium" + }, + { + "name": "dough_medium_flat" + } + ] +} \ No newline at end of file diff --git a/Resources/Textures/_CP14/Objects/Consumable/Food/egg.rsi/brown.png b/Resources/Textures/_CP14/Objects/Consumable/Food/egg.rsi/brown.png new file mode 100644 index 0000000000..0755c1a1bd Binary files /dev/null and b/Resources/Textures/_CP14/Objects/Consumable/Food/egg.rsi/brown.png differ diff --git a/Resources/Textures/_CP14/Objects/Consumable/Food/egg.rsi/brown_shell.png b/Resources/Textures/_CP14/Objects/Consumable/Food/egg.rsi/brown_shell.png new file mode 100644 index 0000000000..c0ffa7394a Binary files /dev/null and b/Resources/Textures/_CP14/Objects/Consumable/Food/egg.rsi/brown_shell.png differ diff --git a/Resources/Textures/_CP14/Objects/Consumable/Food/egg.rsi/icon.png b/Resources/Textures/_CP14/Objects/Consumable/Food/egg.rsi/icon.png new file mode 100644 index 0000000000..b5835b9412 Binary files /dev/null and b/Resources/Textures/_CP14/Objects/Consumable/Food/egg.rsi/icon.png differ diff --git a/Resources/Textures/_CP14/Objects/Consumable/Food/egg.rsi/meta.json b/Resources/Textures/_CP14/Objects/Consumable/Food/egg.rsi/meta.json new file mode 100644 index 0000000000..9d973a39a3 --- /dev/null +++ b/Resources/Textures/_CP14/Objects/Consumable/Food/egg.rsi/meta.json @@ -0,0 +1,23 @@ +{ + "version": 1, + "license": "All rights reserved for the CrystallPunk14 project only", + "copyright": "By Prazat", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "brown" + }, + { + "name": "white_shell" + }, + { + "name": "brown_shell" + } + ] +} \ No newline at end of file diff --git a/Resources/Textures/_CP14/Objects/Consumable/Food/egg.rsi/white_shell.png b/Resources/Textures/_CP14/Objects/Consumable/Food/egg.rsi/white_shell.png new file mode 100644 index 0000000000..65129d27e0 Binary files /dev/null and b/Resources/Textures/_CP14/Objects/Consumable/Food/egg.rsi/white_shell.png differ diff --git a/Resources/Textures/_CP14/Objects/Consumable/Food/meat.rsi/cutlet.png b/Resources/Textures/_CP14/Objects/Consumable/Food/meat.rsi/cutlet.png new file mode 100644 index 0000000000..361251001b Binary files /dev/null and b/Resources/Textures/_CP14/Objects/Consumable/Food/meat.rsi/cutlet.png differ diff --git a/Resources/Textures/_CP14/Objects/Consumable/Food/meat.rsi/cutlet_cooked.png b/Resources/Textures/_CP14/Objects/Consumable/Food/meat.rsi/cutlet_cooked.png new file mode 100644 index 0000000000..d48d2e8956 Binary files /dev/null and b/Resources/Textures/_CP14/Objects/Consumable/Food/meat.rsi/cutlet_cooked.png differ diff --git a/Resources/Textures/_CP14/Objects/Consumable/Food/meat.rsi/meat_slice.png b/Resources/Textures/_CP14/Objects/Consumable/Food/meat.rsi/meat_slice.png new file mode 100644 index 0000000000..ab71b4086a Binary files /dev/null and b/Resources/Textures/_CP14/Objects/Consumable/Food/meat.rsi/meat_slice.png differ diff --git a/Resources/Textures/_CP14/Objects/Consumable/Food/meat.rsi/meta.json b/Resources/Textures/_CP14/Objects/Consumable/Food/meat.rsi/meta.json index 87172278a1..9a4d39e225 100644 --- a/Resources/Textures/_CP14/Objects/Consumable/Food/meat.rsi/meta.json +++ b/Resources/Textures/_CP14/Objects/Consumable/Food/meat.rsi/meta.json @@ -1,17 +1,44 @@ { "version": 1, "license": "All rights reserved for the CrystallPunk14 project only", - "copyright": "By omsoyk", + "copyright": "sheepmeat and sheepmeat_cooked By omsoyk, sheepmeat_slice and sheepmeat_slice_cooked by TheShuEd, cutlet and cutlet_cooked and meat_slice by Artista.rar", "size": { "x": 32, "y": 32 }, "states": [ + { + "name": "cutlet" + }, + { + "name": "cutlet_cooked" + }, + { + "name": "meat_slice" + }, { "name": "sheepmeat" }, { - "name": "sheepmeat-cooked" + "name": "sheepmeat_cooked" + }, + { + "name": "sheepmeat_slice" + }, + { + "name": "sheepmeat_slice2" + }, + { + "name": "sheepmeat_slice3" + }, + { + "name": "sheepmeat_slice_cooked" + }, + { + "name": "sheepmeat_slice2_cooked" + }, + { + "name": "sheepmeat_slice3_cooked" } ] } \ No newline at end of file diff --git a/Resources/Textures/_CP14/Objects/Consumable/Food/meat.rsi/sheepmeat-cooked.png b/Resources/Textures/_CP14/Objects/Consumable/Food/meat.rsi/sheepmeat_cooked.png similarity index 100% rename from Resources/Textures/_CP14/Objects/Consumable/Food/meat.rsi/sheepmeat-cooked.png rename to Resources/Textures/_CP14/Objects/Consumable/Food/meat.rsi/sheepmeat_cooked.png diff --git a/Resources/Textures/_CP14/Objects/Consumable/Food/meat.rsi/sheepmeat_slice.png b/Resources/Textures/_CP14/Objects/Consumable/Food/meat.rsi/sheepmeat_slice.png new file mode 100644 index 0000000000..16098de5fd Binary files /dev/null and b/Resources/Textures/_CP14/Objects/Consumable/Food/meat.rsi/sheepmeat_slice.png differ diff --git a/Resources/Textures/_CP14/Objects/Consumable/Food/meat.rsi/sheepmeat_slice2.png b/Resources/Textures/_CP14/Objects/Consumable/Food/meat.rsi/sheepmeat_slice2.png new file mode 100644 index 0000000000..960a5ca166 Binary files /dev/null and b/Resources/Textures/_CP14/Objects/Consumable/Food/meat.rsi/sheepmeat_slice2.png differ diff --git a/Resources/Textures/_CP14/Objects/Consumable/Food/meat.rsi/sheepmeat_slice2_cooked.png b/Resources/Textures/_CP14/Objects/Consumable/Food/meat.rsi/sheepmeat_slice2_cooked.png new file mode 100644 index 0000000000..68765e5b88 Binary files /dev/null and b/Resources/Textures/_CP14/Objects/Consumable/Food/meat.rsi/sheepmeat_slice2_cooked.png differ diff --git a/Resources/Textures/_CP14/Objects/Consumable/Food/meat.rsi/sheepmeat_slice3.png b/Resources/Textures/_CP14/Objects/Consumable/Food/meat.rsi/sheepmeat_slice3.png new file mode 100644 index 0000000000..1422bd5fac Binary files /dev/null and b/Resources/Textures/_CP14/Objects/Consumable/Food/meat.rsi/sheepmeat_slice3.png differ diff --git a/Resources/Textures/_CP14/Objects/Consumable/Food/meat.rsi/sheepmeat_slice3_cooked.png b/Resources/Textures/_CP14/Objects/Consumable/Food/meat.rsi/sheepmeat_slice3_cooked.png new file mode 100644 index 0000000000..dc8e8746f3 Binary files /dev/null and b/Resources/Textures/_CP14/Objects/Consumable/Food/meat.rsi/sheepmeat_slice3_cooked.png differ diff --git a/Resources/Textures/_CP14/Objects/Consumable/Food/meat.rsi/sheepmeat_slice_cooked.png b/Resources/Textures/_CP14/Objects/Consumable/Food/meat.rsi/sheepmeat_slice_cooked.png new file mode 100644 index 0000000000..09bb404be9 Binary files /dev/null and b/Resources/Textures/_CP14/Objects/Consumable/Food/meat.rsi/sheepmeat_slice_cooked.png differ