From 3cfb4338094677fa40f77e46d3a1f37172ac038b Mon Sep 17 00:00:00 2001 From: gordod3 Date: Tue, 9 Jun 2026 19:00:57 +0600 Subject: [PATCH 01/14] Adds crafts of SuitStorageBase, ExtinguisherCabinet and DefibrillatorCabinet --- .../Storage/Closets/base_structureclosets.yml | 7 ++++ .../Structures/Wallmounts/defib_cabinet.yml | 5 +++ .../Wallmounts/extinguisher_cabinet.yml | 5 +++ .../Graphs/furniture/filing_cabinet.yml | 38 +++++++++++++++++++ .../Recipes/Construction/storage.yml | 32 ++++++++++++++++ .../Crafting/Graphs/storage/tallbox.yml | 37 ++++++++++++++++++ .../Prototypes/Recipes/Crafting/tallbox.yml | 14 +++++++ 7 files changed, 138 insertions(+) diff --git a/Resources/Prototypes/Entities/Structures/Storage/Closets/base_structureclosets.yml b/Resources/Prototypes/Entities/Structures/Storage/Closets/base_structureclosets.yml index 9b049bd47af..a610eac873c 100644 --- a/Resources/Prototypes/Entities/Structures/Storage/Closets/base_structureclosets.yml +++ b/Resources/Prototypes/Entities/Structures/Storage/Closets/base_structureclosets.yml @@ -322,3 +322,10 @@ repairTo: SuitStorageBase repairTime: 2 repairCost: 3 + # Forge-Change-Start + - type: Construction + graph: SuitStorage + node: done + containers: + - entity_storage + # Forge-Change-End diff --git a/Resources/Prototypes/Entities/Structures/Wallmounts/defib_cabinet.yml b/Resources/Prototypes/Entities/Structures/Wallmounts/defib_cabinet.yml index 3e5c2486ea1..89de083ced9 100644 --- a/Resources/Prototypes/Entities/Structures/Wallmounts/defib_cabinet.yml +++ b/Resources/Prototypes/Entities/Structures/Wallmounts/defib_cabinet.yml @@ -49,6 +49,11 @@ - !type:PlaySoundBehavior sound: collection: MetalGlassBreak + # Forge-Change-Start + - type: Construction + graph: FilingCabinet + node: defibrillatorcabinet + # Forge-Change-End - type: entity parent: DefibrillatorCabinet diff --git a/Resources/Prototypes/Entities/Structures/Wallmounts/extinguisher_cabinet.yml b/Resources/Prototypes/Entities/Structures/Wallmounts/extinguisher_cabinet.yml index 30db2d8e4d5..bc3e02a7292 100644 --- a/Resources/Prototypes/Entities/Structures/Wallmounts/extinguisher_cabinet.yml +++ b/Resources/Prototypes/Entities/Structures/Wallmounts/extinguisher_cabinet.yml @@ -54,6 +54,11 @@ collection: MetalGlassBreak params: volume: -4 + # Forge-Change-Start + - type: Construction + graph: FilingCabinet + node: extinguishercabinet + # Forge-Change-End - type: entity parent: ExtinguisherCabinet diff --git a/Resources/Prototypes/Recipes/Construction/Graphs/furniture/filing_cabinet.yml b/Resources/Prototypes/Recipes/Construction/Graphs/furniture/filing_cabinet.yml index 72b33bb6499..c43c11bf713 100644 --- a/Resources/Prototypes/Recipes/Construction/Graphs/furniture/filing_cabinet.yml +++ b/Resources/Prototypes/Recipes/Construction/Graphs/furniture/filing_cabinet.yml @@ -21,6 +21,18 @@ - material: Steel amount: 3 doAfter: 3 + # Forge-Change-Start + - to: extinguishercabinet + steps: + - material: Steel + amount: 3 + doAfter: 3 + - to: defibrillatorcabinet + steps: + - material: Steel + amount: 3 + doAfter: 3 + # Forge-Change-End - node: filingCabinet entity: filingCabinet @@ -55,3 +67,29 @@ steps: - tool: Screwing doAfter: 4 + # Forge-Change-Start + - node: extinguishercabinet + entity: ExtinguisherCabinet + edges: + - to: start + completed: + - !type:SpawnPrototype + prototype: SheetSteel1 + amount: 3 + - !type:EmptyAllContainers + steps: + - tool: Screwing + doAfter: 4 + - node: defibrillatorcabinet + entity: DefibrillatorCabinet + edges: + - to: start + completed: + - !type:SpawnPrototype + prototype: SheetSteel1 + amount: 3 + - !type:EmptyAllContainers + steps: + - tool: Screwing + doAfter: 4 + # Forge-Change-End diff --git a/Resources/Prototypes/Recipes/Construction/storage.yml b/Resources/Prototypes/Recipes/Construction/storage.yml index 48f6dd4d034..3e28e9ef5f1 100644 --- a/Resources/Prototypes/Recipes/Construction/storage.yml +++ b/Resources/Prototypes/Recipes/Construction/storage.yml @@ -215,3 +215,35 @@ canBuildInImpassable: true conditions: - !type:WallmountCondition + +# Forge-Change-Start +- type: construction + id: ExtinguisherCabinet + name: extinguisher cabinet + graph: FilingCabinet + startNode: start + targetNode: extinguishercabinet + category: construction-category-storage + description: A small wall mounted cabinet designed to hold a fire extinguisher. + icon: + sprite: Structures/Wallmounts/extinguisher_cabinet.rsi + state: closed + objectType: Structure + placementMode: SnapgridCenter + canBuildInImpassable: true + +- type: construction + id: DefibrillatorCabinet + name: defibrillator cabinet + graph: FilingCabinet + startNode: start + targetNode: defibrillatorcabinet + category: construction-category-storage + description: A small wall mounted cabinet designed to hold a defibrillator. + icon: + sprite: Structures/Wallmounts/defib_cabinet.rsi + state: frame + objectType: Structure + placementMode: SnapgridCenter + canBuildInImpassable: true + # Forge-Change-End diff --git a/Resources/Prototypes/Recipes/Crafting/Graphs/storage/tallbox.yml b/Resources/Prototypes/Recipes/Crafting/Graphs/storage/tallbox.yml index c465d74db7b..289aa11bd86 100644 --- a/Resources/Prototypes/Recipes/Crafting/Graphs/storage/tallbox.yml +++ b/Resources/Prototypes/Recipes/Crafting/Graphs/storage/tallbox.yml @@ -172,3 +172,40 @@ amount: 4 - !type:EmptyAllContainers - !type:DeleteEntity + +# Forge-Change-Start +- type: constructionGraph + id: SuitStorage + start: start + graph: + - node: start + edges: + - to: done + steps: + - material: Steel + amount: 4 + - material: Cable + amount: 2 + doAfter: 5 + - node: done + entity: SuitStorageBase + edges: + - to: start + steps: + - tool: Screwing + doAfter: 5 + conditions: + - !type:StorageWelded + welded: false + - !type:Locked + locked: false + completed: + - !type:SpawnPrototype + prototype: SheetSteel1 + amount: 4 + - !type:SpawnPrototype + prototype: CableApcStack1 + amount: 2 + - !type:EmptyAllContainers + - !type:DeleteEntity +# Forge-Change-End diff --git a/Resources/Prototypes/Recipes/Crafting/tallbox.yml b/Resources/Prototypes/Recipes/Crafting/tallbox.yml index 7de80870afc..76b7dae8562 100644 --- a/Resources/Prototypes/Recipes/Crafting/tallbox.yml +++ b/Resources/Prototypes/Recipes/Crafting/tallbox.yml @@ -57,3 +57,17 @@ canBuildInImpassable: true conditions: - !type:WallmountCondition + +# Forge-Change-Start +- type: construction + id: SuitStorage + name: suit storage unit + graph: SuitStorage + startNode: start + targetNode: done + category: construction-category-storage + description: A fancy hi-tech storage unit made for storing space suits. + icon: { sprite: Structures/Storage/suit_storage.rsi, state: base } + objectType: Structure + placementMode: SnapgridCenter + # Forge-Change-End From 3f724cee03584e03f1746022cb6a0f1a5500a36e Mon Sep 17 00:00:00 2001 From: gordod3 Date: Tue, 9 Jun 2026 19:01:41 +0600 Subject: [PATCH 02/14] Fix --- Resources/Prototypes/Recipes/Construction/storage.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Resources/Prototypes/Recipes/Construction/storage.yml b/Resources/Prototypes/Recipes/Construction/storage.yml index 3e28e9ef5f1..06226e7eb5c 100644 --- a/Resources/Prototypes/Recipes/Construction/storage.yml +++ b/Resources/Prototypes/Recipes/Construction/storage.yml @@ -242,7 +242,7 @@ description: A small wall mounted cabinet designed to hold a defibrillator. icon: sprite: Structures/Wallmounts/defib_cabinet.rsi - state: frame + state: closed objectType: Structure placementMode: SnapgridCenter canBuildInImpassable: true From 5e723f433bda3d5fa677ca9d5e2e1c21f97777a4 Mon Sep 17 00:00:00 2001 From: gordod3 Date: Tue, 9 Jun 2026 23:08:30 +0600 Subject: [PATCH 03/14] Add Plastitanium glass and his craft --- .../Construction/Graphs/materials/glass.yml | 18 ++++- .../Recipes/Construction/materials.yml | 15 +++- .../_Mono/Entities/Materials/materials.yml | 72 ++++++++++++++++++ .../_Mono/Stacks/Materials/Sheets/sheets.yml | 9 +++ .../Materials/plastitaniumglass.rsi/meta.json | 28 +++++++ .../plastitaniumglass-inhand-left.png | Bin 0 -> 400 bytes .../plastitaniumglass-inhand-right.png | Bin 0 -> 419 bytes .../plastitaniumglass.png | Bin 0 -> 436 bytes .../plastitaniumglass_2.png | Bin 0 -> 543 bytes .../plastitaniumglass_3.png | Bin 0 -> 633 bytes 10 files changed, 140 insertions(+), 2 deletions(-) create mode 100644 Resources/Textures/_Mono/Objects/Materials/plastitaniumglass.rsi/meta.json create mode 100644 Resources/Textures/_Mono/Objects/Materials/plastitaniumglass.rsi/plastitaniumglass-inhand-left.png create mode 100644 Resources/Textures/_Mono/Objects/Materials/plastitaniumglass.rsi/plastitaniumglass-inhand-right.png create mode 100644 Resources/Textures/_Mono/Objects/Materials/plastitaniumglass.rsi/plastitaniumglass.png create mode 100644 Resources/Textures/_Mono/Objects/Materials/plastitaniumglass.rsi/plastitaniumglass_2.png create mode 100644 Resources/Textures/_Mono/Objects/Materials/plastitaniumglass.rsi/plastitaniumglass_3.png diff --git a/Resources/Prototypes/Recipes/Construction/Graphs/materials/glass.yml b/Resources/Prototypes/Recipes/Construction/Graphs/materials/glass.yml index 02c5d94f98c..a9b2b76e374 100644 --- a/Resources/Prototypes/Recipes/Construction/Graphs/materials/glass.yml +++ b/Resources/Prototypes/Recipes/Construction/Graphs/materials/glass.yml @@ -101,6 +101,17 @@ amount: 1 - material: Uranium amount: 1 + # Forge-Change-Start + - to: SheetPlastitaniumGlass1 + completed: + - !type:SetStackCount + amount: 1 + steps: + - material: Glass + amount: 1 + - material: Plastitanium + amount: 1 + # Forge-Change-End - node: SheetGlass entity: SheetGlass @@ -125,7 +136,7 @@ - node: SheetRUGlass entity: SheetRUGlass - + - node: SheetClockworkGlass entity: SheetClockworkGlass @@ -134,3 +145,8 @@ - node: SheetRUGlass1 entity: SheetRUGlass + + # Forge-Change-Start + - node: SheetPlastitaniumGlass1 + entity: SheetPlastitaniumGlass + # Forge-Change-End diff --git a/Resources/Prototypes/Recipes/Construction/materials.yml b/Resources/Prototypes/Recipes/Construction/materials.yml index d644538a452..fd00024206b 100644 --- a/Resources/Prototypes/Recipes/Construction/materials.yml +++ b/Resources/Prototypes/Recipes/Construction/materials.yml @@ -128,4 +128,17 @@ targetNode: SheetRUGlass1 category: construction-category-materials icon: { sprite: Objects/Materials/Sheets/glass.rsi, state: ruglass } - objectType: Item \ No newline at end of file + objectType: Item + +# Forge-Change-Start +- type: construction + name: plastitanium glass + description: Merged plastitanium and glass in one, used for specialized applications requiring both strength and visibility. + id: SheetPlastitaniumGlass1 + graph: Glass + startNode: start + targetNode: SheetPlastitaniumGlass1 + category: construction-category-materials + icon: { sprite: _Mono/Objects/Materials/plastitaniumglass.rsi, state: plastitaniumglass } + objectType: Item +# Forge-Change-End diff --git a/Resources/Prototypes/_Mono/Entities/Materials/materials.yml b/Resources/Prototypes/_Mono/Entities/Materials/materials.yml index dafb6589207..062f522ed2b 100644 --- a/Resources/Prototypes/_Mono/Entities/Materials/materials.yml +++ b/Resources/Prototypes/_Mono/Entities/Materials/materials.yml @@ -190,6 +190,78 @@ - type: Stack count: 10 +# Forge-Change-Start +- type: material + id: PlastitaniumGlass + stackEntity: SheetPlastitaniumGlass1 + name: materials-plastitanium-glass + unit: materials-unit-sheet + icon: { sprite: /Textures/_Mono/Objects/Materials/plastitaniumglass.rsi, state: plastitaniumglass } + color: "#5c5c5c" + price: 7 # 700/sheet + properties: + electrical: 3 + thermal: 5 + hard: 12 + density: 9 + chemical: 6 + reflective: 3 + molitz_bubbles: 0 + plasma_offgas: 0 + +- type: entity + parent: MaterialBase + id: SheetPlastitaniumGlass + name: plastitanium glass + description: Merged plastitanium and glass in one, used for specialized applications requiring both strength and visibility. + suffix: 15 + components: + - type: Sprite + sprite: _Mono/Objects/Materials/plastitaniumglass.rsi + state: plastitaniumglass_3 + layers: + - state: plastitaniumglass_3 + map: ["base"] + - type: Tag + tags: + - Sheet + - type: Item + sprite: _Mono/Objects/Materials/plastitaniumglass.rsi + heldPrefix: plastitaniumglass + - type: Stack + stackType: PlastitaniumGlass + count: 15 + baseLayer: base + layerStates: + - plastitaniumglass + - plastitaniumglass_2 + - plastitaniumglass_3 + - type: Material + - type: Appearance + - type: PhysicalComposition + materialComposition: + PlastitaniumGlass: 100 + - type: Construction + graph: Glass + node: SheetPlastitaniumGlass1 + +- type: entity + parent: SheetPlastitaniumGlass + id: SheetPlastitaniumGlass1 + suffix: 1 + components: + - type: Stack + count: 1 + +- type: entity + parent: SheetPlastitaniumGlass + id: SheetPlastitaniumGlass10 + suffix: 10 + components: + - type: Stack + count: 10 +# Forge-Change-End + # Misc - type: entity diff --git a/Resources/Prototypes/_Mono/Stacks/Materials/Sheets/sheets.yml b/Resources/Prototypes/_Mono/Stacks/Materials/Sheets/sheets.yml index 279ba92ca12..c5d0d0fa246 100644 --- a/Resources/Prototypes/_Mono/Stacks/Materials/Sheets/sheets.yml +++ b/Resources/Prototypes/_Mono/Stacks/Materials/Sheets/sheets.yml @@ -19,6 +19,15 @@ spawn: SheetPlastitanium1 maxCount: 100 +# Forge-Change-Start +- type: stack + id: PlastitaniumGlass + name: plastitanium glass + icon: { sprite: /Textures/_Mono/Objects/Materials/plastitaniumglass.rsi, state: plastitaniumglass } + spawn: SheetPlastitaniumGlass1 + maxCount: 100 +# Forge-Change-End + - type: stack id: UraniumFissile name: fissile uranium diff --git a/Resources/Textures/_Mono/Objects/Materials/plastitaniumglass.rsi/meta.json b/Resources/Textures/_Mono/Objects/Materials/plastitaniumglass.rsi/meta.json new file mode 100644 index 00000000000..e615785e926 --- /dev/null +++ b/Resources/Textures/_Mono/Objects/Materials/plastitaniumglass.rsi/meta.json @@ -0,0 +1,28 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from SS13 Shiptest.", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "plastitaniumglass-inhand-left", + "directions": 4 + }, + { + "name": "plastitaniumglass-inhand-right", + "directions": 4 + }, + { + "name": "plastitaniumglass" + }, + { + "name": "plastitaniumglass_2" + }, + { + "name": "plastitaniumglass_3" + } + ] +} \ No newline at end of file diff --git a/Resources/Textures/_Mono/Objects/Materials/plastitaniumglass.rsi/plastitaniumglass-inhand-left.png b/Resources/Textures/_Mono/Objects/Materials/plastitaniumglass.rsi/plastitaniumglass-inhand-left.png new file mode 100644 index 0000000000000000000000000000000000000000..117e244c566f7dc7b3a8685f6b3179aaac2751bb GIT binary patch literal 400 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7T#lEU<~(kaSW-L^Y)fwSF?cx>jQHm z%O>yeCXGp!ofVw?uNj+W=ftx43z%&7;#?|w>{s-Jefg@6@sE{D9`g$b!oc1HiM9*h zYc)Zx=D7UIzivtD3ZL#V zGhFJ;zr9Uc`QH4rBQcpttV^VQycrrwW6M*I{ytw<`JhEuVeiY|MoT+IC+z!C%UNyy z|HaSEeh0UQ1jJr9IJO`+dhR;^%Peb6*KBRyd`=yRbq_~!GE-JWNa jW41AztYlfl|BZW@+~t7ddh6!^Lz==fC%T_kO+YMd&jpt#hAwl6h`z+pBLQ*KcqvVcv89Co#S=cIHO^ z*ZMp?WXRW&pgUDC6#lnXvDMy{J%8T!~FZTid(ILOHUcj=77i>J3A_?|OnHaz+MkL7uuBP#bB=A^SFO_HAQ z`^@So3{c{JliQWK)Is=2JtDnm{r-UW| DMmWM3 literal 0 HcmV?d00001 diff --git a/Resources/Textures/_Mono/Objects/Materials/plastitaniumglass.rsi/plastitaniumglass.png b/Resources/Textures/_Mono/Objects/Materials/plastitaniumglass.rsi/plastitaniumglass.png new file mode 100644 index 0000000000000000000000000000000000000000..07fafda7250db53267a0f014583666d333ead4f6 GIT binary patch literal 436 zcmV;l0ZaagP)f`Ygu+X^! zbm-ItA~$7fx6lv8C^3oeoZ6y8zQuoZzWe3u#Fw79usVPapab~d0C9Yum&a1}#d`g6 zWm_{Ejq^19s>~_%*0{zBfPll{-D$kpe4IhmDM=nGYm{oXwF2lT0R$YOEdw=4+oCnI z;RIkpESIl>BV>RRoCLt$>68x!k$8HZtumEXY@%2Sb8f$TpOk&H2G9&P0I05J&6vXct2m_!4QV=d`l>rJO7(fV!R)^3hM5{AEK?FO5=Bw5O z;UYG`cAJTt+sHcv8vu8~Pw_$a3E`XpEgOVa08}{oDozqHK_;}mKQnP%x^6Ju@3O-7 zSd`>c1!V<5@agpN*oQ+nMwMg}Y5>>*w1BljkQLERCt{2m(NbZKoG{qScxXpw3ZDQH5?3Z&?_gx+j!JB<0X)j zS3H16ViZzpiEUz{jp!5xw=Lb>0u3JcE^RmS=QlHLcB{dbwFB4z2mvgsGUcBcGoaUd z*c18GYW1mYPae=GC-+xX(EmNa$74dPLbXy?+Re}&02(LU)n#dNf z@or=Sh(mNbkDwy#fJ$;H0FHoylu9Pt+}?pb8b)jki^0UP{{m|JFdTFvG1eLZ1|S_C z72v#l0WOy?`1BKN%L-TtAP(VqA2X+d9;w>*28m9PuS`M!{CxPgzQ~v#1VMOjm}Zzz zJJ2Bb`d#}DpnO>g*TyfP^D$Nipa6{3Lx{XTwqhMSLGs2?TlaMainjAZ$y9cN5&~fIX7f6{$AB1^-yN3;Hz2e{ z&^fFSLb@HdTK9=HnN$xhQh>OqGLdKm8v(#}(+DVVmJy)Z?e2OfqJK34mHi#1a&%V$ hP))dw-`0Q4egJf^bz^;FP`m&D002ovPDHLkV1i`(-ZlUL literal 0 HcmV?d00001 diff --git a/Resources/Textures/_Mono/Objects/Materials/plastitaniumglass.rsi/plastitaniumglass_3.png b/Resources/Textures/_Mono/Objects/Materials/plastitaniumglass.rsi/plastitaniumglass_3.png new file mode 100644 index 0000000000000000000000000000000000000000..a8689e9a44750c274bb949de2a8a0b6e60ce9f25 GIT binary patch literal 633 zcmV-<0*3vGP)$zHe9D*996?NJ1 Date: Wed, 10 Jun 2026 15:35:47 +0600 Subject: [PATCH 04/14] Add Plastitanium Window, Diagonal plastitanium window, tile Floor plastitanium glass, fix craft of Extinguisher cabinet --- .../Structures/Windows/plastitanium.yml | 5 ++ .../Recipes/Construction/storage.yml | 1 + Resources/Prototypes/_Forge/Tiles/floors.yml | 17 ++++ .../_Mono/Entities/Materials/materials.yml | 3 + .../Graphs/structures/plastitanium.yml | 24 +++++- .../_NF/Recipes/Construction/structures.yml | 76 ++++++++++++++++++ .../_Forge/Tiles/TilesPlastitaniumGlass.png | Bin 0 -> 1072 bytes .../Textures/_Forge/Tiles/attributions.yml | 7 ++ 8 files changed, 130 insertions(+), 3 deletions(-) create mode 100644 Resources/Prototypes/_Forge/Tiles/floors.yml create mode 100644 Resources/Textures/_Forge/Tiles/TilesPlastitaniumGlass.png create mode 100644 Resources/Textures/_Forge/Tiles/attributions.yml diff --git a/Resources/Prototypes/Entities/Structures/Windows/plastitanium.yml b/Resources/Prototypes/Entities/Structures/Windows/plastitanium.yml index 40db1acfafa..5ecda6e93ae 100644 --- a/Resources/Prototypes/Entities/Structures/Windows/plastitanium.yml +++ b/Resources/Prototypes/Entities/Structures/Windows/plastitanium.yml @@ -225,3 +225,8 @@ - type: Damageable damageContainer: StructuralInorganic damageModifierSet: RGlass + # Forge-Change-Start + - type: Construction + graph: Plastitanium + node: plastitaniumWindowDiagonal + # Forge-Change-End diff --git a/Resources/Prototypes/Recipes/Construction/storage.yml b/Resources/Prototypes/Recipes/Construction/storage.yml index 06226e7eb5c..f6bcf6c07f2 100644 --- a/Resources/Prototypes/Recipes/Construction/storage.yml +++ b/Resources/Prototypes/Recipes/Construction/storage.yml @@ -231,6 +231,7 @@ objectType: Structure placementMode: SnapgridCenter canBuildInImpassable: true + canRotate: false - type: construction id: DefibrillatorCabinet diff --git a/Resources/Prototypes/_Forge/Tiles/floors.yml b/Resources/Prototypes/_Forge/Tiles/floors.yml new file mode 100644 index 00000000000..1309bbecc83 --- /dev/null +++ b/Resources/Prototypes/_Forge/Tiles/floors.yml @@ -0,0 +1,17 @@ +- type: tile + id: FloorPlastitaniumGlass + name: tiles-plastitanium-glass-floor + sprite: /Textures/_Forge/Tiles/TilesPlastitaniumGlass.png + variants: 4 + placementVariants: + - 1.0 + - 1.0 + - 1.0 + - 1.0 + baseTurf: Plating + isSubfloor: false + deconstructTools: [ Prying ] + footstepSounds: + collection: FootstepTile + itemDrop: SheetPlastitaniumGlass1 + heatCapacity: 20000 diff --git a/Resources/Prototypes/_Mono/Entities/Materials/materials.yml b/Resources/Prototypes/_Mono/Entities/Materials/materials.yml index 062f522ed2b..ed21596f5a8 100644 --- a/Resources/Prototypes/_Mono/Entities/Materials/materials.yml +++ b/Resources/Prototypes/_Mono/Entities/Materials/materials.yml @@ -225,6 +225,9 @@ - type: Tag tags: - Sheet + - type: FloorTile + outputs: + - FloorPlastitaniumGlass - type: Item sprite: _Mono/Objects/Materials/plastitaniumglass.rsi heldPrefix: plastitaniumglass diff --git a/Resources/Prototypes/_NF/Recipes/Construction/Graphs/structures/plastitanium.yml b/Resources/Prototypes/_NF/Recipes/Construction/Graphs/structures/plastitanium.yml index 6cc95e71b7f..9bb019d086f 100644 --- a/Resources/Prototypes/_NF/Recipes/Construction/Graphs/structures/plastitanium.yml +++ b/Resources/Prototypes/_NF/Recipes/Construction/Graphs/structures/plastitanium.yml @@ -6,7 +6,12 @@ edges: - to: plastitaniumWindow steps: - - material: UraniumGlass + - material: PlastitaniumGlass # Forge-Change + amount: 2 + doAfter: 2 + - to: plastitaniumWindowDiagonal + steps: + - material: PlastitaniumGlass # Forge-Change amount: 2 doAfter: 2 @@ -16,10 +21,10 @@ - to: start completed: - !type:SpawnPrototype - prototype: SheetRGlass1 + prototype: SheetPlastitaniumGlass1 # Forge-Change amount: 2 - !type:DeleteEntity {} - steps: + steps: &deconstructionSteps # Forge-Change - tool: Welding doAfter: 5 - tool: Screwing @@ -50,3 +55,16 @@ doAfter: 1 - tool: Cutting doAfter: 1 + + # Forge-Change-Start + - node: plastitaniumWindowDiagonal + entity: PlastitaniumWindowDiagonal + edges: + - to: start + completed: + - !type:SpawnPrototype + prototype: SheetPlastitaniumGlass1 + amount: 2 + - !type:DeleteEntity {} + steps: *deconstructionSteps # Forge-Change + # Forge-Change-End diff --git a/Resources/Prototypes/_NF/Recipes/Construction/structures.yml b/Resources/Prototypes/_NF/Recipes/Construction/structures.yml index bf04b603ac5..31fef560eec 100644 --- a/Resources/Prototypes/_NF/Recipes/Construction/structures.yml +++ b/Resources/Prototypes/_NF/Recipes/Construction/structures.yml @@ -65,3 +65,79 @@ state: closed conditions: - !type:TileNotBlocked + +# Forge-Change-Start +- type: construction + name: plastitanium diagonal window + id: PlastitaniumWindowDiagonal + graph: Plastitanium + startNode: start + targetNode: plastitaniumWindowDiagonal + category: construction-category-structures + description: Don't smudge up the glass down there. + canBuildInImpassable: true + conditions: + - !type:EmptyOrWindowValidInTile + - !type:NoWindowsInTile + icon: + sprite: Structures/Windows/plastitanium_window_diagonal.rsi + state: state0 + objectType: Structure + placementMode: SnapgridCenter + +- type: construction + name: plastitanium window + id: PlastitaniumWindow + graph: Plastitanium + startNode: start + targetNode: plastitaniumWindow + category: construction-category-structures + description: Don't smudge up the glass down there. + canBuildInImpassable: true + conditions: + - !type:EmptyOrWindowValidInTile + - !type:NoWindowsInTile + icon: + sprite: Structures/Windows/plastitanium_window.rsi + state: full + objectType: Structure + placementMode: SnapgridCenter + canRotate: false + +- type: construction + name: plastitanium diagonal window + id: PlastitaniumWindowDiagonal + graph: Plastitanium + startNode: start + targetNode: plastitaniumWindowDiagonal + category: construction-category-structures + description: Don't smudge up the glass down there. + canBuildInImpassable: true + conditions: + - !type:EmptyOrWindowValidInTile + - !type:NoWindowsInTile + icon: + sprite: Structures/Windows/plastitanium_window_diagonal.rsi + state: state0 + objectType: Structure + placementMode: SnapgridCenter + +- type: construction + name: plastitanium window + id: PlastitaniumWindow + graph: Plastitanium + startNode: start + targetNode: plastitaniumWindow + category: construction-category-structures + description: Don't smudge up the glass down there. + canBuildInImpassable: true + conditions: + - !type:EmptyOrWindowValidInTile + - !type:NoWindowsInTile + icon: + sprite: Structures/Windows/plastitanium_window.rsi + state: full + objectType: Structure + placementMode: SnapgridCenter + canRotate: false +# Forge-Change-End diff --git a/Resources/Textures/_Forge/Tiles/TilesPlastitaniumGlass.png b/Resources/Textures/_Forge/Tiles/TilesPlastitaniumGlass.png new file mode 100644 index 0000000000000000000000000000000000000000..1b1fdae40ca74f5e48603b69a0b680e57f44d9b0 GIT binary patch literal 1072 zcmV-01kd}4P)EX>4Tx04R}tkv&L4Q5c4wd)17v8ghtexPvw2QW1@1fdmC&25Jr6A2q>ylY5mG z$Dmbc=x6C~Xlbssp*0ACeju6~nu=N?ZX6Yq$iC$~yytsA&i5XW4-2~Kc&EU$N_IRN zQIe^&;(x(Q4;@V4Q+1~}9gEG=wm$EW#CaPQv)cFlS=~m)(LqvxDZOZyKw1SRHcCao zyFgH1Qw@;LfDt>HN`v$ubgj;>f^#*N#mu0ch|ho=1e9D0Yb~s=*(S*2K*%sH1LS0# z4Z#(`W}&P%-YGT=WUQq{p#y_NnPY(%3L0hd6etlUkA;FmoG6ht{(+i5Mj4F)d2|$J zS;s`J`4NBcJ6k6^Hd>z)h=A|eb>D};zYX72*Zn$j-S1=YJi(>a^sgVn-$?OJ@eD^ zZ7S~cyMDP+1pt7>d?s};8VtQwtFbngM2`{7e6#!#6;olkQU!EIt<&%NVx%R}W4dC# zS$=6_g%CX|M^VQ5{OC(`A$?xVXB&>9jP?1{uVnz)`9U3Rize3RPrq>lh>PN;AJ*qf zFZ~SwifD?v5!Ua&-o}T;e6|rS)X6qStk0)jnE_-r8VtRt`TN_u$oaVGjQQE~*8)Hl zCFM$WRX|W}0_SC$&`n3o|9`%PcLB7R0E%cCKR$R^KoD!uICgo}_EmcLjZ&;c(ONk3 z&G4;WuOI5vk{#z{1yj|c|H_*mNaw#x`aW4<}Qc0YjZ3=%h$Lm%S3|!0000 Date: Wed, 10 Jun 2026 15:36:42 +0600 Subject: [PATCH 05/14] Fix fail push --- .../Graphs/structures/plastitanium.yml | 4 +- .../_NF/Recipes/Construction/structures.yml | 37 ------------------- 2 files changed, 3 insertions(+), 38 deletions(-) diff --git a/Resources/Prototypes/_NF/Recipes/Construction/Graphs/structures/plastitanium.yml b/Resources/Prototypes/_NF/Recipes/Construction/Graphs/structures/plastitanium.yml index 9bb019d086f..2661dac4cd8 100644 --- a/Resources/Prototypes/_NF/Recipes/Construction/Graphs/structures/plastitanium.yml +++ b/Resources/Prototypes/_NF/Recipes/Construction/Graphs/structures/plastitanium.yml @@ -9,11 +9,13 @@ - material: PlastitaniumGlass # Forge-Change amount: 2 doAfter: 2 + # Forge-Change-Start - to: plastitaniumWindowDiagonal steps: - - material: PlastitaniumGlass # Forge-Change + - material: PlastitaniumGlass amount: 2 doAfter: 2 + # Forge-Change-End - node: plastitaniumWindow entity: PlastitaniumWindow diff --git a/Resources/Prototypes/_NF/Recipes/Construction/structures.yml b/Resources/Prototypes/_NF/Recipes/Construction/structures.yml index 31fef560eec..6e638346795 100644 --- a/Resources/Prototypes/_NF/Recipes/Construction/structures.yml +++ b/Resources/Prototypes/_NF/Recipes/Construction/structures.yml @@ -85,43 +85,6 @@ objectType: Structure placementMode: SnapgridCenter -- type: construction - name: plastitanium window - id: PlastitaniumWindow - graph: Plastitanium - startNode: start - targetNode: plastitaniumWindow - category: construction-category-structures - description: Don't smudge up the glass down there. - canBuildInImpassable: true - conditions: - - !type:EmptyOrWindowValidInTile - - !type:NoWindowsInTile - icon: - sprite: Structures/Windows/plastitanium_window.rsi - state: full - objectType: Structure - placementMode: SnapgridCenter - canRotate: false - -- type: construction - name: plastitanium diagonal window - id: PlastitaniumWindowDiagonal - graph: Plastitanium - startNode: start - targetNode: plastitaniumWindowDiagonal - category: construction-category-structures - description: Don't smudge up the glass down there. - canBuildInImpassable: true - conditions: - - !type:EmptyOrWindowValidInTile - - !type:NoWindowsInTile - icon: - sprite: Structures/Windows/plastitanium_window_diagonal.rsi - state: state0 - objectType: Structure - placementMode: SnapgridCenter - - type: construction name: plastitanium window id: PlastitaniumWindow From 331983615e8df5dc9749d6160c9acff360774a75 Mon Sep 17 00:00:00 2001 From: gordod3 Date: Wed, 10 Jun 2026 16:15:45 +0600 Subject: [PATCH 06/14] Add craft of Plastitanium Uranium and Plasma windows with their diagonal variation --- .../Structures/Windows/plastitanium.yml | 20 ++++- .../Graphs/structures/plastitanium.yml | 84 +++++++++++++++++++ .../_NF/Recipes/Construction/structures.yml | 74 ++++++++++++++++ 3 files changed, 174 insertions(+), 4 deletions(-) diff --git a/Resources/Prototypes/_Forge/Entities/Structures/Windows/plastitanium.yml b/Resources/Prototypes/_Forge/Entities/Structures/Windows/plastitanium.yml index e504bb62580..ba721d646eb 100644 --- a/Resources/Prototypes/_Forge/Entities/Structures/Windows/plastitanium.yml +++ b/Resources/Prototypes/_Forge/Entities/Structures/Windows/plastitanium.yml @@ -1,6 +1,6 @@ - type: entity id: PlastitaniumWindowUran - name: plastitanium window + name: plastitanium uranium window parent: PlastitaniumWindowSquareBase components: - type: Sprite @@ -50,10 +50,13 @@ price: 100 # Frontier - type: RadiationBlocker resistance: 5 + - type: Construction + graph: Plastitanium + node: plastitaniumWindowUran - type: entity id: PlastitaniumWindowUranDiagonal - name: plastitanium window + name: plastitanium uranium diagonal window parent: PlastitaniumWindowDiagonalBase suffix: diagonal components: @@ -103,10 +106,13 @@ damageModifierSet: RGlass - type: RadiationBlocker resistance: 5 + - type: Construction + graph: Plastitanium + node: plastitaniumWindowUranDiagonal - type: entity id: PlastitaniumWindowPlasma - name: plastitanium window + name: plastitanium plasma window parent: PlastitaniumWindowSquareBase components: - type: Sprite @@ -156,10 +162,13 @@ price: 100 # Frontier - type: RadiationBlocker resistance: 4 + - type: Construction + graph: Plastitanium + node: plastitaniumWindowPlasma - type: entity id: PlastitaniumWindowPlasmaDiagonal - name: plastitanium window + name: plastitanium plasma diagonal window parent: PlastitaniumWindowDiagonalBase suffix: diagonal components: @@ -209,3 +218,6 @@ damageModifierSet: RGlass - type: RadiationBlocker resistance: 4 + - type: Construction + graph: Plastitanium + node: plastitaniumWindowPlasmaDiagonal diff --git a/Resources/Prototypes/_NF/Recipes/Construction/Graphs/structures/plastitanium.yml b/Resources/Prototypes/_NF/Recipes/Construction/Graphs/structures/plastitanium.yml index 2661dac4cd8..194fed90a13 100644 --- a/Resources/Prototypes/_NF/Recipes/Construction/Graphs/structures/plastitanium.yml +++ b/Resources/Prototypes/_NF/Recipes/Construction/Graphs/structures/plastitanium.yml @@ -15,6 +15,38 @@ - material: PlastitaniumGlass amount: 2 doAfter: 2 + - to: plastitaniumWindowUran + steps: + - material: PlastitaniumGlass + amount: 2 + doAfter: 2 + - material: Uranium + amount: 2 + doAfter: 2 + - to: plastitaniumWindowUranDiagonal + steps: + - material: PlastitaniumGlass + amount: 2 + doAfter: 2 + - material: Uranium + amount: 2 + doAfter: 2 + - to: plastitaniumWindowPlasma + steps: + - material: PlastitaniumGlass + amount: 2 + doAfter: 2 + - material: Plasma + amount: 2 + doAfter: 2 + - to: plastitaniumWindowPlasmaDiagonal + steps: + - material: PlastitaniumGlass + amount: 2 + doAfter: 2 + - material: Plasma + amount: 2 + doAfter: 2 # Forge-Change-End - node: plastitaniumWindow @@ -68,5 +100,57 @@ prototype: SheetPlastitaniumGlass1 amount: 2 - !type:DeleteEntity {} + steps: *deconstructionSteps + - node: plastitaniumWindowUran + entity: PlastitaniumWindowUran + edges: + - to: start + completed: + - !type:SpawnPrototype + prototype: SheetPlastitaniumGlass1 + amount: 2 + - !type:SpawnPrototype + prototype: SheetUranium1 + amount: 2 + - !type:DeleteEntity {} + steps: *deconstructionSteps # Forge-Change + - node: plastitaniumWindowUranDiagonal + entity: PlastitaniumWindowUranDiagonal + edges: + - to: start + completed: + - !type:SpawnPrototype + prototype: SheetPlastitaniumGlass1 + amount: 2 + - !type:SpawnPrototype + prototype: SheetUranium1 + amount: 2 + - !type:DeleteEntity {} + steps: *deconstructionSteps # Forge-Change + - node: plastitaniumWindowPlasma + entity: PlastitaniumWindowPlasma + edges: + - to: start + completed: + - !type:SpawnPrototype + prototype: SheetPlastitaniumGlass1 + amount: 2 + - !type:SpawnPrototype + prototype: SheetPlasma1 + amount: 2 + - !type:DeleteEntity {} + steps: *deconstructionSteps # Forge-Change + - node: plastitaniumWindowPlasmaDiagonal + entity: PlastitaniumWindowPlasmaDiagonal + edges: + - to: start + completed: + - !type:SpawnPrototype + prototype: SheetPlastitaniumGlass1 + amount: 2 + - !type:SpawnPrototype + prototype: SheetPlasma1 + amount: 2 + - !type:DeleteEntity {} steps: *deconstructionSteps # Forge-Change # Forge-Change-End diff --git a/Resources/Prototypes/_NF/Recipes/Construction/structures.yml b/Resources/Prototypes/_NF/Recipes/Construction/structures.yml index 6e638346795..355ad9505f2 100644 --- a/Resources/Prototypes/_NF/Recipes/Construction/structures.yml +++ b/Resources/Prototypes/_NF/Recipes/Construction/structures.yml @@ -103,4 +103,78 @@ objectType: Structure placementMode: SnapgridCenter canRotate: false + +- type: construction + name: plastitanium uranium window + id: PlastitaniumWindowUran + graph: Plastitanium + startNode: start + targetNode: plastitaniumWindowUran + category: construction-category-structures + description: Don't smudge up the glass down there. + canBuildInImpassable: true + conditions: + - !type:EmptyOrWindowValidInTile + - !type:NoWindowsInTile + icon: + sprite: Forge/Structures/Windows/plastitanium_uran_window.rsi + state: full + objectType: Structure + placementMode: SnapgridCenter + canRotate: false + +- type: construction + name: plastitanium uranium diagonal window + id: PlastitaniumWindowUranDiagonal + graph: Plastitanium + startNode: start + targetNode: plastitaniumWindowUranDiagonal + category: construction-category-structures + description: Don't smudge up the glass down there. + canBuildInImpassable: true + conditions: + - !type:EmptyOrWindowValidInTile + - !type:NoWindowsInTile + icon: + sprite: Forge/Structures/Windows/plastitanium_uran_window_diagonal.rsi + state: state0 + objectType: Structure + placementMode: SnapgridCenter + +- type: construction + name: plastitanium plasma window + id: PlastitaniumWindowPlasma + graph: Plastitanium + startNode: start + targetNode: plastitaniumWindowPlasma + category: construction-category-structures + description: Don't smudge up the glass down there. + canBuildInImpassable: true + conditions: + - !type:EmptyOrWindowValidInTile + - !type:NoWindowsInTile + icon: + sprite: Forge/Structures/Windows/plastitanium_plasma_window.rsi + state: full + objectType: Structure + placementMode: SnapgridCenter + canRotate: false + +- type: construction + name: plastitanium plasma diagonal window + id: PlastitaniumWindowPlasmaDiagonal + graph: Plastitanium + startNode: start + targetNode: plastitaniumWindowPlasmaDiagonal + category: construction-category-structures + description: Don't smudge up the glass down there. + canBuildInImpassable: true + conditions: + - !type:EmptyOrWindowValidInTile + - !type:NoWindowsInTile + icon: + sprite: Forge/Structures/Windows/plastitanium_plasma_window_diagonal.rsi + state: state0 + objectType: Structure + placementMode: SnapgridCenter # Forge-Change-End From 9a1e66d730f20166f3b9b4b056eb899573a7409e Mon Sep 17 00:00:00 2001 From: gordod3 Date: Wed, 10 Jun 2026 18:16:36 +0600 Subject: [PATCH 07/14] Added Mining Window and his variations with crafts, bug fixes --- .../Entities/Structures/Windows/mining.yml | 10 ++ .../Entities/Structures/Windows/mining.yml | 12 ++ .../Graphs/structures/mining_window.yml | 112 ++++++++++++++++++ .../Graphs/structures/plastitanium.yml | 8 +- .../_NF/Recipes/Construction/structures.yml | 112 ++++++++++++++++++ 5 files changed, 250 insertions(+), 4 deletions(-) create mode 100644 Resources/Prototypes/_NF/Recipes/Construction/Graphs/structures/mining_window.yml diff --git a/Resources/Prototypes/Entities/Structures/Windows/mining.yml b/Resources/Prototypes/Entities/Structures/Windows/mining.yml index 68f6e4f0d87..db29285bdc6 100644 --- a/Resources/Prototypes/Entities/Structures/Windows/mining.yml +++ b/Resources/Prototypes/Entities/Structures/Windows/mining.yml @@ -50,6 +50,11 @@ sprite: Structures/Windows/cracks.rsi - type: StaticPrice price: 100 + # Forge-Change-Start + - type: Construction + graph: mining_window + node: miningWindow + # Forge-Change-End - type: entity parent: ShuttleWindow @@ -95,3 +100,8 @@ - type: DamageVisuals damageOverlay: sprite: Structures/Windows/cracks_diagonal.rsi + # Forge-Change-Start + - type: Construction + graph: mining_window + node: miningWindowDiagonal + # Forge-Change-End diff --git a/Resources/Prototypes/_Forge/Entities/Structures/Windows/mining.yml b/Resources/Prototypes/_Forge/Entities/Structures/Windows/mining.yml index 419c71ad314..66e1859164d 100644 --- a/Resources/Prototypes/_Forge/Entities/Structures/Windows/mining.yml +++ b/Resources/Prototypes/_Forge/Entities/Structures/Windows/mining.yml @@ -52,6 +52,9 @@ price: 100 - type: RadiationBlocker resistance: 4 + - type: Construction + graph: mining_window + node: miningWindowUran - type: entity parent: ShuttleWindowUran @@ -99,6 +102,9 @@ sprite: Structures/Windows/cracks_diagonal.rsi - type: RadiationBlocker resistance: 4 + - type: Construction + graph: mining_window + node: miningWindowUranDiagonal - type: entity id: MiningWindowPlasma @@ -154,6 +160,9 @@ price: 100 - type: RadiationBlocker resistance: 3 + - type: Construction + graph: mining_window + node: miningWindowPlasma - type: entity parent: ShuttleWindowPlasma @@ -201,3 +210,6 @@ sprite: Structures/Windows/cracks_diagonal.rsi - type: RadiationBlocker resistance: 3 + - type: Construction + graph: mining_window + node: miningWindowPlasmaDiagonal diff --git a/Resources/Prototypes/_NF/Recipes/Construction/Graphs/structures/mining_window.yml b/Resources/Prototypes/_NF/Recipes/Construction/Graphs/structures/mining_window.yml new file mode 100644 index 00000000000..2d033872258 --- /dev/null +++ b/Resources/Prototypes/_NF/Recipes/Construction/Graphs/structures/mining_window.yml @@ -0,0 +1,112 @@ +# Forge-Change-Start +- type: constructionGraph + id: mining_window + start: start + graph: + - node: start + edges: + - to: miningWindow + steps: + - material: ReinforcedGlass + amount: 2 + doAfter: 2 + - to: miningWindowDiagonal + steps: + - material: ReinforcedGlass + amount: 2 + doAfter: 2 + - to: miningWindowUran + steps: + - material: ReinforcedUraniumGlass + amount: 2 + doAfter: 2 + - to: miningWindowUranDiagonal + steps: + - material: ReinforcedUraniumGlass + amount: 2 + doAfter: 2 + - to: miningWindowPlasma + steps: + - material: ReinforcedPlasmaGlass + amount: 2 + doAfter: 2 + - to: miningWindowPlasmaDiagonal + steps: + - material: ReinforcedPlasmaGlass + amount: 2 + doAfter: 2 + + - node: miningWindow + entity: MiningWindow + edges: + - to: start + completed: + - !type:SpawnPrototype + prototype: SheetRGlass1 + amount: 2 + - !type:DeleteEntity {} + steps: &deconstructionSteps + - tool: Welding + doAfter: 5 + - tool: Screwing + doAfter: 1 + - tool: Prying + doAfter: 2 + - tool: Welding + doAfter: 5 + - tool: Screwing + doAfter: 1 + - tool: Anchoring + doAfter: 2 + + - node: miningWindowDiagonal + entity: MiningWindowDiagonal + edges: + - to: start + completed: + - !type:SpawnPrototype + prototype: SheetRGlass1 + amount: 2 + - !type:DeleteEntity {} + steps: *deconstructionSteps + - node: miningWindowUran + entity: MiningWindowUran + edges: + - to: start + completed: + - !type:SpawnPrototype + prototype: SheetRUGlass1 + amount: 2 + - !type:DeleteEntity {} + steps: *deconstructionSteps + - node: miningWindowUranDiagonal + entity: MiningWindowUranDiagonal + edges: + - to: start + completed: + - !type:SpawnPrototype + prototype: SheetRUGlass1 + amount: 2 + - !type:DeleteEntity {} + steps: *deconstructionSteps + - node: miningWindowPlasma + entity: MiningWindowPlasma + edges: + - to: start + completed: + - !type:SpawnPrototype + prototype: SheetRPGlass1 + amount: 2 + - !type:DeleteEntity {} + steps: *deconstructionSteps + - node: miningWindowPlasmaDiagonal + entity: MiningWindowPlasmaDiagonal + edges: + - to: start + completed: + - !type:SpawnPrototype + prototype: SheetRPGlass1 + amount: 2 + - !type:DeleteEntity {} + steps: *deconstructionSteps + # Forge-Change-End diff --git a/Resources/Prototypes/_NF/Recipes/Construction/Graphs/structures/plastitanium.yml b/Resources/Prototypes/_NF/Recipes/Construction/Graphs/structures/plastitanium.yml index 194fed90a13..8ff5b686b37 100644 --- a/Resources/Prototypes/_NF/Recipes/Construction/Graphs/structures/plastitanium.yml +++ b/Resources/Prototypes/_NF/Recipes/Construction/Graphs/structures/plastitanium.yml @@ -113,7 +113,7 @@ prototype: SheetUranium1 amount: 2 - !type:DeleteEntity {} - steps: *deconstructionSteps # Forge-Change + steps: *deconstructionSteps - node: plastitaniumWindowUranDiagonal entity: PlastitaniumWindowUranDiagonal edges: @@ -126,7 +126,7 @@ prototype: SheetUranium1 amount: 2 - !type:DeleteEntity {} - steps: *deconstructionSteps # Forge-Change + steps: *deconstructionSteps - node: plastitaniumWindowPlasma entity: PlastitaniumWindowPlasma edges: @@ -139,7 +139,7 @@ prototype: SheetPlasma1 amount: 2 - !type:DeleteEntity {} - steps: *deconstructionSteps # Forge-Change + steps: *deconstructionSteps - node: plastitaniumWindowPlasmaDiagonal entity: PlastitaniumWindowPlasmaDiagonal edges: @@ -152,5 +152,5 @@ prototype: SheetPlasma1 amount: 2 - !type:DeleteEntity {} - steps: *deconstructionSteps # Forge-Change + steps: *deconstructionSteps # Forge-Change-End diff --git a/Resources/Prototypes/_NF/Recipes/Construction/structures.yml b/Resources/Prototypes/_NF/Recipes/Construction/structures.yml index 355ad9505f2..3aa19b1190a 100644 --- a/Resources/Prototypes/_NF/Recipes/Construction/structures.yml +++ b/Resources/Prototypes/_NF/Recipes/Construction/structures.yml @@ -67,6 +67,7 @@ - !type:TileNotBlocked # Forge-Change-Start +# Plastitanium Windows craft variants - type: construction name: plastitanium diagonal window id: PlastitaniumWindowDiagonal @@ -177,4 +178,115 @@ state: state0 objectType: Structure placementMode: SnapgridCenter +# Mining Windows craft variants +- type: construction + name: mining diagonal window + id: MiningWindowDiagonal + graph: mining_window + startNode: start + targetNode: miningWindowDiagonal + category: construction-category-structures + description: Don't smudge up the glass down there. + canBuildInImpassable: true + conditions: + - !type:EmptyOrWindowValidInTile + - !type:NoWindowsInTile + icon: + sprite: Structures/Windows/mining_diagonal.rsi + state: state0 + objectType: Structure + placementMode: SnapgridCenter + +- type: construction + name: mining window + id: MiningWindow + graph: mining_window + startNode: start + targetNode: miningWindow + category: construction-category-structures + description: Don't smudge up the glass down there. + canBuildInImpassable: true + conditions: + - !type:EmptyOrWindowValidInTile + - !type:NoWindowsInTile + icon: + sprite: Structures/Windows/mining.rsi + state: full + objectType: Structure + placementMode: SnapgridCenter + canRotate: false + +- type: construction + name: mining uranium window + id: MiningWindowUran + graph: mining_window + startNode: start + targetNode: miningWindowUran + category: construction-category-structures + description: Don't smudge up the glass down there. + canBuildInImpassable: true + conditions: + - !type:EmptyOrWindowValidInTile + - !type:NoWindowsInTile + icon: + sprite: Forge/Structures/Windows/mining_uran.rsi + state: full + objectType: Structure + placementMode: SnapgridCenter + canRotate: false + +- type: construction + name: mining uranium diagonal window + id: MiningWindowUranDiagonal + graph: mining_window + startNode: start + targetNode: miningWindowUranDiagonal + category: construction-category-structures + description: Don't smudge up the glass down there. + canBuildInImpassable: true + conditions: + - !type:EmptyOrWindowValidInTile + - !type:NoWindowsInTile + icon: + sprite: Forge/Structures/Windows/mining_uran_diagonal.rsi + state: state0 + objectType: Structure + placementMode: SnapgridCenter + +- type: construction + name: mining plasma window + id: MiningWindowPlasma + graph: mining_window + startNode: start + targetNode: miningWindowPlasma + category: construction-category-structures + description: Don't smudge up the glass down there. + canBuildInImpassable: true + conditions: + - !type:EmptyOrWindowValidInTile + - !type:NoWindowsInTile + icon: + sprite: Forge/Structures/Windows/mining_plasma.rsi + state: full + objectType: Structure + placementMode: SnapgridCenter + canRotate: false + +- type: construction + name: mining plasma diagonal window + id: MiningWindowPlasmaDiagonal + graph: mining_window + startNode: start + targetNode: miningWindowPlasmaDiagonal + category: construction-category-structures + description: Don't smudge up the glass down there. + canBuildInImpassable: true + conditions: + - !type:EmptyOrWindowValidInTile + - !type:NoWindowsInTile + icon: + sprite: Forge/Structures/Windows/mining_plasma_diagonal.rsi + state: state0 + objectType: Structure + placementMode: SnapgridCenter # Forge-Change-End From 1b9689e62bc4fd1c08b5854f4cea760d212a233a Mon Sep 17 00:00:00 2001 From: gordod3 Date: Wed, 10 Jun 2026 21:35:38 +0600 Subject: [PATCH 08/14] Added Mining wall, diagonal analog and their crafts --- .../Entities/Structures/Walls/walls.yml | 12 +- .../Construction/Graphs/structures/girder.yml | 110 +++++++++++++++++- .../Recipes/Construction/structures.yml | 38 ++++++ 3 files changed, 158 insertions(+), 2 deletions(-) diff --git a/Resources/Prototypes/Entities/Structures/Walls/walls.yml b/Resources/Prototypes/Entities/Structures/Walls/walls.yml index 60d4cd4f214..423d030ca5e 100644 --- a/Resources/Prototypes/Entities/Structures/Walls/walls.yml +++ b/Resources/Prototypes/Entities/Structures/Walls/walls.yml @@ -10,7 +10,7 @@ - Wall components: - type: Anchorable - flags: + flags: - Anchorable - type: Rotatable - type: RangedDamageSound @@ -1058,6 +1058,11 @@ - mining - miningB - type: Appearance + # Forge-Change-Start + - type: Construction + graph: Girder + node: wallMining + # Forge-Change-End - type: entity parent: WallShuttleDiagonal @@ -1082,6 +1087,11 @@ state: state0 - type: RCDDeconstructable # Frontier deconstructable: false # Frontier + # Forge-Change-Start + - type: Construction + graph: Girder + node: wallMiningDiagonal + # Forge-Change-End # Vault Walls diff --git a/Resources/Prototypes/Recipes/Construction/Graphs/structures/girder.yml b/Resources/Prototypes/Recipes/Construction/Graphs/structures/girder.yml index c42be67b46d..4bdaa3ec834 100644 --- a/Resources/Prototypes/Recipes/Construction/Graphs/structures/girder.yml +++ b/Resources/Prototypes/Recipes/Construction/Graphs/structures/girder.yml @@ -325,7 +325,34 @@ - material: Plasteel amount: 2 doAfter: 1 - + # Forge-Change-Start + - to: wallMining + completed: + - !type:SnapToGrid + southRotation: true + conditions: + - !type:EntityAnchored { } + steps: + - tool: Cutting + doAfter: 1 + - material: Plasteel + amount: 2 + doAfter: 1 + - to: wallMiningDiagonal + completed: + - !type:SnapToGrid + southRotation: false + conditions: + - !type:EntityAnchored { } + steps: + - tool: Prying + doAfter: 1 + - tool: Screwing + doAfter: 1 + - material: Plasteel + amount: 2 + doAfter: 1 + # Forge-Change-End #Mono - create diagonal reinforced wall - to: wallReinforcedDiagonal completed: @@ -471,6 +498,87 @@ data: 0 - tool: Cutting doAfter: 1 + # Forge-Change-Start + - node: wallMining + entity: WallMining + edges: + - to: reinforcedGirder + completed: + - !type:SpawnPrototype + prototype: SheetPlasteel1 + amount: 2 + steps: + - tool: Cutting + doAfter: 1 + completed: + - !type:VisualizerDataInt + key: "enum.ReinforcedWallVisuals.DeconstructionStage" + data: 5 + - tool: Screwing + doAfter: 1 + - tool: Welding + doAfter: 5 + completed: + - !type:VisualizerDataInt + key: "enum.ReinforcedWallVisuals.DeconstructionStage" + data: 4 + - tool: Prying + doAfter: 1 + - tool: Anchoring + doAfter: 1 + completed: + - !type:VisualizerDataInt + key: "enum.ReinforcedWallVisuals.DeconstructionStage" + data: 3 + - tool: Welding + doAfter: 10 + completed: + - !type:VisualizerDataInt + key: "enum.ReinforcedWallVisuals.DeconstructionStage" + data: 2 + - tool: Prying + doAfter: 1 + completed: + - !type:VisualizerDataInt + key: "enum.ReinforcedWallVisuals.DeconstructionStage" + data: 1 + - tool: Screwing + doAfter: 1 + completed: + - !type:VisualizerDataInt + key: "enum.ReinforcedWallVisuals.DeconstructionStage" + data: 0 + - tool: Cutting + doAfter: 1 + + - node: wallMiningDiagonal + entity: WallMiningDiagonal + edges: + - to: reinforcedGirder + completed: + - !type:SpawnPrototype + prototype: SheetPlasteel1 + amount: 2 + steps: + - tool: Cutting + doAfter: 1 + - tool: Screwing + doAfter: 1 + - tool: Welding + doAfter: 5 + - tool: Prying + doAfter: 1 + - tool: Anchoring + doAfter: 1 + - tool: Welding + doAfter: 10 + - tool: Prying + doAfter: 1 + - tool: Screwing + doAfter: 1 + - tool: Cutting + doAfter: 1 + # Forge-Change-End - node: reinforcedWallChitin entity: WallReinforcedChitin diff --git a/Resources/Prototypes/Recipes/Construction/structures.yml b/Resources/Prototypes/Recipes/Construction/structures.yml index 0332a07ecb7..dd4cf56c68a 100644 --- a/Resources/Prototypes/Recipes/Construction/structures.yml +++ b/Resources/Prototypes/Recipes/Construction/structures.yml @@ -1747,3 +1747,41 @@ state: closed conditions: - !type:TileNotBlocked +# Forge-Change-Start +- type: construction + name: mining wall + id: WallMining + graph: Girder + startNode: start + targetNode: wallMining + category: construction-category-structures + description: Keeps the air in and the greytide out. + icon: + sprite: Structures/Walls/mining.rsi + state: full + objectType: Structure + placementMode: SnapgridCenter + canRotate: false + canBuildInImpassable: false + conditions: + - !type:TileNotBlocked + +- type: construction + name: mining diagonal wall + id: WallMiningDiagonal + graph: Girder + startNode: start + targetNode: wallMiningDiagonal + category: construction-category-structures + description: Keeps the air in and the greytide out. + canBuildInImpassable: true + conditions: + - !type:EmptyOrWindowValidInTile + - !type:NoWindowsInTile + icon: + drawdepth: Walls + sprite: Structures/Walls/mining_diagonal.rsi + state: state0 + objectType: Structure + placementMode: SnapgridCenter +# Forge-Change-End From 82a1995061fc2b5c3254b6d88a6c73b4e86f65ec Mon Sep 17 00:00:00 2001 From: gordod3 Date: Thu, 11 Jun 2026 00:20:26 +0600 Subject: [PATCH 09/14] Added Shuttle diagonal window, Shuttle uranium window and their crafts --- .../Entities/Structures/Windows/shuttle.yml | 3 + .../Construction/Graphs/structures/window.yml | 53 ++++++++++- .../Recipes/Construction/structures.yml | 92 +++++++++++++++++++ .../Entities/Structures/Windows/shuttle.yml | 5 +- 4 files changed, 147 insertions(+), 6 deletions(-) diff --git a/Resources/Prototypes/Entities/Structures/Windows/shuttle.yml b/Resources/Prototypes/Entities/Structures/Windows/shuttle.yml index f81d94b875e..3763c4fc9d4 100644 --- a/Resources/Prototypes/Entities/Structures/Windows/shuttle.yml +++ b/Resources/Prototypes/Entities/Structures/Windows/shuttle.yml @@ -106,3 +106,6 @@ - type: DamageVisuals damageOverlay: sprite: Structures/Windows/cracks_diagonal.rsi + - type: Construction + graph: Window + node: shuttleWindowDiagonal diff --git a/Resources/Prototypes/Recipes/Construction/Graphs/structures/window.yml b/Resources/Prototypes/Recipes/Construction/Graphs/structures/window.yml index 37682eb0913..21b8dd28e8b 100644 --- a/Resources/Prototypes/Recipes/Construction/Graphs/structures/window.yml +++ b/Resources/Prototypes/Recipes/Construction/Graphs/structures/window.yml @@ -53,7 +53,22 @@ - material: ReinforcedGlass amount: 2 doAfter: 4 - + # Forge-Change-Start + - to: shuttleWindowDiagonal + steps: + - material: Plasteel + amount: 2 + - material: ReinforcedGlass + amount: 2 + doAfter: 4 + - to: shuttleWindowUran + steps: + - material: Plasteel + amount: 2 + - material: ReinforcedUraniumGlass + amount: 2 + doAfter: 4 + # Forge-Change-End - to: clockworkWindow steps: - material: ClockworkGlass @@ -223,7 +238,7 @@ doAfter: 2 - tool: Anchoring doAfter: 3 - + - node: shuttleWindow entity: ShuttleWindow edges: @@ -236,8 +251,7 @@ prototype: SheetPlasteel1 amount: 2 - !type:DeleteEntity {} - steps: - #To-Do: Add deconstruct visuals + steps: &deconstructionWindow # Forge-Change - tool: Welding doAfter: 6 - tool: Screwing @@ -253,4 +267,33 @@ - tool: Welding doAfter: 4 - tool: Anchoring - doAfter: 1 \ No newline at end of file + doAfter: 1 + + # Forge-Change-Start + - node: shuttleWindowDiagonal + entity: ShuttleWindowDiagonal + edges: + - to: start + completed: + - !type:SpawnPrototype + prototype: SheetRGlass1 + amount: 2 + - !type:SpawnPrototype + prototype: SheetPlasteel1 + amount: 2 + - !type:DeleteEntity {} + steps: *deconstructionWindow + - node: shuttleWindowUran + entity: ShuttleWindowUran + edges: + - to: start + completed: + - !type:SpawnPrototype + prototype: SheetRUGlass1 + amount: 2 + - !type:SpawnPrototype + prototype: SheetPlasteel1 + amount: 2 + - !type:DeleteEntity {} + steps: *deconstructionWindow + # Forge-Change-End diff --git a/Resources/Prototypes/Recipes/Construction/structures.yml b/Resources/Prototypes/Recipes/Construction/structures.yml index dd4cf56c68a..cbfac3a0e68 100644 --- a/Resources/Prototypes/Recipes/Construction/structures.yml +++ b/Resources/Prototypes/Recipes/Construction/structures.yml @@ -1784,4 +1784,96 @@ state: state0 objectType: Structure placementMode: SnapgridCenter + +- type: construction + name: shuttle uranium window + id: ShuttleWindowUran + graph: Window + startNode: start + targetNode: shuttleWindowUran + category: construction-category-structures + description: Extra sturdy to resist the pressure of FTL or sustain damage from munitions. + icon: + sprite: Forge/Structures/Windows/shuttle_uran_window.rsi + state: full + objectType: Structure + placementMode: SnapgridCenter + canRotate: false + canBuildInImpassable: false + conditions: + - !type:TileNotBlocked + +# - type: construction +# name: shuttle diagonal uranium window +# id: ShuttleWindowUranDiagonal +# graph: Window +# startNode: start +# targetNode: shuttleWindowUranDiagonal +# category: construction-category-structures +# description: Extra sturdy to resist the pressure of FTL or sustain damage from munitions. +# canBuildInImpassable: true +# conditions: +# - !type:EmptyOrWindowValidInTile +# - !type:NoWindowsInTile +# icon: +# drawdepth: Walls +# sprite: Forge/Structures/Windows/shuttle_uran_window_diagonal.rsi +# state: state0 +# objectType: Structure +# placementMode: SnapgridCenter + +# - type: construction +# name: shuttle plasma window +# id: ShuttleWindowPlasma +# graph: Window +# startNode: start +# targetNode: shuttleWindowPlasma +# category: construction-category-structures +# description: Extra sturdy to resist the pressure of FTL or sustain damage from munitions. +# icon: +# sprite: Forge/Structures/Windows/shuttle_plasma_window.rsi +# state: full +# objectType: Structure +# placementMode: SnapgridCenter +# canRotate: false +# canBuildInImpassable: false +# conditions: +# - !type:TileNotBlocked + +# - type: construction +# name: shuttle diagonal plasma window +# id: ShuttleWindowPlasmaDiagonal +# graph: Window +# startNode: start +# targetNode: shuttleWindowPlasmaDiagonal +# category: construction-category-structures +# description: Keeps the air in and the greytide out. +# canBuildInImpassable: true +# conditions: +# - !type:EmptyOrWindowValidInTile +# - !type:NoWindowsInTile +# icon: +# drawdepth: Walls +# sprite: Forge/Structures/Windows/shuttle_plasma_window_diagonal.rsi +# state: state0 +# objectType: Structure +# placementMode: SnapgridCenter + +- type: construction + name: shuttle diagonal window + id: ShuttleWindowDiagonal + graph: Window + startNode: start + targetNode: shuttleWindowDiagonal + category: construction-category-structures + description: Keeps the air in and the greytide out. + canBuildInImpassable: true + conditions: + - !type:EmptyOrWindowValidInTile + - !type:NoWindowsInTile + icon: + sprite: Structures/Windows/shuttle_window_diagonal.rsi + state: state0 + objectType: Structure + placementMode: SnapgridCenter # Forge-Change-End diff --git a/Resources/Prototypes/_Forge/Entities/Structures/Windows/shuttle.yml b/Resources/Prototypes/_Forge/Entities/Structures/Windows/shuttle.yml index bca112bf667..cbef30df6b3 100644 --- a/Resources/Prototypes/_Forge/Entities/Structures/Windows/shuttle.yml +++ b/Resources/Prototypes/_Forge/Entities/Structures/Windows/shuttle.yml @@ -1,6 +1,6 @@ - type: entity id: ShuttleWindowUran - name: shuttle window + name: shuttle uranium window parent: Window # Frontier: WindowRCDResistant Date: Thu, 11 Jun 2026 21:33:22 +0600 Subject: [PATCH 10/14] Added crafts Shuttle plsama window, Shuttle uranium window and their diagonal variations, also added Shuttle Diagonal Wall craft and fix bug with Plastitanium Diagonal Wall --- .../Construction/Graphs/structures/girder.yml | 95 +++++++-------- .../Construction/Graphs/structures/window.yml | 60 ++++++++++ .../Recipes/Construction/structures.yml | 108 +++++++++--------- .../Entities/Structures/Windows/shuttle.yml | 9 ++ 4 files changed, 171 insertions(+), 101 deletions(-) diff --git a/Resources/Prototypes/Recipes/Construction/Graphs/structures/girder.yml b/Resources/Prototypes/Recipes/Construction/Graphs/structures/girder.yml index 4bdaa3ec834..96b4334210e 100644 --- a/Resources/Prototypes/Recipes/Construction/Graphs/structures/girder.yml +++ b/Resources/Prototypes/Recipes/Construction/Graphs/structures/girder.yml @@ -345,9 +345,8 @@ conditions: - !type:EntityAnchored { } steps: - - tool: Prying - doAfter: 1 - - tool: Screwing + - material: Steel + amount: 2 doAfter: 1 - material: Plasteel amount: 2 @@ -370,21 +369,23 @@ #Mono - create diagonal plastitanium wall - to: wallPlastitaniumDiagonal completed: - - !type:SnapToGrid - southRotation: false + - !type:SnapToGrid + southRotation: false conditions: - - !type:EntityAnchored { } + - !type:EntityAnchored { } # Forge-Change steps: - - tool: Prying - doAfter: 1 - - tool: Welding - doAfter: 2 - - material: Plasteel - amount: 2 - doAfter: 1 - - material: Plastitanium - amount: 2 - doAfter: 1 + # Forge-Change-Start + - tool: Prying + doAfter: 1 + - tool: Welding + doAfter: 2 + - material: Plasteel + amount: 2 + doAfter: 1 + - material: Plastitanium + amount: 2 + doAfter: 1 + # Forge-Change-End - to: plastitaniumWall completed: @@ -756,36 +757,38 @@ - node: wallPlastitaniumDiagonal entity: WallPlastitaniumDiagonal edges: - - to: reinforcedGirder - completed: - - !type:SpawnPrototype - prototype: ScrapSteel - amount: 1 - steps: - - tool: Cutting - doAfter: 1 - - tool: Screwing - doAfter: 1 - - tool: Welding - doAfter: 5 - - tool: Prying - doAfter: 1 - - tool: Anchoring - doAfter: 1 - - tool: Welding - doAfter: 10 - - tool: Prying - doAfter: 1 - - tool: Screwing - doAfter: 1 - - tool: Cutting - doAfter: 1 - - tool: Welding - doAfter: 15 - - tool: Prying - doAfter: 5 - - tool: Anchoring - doAfter: 1 + # Forge-Change-Start + - to: reinforcedGirder + completed: + - !type:SpawnPrototype + prototype: ScrapSteel + amount: 1 + steps: + - tool: Cutting + doAfter: 1 + - tool: Screwing + doAfter: 1 + - tool: Welding + doAfter: 5 + - tool: Prying + doAfter: 1 + - tool: Anchoring + doAfter: 1 + - tool: Welding + doAfter: 10 + - tool: Prying + doAfter: 1 + - tool: Screwing + doAfter: 1 + - tool: Cutting + doAfter: 1 + - tool: Welding + doAfter: 15 + - tool: Prying + doAfter: 5 + - tool: Anchoring + doAfter: 1 + # Forge-Change-End - node: plastitaniumWall entity: WallPlastitanium diff --git a/Resources/Prototypes/Recipes/Construction/Graphs/structures/window.yml b/Resources/Prototypes/Recipes/Construction/Graphs/structures/window.yml index 21b8dd28e8b..9c7b3a23be2 100644 --- a/Resources/Prototypes/Recipes/Construction/Graphs/structures/window.yml +++ b/Resources/Prototypes/Recipes/Construction/Graphs/structures/window.yml @@ -68,6 +68,27 @@ - material: ReinforcedUraniumGlass amount: 2 doAfter: 4 + - to: shuttleWindowUranDiagonal + steps: + - material: Plasteel + amount: 2 + - material: ReinforcedUraniumGlass + amount: 2 + doAfter: 4 + - to: shuttleWindowPlasma + steps: + - material: Plasteel + amount: 2 + - material: ReinforcedPlasmaGlass + amount: 2 + doAfter: 4 + - to: shuttleWindowPlasmaDiagonal + steps: + - material: Plasteel + amount: 2 + - material: ReinforcedPlasmaGlass + amount: 2 + doAfter: 4 # Forge-Change-End - to: clockworkWindow steps: @@ -296,4 +317,43 @@ amount: 2 - !type:DeleteEntity {} steps: *deconstructionWindow + - node: shuttleWindowUranDiagonal + entity: ShuttleWindowUranDiagonal + edges: + - to: start + completed: + - !type:SpawnPrototype + prototype: SheetRUGlass1 + amount: 2 + - !type:SpawnPrototype + prototype: SheetPlasteel1 + amount: 2 + - !type:DeleteEntity {} + steps: *deconstructionWindow + - node: shuttleWindowPlasma + entity: ShuttleWindowPlasma + edges: + - to: start + completed: + - !type:SpawnPrototype + prototype: SheetRPGlass1 + amount: 2 + - !type:SpawnPrototype + prototype: SheetPlasteel1 + amount: 2 + - !type:DeleteEntity {} + steps: *deconstructionWindow + - node: shuttleWindowPlasmaDiagonal + entity: ShuttleWindowPlasmaDiagonal + edges: + - to: start + completed: + - !type:SpawnPrototype + prototype: SheetRPGlass1 + amount: 2 + - !type:SpawnPrototype + prototype: SheetPlasteel1 + amount: 2 + - !type:DeleteEntity {} + steps: *deconstructionWindow # Forge-Change-End diff --git a/Resources/Prototypes/Recipes/Construction/structures.yml b/Resources/Prototypes/Recipes/Construction/structures.yml index cbfac3a0e68..2b47a013419 100644 --- a/Resources/Prototypes/Recipes/Construction/structures.yml +++ b/Resources/Prototypes/Recipes/Construction/structures.yml @@ -1803,61 +1803,59 @@ conditions: - !type:TileNotBlocked -# - type: construction -# name: shuttle diagonal uranium window -# id: ShuttleWindowUranDiagonal -# graph: Window -# startNode: start -# targetNode: shuttleWindowUranDiagonal -# category: construction-category-structures -# description: Extra sturdy to resist the pressure of FTL or sustain damage from munitions. -# canBuildInImpassable: true -# conditions: -# - !type:EmptyOrWindowValidInTile -# - !type:NoWindowsInTile -# icon: -# drawdepth: Walls -# sprite: Forge/Structures/Windows/shuttle_uran_window_diagonal.rsi -# state: state0 -# objectType: Structure -# placementMode: SnapgridCenter - -# - type: construction -# name: shuttle plasma window -# id: ShuttleWindowPlasma -# graph: Window -# startNode: start -# targetNode: shuttleWindowPlasma -# category: construction-category-structures -# description: Extra sturdy to resist the pressure of FTL or sustain damage from munitions. -# icon: -# sprite: Forge/Structures/Windows/shuttle_plasma_window.rsi -# state: full -# objectType: Structure -# placementMode: SnapgridCenter -# canRotate: false -# canBuildInImpassable: false -# conditions: -# - !type:TileNotBlocked - -# - type: construction -# name: shuttle diagonal plasma window -# id: ShuttleWindowPlasmaDiagonal -# graph: Window -# startNode: start -# targetNode: shuttleWindowPlasmaDiagonal -# category: construction-category-structures -# description: Keeps the air in and the greytide out. -# canBuildInImpassable: true -# conditions: -# - !type:EmptyOrWindowValidInTile -# - !type:NoWindowsInTile -# icon: -# drawdepth: Walls -# sprite: Forge/Structures/Windows/shuttle_plasma_window_diagonal.rsi -# state: state0 -# objectType: Structure -# placementMode: SnapgridCenter +- type: construction + name: shuttle diagonal uranium window + id: ShuttleWindowUranDiagonal + graph: Window + startNode: start + targetNode: shuttleWindowUranDiagonal + category: construction-category-structures + description: Extra sturdy to resist the pressure of FTL or sustain damage from munitions. + canBuildInImpassable: true + conditions: + - !type:EmptyOrWindowValidInTile + - !type:NoWindowsInTile + icon: + sprite: Forge/Structures/Windows/shuttle_uran_window_diagonal.rsi + state: state0 + objectType: Structure + placementMode: SnapgridCenter + +- type: construction + name: shuttle plasma window + id: ShuttleWindowPlasma + graph: Window + startNode: start + targetNode: shuttleWindowPlasma + category: construction-category-structures + description: Extra sturdy to resist the pressure of FTL or sustain damage from munitions. + icon: + sprite: Forge/Structures/Windows/shuttle_plasma_window.rsi + state: full + objectType: Structure + placementMode: SnapgridCenter + canRotate: false + canBuildInImpassable: false + conditions: + - !type:TileNotBlocked + +- type: construction + name: shuttle diagonal plasma window + id: ShuttleWindowPlasmaDiagonal + graph: Window + startNode: start + targetNode: shuttleWindowPlasmaDiagonal + category: construction-category-structures + description: Keeps the air in and the greytide out. + canBuildInImpassable: true + conditions: + - !type:EmptyOrWindowValidInTile + - !type:NoWindowsInTile + icon: + sprite: Forge/Structures/Windows/shuttle_plasma_window_diagonal.rsi + state: state0 + objectType: Structure + placementMode: SnapgridCenter - type: construction name: shuttle diagonal window diff --git a/Resources/Prototypes/_Forge/Entities/Structures/Windows/shuttle.yml b/Resources/Prototypes/_Forge/Entities/Structures/Windows/shuttle.yml index cbef30df6b3..2e5688b5dec 100644 --- a/Resources/Prototypes/_Forge/Entities/Structures/Windows/shuttle.yml +++ b/Resources/Prototypes/_Forge/Entities/Structures/Windows/shuttle.yml @@ -102,6 +102,9 @@ sprite: Structures/Windows/cracks_diagonal.rsi - type: RadiationBlocker resistance: 4 + - type: Construction + graph: Window + node: shuttleWindowUranDiagonal - type: entity id: ShuttleWindowPlasma @@ -157,6 +160,9 @@ price: 70 # Frontier: 150<70 - type: RadiationBlocker resistance: 3 + - type: Construction + graph: Window + node: shuttleWindowPlasma - type: entity parent: ShuttleWindowPlasma @@ -204,3 +210,6 @@ sprite: Structures/Windows/cracks_diagonal.rsi - type: RadiationBlocker resistance: 3 + - type: Construction + graph: Window + node: shuttleWindowPlasmaDiagonal From 60b470a7afb584b5a45eff0cf41c45eeacc8c5e9 Mon Sep 17 00:00:00 2001 From: gordod3 Date: Fri, 12 Jun 2026 00:13:34 +0600 Subject: [PATCH 11/14] Added Ru-Translate all new crafts --- Resources/Locale/ru-RU/recipes/recipes.ftl | 88 +++++++++++++++++++ .../_Mono/entities/materials/materials.ftl | 9 ++ .../entities/structures/walls/walls.ftl | 4 +- 3 files changed, 99 insertions(+), 2 deletions(-) diff --git a/Resources/Locale/ru-RU/recipes/recipes.ftl b/Resources/Locale/ru-RU/recipes/recipes.ftl index 75e6b99ab48..fadbf4204ba 100644 --- a/Resources/Locale/ru-RU/recipes/recipes.ftl +++ b/Resources/Locale/ru-RU/recipes/recipes.ftl @@ -1,2 +1,90 @@ recipes-secret-door-name = потайная дверь recipes-secret-door-desc = Дверь, замаскированная под стену. Идеальное решение для сокрытия ваших тёмных делишек. + + +#MiningWalls +construction-recipe-wall-mining = { ent-WallMining } +construction-recipe-wall-mining-desc = { ent-WallMining.desc } +construction-recipe-wall-mining-diagonal = { ent-WallMiningDiagonal } +construction-recipe-wall-mining-diagonal-desc = { ent-WallMiningDiagonal.desc } + +#MiningWindows +construction-recipe-mining-window = { ent-MiningWindow } +construction-recipe-mining-window-desc = { ent-MiningWindow.desc } +construction-recipe-mining-window-diagonal = { ent-MiningWindow } +construction-recipe-mining-window-diagonal-desc = { ent-MiningWindow.desc } + +construction-recipe-mining-window-plasma = { ent-MiningWindowPlasma } +construction-recipe-mining-window-plasma-desc = { ent-MiningWindowPlasma.desc } +construction-recipe-mining-window-plasma-diagonal = { ent-MiningWindowPlasmaDiagonal } +construction-recipe-mining-window-plasma-diagonal-desc = { ent-MiningWindowPlasmaDiagonal.desc } + +construction-recipe-mining-window-uran = { ent-MiningWindowUran } +construction-recipe-mining-window-uran-desc = { ent-MiningWindowUran.desc } +construction-recipe-mining-window-uran-diagonal = { ent-MiningWindowUranDiagonal } +construction-recipe-mining-window-uran-diagonal-desc = { ent-MiningWindowUranDiagonal.desc } + + +#PlastitaniumWalls +construction-recipe-plastitanium-wall = { ent-WallPlastitanium } +construction-recipe-plastitanium-wall-desc = { ent-WallPlastitanium.desc } +construction-recipe-wall-plastitanium-diagonal = { ent-WallPlastitaniumDiagonal } +construction-recipe-wall-plastitanium-diagonal-desc = { ent-WallPlastitaniumDiagonal.desc } + +#PlastitaniumWindows +construction-recipe-plastitanium-window = { ent-PlastitaniumWindow } +construction-recipe-plastitanium-window-desc = { ent-PlastitaniumWindow.desc } +construction-recipe-plastitanium-window-diagonal = { ent-PlastitaniumWindow } +construction-recipe-plastitanium-window-diagonal-desc = { ent-PlastitaniumWindow.desc } + +construction-recipe-plastitanium-window-plasma = { ent-PlastitaniumWindowPlasma } +construction-recipe-plastitanium-window-plasma-desc = { ent-PlastitaniumWindowPlasma.desc } +construction-recipe-plastitanium-window-plasma-diagonal = { ent-PlastitaniumWindowPlasmaDiagonal } +construction-recipe-plastitanium-window-plasma-diagonal-desc = { ent-PlastitaniumWindowPlasmaDiagonal.desc } + +construction-recipe-plastitanium-window-uran = { ent-PlastitaniumWindowUran } +construction-recipe-plastitanium-window-uran-desc = { ent-PlastitaniumWindowUran.desc } +construction-recipe-plastitanium-window-uran-diagonal = { ent-PlastitaniumWindowUranDiagonal } +construction-recipe-plastitanium-window-uran-diagonal-desc = { ent-PlastitaniumWindowUranDiagonal.desc } + + +#ShuttlemWalls +construction-recipe-shuttle-wall = { ent-WallShuttle } +construction-recipe-shuttle-wall-desc = { ent-WallShuttle.desc } +construction-recipe-shuttle-secret-door-construction = стена шаттла (секретная дверь) +construction-recipe-shuttle-secret-door-construction-desc = Дверь засекреченная под стену шаттла +construction-recipe-interior-shuttle-wall = { ent-WallShuttleInterior } +construction-recipe-interior-shuttle-wall-desc = { ent-WallShuttleInterior.desc } + +#ShuttleWindows +construction-recipe-shuttle-window = { ent-ShuttleWindow } +construction-recipe-shuttle-window-desc = { ent-ShuttleWindow.desc } +construction-recipe-shuttle-window-diagonal = { ent-ShuttleWindow } +construction-recipe-shuttle-window-diagonal-desc = { ent-ShuttleWindow.desc } + +construction-recipe-shuttle-window-plasma = { ent-ShuttleWindowPlasma } +construction-recipe-shuttle-window-plasma-desc = { ent-ShuttleWindowPlasma.desc } +construction-recipe-shuttle-window-plasma-diagonal = { ent-ShuttleWindowPlasmaDiagonal } +construction-recipe-shuttle-window-plasma-diagonal-desc = { ent-ShuttleWindowPlasmaDiagonal.desc } + +construction-recipe-shuttle-window-uran = { ent-ShuttleWindowUran } +construction-recipe-shuttle-window-uran-desc = { ent-ShuttleWindowUran.desc } +construction-recipe-shuttle-window-uran-diagonal = { ent-ShuttleWindowUranDiagonal } +construction-recipe-shuttle-window-uran-diagonal-desc = { ent-ShuttleWindowUranDiagonal.desc } + + +#Materials +construction-recipe-sheet-plastitanium-glass-1 = { ent-SheetPlastitaniumGlass } +construction-recipe-sheet-plastitanium-glass-1-desc = { ent-SheetPlastitaniumGlass.desc } + + +#FillingCabinets +construction-recipe-extinguisher-cabinet = { ent-ExtinguisherCabinet } +construction-recipe-extinguisher-cabinet-desc = { ent-ExtinguisherCabinet.desc } +construction-recipe-defibrillator-cabinet = { ent-DefibrillatorCabinet } +construction-recipe-defibrillator-cabinet-desc = { ent-DefibrillatorCabinet.desc } + + +#SuitStorageBase +construction-recipe-suit-storage = { ent-SuitStorageBase } +construction-recipe-suit-storage-desc = { ent-SuitStorageBase.desc } diff --git a/Resources/Locale/ru-RU/ss14-ru/prototypes/_Mono/entities/materials/materials.ftl b/Resources/Locale/ru-RU/ss14-ru/prototypes/_Mono/entities/materials/materials.ftl index baaa5d6c263..3ffbd769a8d 100644 --- a/Resources/Locale/ru-RU/ss14-ru/prototypes/_Mono/entities/materials/materials.ftl +++ b/Resources/Locale/ru-RU/ss14-ru/prototypes/_Mono/entities/materials/materials.ftl @@ -35,6 +35,15 @@ ent-SheetPlastitanium1 = { ent-SheetPlastitanium } ent-SheetPlastitanium10 = { ent-SheetPlastitanium } .suffix = 10 .desc = { ent-SheetPlastitanium.desc } +ent-SheetPlastitaniumGlass = пластитановое стекло + .suffix = Полный + .desc = Широко производимый высокопрочный сплав объедененный со стеклом! Крайне крепкий и практически бесполезный... +ent-SheetPlastitaniumGlass1 = { ent-SheetPlastitaniumGlass } + .suffix = 1 + .desc = { ent-SheetPlastitaniumGlass.desc } +ent-SheetPlastitaniumGlass10 = { ent-SheetPlastitaniumGlass } + .suffix = 10 + .desc = { ent-SheetPlastitaniumGlass.desc } ent-MaterialDiamond5 = { ent-MaterialDiamond } .suffix = Утилизация .desc = { ent-MaterialDiamond.desc } diff --git a/Resources/Locale/ru-RU/ss14-ru/prototypes/entities/structures/walls/walls.ftl b/Resources/Locale/ru-RU/ss14-ru/prototypes/entities/structures/walls/walls.ftl index 5d1259ffde2..2c10da38862 100644 --- a/Resources/Locale/ru-RU/ss14-ru/prototypes/entities/structures/walls/walls.ftl +++ b/Resources/Locale/ru-RU/ss14-ru/prototypes/entities/structures/walls/walls.ftl @@ -70,9 +70,9 @@ ent-WallWeb = паутинная стена .desc = Удерживает паучат внутри, а ассистентов снаружи. ent-WallNecropolis = каменная стена .desc = { ent-BaseWall.desc } -ent-WallMining = стена +ent-WallMining = шахтёрская стена .desc = { ent-BaseWall.desc } -ent-WallMiningDiagonal = стена +ent-WallMiningDiagonal = { ent-WallMining } .suffix = Диагональ .desc = { ent-WallShuttleDiagonal.desc } ent-WallVaultAlien = инопланетная стена хранилища From 9523aebe8bee7f06908b82a1f39f35fae26c301c Mon Sep 17 00:00:00 2001 From: gordod3 Date: Fri, 12 Jun 2026 00:39:51 +0600 Subject: [PATCH 12/14] Bug fix --- .../Recipes/Construction/Graphs/structures/girder.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Resources/Prototypes/Recipes/Construction/Graphs/structures/girder.yml b/Resources/Prototypes/Recipes/Construction/Graphs/structures/girder.yml index 96b4334210e..a7aacfe131f 100644 --- a/Resources/Prototypes/Recipes/Construction/Graphs/structures/girder.yml +++ b/Resources/Prototypes/Recipes/Construction/Graphs/structures/girder.yml @@ -345,6 +345,8 @@ conditions: - !type:EntityAnchored { } steps: + - tool: Prying + doAfter: 1 - material: Steel amount: 2 doAfter: 1 From 86c9a76ef18a63f724c7d11de6135e8c360d2995 Mon Sep 17 00:00:00 2001 From: gordod3 Date: Fri, 12 Jun 2026 01:36:05 +0600 Subject: [PATCH 13/14] Added craft of SuitStorageWallmount --- Resources/Locale/ru-RU/recipes/recipes.ftl | 3 ++ .../Crafting/Graphs/storage/tallbox.yml | 28 +++++++++++++++++++ .../Prototypes/Recipes/Crafting/tallbox.yml | 16 +++++++++++ .../Storage/Closets/suit_storage_wall.yml | 9 +++++- 4 files changed, 55 insertions(+), 1 deletion(-) diff --git a/Resources/Locale/ru-RU/recipes/recipes.ftl b/Resources/Locale/ru-RU/recipes/recipes.ftl index fadbf4204ba..b2362aca914 100644 --- a/Resources/Locale/ru-RU/recipes/recipes.ftl +++ b/Resources/Locale/ru-RU/recipes/recipes.ftl @@ -88,3 +88,6 @@ construction-recipe-defibrillator-cabinet-desc = { ent-DefibrillatorCabinet.desc #SuitStorageBase construction-recipe-suit-storage = { ent-SuitStorageBase } construction-recipe-suit-storage-desc = { ent-SuitStorageBase.desc } + +construction-recipe-suit-storage-wallmount = { ent-SuitStorageWallmount } +construction-recipe-suit-storage-desc = { ent-SuitStorageWallmount.desc } diff --git a/Resources/Prototypes/Recipes/Crafting/Graphs/storage/tallbox.yml b/Resources/Prototypes/Recipes/Crafting/Graphs/storage/tallbox.yml index 289aa11bd86..2723f209805 100644 --- a/Resources/Prototypes/Recipes/Crafting/Graphs/storage/tallbox.yml +++ b/Resources/Prototypes/Recipes/Crafting/Graphs/storage/tallbox.yml @@ -187,6 +187,13 @@ - material: Cable amount: 2 doAfter: 5 + - to: suitStorageWallmount + steps: + - material: Steel + amount: 4 + - material: Cable + amount: 2 + doAfter: 5 - node: done entity: SuitStorageBase edges: @@ -208,4 +215,25 @@ amount: 2 - !type:EmptyAllContainers - !type:DeleteEntity + - node: suitStorageWallmount + entity: SuitStorageWallmount + edges: + - to: start + steps: + - tool: Screwing + doAfter: 5 + conditions: + - !type:StorageWelded + welded: false + - !type:Locked + locked: false + completed: + - !type:SpawnPrototype + prototype: SheetSteel1 + amount: 4 + - !type:SpawnPrototype + prototype: CableApcStack1 + amount: 2 + - !type:EmptyAllContainers + - !type:DeleteEntity # Forge-Change-End diff --git a/Resources/Prototypes/Recipes/Crafting/tallbox.yml b/Resources/Prototypes/Recipes/Crafting/tallbox.yml index 76b7dae8562..fa3050c67dc 100644 --- a/Resources/Prototypes/Recipes/Crafting/tallbox.yml +++ b/Resources/Prototypes/Recipes/Crafting/tallbox.yml @@ -70,4 +70,20 @@ icon: { sprite: Structures/Storage/suit_storage.rsi, state: base } objectType: Structure placementMode: SnapgridCenter + +- type: construction + id: SuitStorageWallmount + name: suit wallstorage unit + graph: SuitStorage + startNode: start + targetNode: suitStorageWallmount + category: construction-category-storage + description: A fancy hi-tech storage unit made for storing space suits. + icon: { sprite: _NF/Structures/Storage/suit_storage_wall.rsi, state: generic } + objectType: Structure + placementMode: SnapgridCenter + canRotate: true + canBuildInImpassable: true + conditions: + - !type:WallmountCondition # Forge-Change-End diff --git a/Resources/Prototypes/_NF/Entities/Structures/Storage/Closets/suit_storage_wall.yml b/Resources/Prototypes/_NF/Entities/Structures/Storage/Closets/suit_storage_wall.yml index 12e121a159c..6cb23562a2f 100644 --- a/Resources/Prototypes/_NF/Entities/Structures/Storage/Closets/suit_storage_wall.yml +++ b/Resources/Prototypes/_NF/Entities/Structures/Storage/Closets/suit_storage_wall.yml @@ -1,6 +1,6 @@ - type: entity id: SuitStorageWallmount - parent: + parent: - BaseStructureWallmount - BaseWallCloset - SuitStorageBase @@ -31,3 +31,10 @@ path: /Audio/Machines/windoor_open.ogg denySound: path: /Audio/Machines/airlock_deny.ogg + # Forge-Change-Start + - type: Construction + graph: SuitStorage + node: suitStorageWallmount + containers: + - entity_storage + # Forge-Change-End From c49c1f8105eb90792519b0f7375fdce839d7fdaa Mon Sep 17 00:00:00 2001 From: gordod3 Date: Tue, 23 Jun 2026 22:23:36 +0600 Subject: [PATCH 14/14] Balance PlastitaniumWindows to it actual price --- .../Graphs/structures/plastitanium.yml | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/Resources/Prototypes/_NF/Recipes/Construction/Graphs/structures/plastitanium.yml b/Resources/Prototypes/_NF/Recipes/Construction/Graphs/structures/plastitanium.yml index 8ff5b686b37..0070e1e7608 100644 --- a/Resources/Prototypes/_NF/Recipes/Construction/Graphs/structures/plastitanium.yml +++ b/Resources/Prototypes/_NF/Recipes/Construction/Graphs/structures/plastitanium.yml @@ -55,7 +55,7 @@ - to: start completed: - !type:SpawnPrototype - prototype: SheetPlastitaniumGlass1 # Forge-Change + prototype: ShardGlass # Forge-Change amount: 2 - !type:DeleteEntity {} steps: &deconstructionSteps # Forge-Change @@ -97,7 +97,7 @@ - to: start completed: - !type:SpawnPrototype - prototype: SheetPlastitaniumGlass1 + prototype: ShardGlass amount: 2 - !type:DeleteEntity {} steps: *deconstructionSteps @@ -107,10 +107,10 @@ - to: start completed: - !type:SpawnPrototype - prototype: SheetPlastitaniumGlass1 + prototype: ShardGlass amount: 2 - !type:SpawnPrototype - prototype: SheetUranium1 + prototype: ShardGlassUranium amount: 2 - !type:DeleteEntity {} steps: *deconstructionSteps @@ -120,10 +120,10 @@ - to: start completed: - !type:SpawnPrototype - prototype: SheetPlastitaniumGlass1 + prototype: ShardGlass amount: 2 - !type:SpawnPrototype - prototype: SheetUranium1 + prototype: ShardGlassUranium amount: 2 - !type:DeleteEntity {} steps: *deconstructionSteps @@ -133,10 +133,10 @@ - to: start completed: - !type:SpawnPrototype - prototype: SheetPlastitaniumGlass1 + prototype: ShardGlass amount: 2 - !type:SpawnPrototype - prototype: SheetPlasma1 + prototype: ShardGlassPlasma amount: 2 - !type:DeleteEntity {} steps: *deconstructionSteps @@ -146,10 +146,10 @@ - to: start completed: - !type:SpawnPrototype - prototype: SheetPlastitaniumGlass1 + prototype: ShardGlass amount: 2 - !type:SpawnPrototype - prototype: SheetPlasma1 + prototype: ShardGlassPlasma amount: 2 - !type:DeleteEntity {} steps: *deconstructionSteps