diff --git a/Content.Shared/_CP14/MagicSpell/Spells/CP14SpellThrowFromUser.cs b/Content.Shared/_CP14/MagicSpell/Spells/CP14SpellThrowFromUser.cs index 49d809769f..d5e5da7ddf 100644 --- a/Content.Shared/_CP14/MagicSpell/Spells/CP14SpellThrowFromUser.cs +++ b/Content.Shared/_CP14/MagicSpell/Spells/CP14SpellThrowFromUser.cs @@ -14,7 +14,7 @@ public sealed partial class CP14SpellThrowFromUser : CP14SpellEffect public override void Effect(EntityManager entManager, CP14SpellEffectBaseArgs args) { - if (args.Target is null) + if (args.Target is null || args.User is null) return; var targetEntity = args.Target.Value; @@ -22,12 +22,6 @@ public sealed partial class CP14SpellThrowFromUser : CP14SpellEffect var throwing = entManager.System(); var xform = entManager.System(); - if (!entManager.TryGetComponent(args.User, out var userTransform)) - return; - - if (!entManager.TryGetComponent(targetEntity, out var targetTransform)) - return; - var worldPos = xform.GetWorldPosition(args.User.Value); var foo = Vector2.Normalize(xform.GetWorldPosition(args.Target.Value) - worldPos); diff --git a/Resources/Prototypes/_CP14/Entities/Structures/Fence/big_fence.yml b/Resources/Prototypes/_CP14/Entities/Structures/Fence/big_fence.yml index ba9f6deddf..32572535a7 100644 --- a/Resources/Prototypes/_CP14/Entities/Structures/Fence/big_fence.yml +++ b/Resources/Prototypes/_CP14/Entities/Structures/Fence/big_fence.yml @@ -103,7 +103,7 @@ sprite: _CP14/Structures/Fence/iron_big.rsi - type: Damageable damageContainer: StructuralInorganic - damageModifierSet: StructuralMetallic + damageModifierSet: Metallic - type: Destructible thresholds: - trigger: @@ -112,7 +112,7 @@ behaviors: - !type:PlaySoundBehavior sound: - collection: WoodDestroy + collection: MetalBreak - !type:SpawnEntitiesBehavior spawn: CP14ScrapIron: diff --git a/Resources/Prototypes/_CP14/Entities/Structures/Fence/window.yml b/Resources/Prototypes/_CP14/Entities/Structures/Fence/window.yml index 82823bff0a..90ee604583 100644 --- a/Resources/Prototypes/_CP14/Entities/Structures/Fence/window.yml +++ b/Resources/Prototypes/_CP14/Entities/Structures/Fence/window.yml @@ -54,7 +54,7 @@ sprite: _CP14/Structures/Fence/iron_window.rsi - type: Damageable damageContainer: StructuralInorganic - damageModifierSet: StructuralMetallic + damageModifierSet: Metallic - type: Destructible thresholds: - trigger: @@ -63,7 +63,7 @@ behaviors: - !type:PlaySoundBehavior sound: - collection: WoodDestroy + collection: MetalBreak - !type:SpawnEntitiesBehavior spawn: CP14ScrapIron: diff --git a/Resources/Prototypes/_CP14/Entities/Structures/Furniture/cabinets.yml b/Resources/Prototypes/_CP14/Entities/Structures/Furniture/cabinets.yml index 90ced15921..19569c5d7f 100644 --- a/Resources/Prototypes/_CP14/Entities/Structures/Furniture/cabinets.yml +++ b/Resources/Prototypes/_CP14/Entities/Structures/Furniture/cabinets.yml @@ -89,7 +89,7 @@ state: icons - type: Damageable damageContainer: StructuralInorganic - damageModifierSet: StructuralMetallic + damageModifierSet: Metallic - type: Destructible thresholds: - trigger: @@ -101,12 +101,12 @@ collection: MetalBreak - !type:SpawnEntitiesBehavior spawn: - CP14IronBar1: + CP14ScrapIron: min: 1 max: 3 - !type:DoActsBehavior acts: [ "Destruction" ] - type: Construction - graph: CP14WoodenCabinet - node: CP14WoodenCabinet + graph: CP14IronCabinet + node: CP14IronCabinet diff --git a/Resources/Prototypes/_CP14/Entities/Structures/Specific/Alchemy/heater.yml b/Resources/Prototypes/_CP14/Entities/Structures/Furniture/furnace.yml similarity index 83% rename from Resources/Prototypes/_CP14/Entities/Structures/Specific/Alchemy/heater.yml rename to Resources/Prototypes/_CP14/Entities/Structures/Furniture/furnace.yml index 0b29897a8c..5fd02cb8ef 100644 --- a/Resources/Prototypes/_CP14/Entities/Structures/Specific/Alchemy/heater.yml +++ b/Resources/Prototypes/_CP14/Entities/Structures/Furniture/furnace.yml @@ -65,20 +65,20 @@ hideCaution: true - type: entity - id: CP14AlchemyFurnace - name: alchemy furnace + id: CP14Furnace + name: furnace parent: CP14BaseFireplace - description: A furnace fueled by wood, coal, or any other burning material. Handy for heating your alchemical potions. + description: A furnace fueled by wood, coal, or any other burning material. Handy for heating your food or drinks. components: - type: Sprite - sprite: _CP14/Structures/Specific/Alchemy/alchemy_furnace.rsi + sprite: _CP14/Structures/Furniture/furnace.rsi layers: - state: base - state: fuel1 visible: false map: ["fuel"] - type: Damageable - damageContainer: Inorganic + damageContainer: StructuralInorganic damageModifierSet: Metallic - type: Destructible thresholds: @@ -88,6 +88,14 @@ behaviors: - !type:DoActsBehavior acts: [ "Destruction" ] + - !type:PlaySoundBehavior + sound: + collection: MetalBreak + - !type:SpawnEntitiesBehavior + spawn: + CP14ScrapIron: + min: 1 + max: 3 - type: GenericVisualizer visuals: enum.FireplaceFuelVisuals.Status: @@ -96,7 +104,7 @@ Medium: { visible: true, state: fuel1 } Full: { visible: true, state: fuel2 } - type: FireVisuals - sprite: _CP14/Structures/Specific/Alchemy/alchemy_furnace.rsi + sprite: _CP14/Structures/Furniture/furnace.rsi normalState: burning - type: Climbable - type: Anchorable @@ -130,14 +138,16 @@ whitelist: tags: - CP14FireplaceFuel + - type: Construction + graph: CP14Furnace + node: CP14Furnace - type: entity - parent: CP14AlchemyFurnace - id: CP14AlchemyFurnaceDebug + parent: CP14Furnace + id: CP14FurnaceDebug suffix: Ignited, Infinity categories: [ DoNotMap ] components: - type: CP14AutoIgnite - type: CP14Fireplace - fuelDrainingPerUpdate: 0 - + fuelDrainingPerUpdate: 0 \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Recipes/Construction/Graphs/Furniture/cabinets.yml b/Resources/Prototypes/_CP14/Recipes/Construction/Graphs/Furniture/cabinets.yml index 10e3b1e49e..508f58267c 100644 --- a/Resources/Prototypes/_CP14/Recipes/Construction/Graphs/Furniture/cabinets.yml +++ b/Resources/Prototypes/_CP14/Recipes/Construction/Graphs/Furniture/cabinets.yml @@ -10,6 +10,7 @@ steps: - stackGroup: WoodenPlanks amount: 3 + doAfter: 2 - node: CP14WoodenCabinet entity: CP14WoodenCabinet @@ -25,5 +26,6 @@ steps: - material: CP14IronBar amount: 3 + doAfter: 2 - node: CP14IronCabinet entity: CP14IronCabinet diff --git a/Resources/Prototypes/_CP14/Recipes/Construction/Graphs/Furniture/furnace.yml b/Resources/Prototypes/_CP14/Recipes/Construction/Graphs/Furniture/furnace.yml new file mode 100644 index 0000000000..91124772be --- /dev/null +++ b/Resources/Prototypes/_CP14/Recipes/Construction/Graphs/Furniture/furnace.yml @@ -0,0 +1,15 @@ +- type: constructionGraph + id: CP14Furnace + start: start + graph: + - node: start + edges: + - to: CP14Furnace + completed: + - !type:SnapToGrid + steps: + - material: CP14IronBar + amount: 3 + doAfter: 2 + - node: CP14Furnace + entity: CP14Furnace \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Recipes/Construction/Graphs/Structures/Fences/big_fence_wooden.yml b/Resources/Prototypes/_CP14/Recipes/Construction/Graphs/Structures/Fences/big_fence_wooden.yml index 196ae8bd99..d1c560576c 100644 --- a/Resources/Prototypes/_CP14/Recipes/Construction/Graphs/Structures/Fences/big_fence_wooden.yml +++ b/Resources/Prototypes/_CP14/Recipes/Construction/Graphs/Structures/Fences/big_fence_wooden.yml @@ -61,9 +61,6 @@ - node: start edges: - to: CP14FenceGateBigWooden - completed: - - !type:SnapToGrid - southRotation: true steps: - material: CP14WoodenPlanks amount: 4 @@ -89,9 +86,6 @@ - node: start edges: - to: CP14FenceGateBigWoodenBirch - completed: - - !type:SnapToGrid - southRotation: true steps: - material: CP14BirchWoodenPlanks amount: 4 diff --git a/Resources/Prototypes/_CP14/Recipes/Construction/Graphs/Structures/Fences/fence_wooden.yml b/Resources/Prototypes/_CP14/Recipes/Construction/Graphs/Structures/Fences/fence_wooden.yml index f01b5bd17b..827282c942 100644 --- a/Resources/Prototypes/_CP14/Recipes/Construction/Graphs/Structures/Fences/fence_wooden.yml +++ b/Resources/Prototypes/_CP14/Recipes/Construction/Graphs/Structures/Fences/fence_wooden.yml @@ -61,9 +61,6 @@ - node: start edges: - to: CP14FenceGateWooden - completed: - - !type:SnapToGrid - southRotation: true steps: - material: CP14WoodenPlanks amount: 2 @@ -89,9 +86,6 @@ - node: start edges: - to: CP14FenceGateWoodenBirch - completed: - - !type:SnapToGrid - southRotation: true steps: - material: CP14BirchWoodenPlanks amount: 2 diff --git a/Resources/Prototypes/_CP14/Recipes/Construction/furniture.yml b/Resources/Prototypes/_CP14/Recipes/Construction/furniture.yml index 3792d95802..80a3f5d4e6 100644 --- a/Resources/Prototypes/_CP14/Recipes/Construction/furniture.yml +++ b/Resources/Prototypes/_CP14/Recipes/Construction/furniture.yml @@ -185,3 +185,16 @@ canBuildInImpassable: false conditions: - !type:TileNotBlocked + +- type: construction + crystallPunkAllowed: true + id: CP14Furnace + graph: CP14Furnace + startNode: start + targetNode: CP14Furnace + category: construction-category-furniture + objectType: Structure + placementMode: SnapgridCenter + canBuildInImpassable: false + conditions: + - !type:TileNotBlocked \ No newline at end of file diff --git a/Resources/ServerInfo/_CP14/Guidebook_EN/JobsTabs/AlchemistTabs/Alchemy.xml b/Resources/ServerInfo/_CP14/Guidebook_EN/JobsTabs/AlchemistTabs/Alchemy.xml index 924dd1d033..f5dc47090e 100644 --- a/Resources/ServerInfo/_CP14/Guidebook_EN/JobsTabs/AlchemistTabs/Alchemy.xml +++ b/Resources/ServerInfo/_CP14/Guidebook_EN/JobsTabs/AlchemistTabs/Alchemy.xml @@ -58,7 +58,7 @@ - + diff --git a/Resources/ServerInfo/_CP14/Guidebook_EN/JobsTabs/Innkeepers.xml b/Resources/ServerInfo/_CP14/Guidebook_EN/JobsTabs/Innkeepers.xml index 4e97c985ab..7f09e4ae43 100644 --- a/Resources/ServerInfo/_CP14/Guidebook_EN/JobsTabs/Innkeepers.xml +++ b/Resources/ServerInfo/_CP14/Guidebook_EN/JobsTabs/Innkeepers.xml @@ -49,7 +49,7 @@ - + diff --git a/Resources/ServerInfo/_CP14/Guidebook_RU/JobsTabs/AlchemistTabs/Alchemy.xml b/Resources/ServerInfo/_CP14/Guidebook_RU/JobsTabs/AlchemistTabs/Alchemy.xml index 3e8e526743..b36c1c76b8 100644 --- a/Resources/ServerInfo/_CP14/Guidebook_RU/JobsTabs/AlchemistTabs/Alchemy.xml +++ b/Resources/ServerInfo/_CP14/Guidebook_RU/JobsTabs/AlchemistTabs/Alchemy.xml @@ -58,7 +58,7 @@ - + diff --git a/Resources/ServerInfo/_CP14/Guidebook_RU/JobsTabs/Innkeepers.xml b/Resources/ServerInfo/_CP14/Guidebook_RU/JobsTabs/Innkeepers.xml index 4e97c985ab..7f09e4ae43 100644 --- a/Resources/ServerInfo/_CP14/Guidebook_RU/JobsTabs/Innkeepers.xml +++ b/Resources/ServerInfo/_CP14/Guidebook_RU/JobsTabs/Innkeepers.xml @@ -49,7 +49,7 @@ - + diff --git a/Resources/Textures/_CP14/Structures/Furniture/furnace.rsi/base.png b/Resources/Textures/_CP14/Structures/Furniture/furnace.rsi/base.png new file mode 100644 index 0000000000..e788fd1578 Binary files /dev/null and b/Resources/Textures/_CP14/Structures/Furniture/furnace.rsi/base.png differ diff --git a/Resources/Textures/_CP14/Structures/Furniture/furnace.rsi/burning.png b/Resources/Textures/_CP14/Structures/Furniture/furnace.rsi/burning.png new file mode 100644 index 0000000000..3e5bd9a88c Binary files /dev/null and b/Resources/Textures/_CP14/Structures/Furniture/furnace.rsi/burning.png differ diff --git a/Resources/Textures/_CP14/Structures/Specific/Alchemy/alchemy_furnace.rsi/fuel1.png b/Resources/Textures/_CP14/Structures/Furniture/furnace.rsi/fuel1.png similarity index 100% rename from Resources/Textures/_CP14/Structures/Specific/Alchemy/alchemy_furnace.rsi/fuel1.png rename to Resources/Textures/_CP14/Structures/Furniture/furnace.rsi/fuel1.png diff --git a/Resources/Textures/_CP14/Structures/Specific/Alchemy/alchemy_furnace.rsi/fuel2.png b/Resources/Textures/_CP14/Structures/Furniture/furnace.rsi/fuel2.png similarity index 100% rename from Resources/Textures/_CP14/Structures/Specific/Alchemy/alchemy_furnace.rsi/fuel2.png rename to Resources/Textures/_CP14/Structures/Furniture/furnace.rsi/fuel2.png diff --git a/Resources/Textures/_CP14/Structures/Specific/Alchemy/alchemy_furnace.rsi/meta.json b/Resources/Textures/_CP14/Structures/Furniture/furnace.rsi/meta.json similarity index 100% rename from Resources/Textures/_CP14/Structures/Specific/Alchemy/alchemy_furnace.rsi/meta.json rename to Resources/Textures/_CP14/Structures/Furniture/furnace.rsi/meta.json diff --git a/Resources/Textures/_CP14/Structures/Specific/Alchemy/alchemy_furnace.rsi/base.png b/Resources/Textures/_CP14/Structures/Specific/Alchemy/alchemy_furnace.rsi/base.png deleted file mode 100644 index bef8c056aa..0000000000 Binary files a/Resources/Textures/_CP14/Structures/Specific/Alchemy/alchemy_furnace.rsi/base.png and /dev/null differ diff --git a/Resources/Textures/_CP14/Structures/Specific/Alchemy/alchemy_furnace.rsi/burning.png b/Resources/Textures/_CP14/Structures/Specific/Alchemy/alchemy_furnace.rsi/burning.png deleted file mode 100644 index b014d4b917..0000000000 Binary files a/Resources/Textures/_CP14/Structures/Specific/Alchemy/alchemy_furnace.rsi/burning.png and /dev/null differ diff --git a/Resources/migration.yml b/Resources/migration.yml index 00000e86cc..96c10e5758 100644 --- a/Resources/migration.yml +++ b/Resources/migration.yml @@ -361,6 +361,8 @@ CP14SpellscrollSignalLightYellow: null #2025-28-06 CP14SpellScrollMagicSplitting: null +CP14AlchemyFurnaceDebug: CP14FurnaceDebug +CP14AlchemyFurnace: CP14Furnace # <---> CrystallEdge migration zone end