From b619037c0a77e3dce4d41db553a47f759b309d34 Mon Sep 17 00:00:00 2001 From: Eugeny Date: Sat, 27 Apr 2024 01:30:18 +0400 Subject: [PATCH 01/11] =?UTF-8?q?=D1=81=D0=B5=D1=82=20=D0=9B=D0=B0=D0=BF?= =?UTF-8?q?=D0=BA=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../lapkeeset_boots.rsi/equipped-FEET.png | Bin 0 -> 395 bytes .../Shoes/Boots/lapkeeset_boots.rsi/icon.png | Bin 0 -> 549 bytes .../Boots/lapkeeset_boots.rsi/inhand-left.png | Bin 0 -> 345 bytes .../lapkeeset_boots.rsi/inhand-right.png | Bin 0 -> 355 bytes .../Shoes/Boots/lapkeeset_boots.rsi/meta.json | 26 ++++++++++++++++++ 5 files changed, 26 insertions(+) create mode 100644 Resources/Textures/ADT/Clothing/Shoes/Boots/lapkeeset_boots.rsi/equipped-FEET.png create mode 100644 Resources/Textures/ADT/Clothing/Shoes/Boots/lapkeeset_boots.rsi/icon.png create mode 100644 Resources/Textures/ADT/Clothing/Shoes/Boots/lapkeeset_boots.rsi/inhand-left.png create mode 100644 Resources/Textures/ADT/Clothing/Shoes/Boots/lapkeeset_boots.rsi/inhand-right.png create mode 100644 Resources/Textures/ADT/Clothing/Shoes/Boots/lapkeeset_boots.rsi/meta.json diff --git a/Resources/Textures/ADT/Clothing/Shoes/Boots/lapkeeset_boots.rsi/equipped-FEET.png b/Resources/Textures/ADT/Clothing/Shoes/Boots/lapkeeset_boots.rsi/equipped-FEET.png new file mode 100644 index 0000000000000000000000000000000000000000..18f2a73590103a33f6d2307a452cafd924517314 GIT binary patch literal 395 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-D%zT|HeKLn`LH zy|p)}*+HW9q4061?Vg*QCNH^i_V0baEg{kq<}0lh&1RjPa&2O&3-|ryO&bn#%9m8D z01bkG2k{Y0boOnIe9?d3e$Sro+{r#W_8K0ZwSAS(uIKU3^2F_R4Ab+cb60 zTX|)#oXlfpPcE*G%wGKS+AYtYi1qwJj`Aq}%5F;jEoup`nLwS?+7v`Dy*} zw(pm9PdoWW&yUT&6?H8tHB!&hN=Brvh@-YHQp`C{Cw|f<9sg7ErVKCt9PB^-_`~m) zg_o~I>0VFHpPAxg2XiAsgTC*r1185SIS?womaO17I(+a zH(Fn68$%}FyLEUk_g}vcclI{ShzL*E8uR+&%L#MrtEz3%-T`%%$F_z{X8Z8zS528+ iy1s(iHPIQjgnzJH_ddjYzvRy?kbR!6elF{r5}E*FgR%Yq literal 0 HcmV?d00001 diff --git a/Resources/Textures/ADT/Clothing/Shoes/Boots/lapkeeset_boots.rsi/icon.png b/Resources/Textures/ADT/Clothing/Shoes/Boots/lapkeeset_boots.rsi/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..0835f090d5e7c63031cf892264fec9191a29b240 GIT binary patch literal 549 zcmV+=0^0qFP)Px$-$_J4R9J=WlTmZhKoo^P$dUwb15z?nr_L}fq}Koc7aVBG)_rBtd;W&^;Ec%|yG zn9s0F4#1B1hO1OP)~g7ub*hQXPvHB0@&rZ8CJG-hW{D6bgs|A=HlnWU0vt3@%xXaE z5Gg%gzBpkqpJB`r0ArS{S26Y4b2?`Mi}?(#bs}uc>R{i0zJWv2L&gnA>BXDrwbn%8 zBeqjUh!Vv@F_~U#&3YA4v}|10rE?b0I(~Jqw@4#8-8b>{ewdtN3^7V6;+4dXQh-)1t$p@13n!k~Xcr+dNhZn8@h1WHYx n)Js`o(EpWcAV-cIIdc2~3Hj^|sb58$00000NkvXXu0mjf{=5Q2 literal 0 HcmV?d00001 diff --git a/Resources/Textures/ADT/Clothing/Shoes/Boots/lapkeeset_boots.rsi/inhand-left.png b/Resources/Textures/ADT/Clothing/Shoes/Boots/lapkeeset_boots.rsi/inhand-left.png new file mode 100644 index 0000000000000000000000000000000000000000..aa3b60fc91d21efa16a304d96f89706c8ff9f656 GIT binary patch literal 345 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-D%zg*{yyLn`LH zy|ppxuz^VH!^f9AnN%k}o$hhsx4lQ^{DrwOylmN_%S6n*75Axe{LBAR@L{h<#fOPN zb3kCt!#S&UpYDrjvwXhl`#qyi)4$hER-K{y!0b<5`G&4P$@{HyHnoIzPk8!4llRxJ ze`_wAl#1P)B;vF}llQdy)+tGo@{5?fH1FD+7YqD9>v?3@Vehu^1ye3PonzW3KDRHu zRluh&i(}!uzVzP5u9oSSAF7@-@tO2%MpjRtCU4dMip#TB7uf&tmpgmET)5Wf>L->j zhPj_OSs-o$dfWTjKRt6@51Yfc&NX=2KbR@j+S6{u?5lrZk;TP7qB|}Dt=gvrixz#k9N7#q#?#f$Wt~$(6978bl63$8 literal 0 HcmV?d00001 diff --git a/Resources/Textures/ADT/Clothing/Shoes/Boots/lapkeeset_boots.rsi/inhand-right.png b/Resources/Textures/ADT/Clothing/Shoes/Boots/lapkeeset_boots.rsi/inhand-right.png new file mode 100644 index 0000000000000000000000000000000000000000..c20dc92583582a309b5a5685f0e33d8a9353f639 GIT binary patch literal 355 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-D%zWj$RSLn`LH zz2%s9SV5rmVc}I#kI5{Ly;V;A)Gst9?xsH7Fpipz44yU*E~_PZojq2+3GWrOIDry zo%mPtsKo9?_J0?ae!R#3>D#|q%Q8gTe~DWM4f*fy4^ literal 0 HcmV?d00001 diff --git a/Resources/Textures/ADT/Clothing/Shoes/Boots/lapkeeset_boots.rsi/meta.json b/Resources/Textures/ADT/Clothing/Shoes/Boots/lapkeeset_boots.rsi/meta.json new file mode 100644 index 00000000000..c89df3fe987 --- /dev/null +++ b/Resources/Textures/ADT/Clothing/Shoes/Boots/lapkeeset_boots.rsi/meta.json @@ -0,0 +1,26 @@ +{ +"version": 1, +"license": "CC-BY-SA-3.0", +"copyright": "Created by discord:lapkee", +"size": { + "x": 32, + "y": 32 +}, +"states": [ + { + "name": "icon" + }, + { + "name": "equipped-FEET", + "directions": 4 + }, + { + "name": "inhand-left", + "directions": 4 + }, + { + "name": "inhand-right", + "directions": 4 + } +] +} \ No newline at end of file From 7655ebc8bfe95f627c098fcc866e927820b620e4 Mon Sep 17 00:00:00 2001 From: Xelasto <86181060+Xelasto@users.noreply.github.com> Date: Tue, 30 Apr 2024 15:47:47 +0300 Subject: [PATCH 02/11] bluespace-harvester --- .../BluespaceHarvesterBoundUserInterface.cs | 53 ++ .../BluespaceHarvesterCategory.xaml | 6 + .../BluespaceHarvesterCategory.xaml.cs | 20 + .../BluespaceHarvesterMenu.xaml | 46 ++ .../BluespaceHarvesterMenu.xaml.cs | 60 ++ .../BluespaceHarvesterBundleComponent.cs | 14 + .../BluespaceHarvesterBundleSystem.cs | 44 ++ .../BluespaceHarvesterComponent.cs | 162 ++++ .../BluespaceHarvesterRiftComponent.cs | 53 ++ .../BluespaceHarvesterRiftSystem.cs | 70 ++ .../BluespaceHarvesterSystem.cs | 405 ++++++++++ .../BluespaceHarvesterUi.cs | 109 +++ Resources/Changelog/ChangelogADT.yml | 6 + .../bluespace_harvester.ftl | 22 + .../Locale/en-US/research/technologies.ftl | 1 + .../bluespace_harvester.ftl | 113 +++ .../Fills/Crates/bluespace_harvester.yml | 347 +++++++++ .../Spawners/Random/bluespace_harvester.yml | 710 ++++++++++++++++++ .../Circuitboards/bluespace_harvester.yml | 25 + .../Machines/bluespace_harvester.yml | 83 ++ .../Entities/Structures/Machines/lathe.yml | 1 + .../Power/Generation/generators.yml | 31 + .../Specific/bluespace_harvster_rift.yml | 102 +++ .../Storage/Crates/bluespace_crates.yml | 64 ++ .../Prototypes/Recipes/Lathes/electronics.yml | 10 + .../Prototypes/Research/experimental.yml | 15 +- .../Objects/Misc/module.rsi/bluespace.png | Bin 0 -> 872 bytes .../Objects/Misc/module.rsi/meta.json | 2 +- .../bluespace_harvester.rsi/meta.json | 114 +++ .../redspace_effect.png | Bin 0 -> 1625 bytes .../bluespace_harvester.rsi/south_effect.png | Bin 0 -> 1530 bytes .../bluespace_harvester.rsi/tap_0.png | Bin 0 -> 4716 bytes .../bluespace_harvester.rsi/tap_1.png | Bin 0 -> 4110 bytes .../bluespace_harvester.rsi/tap_2.png | Bin 0 -> 4938 bytes .../bluespace_harvester.rsi/tap_3.png | Bin 0 -> 4482 bytes .../bluespace_harvester.rsi/tap_4.png | Bin 0 -> 5227 bytes .../bluespace_harvester.rsi/tap_5.png | Bin 0 -> 4879 bytes .../bluespace_harvester.rsi/tap_redspace.png | Bin 0 -> 4900 bytes .../Bluespace/biological_secure.rsi/base.png | Bin 0 -> 344 bytes .../biological_secure.rsi/closed.png | Bin 0 -> 290 bytes .../Bluespace/biological_secure.rsi/icon.png | Bin 0 -> 439 bytes .../biological_secure.rsi/locked.png | Bin 0 -> 134 bytes .../Bluespace/biological_secure.rsi/meta.json | 45 ++ .../Bluespace/biological_secure.rsi/open.png | Bin 0 -> 211 bytes .../biological_secure.rsi/sparking.png | Bin 0 -> 206 bytes .../biological_secure.rsi/unlocked.png | Bin 0 -> 96 bytes .../biological_secure.rsi/welded.png | Bin 0 -> 117 bytes .../Bluespace/destruction_secure.rsi/base.png | Bin 0 -> 329 bytes .../destruction_secure.rsi/closed.png | Bin 0 -> 285 bytes .../Bluespace/destruction_secure.rsi/icon.png | Bin 0 -> 422 bytes .../destruction_secure.rsi/locked.png | Bin 0 -> 134 bytes .../destruction_secure.rsi/meta.json | 45 ++ .../Bluespace/destruction_secure.rsi/open.png | Bin 0 -> 211 bytes .../destruction_secure.rsi/sparking.png | Bin 0 -> 206 bytes .../destruction_secure.rsi/unlocked.png | Bin 0 -> 96 bytes .../destruction_secure.rsi/welded.png | Bin 0 -> 117 bytes .../Bluespace/industrial_secure.rsi/base.png | Bin 0 -> 352 bytes .../industrial_secure.rsi/closed.png | Bin 0 -> 299 bytes .../Bluespace/industrial_secure.rsi/icon.png | Bin 0 -> 450 bytes .../industrial_secure.rsi/locked.png | Bin 0 -> 134 bytes .../Bluespace/industrial_secure.rsi/meta.json | 45 ++ .../Bluespace/industrial_secure.rsi/open.png | Bin 0 -> 211 bytes .../industrial_secure.rsi/sparking.png | Bin 0 -> 206 bytes .../industrial_secure.rsi/unlocked.png | Bin 0 -> 96 bytes .../industrial_secure.rsi/welded.png | Bin 0 -> 117 bytes .../Bluespace/limited_secure.rsi/base.png | Bin 0 -> 353 bytes .../Bluespace/limited_secure.rsi/closed.png | Bin 0 -> 297 bytes .../Bluespace/limited_secure.rsi/icon.png | Bin 0 -> 438 bytes .../Bluespace/limited_secure.rsi/locked.png | Bin 0 -> 134 bytes .../Bluespace/limited_secure.rsi/meta.json | 45 ++ .../Bluespace/limited_secure.rsi/open.png | Bin 0 -> 211 bytes .../Bluespace/limited_secure.rsi/sparking.png | Bin 0 -> 206 bytes .../Bluespace/limited_secure.rsi/unlocked.png | Bin 0 -> 96 bytes .../Bluespace/limited_secure.rsi/welded.png | Bin 0 -> 117 bytes .../technological_secure.rsi/base.png | Bin 0 -> 355 bytes .../technological_secure.rsi/closed.png | Bin 0 -> 289 bytes .../technological_secure.rsi/icon.png | Bin 0 -> 445 bytes .../technological_secure.rsi/locked.png | Bin 0 -> 134 bytes .../technological_secure.rsi/meta.json | 45 ++ .../technological_secure.rsi/open.png | Bin 0 -> 211 bytes .../technological_secure.rsi/sparking.png | Bin 0 -> 206 bytes .../technological_secure.rsi/unlocked.png | Bin 0 -> 96 bytes .../technological_secure.rsi/welded.png | Bin 0 -> 117 bytes 83 files changed, 2911 insertions(+), 2 deletions(-) create mode 100644 Content.Client/BluespaceHarvester/BluespaceHarvesterBoundUserInterface.cs create mode 100644 Content.Client/BluespaceHarvester/BluespaceHarvesterCategory.xaml create mode 100644 Content.Client/BluespaceHarvester/BluespaceHarvesterCategory.xaml.cs create mode 100644 Content.Client/BluespaceHarvester/BluespaceHarvesterMenu.xaml create mode 100644 Content.Client/BluespaceHarvester/BluespaceHarvesterMenu.xaml.cs create mode 100644 Content.Server/BluespaceHarvester/BluespaceHarvesterBundleComponent.cs create mode 100644 Content.Server/BluespaceHarvester/BluespaceHarvesterBundleSystem.cs create mode 100644 Content.Server/BluespaceHarvester/BluespaceHarvesterComponent.cs create mode 100644 Content.Server/BluespaceHarvester/BluespaceHarvesterRiftComponent.cs create mode 100644 Content.Server/BluespaceHarvester/BluespaceHarvesterRiftSystem.cs create mode 100644 Content.Server/BluespaceHarvester/BluespaceHarvesterSystem.cs create mode 100644 Content.Shared/BluespaceHarvester/BluespaceHarvesterUi.cs create mode 100644 Resources/Locale/en-US/bluespace_harvester/bluespace_harvester.ftl create mode 100644 Resources/Locale/ru-RU/ADT/bluespace_harvester/bluespace_harvester.ftl create mode 100644 Resources/Prototypes/Catalog/Fills/Crates/bluespace_harvester.yml create mode 100644 Resources/Prototypes/Entities/Markers/Spawners/Random/bluespace_harvester.yml create mode 100644 Resources/Prototypes/Entities/Objects/Devices/Circuitboards/bluespace_harvester.yml create mode 100644 Resources/Prototypes/Entities/Structures/Machines/bluespace_harvester.yml create mode 100644 Resources/Prototypes/Entities/Structures/Specific/bluespace_harvster_rift.yml create mode 100644 Resources/Prototypes/Entities/Structures/Storage/Crates/bluespace_crates.yml create mode 100644 Resources/Textures/Objects/Misc/module.rsi/bluespace.png create mode 100644 Resources/Textures/Structures/Machines/bluespace_harvester.rsi/meta.json create mode 100644 Resources/Textures/Structures/Machines/bluespace_harvester.rsi/redspace_effect.png create mode 100644 Resources/Textures/Structures/Machines/bluespace_harvester.rsi/south_effect.png create mode 100644 Resources/Textures/Structures/Machines/bluespace_harvester.rsi/tap_0.png create mode 100644 Resources/Textures/Structures/Machines/bluespace_harvester.rsi/tap_1.png create mode 100644 Resources/Textures/Structures/Machines/bluespace_harvester.rsi/tap_2.png create mode 100644 Resources/Textures/Structures/Machines/bluespace_harvester.rsi/tap_3.png create mode 100644 Resources/Textures/Structures/Machines/bluespace_harvester.rsi/tap_4.png create mode 100644 Resources/Textures/Structures/Machines/bluespace_harvester.rsi/tap_5.png create mode 100644 Resources/Textures/Structures/Machines/bluespace_harvester.rsi/tap_redspace.png create mode 100644 Resources/Textures/Structures/Storage/Crates/Bluespace/biological_secure.rsi/base.png create mode 100644 Resources/Textures/Structures/Storage/Crates/Bluespace/biological_secure.rsi/closed.png create mode 100644 Resources/Textures/Structures/Storage/Crates/Bluespace/biological_secure.rsi/icon.png create mode 100644 Resources/Textures/Structures/Storage/Crates/Bluespace/biological_secure.rsi/locked.png create mode 100644 Resources/Textures/Structures/Storage/Crates/Bluespace/biological_secure.rsi/meta.json create mode 100644 Resources/Textures/Structures/Storage/Crates/Bluespace/biological_secure.rsi/open.png create mode 100644 Resources/Textures/Structures/Storage/Crates/Bluespace/biological_secure.rsi/sparking.png create mode 100644 Resources/Textures/Structures/Storage/Crates/Bluespace/biological_secure.rsi/unlocked.png create mode 100644 Resources/Textures/Structures/Storage/Crates/Bluespace/biological_secure.rsi/welded.png create mode 100644 Resources/Textures/Structures/Storage/Crates/Bluespace/destruction_secure.rsi/base.png create mode 100644 Resources/Textures/Structures/Storage/Crates/Bluespace/destruction_secure.rsi/closed.png create mode 100644 Resources/Textures/Structures/Storage/Crates/Bluespace/destruction_secure.rsi/icon.png create mode 100644 Resources/Textures/Structures/Storage/Crates/Bluespace/destruction_secure.rsi/locked.png create mode 100644 Resources/Textures/Structures/Storage/Crates/Bluespace/destruction_secure.rsi/meta.json create mode 100644 Resources/Textures/Structures/Storage/Crates/Bluespace/destruction_secure.rsi/open.png create mode 100644 Resources/Textures/Structures/Storage/Crates/Bluespace/destruction_secure.rsi/sparking.png create mode 100644 Resources/Textures/Structures/Storage/Crates/Bluespace/destruction_secure.rsi/unlocked.png create mode 100644 Resources/Textures/Structures/Storage/Crates/Bluespace/destruction_secure.rsi/welded.png create mode 100644 Resources/Textures/Structures/Storage/Crates/Bluespace/industrial_secure.rsi/base.png create mode 100644 Resources/Textures/Structures/Storage/Crates/Bluespace/industrial_secure.rsi/closed.png create mode 100644 Resources/Textures/Structures/Storage/Crates/Bluespace/industrial_secure.rsi/icon.png create mode 100644 Resources/Textures/Structures/Storage/Crates/Bluespace/industrial_secure.rsi/locked.png create mode 100644 Resources/Textures/Structures/Storage/Crates/Bluespace/industrial_secure.rsi/meta.json create mode 100644 Resources/Textures/Structures/Storage/Crates/Bluespace/industrial_secure.rsi/open.png create mode 100644 Resources/Textures/Structures/Storage/Crates/Bluespace/industrial_secure.rsi/sparking.png create mode 100644 Resources/Textures/Structures/Storage/Crates/Bluespace/industrial_secure.rsi/unlocked.png create mode 100644 Resources/Textures/Structures/Storage/Crates/Bluespace/industrial_secure.rsi/welded.png create mode 100644 Resources/Textures/Structures/Storage/Crates/Bluespace/limited_secure.rsi/base.png create mode 100644 Resources/Textures/Structures/Storage/Crates/Bluespace/limited_secure.rsi/closed.png create mode 100644 Resources/Textures/Structures/Storage/Crates/Bluespace/limited_secure.rsi/icon.png create mode 100644 Resources/Textures/Structures/Storage/Crates/Bluespace/limited_secure.rsi/locked.png create mode 100644 Resources/Textures/Structures/Storage/Crates/Bluespace/limited_secure.rsi/meta.json create mode 100644 Resources/Textures/Structures/Storage/Crates/Bluespace/limited_secure.rsi/open.png create mode 100644 Resources/Textures/Structures/Storage/Crates/Bluespace/limited_secure.rsi/sparking.png create mode 100644 Resources/Textures/Structures/Storage/Crates/Bluespace/limited_secure.rsi/unlocked.png create mode 100644 Resources/Textures/Structures/Storage/Crates/Bluespace/limited_secure.rsi/welded.png create mode 100644 Resources/Textures/Structures/Storage/Crates/Bluespace/technological_secure.rsi/base.png create mode 100644 Resources/Textures/Structures/Storage/Crates/Bluespace/technological_secure.rsi/closed.png create mode 100644 Resources/Textures/Structures/Storage/Crates/Bluespace/technological_secure.rsi/icon.png create mode 100644 Resources/Textures/Structures/Storage/Crates/Bluespace/technological_secure.rsi/locked.png create mode 100644 Resources/Textures/Structures/Storage/Crates/Bluespace/technological_secure.rsi/meta.json create mode 100644 Resources/Textures/Structures/Storage/Crates/Bluespace/technological_secure.rsi/open.png create mode 100644 Resources/Textures/Structures/Storage/Crates/Bluespace/technological_secure.rsi/sparking.png create mode 100644 Resources/Textures/Structures/Storage/Crates/Bluespace/technological_secure.rsi/unlocked.png create mode 100644 Resources/Textures/Structures/Storage/Crates/Bluespace/technological_secure.rsi/welded.png diff --git a/Content.Client/BluespaceHarvester/BluespaceHarvesterBoundUserInterface.cs b/Content.Client/BluespaceHarvester/BluespaceHarvesterBoundUserInterface.cs new file mode 100644 index 00000000000..dc64dcf751c --- /dev/null +++ b/Content.Client/BluespaceHarvester/BluespaceHarvesterBoundUserInterface.cs @@ -0,0 +1,53 @@ +using Content.Shared.BluespaceHarvester; +using JetBrains.Annotations; + +namespace Content.Client.BluespaceHarvester; + +[UsedImplicitly] +public sealed class BluespaceHarvesterBoundUserInterface : BoundUserInterface +{ + private BluespaceHarvesterMenu? _window; + + public BluespaceHarvesterBoundUserInterface(EntityUid owner, Enum uiKey) : base(owner, uiKey) + { + } + + protected override void Open() + { + base.Open(); + + _window = new BluespaceHarvesterMenu(this); + _window.OnClose += Close; + _window?.OpenCentered(); + } + + protected override void Dispose(bool disposing) + { + base.Dispose(disposing); + if (!disposing) + return; + + _window?.Dispose(); + _window = null; + } + + protected override void UpdateState(BoundUserInterfaceState state) + { + base.UpdateState(state); + + if (state is not BluespaceHarvesterBoundUserInterfaceState current) + return; + + _window?.UpdateState(current); + } + + public void SendTargetLevel(int level) + { + SendMessage(new BluespaceHarvesterTargetLevelMessage(level)); + } + + public void SendBuy(Shared.BluespaceHarvester.BluespaceHarvesterCategory category) + { + SendMessage(new BluespaceHarvesterBuyMessage(category)); + } +} diff --git a/Content.Client/BluespaceHarvester/BluespaceHarvesterCategory.xaml b/Content.Client/BluespaceHarvester/BluespaceHarvesterCategory.xaml new file mode 100644 index 00000000000..eef4ac89883 --- /dev/null +++ b/Content.Client/BluespaceHarvester/BluespaceHarvesterCategory.xaml @@ -0,0 +1,6 @@ + + + +