From 5123305cd58d904e9f94f3dc5d9c69fb8c5812c3 Mon Sep 17 00:00:00 2001 From: Aikakakah <145503852+Aikakakah@users.noreply.github.com> Date: Fri, 8 Nov 2024 15:50:40 -0500 Subject: [PATCH 01/26] Adds a black turtleneck (#1905) * Add files via upload Signed-off-by: Aikakakah <145503852+Aikakakah@users.noreply.github.com> * Create meta.json Signed-off-by: Aikakakah <145503852+Aikakakah@users.noreply.github.com> * Add black turtleneck Signed-off-by: Aikakakah <145503852+Aikakakah@users.noreply.github.com> * Update theater.yml Adds black turtleneck to the theatre vend. Signed-off-by: Aikakakah <145503852+Aikakakah@users.noreply.github.com> * Update jumpsuits.yml Added black turtleneck Signed-off-by: Aikakakah <145503852+Aikakakah@users.noreply.github.com> * Added the option to roll up the sleeves of the turtleneck. * Fixed the sprites * Updated copyright in meta.json --------- Signed-off-by: Aikakakah <145503852+Aikakakah@users.noreply.github.com> --- .../VendingMachines/Inventories/theater.yml | 1 + .../Entities/Clothing/Uniforms/jumpsuits.yml | 10 ++++++ .../equipped-INNERCLOTHING.png | Bin 0 -> 1900 bytes .../Jumpsuit/black_turtleneck.rsi/icon.png | Bin 0 -> 519 bytes .../black_turtleneck.rsi/inhand-left.png | Bin 0 -> 579 bytes .../black_turtleneck.rsi/inhand-right.png | Bin 0 -> 598 bytes .../Jumpsuit/black_turtleneck.rsi/meta.json | 30 ++++++++++++++++++ .../rolled-equipped-INNERCLOTHING.png | Bin 0 -> 1691 bytes 8 files changed, 41 insertions(+) create mode 100644 Resources/Textures/DeltaV/Clothing/Uniforms/Jumpsuit/black_turtleneck.rsi/equipped-INNERCLOTHING.png create mode 100644 Resources/Textures/DeltaV/Clothing/Uniforms/Jumpsuit/black_turtleneck.rsi/icon.png create mode 100644 Resources/Textures/DeltaV/Clothing/Uniforms/Jumpsuit/black_turtleneck.rsi/inhand-left.png create mode 100644 Resources/Textures/DeltaV/Clothing/Uniforms/Jumpsuit/black_turtleneck.rsi/inhand-right.png create mode 100644 Resources/Textures/DeltaV/Clothing/Uniforms/Jumpsuit/black_turtleneck.rsi/meta.json create mode 100644 Resources/Textures/DeltaV/Clothing/Uniforms/Jumpsuit/black_turtleneck.rsi/rolled-equipped-INNERCLOTHING.png diff --git a/Resources/Prototypes/Catalog/VendingMachines/Inventories/theater.yml b/Resources/Prototypes/Catalog/VendingMachines/Inventories/theater.yml index a4750e1059..1e2683e7e8 100644 --- a/Resources/Prototypes/Catalog/VendingMachines/Inventories/theater.yml +++ b/Resources/Prototypes/Catalog/VendingMachines/Inventories/theater.yml @@ -16,6 +16,7 @@ ClothingOuterPonchoClassic: 2 ClothingUniformJumpsuitKilt: 3 # DeltaV - SCOTTTTLANDDDDD FURREVERRRRR!! ClothingEyesEyepatch: 2 # Delta-V Yarrr + ClothingUniformBlackTurtleneck : 2 # DeltaV - Clothing addition ClothingHeadHatPwig: 2 ClothingOuterRobesJudge: 2 ClothingOuterPoncho: 2 diff --git a/Resources/Prototypes/DeltaV/Entities/Clothing/Uniforms/jumpsuits.yml b/Resources/Prototypes/DeltaV/Entities/Clothing/Uniforms/jumpsuits.yml index b4f9cd73c7..5d950e6e42 100644 --- a/Resources/Prototypes/DeltaV/Entities/Clothing/Uniforms/jumpsuits.yml +++ b/Resources/Prototypes/DeltaV/Entities/Clothing/Uniforms/jumpsuits.yml @@ -397,3 +397,13 @@ - type: Clothing sprite: DeltaV/Clothing/Uniforms/Jumpsuit/prosecutorred.rsi +- type: entity + parent: ClothingUniformFoldableBase + id: ClothingUniformBlackTurtleneck + name: black turtleneck + description: A simple black turtleneck. Perfect for any wannabe spy. + components: + - type: Sprite + sprite: DeltaV/Clothing/Uniforms/Jumpsuit/black_turtleneck.rsi + - type: Clothing + sprite: DeltaV/Clothing/Uniforms/Jumpsuit/black_turtleneck.rsi diff --git a/Resources/Textures/DeltaV/Clothing/Uniforms/Jumpsuit/black_turtleneck.rsi/equipped-INNERCLOTHING.png b/Resources/Textures/DeltaV/Clothing/Uniforms/Jumpsuit/black_turtleneck.rsi/equipped-INNERCLOTHING.png new file mode 100644 index 0000000000000000000000000000000000000000..9ce3bbaaefeee9cb1e3f10a08a6771989f360716 GIT binary patch literal 1900 zcmV-y2b1`TP){t;Lod%XU_~z=0$OiUNvbIB?{D z-r6LDVz;51J zqkR5=1)#;Y6s6Li>ba7?u((9waD;-v5VzR2%lC{b0`OQYL5+q%wOX|&AV?mMhqpuF zDB-vWYkzN78@1n2&l}`ds}*v&+|=omdTpER@<$R1csiY-a=AZ zQi%r(A(>1@?5m0AFvyvKY=9{U+?A^g$w#Jnyxr8qt0`KJdT67&NQ22%?B6pXJ%8v0AzqJ2HhbHy4f`N`|;5s z&jl*{OASCrc+xSSMOw-g3_ILZ&+5Iw%kABDHE6vi;Xw1TU-|hC${reBZ zgc#*l(4$Ac2?JU@AC$`{N`0!BBl)-n8f1WtzF$jga%mlE)GJgx z&U3427CpF=1YDjvk=EtX=*zoVPJ7cd#3bAO;4!evSGrsG))uY9VwLW%FHkBRqCdCu z^l>gthm|V*{$iJs@t|nmD)p)26!?Wwjqa^wnZI4=8eXm%w3|P%#aGGzz~$gEXvF5h zF^hpH9G_&M|7<$OJn%8_Trx&;vmxGZhp%M7os~4z8ZEx#Z}v)JrZ=f7wvh?Ti)l*5 zy^|b2UCYi;G~{Fc{!x|rV4n&jU;^~1hLQozhAH~Dc(4E=-9vs4eR5}!x&C07+e!Y@ z5^tM@xmg}O_`3KFvUYueGD-3Kfc2@-l?*7?-@n(BiSEzcV!2M+y9K8D#2-VGjC!p> z9`Soa7n7dkSB)mU+Bu+rUnf(Tp&CjCp!3zGO_a<~l$Eu~WHL$HTbpOj8FfS1 z0D0Fdl~bw32f6h@{MV2SFp_;lIO(yK~Y=Zh)BG$|PX=K)4J+As`mTP-hFgR##v zTgn242|RxsHy{>^b1e|%I23B21uI6-io&f@L00KML?8wOMIjQ^UjXF_5tPYgY3#h{ ztK0?yEEGoN;GqSYpiMQD48Yw-pb}Fk6u2IU5*4b$sL@R;zycF&JPyzTO$e!RR4qyd zpi|V}5Lgle$B~BEhdUyx!+gSo{s99lFu{ffXhBGADrhAGFw=KI-D)t((g>s?R%J}@ z5eP98Y-m6h$PAPkacq=OG5{bflENJj6CQ)H4_lfY;vF_pbN*|MrV@UL&}i)F>1R(az3J|JbCy zfB_bmSTzO>GN26_RYJ*t)p;&{4*vePzWeGnz1YlC>*Ou{@%ZtX>`)Oh>bYQmwSHrP zB7Vl5(bLm7YIme87>g950Ut$zK6>(MpFtZp=c#a9p`V{^EB80D(t#5{`zU86XTp@7 zOVIZ}KIbE=^I|!lDBh|r(6A-=^NkhDCD!V#i-EgbA$t1!CH?gDwXMDe#-;QX8aCE% ziQfQKdj9twb;O!MI~vqxjGn~VXn-uSUI(#vuuEQ#(v#HdWxNJVuvf07XjUxE>6mJ- zKS{Tx+z{)6u`b}nKl?PF$;!T_-h%z;*&8|%OJ|_TPT0x-pIEG%TM|oFgKeK@{oCO|{#S9GG z!XV7ZFl&wkP_Qn*C&U#q8I2b8sgxgvht9aUKI$7&xM7S#?&kzL~q*W5+7tHXVSfK9z zMg*wqji-xaNX4AD7i|5R4SCoe+&JgXoMm0In^o)M|9XC>qy$SfwysqsCoS_BR<7Ey zSt6qH`SD8G=AWt`_{A6;oCQS#ln=7??BVHH5csj@&>j|#6HZ@`a;iPB+~LcS=+v0D zc}vBdW}Xc0-%fQ|LTL-c6Fv(6x|H*=S6@|p!z`m66C9G(3B7r#&M`&h%g#8(DT+mL zJD4q|J36hszI+#(^oxn}nwiSt85Zu*O!!gP_-aLi^}Ej}obmdKI;Vst06JO4T>t<8 literal 0 HcmV?d00001 diff --git a/Resources/Textures/DeltaV/Clothing/Uniforms/Jumpsuit/black_turtleneck.rsi/inhand-left.png b/Resources/Textures/DeltaV/Clothing/Uniforms/Jumpsuit/black_turtleneck.rsi/inhand-left.png new file mode 100644 index 0000000000000000000000000000000000000000..8abe548a25aad1ea031ab72006071ea6210b9668 GIT binary patch literal 579 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=oCO|{#S9F3${@^GvDChdfr0U> zr;B4q1>@UU2fdgL1=`#TSB6DbPZV8S@hRYAO6`C34RN*=p@CgNyLUycSYti)iit|% zW@}NV`UNGEPoDYn+w^5>8wWFs0|O4UfUi--lk4A%ecMcn`*ZU?7eC$bGd%Y8nq3#S z>)YCBu{{?*r<+qQrOS4|?%d6|_xa@^^+`tmqNJ>}mo^-rCbng7|N zPxoYk%<8*&`mM_|Z+RH}o}OG-W%16c?F45CEWGzU;cbzMI1K+ zXX1ZRWvhqUeHt zTl#U6y8jDKKABv#SJvvr?WGs*GT*&(j~%Q?7O1G>dgPYO^`Ad!wUyY2ir-gYV8Vk8 zg(kdE?AT_sWcs1E#P9TboYSxqSES z{N}r}wol)*dH3b-b-FQfE)oh1Ot_HGf~#3aXR%z*Dc!riZ>M+kynDX0Z@l=RksSAp z_q_gz?RvleeL7VYF+Kaomng=9#RpHmoE5n9WQ|?<-R0M;USHyGH{HyC|Hda>x4hl*%#u;vG3AB_gbF6%DQq@-13R1A1cVrmA(ArZ}YOt z{;$55zevcReyp6oq`3OMO}Kc&s;a$iJ64*BEULVC!({Iw>2LuCMx2Oaa)WMm`O{B{ zRwq_z&EfHUG%MF}X2h*+>Q`o&%Uxe&neBh+TEwNqwjhg#+) zu{Tn!`O`oR#}!B-CftDD(lAFFDxO1a35goud%ZTxS^XJ%7-~sRL`}4r$0{j44gycn4^HB zfTMt;fTMt;fTMt;!0-xqy3p(3U{DTC{W?*Qo27`0l@cqJ)~)FYPVart!Xxu_)-pc!-K&fwOTE5yWLc+R=G2( zP7Eu8;3M+F;RqAIOrelYH#bEdi7I^0uyAo5z?!Bp=*{gn5DtggcAHI$ytvG^R`5L@ zH;+QJe!m~|oldjYN_?pZ09*_ngNE&0hq@0F9c-`nULC0YbRz0S|q&GS9gI_HtskHQ5trZg!dv9(=FMMXSqmlrUn{ z@lVbJDFKSr&f6XkMoj0Vt74T7PIG+Q&wixXY1K-NJnVhL%N9MsFV`FN`sjj!0WX9jqabRg7-PbMnswOSKdG>@4HpiX@!Z3Ioue09-cH1C6 znES_BLWIbglmJF-f-iz_qT7CY{s$H7E+q%L`?+iTzxdz%yvzN%>wf3FqkyA;qkyA; zqkyA;qkyA;qkyA;qrgZCAVrQ3GBqQ0^d4^RBuqR0sC4)Czh%k0(~CP zHhfVn&QOj33>NA)n?9Z&MADMw=Pf&vqhKQBk(EYu2t+`lMtm7KFKbE>00_bz*;qKx zDO3n4B`0MaMtZDMnNsF#_%O=UQx*V@W8Nc0NyR8=(R|JTf0I=bM7!2B8AG^;D+LjW)@9TeR)@v1( zmGP0^tI=0apAKTY*JEIS1t!?NHps``Yr6NP1i&Nb%gyE6*Wa%{TeDCjxM;XY*L6BN zI_mD*mTfS=0uyZbAVBa9KFXMs087dK>9=Rk{uPcgjtqM(7+|g4 zpQCV~A2-OyclF)h!@I6#=TM{&3Hm7<^3(Iz=ltsR2T981OZ4N*1L^+mzzsb8$p>l6 zn3|x}Y>dABew$yjl#CIQx3UEqN)CUzp0PAmtGC7mu4y{G*xscdUi_uh*T4}DaS%SN zuRUZHs%6@Kbw+JgC#d2>|Ee|wd^!>&i`DDE&Mr>L=aHI8LlEx11Wd3q_u@3oN^{z# z+MB47=XF*WjJklGKhG(dNZswNO;>=u_41G|S?LUXQZc0n@Uvp+^g^86p(qc3_dn5~ z;(+Qst+vJ4ne;rl%nDtX)Kc?G5pZ%@Bvfbxd?v*Woy;-*5E6oc33fc@rEIZG@JYp# l1W*Av_c#hT3j8k>_!}cvDzUJ|8iD`-002ovPDHLkV1jFaELs2n literal 0 HcmV?d00001 From 73373c968af85fa23f81b3df34f4dc2930b09574 Mon Sep 17 00:00:00 2001 From: Delta-V bot <135767721+DeltaV-Bot@users.noreply.github.com> Date: Fri, 8 Nov 2024 21:50:59 +0100 Subject: [PATCH 02/26] Automatic changelog update --- Resources/Changelog/DeltaVChangelog.yml | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/Resources/Changelog/DeltaVChangelog.yml b/Resources/Changelog/DeltaVChangelog.yml index 96d417e75f..5646f57097 100644 --- a/Resources/Changelog/DeltaVChangelog.yml +++ b/Resources/Changelog/DeltaVChangelog.yml @@ -1,10 +1,4 @@ Entries: -- author: Ygg01 - changes: - - message: Digging dirt. - type: Add - id: 158 - time: '2023-12-06T15:58:00.0000000+00:00' - author: Velcroboy changes: - message: Buffed Food Cart storage. Get out there and slang some burgers, chefs! @@ -3714,3 +3708,10 @@ id: 657 time: '2024-11-08T13:38:47.0000000+00:00' url: https://github.com/DeltaV-Station/Delta-v/pull/2148 +- author: Aikakakah + changes: + - message: Added a black turtleneck! + type: Add + id: 658 + time: '2024-11-08T20:50:40.0000000+00:00' + url: https://github.com/DeltaV-Station/Delta-v/pull/1905 From d8265ce0265e543dcc1a42579e6356d1082474cb Mon Sep 17 00:00:00 2001 From: deltanedas <39013340+deltanedas@users.noreply.github.com> Date: Sat, 9 Nov 2024 04:40:16 +0000 Subject: [PATCH 03/26] make meat spike drop organs (#2154) Co-authored-by: deltanedas <@deltanedas:kde.org> --- .../Kitchen/EntitySystems/KitchenSpikeSystem.cs | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/Content.Server/Kitchen/EntitySystems/KitchenSpikeSystem.cs b/Content.Server/Kitchen/EntitySystems/KitchenSpikeSystem.cs index fec65430c1..679656b54f 100644 --- a/Content.Server/Kitchen/EntitySystems/KitchenSpikeSystem.cs +++ b/Content.Server/Kitchen/EntitySystems/KitchenSpikeSystem.cs @@ -3,6 +3,7 @@ using Content.Server.Body.Systems; using Content.Server.Kitchen.Components; using Content.Server.Popups; using Content.Shared.Chat; +using Content.Shared.Body.Part; // DeltaV using Content.Shared.Damage; using Content.Shared.Database; using Content.Shared.DoAfter; @@ -160,9 +161,12 @@ namespace Content.Server.Kitchen.EntitySystems _transform.SetCoordinates(victimUid, Transform(uid).Coordinates); // THE WHAT? // TODO: Need to be able to leave them on the spike to do DoT, see ss13. - var gibs = _bodySystem.GibBody(victimUid); + var gibs = _bodySystem.GibBody(victimUid, gibOrgans: true); // DeltaV: spawn organs foreach (var gib in gibs) { - QueueDel(gib); + // Begin DeltaV changes: Only delete limbs instead of organs + if (HasComp(gib)) + QueueDel(gib); + // End DeltaV changes } _audio.PlayEntity(component.SpikeSound, Filter.Pvs(uid), uid, true); From a4755ff66edc5bd2033abb55758f04662d4a7b21 Mon Sep 17 00:00:00 2001 From: Delta-V bot <135767721+DeltaV-Bot@users.noreply.github.com> Date: Sat, 9 Nov 2024 05:40:35 +0100 Subject: [PATCH 04/26] Automatic changelog update --- Resources/Changelog/DeltaVChangelog.yml | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/Resources/Changelog/DeltaVChangelog.yml b/Resources/Changelog/DeltaVChangelog.yml index 5646f57097..024e9359a4 100644 --- a/Resources/Changelog/DeltaVChangelog.yml +++ b/Resources/Changelog/DeltaVChangelog.yml @@ -1,10 +1,4 @@ Entries: -- author: Velcroboy - changes: - - message: Buffed Food Cart storage. Get out there and slang some burgers, chefs! - type: Tweak - id: 159 - time: '2023-12-06T15:58:43.0000000+00:00' - author: ps3moira changes: - message: Added mouse operative reinforcements, which can be bought from the Syndicate @@ -3715,3 +3709,10 @@ id: 658 time: '2024-11-08T20:50:40.0000000+00:00' url: https://github.com/DeltaV-Station/Delta-v/pull/1905 +- author: deltanedas + changes: + - message: Butchering people now drops organs. + type: Tweak + id: 659 + time: '2024-11-09T04:40:16.0000000+00:00' + url: https://github.com/DeltaV-Station/Delta-v/pull/2154 From 38d6e87dd96a635a78c94337ba6d8eb0ee9c99c3 Mon Sep 17 00:00:00 2001 From: Milon Date: Sat, 9 Nov 2024 11:47:17 +0100 Subject: [PATCH 05/26] fix metempsychosis (#2156) * this is an insult to my sanity * this is an insult to my sanity * Revert "Merge branch 'shitcode' of https://github.com/MilonPL/Delta-v into shitcode" This reverts commit 3de8ffc70485af8dca0bc3bf0befdf9809746bf9, reversing changes made to b22c053376f22a4bbab34117ee7dcb0d7afaf805. * FUCKING GITSHIT * AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA * docs and shit --- .../MetempsychosisTest.cs | 26 +-- Content.Server/Cloning/CloningSystem.cs | 111 ++--------- .../DeltaV/Chapel/SacrificialAltarSystem.cs | 2 +- .../Cloning/CloningSystem.Metempsychosis.cs | 172 ++++++++++++++++++ .../Cloning/MetempsychosisKarmaComponent.cs | 11 ++ .../Cloning/MetempsychoticMachineComponent.cs | 27 +++ .../Cloning/MetempsychosisKarmaComponent.cs | 12 -- .../Cloning/MetempsychoticMachineComponent.cs | 22 --- .../Cloning/MetempsychoticMachineSystem.cs | 47 ----- 9 files changed, 236 insertions(+), 194 deletions(-) rename Content.IntegrationTests/Tests/{Nyanotrasen/Metempsychosis => DeltaV}/MetempsychosisTest.cs (62%) create mode 100644 Content.Server/DeltaV/Cloning/CloningSystem.Metempsychosis.cs create mode 100644 Content.Server/DeltaV/Cloning/MetempsychosisKarmaComponent.cs create mode 100644 Content.Server/DeltaV/Cloning/MetempsychoticMachineComponent.cs delete mode 100644 Content.Server/Nyanotrasen/Cloning/MetempsychosisKarmaComponent.cs delete mode 100644 Content.Server/Nyanotrasen/Cloning/MetempsychoticMachineComponent.cs delete mode 100644 Content.Server/Nyanotrasen/Cloning/MetempsychoticMachineSystem.cs diff --git a/Content.IntegrationTests/Tests/Nyanotrasen/Metempsychosis/MetempsychosisTest.cs b/Content.IntegrationTests/Tests/DeltaV/MetempsychosisTest.cs similarity index 62% rename from Content.IntegrationTests/Tests/Nyanotrasen/Metempsychosis/MetempsychosisTest.cs rename to Content.IntegrationTests/Tests/DeltaV/MetempsychosisTest.cs index cd6a4b4c2b..6b68ac3602 100644 --- a/Content.IntegrationTests/Tests/Nyanotrasen/Metempsychosis/MetempsychosisTest.cs +++ b/Content.IntegrationTests/Tests/DeltaV/MetempsychosisTest.cs @@ -1,12 +1,10 @@ -using Content.Server.Nyanotrasen.Cloning; +using Content.Server.DeltaV.Cloning; using Content.Shared.Humanoid.Prototypes; -using Content.Shared.Random; using Robust.Shared.Prototypes; namespace Content.IntegrationTests.Tests.DeltaV; [TestFixture] -[TestOf(typeof(MetempsychoticMachineSystem))] public sealed class MetempsychosisTest { [Test] @@ -23,18 +21,22 @@ public sealed class MetempsychosisTest await server.WaitAssertion(() => { - prototypeManager.TryIndex(metemComponent.MetempsychoticHumanoidPool, + prototypeManager.TryIndex(metemComponent.MetempsychoticHumanoidPool, out var humanoidPool); - prototypeManager.TryIndex(metemComponent.MetempsychoticNonHumanoidPool, + prototypeManager.TryIndex(metemComponent.MetempsychoticNonHumanoidPool, out var nonHumanoidPool); - Assert.That(humanoidPool, Is.Not.Null, "MetempsychoticHumanoidPool is null!"); - Assert.That(nonHumanoidPool, Is.Not.Null, "MetempsychoticNonHumanoidPool is null!"); - - Assert.That(humanoidPool.Weights, Is.Not.Empty, - "MetempsychoticHumanoidPool has no valid prototypes!"); - Assert.That(nonHumanoidPool.Weights, Is.Not.Empty, - "MetempsychoticNonHumanoidPool has no valid prototypes!"); + Assert.Multiple(() => + { + Assert.That(humanoidPool, Is.Not.Null, "MetempsychoticHumanoidPool is null!"); + Assert.That(nonHumanoidPool, Is.Not.Null, "MetempsychoticNonHumanoidPool is null!"); + Assert.That(humanoidPool.Weights, + Is.Not.Empty, + "MetempsychoticHumanoidPool has no valid prototypes!"); + Assert.That(nonHumanoidPool.Weights, + Is.Not.Empty, + "MetempsychoticNonHumanoidPool has no valid prototypes!"); + }); foreach (var key in humanoidPool.Weights.Keys) { diff --git a/Content.Server/Cloning/CloningSystem.cs b/Content.Server/Cloning/CloningSystem.cs index 0eafad3586..ab593b607c 100644 --- a/Content.Server/Cloning/CloningSystem.cs +++ b/Content.Server/Cloning/CloningSystem.cs @@ -9,6 +9,8 @@ using Content.Server.Jobs; using Content.Server.Materials; using Content.Server.Popups; using Content.Server.Power.EntitySystems; +using Content.Server.Psionics; // DeltaV +using Content.Server.Traits.Assorted; // DeltaV using Content.Shared.Atmos; using Content.Shared.CCVar; using Content.Shared.Chemistry.Components; @@ -33,26 +35,10 @@ using Robust.Shared.Containers; using Robust.Shared.Physics.Components; using Robust.Shared.Prototypes; using Robust.Shared.Random; -using Content.Server.Traits.Assorted; //Nyano - Summary: allows the potential psionic ability to be written to the character. -using Content.Server.Psionics; //DeltaV needed for Psionic Systems -using Content.Shared.Speech; //DeltaV Start Metem Usings -using Content.Shared.Tag; -using Content.Shared.Preferences; -using Content.Shared.Emoting; -using Content.Server.Speech.Components; -using Content.Server.StationEvents.Components; -using Content.Server.Ghost.Roles.Components; -using Content.Server.Nyanotrasen.Cloning; -using Content.Shared.Humanoid.Prototypes; -using Robust.Shared.GameObjects.Components.Localization; //DeltaV End Metem Usings -using Content.Server.EntityList; -using Content.Shared.SSDIndicator; -using Content.Shared.Damage.ForceSay; -using Content.Server.Polymorph.Components; namespace Content.Server.Cloning { - public sealed class CloningSystem : EntitySystem + public sealed partial class CloningSystem : EntitySystem // DeltaV - Set to partial, see CloningSystem.Metempsychosis.cs { [Dependency] private readonly DeviceLinkSystem _signalSystem = default!; [Dependency] private readonly IPlayerManager _playerManager = null!; @@ -76,8 +62,6 @@ namespace Content.Server.Cloning [Dependency] private readonly SharedMindSystem _mindSystem = default!; [Dependency] private readonly MetaDataSystem _metaSystem = default!; [Dependency] private readonly SharedJobSystem _jobs = default!; - [Dependency] private readonly MetempsychoticMachineSystem _metem = default!; //DeltaV - [Dependency] private readonly TagSystem _tag = default!; //DeltaV public readonly Dictionary ClonesWaitingForMind = new(); public const float EasyModeCloningCost = 0.7f; @@ -158,6 +142,10 @@ namespace Content.Server.Cloning if (!Resolve(uid, ref clonePod)) return false; + // DeltaV - This method should use Entity pod instead + // But I don't want to completely mangle it so we do this here + var podEnt = new Entity(uid, clonePod); + if (HasComp(uid)) return false; @@ -244,13 +232,13 @@ namespace Content.Server.Cloning AddComp(uid); return true; } - // End Nyano-code. } // end of genetic damage checks - var mob = FetchAndSpawnMob(clonePod, pref, speciesPrototype, humanoid, bodyToClone, karmaBonus); //DeltaV Replaces CloneAppearance with Metem/Clone via FetchAndSpawnMob + // DeltaV - Replaces CloneAppearance with Metem/Clone via FetchAndSpawnMob + var mob = FetchAndSpawnMob(podEnt, pref, speciesPrototype, humanoid, bodyToClone, karmaBonus); - ///Nyano - Summary: adds the potential psionic trait to the reanimated mob. + // Nyano - Summary: adds the potential psionic trait to the reanimated mob. EnsureComp(mob); var ev = new CloningEvent(bodyToClone, mob); @@ -348,6 +336,7 @@ namespace Content.Server.Cloning var transform = Transform(uid); var indices = _transformSystem.GetGridTilePositionOrDefault((uid, transform)); var tileMix = _atmosphereSystem.GetTileMixture(transform.GridUid, null, indices, true); + if (HasComp(uid)) { _audio.PlayPvs(clonePod.ScreamSound, uid); @@ -375,84 +364,6 @@ namespace Content.Server.Cloning RemCompDeferred(uid); } - /// - /// Start Nyano Code: Handles fetching the mob and any appearance stuff... - /// - private EntityUid FetchAndSpawnMob(CloningPodComponent clonePod, HumanoidCharacterProfile pref, SpeciesPrototype speciesPrototype, HumanoidAppearanceComponent humanoid, EntityUid bodyToClone, float karmaBonus) - { - List sexes = new(); - bool switchingSpecies = false; - bool applyKarma = false; - var toSpawn = speciesPrototype.Prototype; - TryComp(bodyToClone, out var oldKarma); - - if (TryComp(clonePod.Owner, out var metem)) - { - toSpawn = _metem.GetSpawnEntity(clonePod.Owner, karmaBonus, metem, speciesPrototype, out var newSpecies, oldKarma?.Score); - applyKarma = true; - - if (newSpecies != null) - { - sexes = newSpecies.Sexes; - - if (speciesPrototype.ID != newSpecies.ID) - switchingSpecies = true; - - speciesPrototype = newSpecies; - } - } - - var mob = Spawn(toSpawn, _transformSystem.GetMapCoordinates(clonePod.Owner)); - if (TryComp(mob, out var newHumanoid)) - { - if (switchingSpecies || HasComp(bodyToClone)) - { - pref = HumanoidCharacterProfile.RandomWithSpecies(newHumanoid.Species); - if (sexes.Contains(humanoid.Sex)) - pref = pref.WithSex(humanoid.Sex); - - pref = pref.WithGender(humanoid.Gender); - pref = pref.WithAge(humanoid.Age); - - } - _humanoidSystem.LoadProfile(mob, pref); - } - - if (applyKarma) - { - var karma = EnsureComp(mob); - karma.Score++; - if (oldKarma != null) - karma.Score += oldKarma.Score; - } - - var ev = new CloningEvent(bodyToClone, mob); - RaiseLocalEvent(bodyToClone, ref ev); - - if (!ev.NameHandled) - _metaSystem.SetEntityName(mob, MetaData(bodyToClone).EntityName); - - var grammar = EnsureComp(mob); - grammar.ProperNoun = true; - grammar.Gender = humanoid.Gender; - Dirty(mob, grammar); - - EnsureComp(mob); - EnsureComp(mob); - EnsureComp(mob); - EnsureComp(mob); - EnsureComp(mob); - EnsureComp(mob); - RemComp(mob); - RemComp(mob); - RemComp(mob); - RemComp(mob); - - _tag.AddTag(mob, "DoorBumpOpener"); - - return mob; - } - //End Nyano Code public void Reset(RoundRestartCleanupEvent ev) { ClonesWaitingForMind.Clear(); diff --git a/Content.Server/DeltaV/Chapel/SacrificialAltarSystem.cs b/Content.Server/DeltaV/Chapel/SacrificialAltarSystem.cs index a903d4124d..8d28297cf6 100644 --- a/Content.Server/DeltaV/Chapel/SacrificialAltarSystem.cs +++ b/Content.Server/DeltaV/Chapel/SacrificialAltarSystem.cs @@ -1,5 +1,5 @@ using Content.Server.Bible.Components; -using Content.Server.Nyanotrasen.Cloning; +using Content.Server.DeltaV.Cloning; using Content.Shared.Abilities.Psionics; using Content.Shared.Administration.Logs; using Content.Shared.Body.Components; diff --git a/Content.Server/DeltaV/Cloning/CloningSystem.Metempsychosis.cs b/Content.Server/DeltaV/Cloning/CloningSystem.Metempsychosis.cs new file mode 100644 index 0000000000..d69d4d9ef9 --- /dev/null +++ b/Content.Server/DeltaV/Cloning/CloningSystem.Metempsychosis.cs @@ -0,0 +1,172 @@ +using Content.Server.DeltaV.Cloning; +using Content.Shared.Humanoid; +using Content.Shared.Humanoid.Prototypes; +using Content.Shared.Preferences; +using Content.Shared.Speech; +using Content.Shared.Emoting; +using Content.Shared.Damage.ForceSay; +using Content.Shared.SSDIndicator; +using Content.Server.Speech.Components; +using Content.Server.Ghost.Roles.Components; +using Content.Server.StationEvents.Components; +using Content.Server.Psionics; +using Robust.Shared.Random; +using Content.Shared.Mind.Components; +using Content.Shared.Tag; +using Content.Shared.Cloning; +using Content.Shared.Random.Helpers; +using Robust.Shared.GameObjects.Components.Localization; + +namespace Content.Server.Cloning; + +public sealed partial class CloningSystem +{ + [Dependency] private readonly TagSystem _tag = default!; + [Dependency] private readonly GrammarSystem _grammar = default!; + + /// + /// Gets the entity prototype to spawn for a clone based on karma and chance calculations. + /// + private string GetSpawnEntity(Entity ent, float karmaBonus, SpeciesPrototype oldSpecies, out SpeciesPrototype? species, int karma = 0) + { + // First time being cloned - return original species + if (karma == 0) + { + species = oldSpecies; + return oldSpecies.Prototype; + } + + var chance = ent.Comp.HumanoidBaseChance + karmaBonus; + chance -= (1 - ent.Comp.HumanoidBaseChance) * karma; + + // Perfect clone chance + if (chance > 1 && _robustRandom.Prob(chance - 1)) + { + species = oldSpecies; + return oldSpecies.Prototype; + } + + // Roll for humanoid vs non-humanoid + chance = Math.Clamp(chance, 0, 1); + if (_robustRandom.Prob(chance)) + { + if (_prototype.TryIndex(ent.Comp.MetempsychoticHumanoidPool, out var humanoidPool)) + { + var protoId = humanoidPool.Pick(); + if (_prototype.TryIndex(protoId, out var speciesPrototype)) + { + species = speciesPrototype; + return speciesPrototype.Prototype; + } + } + } + else if (_prototype.TryIndex(ent.Comp.MetempsychoticNonHumanoidPool, out var nonHumanoidPool)) + { + // For non-humanoids, return the entity prototype directly + species = null; + return nonHumanoidPool.Pick(); + } + + // Fallback to original species if prototype indexing fails + Log.Error("Failed to get valid clone type - falling back to original species"); + species = oldSpecies; + return oldSpecies.Prototype; + } + + /// + /// Handles fetching the mob and managing appearance for cloning with metempsychosis mechanics + /// + private EntityUid FetchAndSpawnMob( + Entity pod, + HumanoidCharacterProfile pref, + SpeciesPrototype speciesPrototype, + HumanoidAppearanceComponent humanoid, + EntityUid bodyToClone, + float karmaBonus) + { + List sexes = []; + var switchingSpecies = false; + var applyKarma = false; + var toSpawn = speciesPrototype.Prototype; + + // Get existing karma score or start at 0 + var karmaScore = 0; + if (TryComp(bodyToClone, out var oldKarma)) + { + karmaScore = oldKarma.Score; + } + + if (TryComp(pod.Owner, out var metem)) + { + var metemEntity = new Entity(pod.Owner, metem); + toSpawn = GetSpawnEntity(metemEntity, karmaBonus, speciesPrototype, out var newSpecies, karmaScore); + applyKarma = true; + + if (newSpecies != null) + { + sexes = newSpecies.Sexes; + speciesPrototype = newSpecies; + + if (speciesPrototype.ID != newSpecies.ID) + switchingSpecies = true; + } + } + + var mob = Spawn(toSpawn, _transformSystem.GetMapCoordinates(pod.Owner)); + + // Only try to handle humanoid appearance if we have a humanoid component + if (TryComp(mob, out var newHumanoid)) + { + if (switchingSpecies || HasComp(bodyToClone)) + { + pref = HumanoidCharacterProfile.RandomWithSpecies(newHumanoid.Species); + if (sexes.Contains(humanoid.Sex)) + pref = pref.WithSex(humanoid.Sex); + + pref = pref.WithGender(humanoid.Gender); + pref = pref.WithAge(humanoid.Age); + } + + _humanoidSystem.LoadProfile(mob, pref); + } + + if (applyKarma) + { + var karma = EnsureComp(mob); + karma.Score = karmaScore + 1; // Increment karma score + } + + var ev = new CloningEvent(bodyToClone, mob); + RaiseLocalEvent(bodyToClone, ref ev); + + if (!ev.NameHandled) + _metaSystem.SetEntityName(mob, MetaData(bodyToClone).EntityName); + + var grammar = EnsureComp(mob); + var grammarEnt = new Entity(mob, grammar); + _grammar.SetProperNoun(grammarEnt, true); + _grammar.SetGender(grammarEnt, humanoid.Gender); + Dirty(mob, grammar); + + SetupBasicComponents(mob); + + return mob; + } + + // I hate this + private void SetupBasicComponents(EntityUid mob) + { + EnsureComp(mob); + EnsureComp(mob); + EnsureComp(mob); + EnsureComp(mob); + EnsureComp(mob); + EnsureComp(mob); + RemComp(mob); + RemComp(mob); + RemComp(mob); + RemComp(mob); + + _tag.AddTag(mob, "DoorBumpOpener"); + } +} diff --git a/Content.Server/DeltaV/Cloning/MetempsychosisKarmaComponent.cs b/Content.Server/DeltaV/Cloning/MetempsychosisKarmaComponent.cs new file mode 100644 index 0000000000..a9e7ff8244 --- /dev/null +++ b/Content.Server/DeltaV/Cloning/MetempsychosisKarmaComponent.cs @@ -0,0 +1,11 @@ +namespace Content.Server.DeltaV.Cloning; + +/// +/// This tracks how many times you have already been cloned and lowers your chance of getting a humanoid each time. +/// +[RegisterComponent] +public sealed partial class MetempsychosisKarmaComponent : Component +{ + [DataField] + public int Score; +} diff --git a/Content.Server/DeltaV/Cloning/MetempsychoticMachineComponent.cs b/Content.Server/DeltaV/Cloning/MetempsychoticMachineComponent.cs new file mode 100644 index 0000000000..d913f2d209 --- /dev/null +++ b/Content.Server/DeltaV/Cloning/MetempsychoticMachineComponent.cs @@ -0,0 +1,27 @@ +using Content.Shared.Random; +using Robust.Shared.Prototypes; + +namespace Content.Server.DeltaV.Cloning; + +[RegisterComponent] +public sealed partial class MetempsychoticMachineComponent : Component +{ + /// + /// Base probability of remaining humanoid during cloning. Higher karma reduces this chance. + /// + [DataField] + public float HumanoidBaseChance = 0.75f; + + /// + /// Species prototypes pool to use for humanoids. + /// + [DataField] + public ProtoId MetempsychoticHumanoidPool = "MetempsychoticHumanoidPool"; + + /// + /// Entitiy prototypes pool to use for non-humanoids. + /// + [DataField] + public ProtoId MetempsychoticNonHumanoidPool = "MetempsychoticNonhumanoidPool"; +} + diff --git a/Content.Server/Nyanotrasen/Cloning/MetempsychosisKarmaComponent.cs b/Content.Server/Nyanotrasen/Cloning/MetempsychosisKarmaComponent.cs deleted file mode 100644 index 246495cee0..0000000000 --- a/Content.Server/Nyanotrasen/Cloning/MetempsychosisKarmaComponent.cs +++ /dev/null @@ -1,12 +0,0 @@ -namespace Content.Server.Nyanotrasen.Cloning -{ - /// - /// This tracks how many times you have already been cloned and lowers your chance of getting a humanoid each time. - /// - [RegisterComponent] - public sealed partial class MetempsychosisKarmaComponent : Component - { - [DataField("score")] - public int Score = 0; - } -} diff --git a/Content.Server/Nyanotrasen/Cloning/MetempsychoticMachineComponent.cs b/Content.Server/Nyanotrasen/Cloning/MetempsychoticMachineComponent.cs deleted file mode 100644 index 0adcc9b5b2..0000000000 --- a/Content.Server/Nyanotrasen/Cloning/MetempsychoticMachineComponent.cs +++ /dev/null @@ -1,22 +0,0 @@ -using Content.Shared.Random; - -namespace Content.Server.Nyanotrasen.Cloning -{ - [RegisterComponent] - public sealed partial class MetempsychoticMachineComponent : Component - { - /// - /// Chance you will spawn as a humanoid instead of a non humanoid. - /// - [DataField("humanoidBaseChance")] - public float HumanoidBaseChance = 0.75f; - - [ValidatePrototypeId] - [DataField("metempsychoticHumanoidPool")] - public string MetempsychoticHumanoidPool = "MetempsychoticHumanoidPool"; - - [ValidatePrototypeId] - [DataField("metempsychoticNonHumanoidPool")] - public string MetempsychoticNonHumanoidPool = "MetempsychoticNonhumanoidPool"; - } -} diff --git a/Content.Server/Nyanotrasen/Cloning/MetempsychoticMachineSystem.cs b/Content.Server/Nyanotrasen/Cloning/MetempsychoticMachineSystem.cs deleted file mode 100644 index 62dc1b078e..0000000000 --- a/Content.Server/Nyanotrasen/Cloning/MetempsychoticMachineSystem.cs +++ /dev/null @@ -1,47 +0,0 @@ -using Content.Shared.Humanoid.Prototypes; -using Content.Shared.Random; -using Content.Shared.Random.Helpers; -using Robust.Shared.Random; -using Robust.Shared.Prototypes; - -namespace Content.Server.Nyanotrasen.Cloning -{ - public sealed class MetempsychoticMachineSystem : EntitySystem - { - [Dependency] private readonly IRobustRandom _random = default!; - [Dependency] private readonly IPrototypeManager _prototypeManager = default!; - - private ISawmill _sawmill = default!; - - public string GetSpawnEntity(EntityUid uid, float karmaBonus, MetempsychoticMachineComponent component, SpeciesPrototype oldSpecies, out SpeciesPrototype? species, int? karma = null) - { - var chance = component.HumanoidBaseChance + karmaBonus; - - if (karma != null) - chance -= ((1 - component.HumanoidBaseChance) * (float) karma); - - if (chance > 1 && _random.Prob(chance - 1)) - { - species = oldSpecies; - return oldSpecies.Prototype; - } - else - chance = 1; - - chance = Math.Clamp(chance, 0, 1); - if (_random.Prob(chance) && - _prototypeManager.TryIndex(component.MetempsychoticHumanoidPool, out var humanoidPool) && - _prototypeManager.TryIndex(humanoidPool.Pick(), out var speciesPrototype)) - { - species = speciesPrototype; - return speciesPrototype.Prototype; - } - else - { - species = null; - _sawmill.Error("Could not index species for metempsychotic machine..."); - return "MobHuman"; - } - } - } -} From 72355a492311165a58df2f395e8dbc0032832c6b Mon Sep 17 00:00:00 2001 From: Delta-V bot <135767721+DeltaV-Bot@users.noreply.github.com> Date: Sat, 9 Nov 2024 11:47:36 +0100 Subject: [PATCH 06/26] Automatic changelog update --- Resources/Changelog/DeltaVChangelog.yml | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/Resources/Changelog/DeltaVChangelog.yml b/Resources/Changelog/DeltaVChangelog.yml index 024e9359a4..8d4d5bf8be 100644 --- a/Resources/Changelog/DeltaVChangelog.yml +++ b/Resources/Changelog/DeltaVChangelog.yml @@ -1,11 +1,4 @@ Entries: -- author: ps3moira - changes: - - message: Added mouse operative reinforcements, which can be bought from the Syndicate - uplink - type: Add - id: 160 - time: '2023-12-06T16:03:07.0000000+00:00' - author: evilexecutive changes: - message: Harpies now have a visual indication when they're playing a Midi. @@ -3716,3 +3709,13 @@ id: 659 time: '2024-11-09T04:40:16.0000000+00:00' url: https://github.com/DeltaV-Station/Delta-v/pull/2154 +- author: MilonPL + changes: + - message: The metempsychosis will always use your player character on the first + cloning attempt. + type: Tweak + - message: Fixed metempsychosis never selecting non-humanoid characters. + type: Fix + id: 660 + time: '2024-11-09T10:47:17.0000000+00:00' + url: https://github.com/DeltaV-Station/Delta-v/pull/2156 From 96fc62ce2b16df8f53105cf1c32dc7f78f48a691 Mon Sep 17 00:00:00 2001 From: Milon Date: Sat, 9 Nov 2024 13:46:34 +0100 Subject: [PATCH 07/26] cherry pick "fix solution contents duplication on spill behavior" (#33231) (#2157) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit I’M SCREAMING INTO THE VOID AND IT’S NOT LISTENING --- .../Thresholds/Behaviors/SpillBehavior.cs | 80 ++++++++++++------- 1 file changed, 49 insertions(+), 31 deletions(-) diff --git a/Content.Server/Destructible/Thresholds/Behaviors/SpillBehavior.cs b/Content.Server/Destructible/Thresholds/Behaviors/SpillBehavior.cs index ff050ce2cd..d45fe707ab 100644 --- a/Content.Server/Destructible/Thresholds/Behaviors/SpillBehavior.cs +++ b/Content.Server/Destructible/Thresholds/Behaviors/SpillBehavior.cs @@ -1,42 +1,60 @@ -using Content.Shared.Chemistry.EntitySystems; using Content.Server.Fluids.EntitySystems; +using Content.Shared.Chemistry.Components; +using Content.Shared.Chemistry.EntitySystems; using Content.Shared.Fluids.Components; using JetBrains.Annotations; -namespace Content.Server.Destructible.Thresholds.Behaviors +namespace Content.Server.Destructible.Thresholds.Behaviors; + +[UsedImplicitly] +[DataDefinition] +public sealed partial class SpillBehavior : IThresholdBehavior { - [UsedImplicitly] - [DataDefinition] - public sealed partial class SpillBehavior : IThresholdBehavior + /// + /// Optional fallback solution name if SpillableComponent is not present. + /// + [DataField] + public string? Solution; + + /// + /// When triggered, spills the entity's solution onto the ground. + /// Will first try to use the solution from a SpillableComponent if present, + /// otherwise falls back to the solution specified in the behavior's data fields. + /// The solution is properly drained/split before spilling to prevent double-spilling with other behaviors. + /// + /// Entity whose solution will be spilled + /// System calling this behavior + /// Optional entity that caused this behavior to trigger + public void Execute(EntityUid owner, DestructibleSystem system, EntityUid? cause = null) { - [DataField] - public string? Solution; + var solutionContainerSystem = system.EntityManager.System(); + var spillableSystem = system.EntityManager.System(); + var coordinates = system.EntityManager.GetComponent(owner).Coordinates; - /// - /// If there is a SpillableComponent on EntityUidowner use it to create a puddle/smear. - /// Or whatever solution is specified in the behavior itself. - /// If none are available do nothing. - /// - /// Entity on which behavior is executed - /// system calling the behavior - /// - public void Execute(EntityUid owner, DestructibleSystem system, EntityUid? cause = null) + Solution targetSolution; + + // First try to get solution from SpillableComponent + if (system.EntityManager.TryGetComponent(owner, out SpillableComponent? spillableComponent) && + solutionContainerSystem.TryGetSolution(owner, spillableComponent.SolutionName, out var solution, out var compSolution)) { - var solutionContainerSystem = system.EntityManager.System(); - var spillableSystem = system.EntityManager.System(); - - var coordinates = system.EntityManager.GetComponent(owner).Coordinates; - - if (system.EntityManager.TryGetComponent(owner, out SpillableComponent? spillableComponent) && - solutionContainerSystem.TryGetSolution(owner, spillableComponent.SolutionName, out _, out var compSolution)) - { - spillableSystem.TrySplashSpillAt(owner, coordinates, compSolution, out _, false, user: cause); - } - else if (Solution != null && - solutionContainerSystem.TryGetSolution(owner, Solution, out _, out var behaviorSolution)) - { - spillableSystem.TrySplashSpillAt(owner, coordinates, behaviorSolution, out _, user: cause); - } + // If entity is drainable, drain the solution. Otherwise just split it. + // Both methods ensure the solution is properly removed. + targetSolution = system.EntityManager.HasComponent(owner) + ? solutionContainerSystem.Drain((owner, system.EntityManager.GetComponent(owner)), solution.Value, compSolution.Volume) + : compSolution.SplitSolution(compSolution.Volume); } + // Fallback to solution specified in behavior data + else if (Solution != null && + solutionContainerSystem.TryGetSolution(owner, Solution, out var solutionEnt, out var behaviorSolution)) + { + targetSolution = system.EntityManager.HasComponent(owner) + ? solutionContainerSystem.Drain((owner, system.EntityManager.GetComponent(owner)), solutionEnt.Value, behaviorSolution.Volume) + : behaviorSolution.SplitSolution(behaviorSolution.Volume); + } + else + return; + + // Spill the solution that was drained/split + spillableSystem.TrySplashSpillAt(owner, coordinates, targetSolution, out _, false, cause); } } From d1002db2e59b8efc1a902c6b721aef5ab721ebd0 Mon Sep 17 00:00:00 2001 From: Delta-V bot <135767721+DeltaV-Bot@users.noreply.github.com> Date: Sat, 9 Nov 2024 13:46:53 +0100 Subject: [PATCH 08/26] Automatic changelog update --- Resources/Changelog/DeltaVChangelog.yml | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/Resources/Changelog/DeltaVChangelog.yml b/Resources/Changelog/DeltaVChangelog.yml index 8d4d5bf8be..7813d56864 100644 --- a/Resources/Changelog/DeltaVChangelog.yml +++ b/Resources/Changelog/DeltaVChangelog.yml @@ -1,13 +1,4 @@ Entries: -- author: evilexecutive - changes: - - message: Harpies now have a visual indication when they're playing a Midi. - type: Add - - message: Harpies have been re-balanced so that they now actually have a numerical - positive. - type: Tweak - id: 161 - time: '2023-12-06T20:10:49.0000000+00:00' - author: DebugOk changes: - message: Due to abuse, prisoners now require whitelist to play. @@ -3719,3 +3710,10 @@ id: 660 time: '2024-11-09T10:47:17.0000000+00:00' url: https://github.com/DeltaV-Station/Delta-v/pull/2156 +- author: MilonPL + changes: + - message: Fixed beaker solutions duplicating whenever it's thrown. + type: Fix + id: 661 + time: '2024-11-09T12:46:34.0000000+00:00' + url: https://github.com/DeltaV-Station/Delta-v/pull/2157 From 02ffd9f78484589e821243098de1b1856a96f3a9 Mon Sep 17 00:00:00 2001 From: deltanedas <39013340+deltanedas@users.noreply.github.com> Date: Sat, 9 Nov 2024 13:16:44 +0000 Subject: [PATCH 09/26] let chemvend restock refill syndiejuice (#2143) Co-authored-by: deltanedas <@deltanedas:kde.org> Co-authored-by: Milon --- .../Objects/Specific/Service/vending_machine_restock.yml | 1 + .../Entities/Structures/Machines/vending_machines.yml | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/Resources/Prototypes/Entities/Objects/Specific/Service/vending_machine_restock.yml b/Resources/Prototypes/Entities/Objects/Specific/Service/vending_machine_restock.yml index 3e91218e40..c7851aff88 100644 --- a/Resources/Prototypes/Entities/Objects/Specific/Service/vending_machine_restock.yml +++ b/Resources/Prototypes/Entities/Objects/Specific/Service/vending_machine_restock.yml @@ -482,6 +482,7 @@ - type: VendingMachineRestock canRestock: - ChemVendInventory + - ChemVendInventorySyndicate # DeltaV: Let it restock synthesis/nukie vendor - type: Sprite layers: - state: base diff --git a/Resources/Prototypes/Entities/Structures/Machines/vending_machines.yml b/Resources/Prototypes/Entities/Structures/Machines/vending_machines.yml index 90a7d71195..525c3ffebd 100644 --- a/Resources/Prototypes/Entities/Structures/Machines/vending_machines.yml +++ b/Resources/Prototypes/Entities/Structures/Machines/vending_machines.yml @@ -2160,7 +2160,7 @@ parent: VendingMachineChemicals id: VendingMachineChemicalsSyndicate name: SyndieJuice - description: Not made with freshly squeezed syndies I hope. + description: Not made with freshly squeezed syndies I hope. Backwards compatible with standard ChemVend restocks. # DeltaV: Add chemvend part components: - type: VendingMachine pack: ChemVendInventorySyndicate From 6ee37b2d285fd3a5dbf948ac824ea8396fb11bfa Mon Sep 17 00:00:00 2001 From: Delta-V bot <135767721+DeltaV-Bot@users.noreply.github.com> Date: Sat, 9 Nov 2024 14:17:03 +0100 Subject: [PATCH 10/26] Automatic changelog update --- Resources/Changelog/DeltaVChangelog.yml | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/Resources/Changelog/DeltaVChangelog.yml b/Resources/Changelog/DeltaVChangelog.yml index 7813d56864..9db95f7416 100644 --- a/Resources/Changelog/DeltaVChangelog.yml +++ b/Resources/Changelog/DeltaVChangelog.yml @@ -1,10 +1,4 @@ Entries: -- author: DebugOk - changes: - - message: Due to abuse, prisoners now require whitelist to play. - type: Tweak - id: 162 - time: '2023-12-07T13:22:03.0000000+00:00' - author: ps3moira changes: - message: Removed bionic syrinx implanter from surplus crate. @@ -3717,3 +3711,10 @@ id: 661 time: '2024-11-09T12:46:34.0000000+00:00' url: https://github.com/DeltaV-Station/Delta-v/pull/2157 +- author: deltanedas + changes: + - message: The Synthesis Specialist's vendor can now be restocked. + type: Tweak + id: 662 + time: '2024-11-09T13:16:44.0000000+00:00' + url: https://github.com/DeltaV-Station/Delta-v/pull/2143 From b6b2971616ba16aa81e4e49b7572cd2c83629a70 Mon Sep 17 00:00:00 2001 From: deltanedas <39013340+deltanedas@users.noreply.github.com> Date: Sat, 9 Nov 2024 19:27:59 +0000 Subject: [PATCH 11/26] prevent telegnomes from interacting with anything (#2117) * disable interaction for telegnomes, add access for the components * make client and server systems extend shared system --------- Co-authored-by: deltanedas <@deltanedas:kde.org> --- .../Psionics/TelegnosisPowerSystem.cs | 5 +++++ .../Abilities/TelegnosisPowerSystem.cs | 2 +- .../Telegnosis/SharedTelegnosisPowerSystem.cs | 19 +++++++++++++++++++ .../Telegnosis/TelegnosisPowerComponent.cs | 4 ++-- .../TelegnosticProjectionComponent.cs | 10 ++++------ 5 files changed, 31 insertions(+), 9 deletions(-) create mode 100644 Content.Client/Nyanotrasen/Abilities/Psionics/TelegnosisPowerSystem.cs create mode 100644 Content.Shared/Nyanotrasen/Abilities/Psionics/Abilities/Telegnosis/SharedTelegnosisPowerSystem.cs diff --git a/Content.Client/Nyanotrasen/Abilities/Psionics/TelegnosisPowerSystem.cs b/Content.Client/Nyanotrasen/Abilities/Psionics/TelegnosisPowerSystem.cs new file mode 100644 index 0000000000..8ddc15347c --- /dev/null +++ b/Content.Client/Nyanotrasen/Abilities/Psionics/TelegnosisPowerSystem.cs @@ -0,0 +1,5 @@ +using Content.Shared.Abilities.Psionics; + +namespace Content.Client.Abilities.Psionics; + +public sealed class TelegnosisPowerSystem : SharedTelegnosisPowerSystem; diff --git a/Content.Server/Nyanotrasen/Abilities/Psionics/Abilities/TelegnosisPowerSystem.cs b/Content.Server/Nyanotrasen/Abilities/Psionics/Abilities/TelegnosisPowerSystem.cs index f7ae04b61e..a1831fef34 100644 --- a/Content.Server/Nyanotrasen/Abilities/Psionics/Abilities/TelegnosisPowerSystem.cs +++ b/Content.Server/Nyanotrasen/Abilities/Psionics/Abilities/TelegnosisPowerSystem.cs @@ -9,7 +9,7 @@ using Content.Shared.Actions.Events; namespace Content.Server.Abilities.Psionics { - public sealed class TelegnosisPowerSystem : EntitySystem + public sealed class TelegnosisPowerSystem : SharedTelegnosisPowerSystem { [Dependency] private readonly IPrototypeManager _prototypeManager = default!; [Dependency] private readonly StatusEffectsSystem _statusEffects = default!; diff --git a/Content.Shared/Nyanotrasen/Abilities/Psionics/Abilities/Telegnosis/SharedTelegnosisPowerSystem.cs b/Content.Shared/Nyanotrasen/Abilities/Psionics/Abilities/Telegnosis/SharedTelegnosisPowerSystem.cs new file mode 100644 index 0000000000..5fec9cc931 --- /dev/null +++ b/Content.Shared/Nyanotrasen/Abilities/Psionics/Abilities/Telegnosis/SharedTelegnosisPowerSystem.cs @@ -0,0 +1,19 @@ +using Content.Shared.Interaction.Events; + +namespace Content.Shared.Abilities.Psionics; + +public abstract class SharedTelegnosisPowerSystem : EntitySystem +{ + public override void Initialize() + { + base.Initialize(); + + SubscribeLocalEvent(OnInteractionAttempt); + } + + private void OnInteractionAttempt(Entity ent, ref InteractionAttemptEvent args) + { + // no astrally stealing someones shoes + args.Cancelled = true; + } +} diff --git a/Content.Shared/Nyanotrasen/Abilities/Psionics/Abilities/Telegnosis/TelegnosisPowerComponent.cs b/Content.Shared/Nyanotrasen/Abilities/Psionics/Abilities/Telegnosis/TelegnosisPowerComponent.cs index 51958822a4..d794f2e00c 100644 --- a/Content.Shared/Nyanotrasen/Abilities/Psionics/Abilities/Telegnosis/TelegnosisPowerComponent.cs +++ b/Content.Shared/Nyanotrasen/Abilities/Psionics/Abilities/Telegnosis/TelegnosisPowerComponent.cs @@ -5,7 +5,7 @@ using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototy namespace Content.Shared.Abilities.Psionics { - [RegisterComponent] + [RegisterComponent, Access(typeof(SharedTelegnosisPowerSystem))] public sealed partial class TelegnosisPowerComponent : Component { [DataField("prototype")] @@ -20,4 +20,4 @@ namespace Content.Shared.Abilities.Psionics [DataField("telegnosisActionEntity")] public EntityUid? TelegnosisActionEntity; } -} \ No newline at end of file +} diff --git a/Content.Shared/Nyanotrasen/Abilities/Psionics/Abilities/Telegnosis/TelegnosticProjectionComponent.cs b/Content.Shared/Nyanotrasen/Abilities/Psionics/Abilities/Telegnosis/TelegnosticProjectionComponent.cs index 9d627cb42d..8de2b046d8 100644 --- a/Content.Shared/Nyanotrasen/Abilities/Psionics/Abilities/Telegnosis/TelegnosticProjectionComponent.cs +++ b/Content.Shared/Nyanotrasen/Abilities/Psionics/Abilities/Telegnosis/TelegnosticProjectionComponent.cs @@ -1,6 +1,4 @@ -namespace Content.Shared.Abilities.Psionics -{ - [RegisterComponent] - public sealed partial class TelegnosticProjectionComponent : Component - {} -} \ No newline at end of file +namespace Content.Shared.Abilities.Psionics; + +[RegisterComponent, Access(typeof(SharedTelegnosisPowerSystem))] +public sealed partial class TelegnosticProjectionComponent : Component; From 8708b234f5b15ab65668d57ad89677ddb411398a Mon Sep 17 00:00:00 2001 From: Delta-V bot <135767721+DeltaV-Bot@users.noreply.github.com> Date: Sat, 9 Nov 2024 20:28:18 +0100 Subject: [PATCH 12/26] Automatic changelog update --- Resources/Changelog/DeltaVChangelog.yml | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/Resources/Changelog/DeltaVChangelog.yml b/Resources/Changelog/DeltaVChangelog.yml index 9db95f7416..9c6eca31d1 100644 --- a/Resources/Changelog/DeltaVChangelog.yml +++ b/Resources/Changelog/DeltaVChangelog.yml @@ -1,10 +1,4 @@ Entries: -- author: ps3moira - changes: - - message: Removed bionic syrinx implanter from surplus crate. - type: Remove - id: 163 - time: '2023-12-11T23:11:41.0000000+00:00' - author: ps3moira changes: - message: Removed Carpotoxin from Sashimi, now they are sushi-grade! @@ -3718,3 +3712,10 @@ id: 662 time: '2024-11-09T13:16:44.0000000+00:00' url: https://github.com/DeltaV-Station/Delta-v/pull/2143 +- author: deltanedas + changes: + - message: Fixed telegnostic projections being able to interact with things. + type: Tweak + id: 663 + time: '2024-11-09T19:27:59.0000000+00:00' + url: https://github.com/DeltaV-Station/Delta-v/pull/2117 From 170a086e25d394c742861d54430f44b2a93bc241 Mon Sep 17 00:00:00 2001 From: Velcroboy <107660393+IamVelcroboy@users.noreply.github.com> Date: Sat, 9 Nov 2024 13:29:10 -0600 Subject: [PATCH 13/26] Adds AI directional sign (#2160) Co-authored-by: Velcroboy --- .../Structures/Wallmounts/Signs/signs.yml | 10 +++++++++- .../Wallmounts/signs.rsi/direction_aicore.png | Bin 0 -> 450 bytes .../Structures/Wallmounts/signs.rsi/meta.json | 4 ++++ 3 files changed, 13 insertions(+), 1 deletion(-) create mode 100644 Resources/Textures/DeltaV/Structures/Wallmounts/signs.rsi/direction_aicore.png diff --git a/Resources/Prototypes/DeltaV/Entities/Structures/Wallmounts/Signs/signs.yml b/Resources/Prototypes/DeltaV/Entities/Structures/Wallmounts/Signs/signs.yml index 3b5329e230..db571aa635 100644 --- a/Resources/Prototypes/DeltaV/Entities/Structures/Wallmounts/Signs/signs.yml +++ b/Resources/Prototypes/DeltaV/Entities/Structures/Wallmounts/Signs/signs.yml @@ -38,4 +38,12 @@ sprite: DeltaV/Structures/Wallmounts/signs.rsi state: direction_court - +- type: entity + parent: BaseSignDirectional + id: SignDirectionaAI + name: AI sign + description: A direction sign, pointing out which way the AI core is. + components: + - type: Sprite + sprite: DeltaV/Structures/Wallmounts/signs.rsi + state: direction_aicore diff --git a/Resources/Textures/DeltaV/Structures/Wallmounts/signs.rsi/direction_aicore.png b/Resources/Textures/DeltaV/Structures/Wallmounts/signs.rsi/direction_aicore.png new file mode 100644 index 0000000000000000000000000000000000000000..226a799578995554cf24da3a4ebdcd5447735f80 GIT binary patch literal 450 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-D%zlRRAG-VP@z`6@?Y+Qcf>@I??|EGmFGD)-PgicFvv+kqHj`4}^b+O!PhD+Z1(S zU1)yU)vv1=|JhGU*|ORAriRfCK}MkI4XnE^GS7QndoFa%y4T%R*VomjM^*g)R3>OG zyY17LUl;dk}XS z>~781eP?>V_AXlyuhQ7zF*|v6{p(v(ZheUQb*=x>s?S-EYZ&Ttmjv_rmlo8%-fi@c z)u}$WxAk9C-|nd$HT63!vaMd9nr~Wo?L^`BNfy~EU#6DNDpwM7A{e|`Zvp0v1 m|9{~N Date: Sat, 9 Nov 2024 19:38:30 +0000 Subject: [PATCH 14/26] add engine essentials crate (#2114) Co-authored-by: deltanedas <@deltanedas:kde.org> --- .../DeltaV/Catalog/Fills/Crates/engine.yml | 45 +++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 Resources/Prototypes/DeltaV/Catalog/Fills/Crates/engine.yml diff --git a/Resources/Prototypes/DeltaV/Catalog/Fills/Crates/engine.yml b/Resources/Prototypes/DeltaV/Catalog/Fills/Crates/engine.yml new file mode 100644 index 0000000000..252d5762ff --- /dev/null +++ b/Resources/Prototypes/DeltaV/Catalog/Fills/Crates/engine.yml @@ -0,0 +1,45 @@ +- type: entity + parent: CrateEngineering + id: CrateEngineEssentials + name: engine essentials crate + description: Everything you need to power the station, in a superposition of containing both a singularity and a tesla. + suffix: 1 per map MAX + components: + - type: EntityTableContainerFill + containers: + entity_storage: !type:GroupSelector + children: + - !type:NestedSelector + tableId: TeslaEssentials + - !type:NestedSelector + tableId: SingularityEssentials + +- type: entityTable + id: TeslaEssentials + table: !type:AllSelector + children: + - id: TeslaGeneratorFlatpack + - id: TeslaGeneratorFlatpack + prob: 0.3 # Small chance of a free backup + - id: TeslaCoilFlatpack + amount: !type:RangeNumberSelector + range: 4, 6 + - id: TeslaGroundingRodFlatpack + amount: !type:ConstantNumberSelector + value: 4 + +- type: entityTable + id: SingularityEssentials + table: !type:AllSelector + children: + - id: SingularityGeneratorFlatpack + - id: SingularityGeneratorFlatpack + prob: 0.3 # Small chance of a free backup + # intentionally separate rolls so they are probably mismatched + # you might get spare tanks you might have to get more from the tank dispenser + - id: RadiationCollectorFlatpack + amount: !type:RangeNumberSelector + range: 8, 12 + - id: PlasmaTankFilled + amount: !type:RangeNumberSelector + range: 8, 12 From aa19c8e123cc57444b3566fd804cda235e7ebb9d Mon Sep 17 00:00:00 2001 From: Unkn0wn_Gh0st Date: Sat, 9 Nov 2024 13:44:28 -0600 Subject: [PATCH 15/26] Synthesis Ghost Role Rule Adjustment (#2152) --- .../en-US/deltav/ghost/roles/ghost-role-component.ftl | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/Resources/Locale/en-US/deltav/ghost/roles/ghost-role-component.ftl b/Resources/Locale/en-US/deltav/ghost/roles/ghost-role-component.ftl index 6923ae4105..232f4ed6ba 100644 --- a/Resources/Locale/en-US/deltav/ghost/roles/ghost-role-component.ftl +++ b/Resources/Locale/en-US/deltav/ghost/roles/ghost-role-component.ftl @@ -30,12 +30,13 @@ ghost-role-information-silvia-rules = Keep the medical team company and help out ghost-role-information-synthesis-name = Synthesis Specialist ghost-role-information-synthesis-description = You are a member of Interdyne Pharmaceutics! You are provided all the tools to manufacture a variety of medical cocktails. Establish your craft, peddle your poisons, and make profit. ghost-role-information-synthesis-rules = - Brew deadly poisons, marvelous medicines, and anything in between. - Sell your concoctions to local agents, crew, and anyone with supplies. - Stay on your ship, it is your lifeblood! - + You are a [color=yellow][bold]Free-Agent[/bold][/color]. You are free to act as either an antagonist or a non-antagonist. You are just a chemist so do not act like a full-on antagonist, i.e. no killing people yourself unless your ship is in danger. + Brew deadly poisons, marvelous medicines, and anything in between. + Sell your concoctions to [color=red]local agents[/color], crew, and anyone with supplies. + Stay on your ship; it is your job, home, and lifeblood. + ghost-role-information-closet-skeleton-rules = You are a old member of the station, try to get your previous job back or dwell in the maintenance tunnels!. You are a [color=green][bold]Non-antagonist[/bold][/color]. You should generally not seek to harm the station and its crew. You're allowed some minor mischief. From 48b0f0646a33cf54cffacd989aba41fc384d83a5 Mon Sep 17 00:00:00 2001 From: Delta-V bot <135767721+DeltaV-Bot@users.noreply.github.com> Date: Sat, 9 Nov 2024 20:44:47 +0100 Subject: [PATCH 16/26] Automatic changelog update --- Resources/Changelog/DeltaVChangelog.yml | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/Resources/Changelog/DeltaVChangelog.yml b/Resources/Changelog/DeltaVChangelog.yml index 9c6eca31d1..68f83a8df9 100644 --- a/Resources/Changelog/DeltaVChangelog.yml +++ b/Resources/Changelog/DeltaVChangelog.yml @@ -1,10 +1,4 @@ Entries: -- author: ps3moira - changes: - - message: Removed Carpotoxin from Sashimi, now they are sushi-grade! - type: Remove - id: 164 - time: '2023-12-13T20:12:46.0000000+00:00' - author: Adrian16199 changes: - message: Crew has learned how to make a straw hat out of wheat bushels! @@ -3719,3 +3713,10 @@ id: 663 time: '2024-11-09T19:27:59.0000000+00:00' url: https://github.com/DeltaV-Station/Delta-v/pull/2117 +- author: Unkn0wnGh0st333 + changes: + - message: Synthesis Specialist ghost rules have been slightly adjusted. + type: Tweak + id: 664 + time: '2024-11-09T19:44:28.0000000+00:00' + url: https://github.com/DeltaV-Station/Delta-v/pull/2152 From 5a7b1c158a643367543dd6d2836ec042b3e5994a Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Sun, 10 Nov 2024 01:23:49 +0000 Subject: [PATCH 17/26] Update Credits (#2162) Co-authored-by: DeltaV-Bot --- Resources/Credits/GitHub.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Resources/Credits/GitHub.txt b/Resources/Credits/GitHub.txt index cf6e514070..da92036192 100644 --- a/Resources/Credits/GitHub.txt +++ b/Resources/Credits/GitHub.txt @@ -1 +1 @@ -0x6273, 12rabbits, 13spacemen, 2013HORSEMEATSCANDAL, 20kdc, 21Melkuu, 2digitman, 3nderall, 4310v343k, 4dplanner, 612git, 778b, Ablankmann, abregado, Absolute-Potato, Acruid, actioninja, actually-reb, ada-please, adamsong, Adeinitas, Admiral-Obvious-001, adrian, Adrian16199, Ady4ik, Aerocrux, Aeshus, Aexolott, Aexxie, africalimedrop, afrokada, Agoichi, Ahion, aiden, Aikakakah, aitorlogedo, AJCM-git, AjexRose, Alekshhh, alexkar598, AlexMorgan3817, alexumandxgabriel08x, Alithsko, ALMv1, Alpha-Two, AlphaQwerty, Altoids1, amylizzle, ancientpower, Andre19926, AndrewEyeke, AndreyCamper, angelofallars, Anzarot121, Appiah, ar4ill, ArchPigeon, ArchRBX, areitpog, Arendian, arimah, Arkanic, ArkiveDev, armoks, Arteben, ArthurMousatov, ArtisticRoomba, artur, AruMoon, ArZarLordOfMango, as334, AsikKEsel, AsnDen, asperger-sind, aspiringLich, astriloqua, august-sun, AutoOtter, Avalon-Proto, avghdev, Awlod, azzy, AzzyIsNotHere, BackeTako, BananaFlambe, Baptr0b0t, BasedPugilist, BasedUser, Batuh1n, beck-thompson, BellwetherLogic, benev0, benjamin-burges, BGare, bhespiritu, BIGZi0348, bingojohnson, BismarckShuffle, Bixkitts, Blackern5000, Blazeror, BlitzTheSquishy, bloodrizer, Bloody2372, blueDev2, Boaz1111, BobdaBiscuit, BobTheSleder, boiled-water-tsar, BombasterDS, botanySupremist, brainfood1183, BramvanZijp, Brandon-Huu, Bribrooo, Bright0, brndd, bryce0110, BubblegumBlue, buletsponge, buntobaggins, bvelliquette, byondfuckery, c0rigin, c4llv07e, CaasGit, Caconym27, Calecute, Callmore, capnsockless, CaptainSqrBeard, Carbonhell, Carolyn3114, Carou02, carteblanche4me, Catofquestionableethics, CatTheSystem, Centronias, chairbender, Charlese2, charlie, ChaseFlorom, chavonadelal, Cheackraze, cheesePizza2, cheeseplated, Chief-Engineer, chillyconmor, christhirtle, chromiumboy, Chronophylos, Chubbygummibear, Ciac32, civilCornball, Clement-O, clyf, Clyybber, CMDR-Piboy314, CodedCrow, cohanna, Cohnway, Cojoke-dot, ColdAutumnRain, Colin-Tel, collinlunn, ComicIronic, CookieMasterT, coolboy911, coolmankid12345, Coolsurf6, corentt, CormosLemming, crazybrain23, creadth, CrigCrag, croilbird, Crotalus, CrudeWax, CrzyPotato, cutemoongod, Cyberboss, d34d10cc, d4kii, dabigoose, DadeKuma, Daemon, daerSeebaer, dahnte, dakamakat, DamianX, DangerRevolution, daniel-cr, DanSAussieITS, Daracke, DarkenedSynergy, Darkenson, DawBla, Daxxi3, dch-GH, de0rix, Deahaka, dean, DEATHB4DEFEAT, DeathCamel58, Deatherd, deathride58, DebugOk, Decappi, Decortex, Deeeeja, deepdarkdepths, DefinitelyNotFurryXD, degradka, Delete69, deltanedas, DeltaV-Bot, DenisShvalov, DerbyX, derek, dersheppard, Deserty0, Detintinto, DevilishMilk, dexlerxd, dffdff2423, dge21, DieselMohawk, digitalic, Dimastra, DinoWattz, DisposableCrewmember42, DjfjdfofdjfjD, doc-michael, docnite, Doctor-Cpu, DoctorBeard, DogZeroX, dolgovmi, dontbetank, Doomsdrayk, dootythefrooty, Dorragon, Doru991, DoubleRiceEddiedd, DoutorWhite, dragonryan06, drakewill-CRL, Drayff, dreamlyjack, DrEnzyme, dribblydrone, DrMelon, drongood12, DrSingh, DrSmugleaf, drteaspoon420, DTanxxx, DubiousDoggo, Duddino, dukevanity, duskyjay, Dutch-VanDerLinde, dvir001, Dynexust, Easypoller, eclips_e, eden077, EEASAS, Efruit, efzapa, ElectroSR, elsie, elthundercloud, Elysium206, Emisse, emmafornash, EmoGarbage404, Endecc, eoineoineoin, eris, erohrs2, ERORR404V1, Errant-4, esguard, estacaoespacialpirata, eugene, exincore, exp111, f0x-n3rd, FacePluslll, Fahasor, FairlySadPanda, FATFSAAM2, Feluk6174, ficcialfaint, Fiftyllama, Fildrance, FillerVK, FinnishPaladin, FirinMaLazors, Fishfish458, FL-OZ, Flareguy, flashgnash, FluffiestFloof, FluffMe, FluidRock, flyingkarii, foboscheshir, FoLoKe, fooberticus, ForestNoises, forgotmyotheraccount, forkeyboards, forthbridge, Fortune117, Fouin, foxhorn, freeman2651, freeze2222, Froffy025, Fromoriss, froozigiusz, FrostMando, FryOfDestiny, FungiFellow, FunTust, Futuristic-OK, GalacticChimp, gamer3107, Gaxeer, gbasood, Geekyhobo, genderGeometries, GeneralGaws, Genkail, geraeumig, Ghagliiarghii, Git-Nivrak, githubuser508, gituhabu, GlassEclipse, GNF54, godisdeadLOL, goet, Goldminermac, Golinth, GoodWheatley, Gorox221, gradientvera, graevy, GraniteSidewalk, GreaseMonk, greenrock64, greggthefather, GreyMario, GTRsound, Guess-My-Name, gusxyz, Gyrandola, h3half, Haltell, Hanzdegloker, HappyRoach, Hardly3D, harikattar, he1acdvv, Hebi, Henry, HerCoyote23, hitomishirichan, hiucko, Hmeister-fake, Hmeister-real, hobnob, HoidC, Holinka4ever, holyssss, HoofedEar, Hoolny, hord-brayden, Hreno, htmlsystem, hubismal, Hugal31, Huxellberger, Hyenh, hyphenationc, i-justuser-i, iacore, IamVelcroboy, ian, icekot8, icesickleone, iczero, iglov, IgorAnt028, igorsaux, ike709, illersaver, Illiux, Ilushkins33, Ilya246, IlyaElDunaev, imrenq, imweax, indeano, Injazz, Insineer, IntegerTempest, Interrobang01, IProduceWidgets, itsmethom, Itzbenz, iztokbajcar, Jackal298, Jackrost, jacksonzck, Jackw2As, jacob, jamessimo, janekvap, Jark255, Jaskanbe, JasperJRoth, JerryImMouse, jerryimmouse, Jessetriesagain, jessicamaybe, Jezithyr, jicksaw, JiimBob, JimGamemaster, jimmy12or, JIPDawg, jjtParadox, jmcb, JoeHammad1844, JohnGinnane, johnku1, Jophire, joshepvodka, Jrpl, juliangiebel, JustArt1m, JustCone14, justdie12, justin, justintether, JustinTrotter, justtne, K-Dynamic, k3yw, Kadeo64, Kaga-404, KaiShibaa, kalane15, kalanosh, Kanashi-Panda, katzenminer, kbailey-git, Keelin, Keer-Sar, KEEYNy, keikiru, Kelrak, kerisargit, keronshb, KIBORG04, Killerqu00, Kimpes, KingFroozy, kira-er, Kirillcas, Kirus59, Kistras, Kit0vras, KittenColony, klaypexx, Kmc2000, Ko4ergaPunk, kognise, kokoc9n, komunre, KonstantinAngelov, kosticia, koteq, KrasnoshchekovPavel, Krunklehorn, Kupie, Kurzaen, kxvvv, kyupolaris, kzhanik, lajolico, Lamrr, LankLTE, laok233, lapatison, larryrussian, lawdog4817, Lazzi0706, leander-0, leonardo-dabepis, leonsfriedrich, LetterN, lettern, Level10Cybermancer, LEVELcat, lever1209, Lgibb18, lgruthes, LightVillet, liltenhead, LinkUyx, LittleBuilderJane, LittleNyanCat, lizelive, lleftTheDragon, localcc, lokachop, Lomcastar, LordCarve, LordEclipse, lucas, LucasTheDrgn, luckyshotpictures, LudwigVonChesterfield, luizwritescode, Lukasz825700516, luminight, lunarcomets, luringens, lvvova1, Lyndomen, lyroth001, lzimann, lzk228, M3739, mac6na6na, MACMAN2003, Macoron, magicalus, magmodius, MagnusCrowe, malchanceux, MaloTV, ManelNavola, manelnavola, Mangohydra, marboww, Markek1, Matz05, max, MaxNox7, maylokana, MehimoNemo, MeltedPixel, MemeProof, memoblob, MendaxxDev, Menshin, Mephisto72, MerrytheManokit, Mervill, metalgearsloth, MetalSage, MFMessage, mhamsterr, michaelcu, micheel665, MilenVolf, MilonPL, Minemoder5000, Minty642, Mirino97, mirrorcult, misandrie, MishaUnity, MissKay1994, MisterMecky, Mith-randalf, MjrLandWhale, mkanke-real, MLGTASTICa, mnemotechnician, moderatelyaware, modern-nm, mokiros, Moneyl, Monotheonist, Moomoobeef, moony, Morb0, mr-bo-jangles, Mr0maks, MrFippik, mrrobdemo, muburu, MureixloI, musicmanvr, MWKane, Myakot, Myctai, N3X15, nails-n-tape, Nairodian, Naive817, NakataRin, namespace-Memory, Nannek, NazrinNya, neutrino-laser, NickPowers43, nikthechampiongr, Nimfar11, Nirnael, NIXC, NkoKirkto, nmajask, noctyrnal, noelkathegod, nok-ko, NonchalantNoob, NoobyLegion, Nopey, not-gavnaed, notafet, notquitehadouken, notsodana, noudoit, noverd, NuclearWinter, nukashimika, nuke-haus, NULL882, nullarmo, NullWanderer, nyeogmi, Nylux, Nyranu, och-och, ocotheomega, OctoRocket, OldDanceJacket, onoira, OnyxTheBrave, OrangeMoronage9622, osjarw, Ostaf, othymer, OttoMaticode, Owai-Seek, packmore, paigemaeforrest, pali6, Pangogie, panzer-iv1, paolordls, partyaddict, patrikturi, PaulRitter, peccneck, Peptide90, peptron1, PeterFuto, PetMudstone, pewter-wiz, Pgriha, Phantom-Lily, PHCodes, pheenty, Phill101, phunnyguy, PilgrimViis, Pill-U, Pireax, pissdemon, PixeltheAertistContrib, PixelTheKermit, PJB3005, Plasmaguy, plinyvic, Plykiya, pofitlo, pointer-to-null, pok27, PolterTzi, PoorMansDreams, PopGamer45, portfiend, potato1234x, PotentiallyTom, PPooch, ProfanedBane, ProPandaBear, PrPleGoo, ps3moira, Pspritechologist, Psychpsyo, psykzz, PuceTint, PuroSlavKing, PursuitInAshes, Putnam3145, qrtDaniil, quatre, QueerNB, QuietlyWhisper, qwerltaz, Radezolid, RadioMull, Radosvik, Radrark, Rainbeon, Rainfey, Raitononai, Ramlik, randy10122, Rane, Ranger6012, Rapidgame7, ravage123321, rbertoche, Redfire1331, Redict, RedlineTriad, redmushie, RednoWCirabrab, RemberBM, RemieRichards, RemTim, Remuchi, rene-descartes2021, Renlou, retequizzle, RiceMar1244, rich-dunne, RieBi, riggleprime, RIKELOLDABOSS, rinary1, Rinkashikachi, riolume, RobbyTheFish, Rockdtben, Rohesie, rok-povsic, rolfero, RomanNovo, rosieposieeee, Roudenn, router, RumiTiger, S1rFl0, S1ss3l, Saakra, Sadie-silly, saga3152, saintmuntzer, Salex08, sam, samgithubaccount, Samsterious, SaphireLattice, SapphicOverload, sarahon, SaveliyM360, sBasalto, ScalyChimp, ScarKy0, scrato, Scribbles0, scrivoy, scruq445, scuffedjays, ScumbagDog, Segonist, sephtasm, Serkket, sewerpig, sh18rw, ShadeAware, ShadowCommander, Shadowtheprotogen546, shadowwailker, shaeone, shampunj, shariathotpatrol, ShatteredSwords, SignalWalker, siigiil, SimpleStation14, Simyon264, sirdragooon, Sirionaut, Sk1tch, SkaldetSkaeg, Skarletto, Skrauz, Skyedra, SlamBamActionman, slarticodefast, Slava0135, Slyfox333, snebl, sniperchance, Snowni, snowsignal, solaris7518, SonicHDC, SoulFN, SoulSloth, Soundwavesghost, southbridge-fur, Soydium, SpaceLizardSky, SpaceManiac, SpaceyLady, spartak, SpartanKadence, SpeltIncorrectyl, Spessmann, SphiraI, SplinterGP, spoogemonster, sporekto, sporkyz, Squishy77, SsalamethVersaach, ssdaniel24, stalengd, stanberytrask, Stanislav4ix, StanTheCarpenter, Stealthbomber16, stellar-novas, stomf, Stop-Signs, stopbreaking, stopka-html, StrawberryMoses, Stray-Pyramid, strO0pwafel, Strol20, StStevens, Subversionary, sunbear-dev, superjj18, Supernorn, SweptWasTaken, Sybil, SYNCHRONIC, Szunti, TadJohnson00, Tainakov, takemysoult, TaralGit, Taran, taurie, Tayrtahn, tday93, teamaki, TekuNut, telyonok, TemporalOroboros, tentekal, terezi4real, Terraspark4941, texcruize, TGRCdev, tgrkzus, ThataKat, ThatOneGoblin25, thatrandomcanadianguy, TheArturZh, theashtronaut, thecopbennet, TheCze, TheDarkElites, thedraccx, TheEmber, TheIntoxicatedCat, thekilk, themias, theomund, TheOneWhoIsManyFrame, theOperand, TherapyGoth, therealDLondon, TheShuEd, thetolbean, thevinter, TheWaffleJesus, Thinbug0, ThunderBear2006, Timemaster99, timothyteakettle, TimrodDX, timurjavid, tin-man-tim, Titian3, tk-a369, tkdrg, tmtmtl30, toasterpm87, TokenStyle, Tollhouse, Toly65, tom-leys, tomasalves8, Tomeno, Tonydatguy, topy, Tornado-Technology, tosatur, TotallyLemon, tropicalhibi, truepaintgit, Truoizys, Tryded, TsjipTsjip, Tunguso4ka, TurboTrackerss14, tyashley, Tyler-IN, Tyzemol, UbaserB, ubis1, UBlueberry, UKNOWH, UltimateJester, Unbelievable-Salmon, underscorex5, UnicornOnLSD, Unisol, Unkn0wnGh0st333, unusualcrow, Uriende, UristMcDorf, user424242420, Vaaankas, valentfingerov, Varen, Vasilis, VasilisThePikachu, Velcroboy, veliebm, VelonacepsCalyxEggs, venn, veprolet, veritable-calamity, Veritius, Vermidia, vero5123, Verslebas, VigersRay, violet754, Visne, vitalvitriol, VMSolidus, voidnull000, volotomite, volundr-, Voomra, Vordenburg, vorkathbruh, vulppine, wafehling, Warentan, WarMechanic, Watermelon914, weaversam8, wertanchik, whateverusername0, Willhelm53, WilliamECrew, willicassi, Winkarst-cpu, wirdal, wixoaGit, WlarusFromDaSpace, wrexbe, wtcwr68, xkreksx, xprospero, xRiriq, YanehCheck, yathxyz, Ygg01, YotaXP, youarereadingthis, Yousifb26, youtissoum, yunii, YuriyKiss, yuriykiss, zach-hill, Zadeon, zamp, Zandario, Zap527, Zealith-Gamer, ZelteHonor, zero, ZeroDiamond, ZeWaka, zionnBE, ZNixian, ZoldorfTheWizard, zonespace27, ZweiHawke, Zylofan, Zymem, zzylex +0x6273, 12rabbits, 13spacemen, 2013HORSEMEATSCANDAL, 20kdc, 21Melkuu, 2digitman, 3nderall, 4310v343k, 4dplanner, 612git, 778b, Ablankmann, abregado, Absolute-Potato, Acruid, actioninja, actually-reb, ada-please, adamsong, Adeinitas, Admiral-Obvious-001, adrian, Adrian16199, Ady4ik, Aerocrux, Aeshus, Aexolott, Aexxie, africalimedrop, afrokada, Agoichi, Ahion, aiden, Aikakakah, aitorlogedo, AJCM-git, AjexRose, Alekshhh, alexkar598, AlexMorgan3817, alexumandxgabriel08x, Alithsko, ALMv1, Alpha-Two, AlphaQwerty, Altoids1, amylizzle, ancientpower, Andre19926, AndrewEyeke, AndreyCamper, angelofallars, Anzarot121, Appiah, ar4ill, ArchPigeon, ArchRBX, areitpog, Arendian, arimah, Arkanic, ArkiveDev, armoks, Arteben, ArthurMousatov, ArtisticRoomba, artur, AruMoon, ArZarLordOfMango, as334, AsikKEsel, AsnDen, asperger-sind, aspiringLich, astriloqua, august-sun, AutoOtter, Avalon-Proto, avghdev, Awlod, azzy, AzzyIsNotHere, BackeTako, BananaFlambe, Baptr0b0t, BasedPugilist, BasedUser, Batuh1n, beck-thompson, BellwetherLogic, benev0, benjamin-burges, BGare, bhespiritu, BIGZi0348, bingojohnson, BismarckShuffle, Bixkitts, Blackern5000, Blazeror, BlitzTheSquishy, bloodrizer, Bloody2372, blueDev2, Boaz1111, BobdaBiscuit, BobTheSleder, boiled-water-tsar, BombasterDS, botanySupremist, brainfood1183, BramvanZijp, Brandon-Huu, Bribrooo, Bright0, brndd, bryce0110, BubblegumBlue, buletsponge, buntobaggins, bvelliquette, byondfuckery, c0rigin, c4llv07e, CaasGit, Caconym27, Calecute, Callmore, capnsockless, CaptainSqrBeard, Carbonhell, Carolyn3114, Carou02, carteblanche4me, Catofquestionableethics, CatTheSystem, Centronias, chairbender, Charlese2, charlie, ChaseFlorom, chavonadelal, Cheackraze, cheesePizza2, cheeseplated, Chief-Engineer, chillyconmor, christhirtle, chromiumboy, Chronophylos, Chubbygummibear, Ciac32, civilCornball, Clement-O, clyf, Clyybber, CMDR-Piboy314, CodedCrow, cohanna, Cohnway, Cojoke-dot, ColdAutumnRain, Colin-Tel, collinlunn, ComicIronic, CookieMasterT, coolboy911, coolmankid12345, Coolsurf6, corentt, CormosLemming, crazybrain23, creadth, CrigCrag, croilbird, Crotalus, CrudeWax, CrzyPotato, cutemoongod, Cyberboss, d34d10cc, dabigoose, DadeKuma, Daemon, daerSeebaer, dahnte, dakamakat, DamianX, DangerRevolution, daniel-cr, DanSAussieITS, Daracke, DarkenedSynergy, Darkenson, DawBla, Daxxi3, dch-GH, de0rix, Deahaka, dean, DEATHB4DEFEAT, DeathCamel58, Deatherd, deathride58, DebugOk, Decappi, Decortex, Deeeeja, deepdarkdepths, DefinitelyNotFurryXD, degradka, Delete69, deltanedas, DeltaV-Bot, DenisShvalov, DerbyX, derek, dersheppard, Deserty0, Detintinto, DevilishMilk, dexlerxd, dffdff2423, dge21, DieselMohawk, digitalic, Dimastra, DinoWattz, DisposableCrewmember42, DjfjdfofdjfjD, doc-michael, docnite, Doctor-Cpu, DoctorBeard, DogZeroX, dolgovmi, dontbetank, Doomsdrayk, dootythefrooty, Dorragon, Doru991, DoubleRiceEddiedd, DoutorWhite, dragonryan06, drakewill-CRL, Drayff, dreamlyjack, DrEnzyme, dribblydrone, DrMelon, drongood12, DrSingh, DrSmugleaf, drteaspoon420, DTanxxx, DubiousDoggo, Duddino, dukevanity, duskyjay, Dutch-VanDerLinde, dvir001, Dynexust, Easypoller, eclips_e, eden077, EEASAS, Efruit, efzapa, ElectroSR, elsie, elthundercloud, Elysium206, Emisse, emmafornash, EmoGarbage404, Endecc, eoineoineoin, eris, erohrs2, ERORR404V1, Errant-4, esguard, estacaoespacialpirata, eternally-confused, eugene, ewokswagger, exincore, exp111, f0x-n3rd, FacePluslll, Fahasor, FairlySadPanda, FATFSAAM2, Feluk6174, ficcialfaint, Fiftyllama, Fildrance, FillerVK, FinnishPaladin, FirinMaLazors, Fishfish458, FL-OZ, Flareguy, flashgnash, FluffiestFloof, FluffMe, FluidRock, flyingkarii, foboscheshir, FoLoKe, fooberticus, ForestNoises, forgotmyotheraccount, forkeyboards, forthbridge, Fortune117, Fouin, foxhorn, freeman2651, freeze2222, Froffy025, Fromoriss, froozigiusz, FrostMando, FryOfDestiny, FungiFellow, FunTust, Futuristic-OK, GalacticChimp, gamer3107, Gaxeer, gbasood, Geekyhobo, genderGeometries, GeneralGaws, Genkail, geraeumig, Ghagliiarghii, Git-Nivrak, githubuser508, gituhabu, GlassEclipse, GNF54, godisdeadLOL, goet, Goldminermac, Golinth, GoodWheatley, Gorox221, gradientvera, graevy, GraniteSidewalk, GreaseMonk, greenrock64, greggthefather, GreyMario, GTRsound, Guess-My-Name, gusxyz, Gyrandola, h3half, Haltell, Hanzdegloker, HappyRoach, Hardly3D, harikattar, he1acdvv, Hebi, Henry, HerCoyote23, HighTechPuddle, hitomishirichan, hiucko, Hmeister-fake, Hmeister-real, hobnob, HoidC, Holinka4ever, holyssss, HoofedEar, Hoolny, hord-brayden, Hreno, htmlsystem, hubismal, Hugal31, Huxellberger, Hyenh, hyphenationc, i-justuser-i, iacore, IamVelcroboy, ian, icekot8, icesickleone, iczero, iglov, IgorAnt028, igorsaux, ike709, illersaver, Illiux, Ilushkins33, Ilya246, IlyaElDunaev, imrenq, imweax, indeano, Injazz, Insineer, IntegerTempest, Interrobang01, IProduceWidgets, itsmethom, Itzbenz, iztokbajcar, Jackal298, Jackrost, jacksonzck, Jackw2As, jacob, jamessimo, janekvap, Jark255, Jaskanbe, JasperJRoth, JerryImMouse, jerryimmouse, Jessetriesagain, jessicamaybe, Jezithyr, jicksaw, JiimBob, JimGamemaster, jimmy12or, JIPDawg, jjtParadox, jmcb, JoeHammad1844, JohnGinnane, johnku1, Jophire, joshepvodka, Jrpl, juliangiebel, JustArt1m, JustCone14, justdie12, justin, justintether, JustinTrotter, justtne, K-Dynamic, k3yw, Kadeo64, Kaga-404, KaiShibaa, kalane15, kalanosh, Kanashi-Panda, katzenminer, kbailey-git, Keelin, Keer-Sar, KEEYNy, keikiru, Kelrak, kerisargit, keronshb, KIBORG04, Killerqu00, Kimpes, KingFroozy, kira-er, Kirillcas, Kirus59, Kistras, Kit0vras, KittenColony, klaypexx, Kmc2000, Ko4ergaPunk, kognise, kokoc9n, komunre, KonstantinAngelov, kosticia, koteq, KrasnoshchekovPavel, Krunklehorn, Kupie, Kurzaen, kxvvv, kyupolaris, kzhanik, lajolico, Lamrr, LankLTE, laok233, lapatison, larryrussian, lawdog4817, Lazzi0706, leander-0, leonardo-dabepis, leonsfriedrich, lettern, LetterN, Level10Cybermancer, LEVELcat, lever1209, Lgibb18, lgruthes, LightVillet, liltenhead, LinkUyx, LittleBuilderJane, LittleNyanCat, lizelive, lleftTheDragon, localcc, lokachop, Lomcastar, LordCarve, LordEclipse, lucas, LucasTheDrgn, luckyshotpictures, LudwigVonChesterfield, luizwritescode, Lukasz825700516, luminight, lunarcomets, luringens, lvvova1, Lyndomen, lyroth001, lzimann, lzk228, M3739, mac6na6na, MACMAN2003, Macoron, magicalus, magmodius, MagnusCrowe, malchanceux, MaloTV, manelnavola, ManelNavola, Mangohydra, marboww, Markek1, Matz05, max, MaxNox7, maylokana, MehimoNemo, MeltedPixel, MemeProof, memoblob, MendaxxDev, Menshin, Mephisto72, MerrytheManokit, Mervill, metalgearsloth, MetalSage, MFMessage, mhamsterr, michaelcu, micheel665, MilenVolf, MilonPL, Minemoder5000, Minty642, Mirino97, mirrorcult, misandrie, MishaUnity, MissKay1994, MisterMecky, Mith-randalf, MjrLandWhale, mkanke-real, MLGTASTICa, mnemotechnician, moderatelyaware, modern-nm, mokiros, Moneyl, Monotheonist, Moomoobeef, moony, Morb0, mr-bo-jangles, Mr0maks, MrFippik, mrrobdemo, muburu, MureixloI, musicmanvr, MWKane, Myakot, Myctai, N3X15, nails-n-tape, Nairodian, Naive817, NakataRin, namespace-Memory, Nannek, NazrinNya, neutrino-laser, NickPowers43, nikthechampiongr, Nimfar11, Nirnael, NIXC, NkoKirkto, nmajask, noctyrnal, noelkathegod, nok-ko, NonchalantNoob, NoobyLegion, Nopey, not-gavnaed, notafet, notquitehadouken, notsodana, noudoit, noverd, NuclearWinter, nukashimika, nuke-haus, NULL882, nullarmo, NullWanderer, nyeogmi, Nylux, Nyranu, och-och, ocotheomega, OctoRocket, OldDanceJacket, OnyxTheBrave, OrangeMoronage9622, osjarw, Ostaf, othymer, OttoMaticode, Owai-Seek, packmore, paigemaeforrest, pali6, Pangogie, panzer-iv1, paolordls, partyaddict, patrikturi, PaulRitter, peccneck, Peptide90, peptron1, PeterFuto, PetMudstone, pewter-wiz, Pgriha, Phantom-Lily, PHCodes, pheenty, Phill101, phunnyguy, PilgrimViis, Pill-U, Pireax, pissdemon, PixeltheAertistContrib, PixelTheKermit, PJB3005, Plasmaguy, plinyvic, Plykiya, pofitlo, pointer-to-null, pok27, PolterTzi, PoorMansDreams, PopGamer45, portfiend, potato1234x, PotentiallyTom, PPooch, ProfanedBane, ProPandaBear, PrPleGoo, ps3moira, Pspritechologist, Psychpsyo, psykzz, PuceTint, PuroSlavKing, PursuitInAshes, Putnam3145, qrtDaniil, quatre, QueerNB, QuietlyWhisper, qwerltaz, Radezolid, RadioMull, Radosvik, Radrark, Rainbeon, Rainfey, Raitononai, Ramlik, randy10122, Rane, Ranger6012, Rapidgame7, ravage123321, rbertoche, Redfire1331, Redict, RedlineTriad, redmushie, RednoWCirabrab, RemberBM, RemieRichards, RemTim, Remuchi, rene-descartes2021, Renlou, retequizzle, rich-dunne, RieBi, riggleprime, RIKELOLDABOSS, rinary1, Rinkashikachi, riolume, RobbyTheFish, Rockdtben, Rohesie, rok-povsic, rolfero, RomanNovo, rosieposieeee, Roudenn, router, RumiTiger, S1rFl0, S1ss3l, Saakra, Sadie-silly, saga3152, saintmuntzer, Salex08, sam, samgithubaccount, Samsterious, SaphireLattice, SapphicOverload, sarahon, SaveliyM360, sBasalto, ScalyChimp, ScarKy0, scrato, Scribbles0, scrivoy, scruq445, scuffedjays, ScumbagDog, Segonist, sephtasm, Serkket, sewerpig, sh18rw, ShadeAware, ShadowCommander, Shadowtheprotogen546, shadowwailker, shaeone, shampunj, shariathotpatrol, ShatteredSwords, SignalWalker, siigiil, SimpleStation14, Simyon264, sirdragooon, Sirionaut, Sk1tch, SkaldetSkaeg, Skarletto, Skrauz, Skyedra, SlamBamActionman, slarticodefast, Slava0135, Slyfox333, snebl, sniperchance, Snowni, snowsignal, solaris7518, SonicHDC, SoulFN, SoulSloth, Soundwavesghost, southbridge-fur, Soydium, SpaceLizardSky, SpaceManiac, SpaceRox1244, SpaceyLady, spartak, SpartanKadence, SpeltIncorrectyl, Spessmann, SphiraI, SplinterGP, spoogemonster, sporekto, sporkyz, Squishy77, SsalamethVersaach, ssdaniel24, stalengd, stanberytrask, Stanislav4ix, StanTheCarpenter, Stealthbomber16, stellar-novas, stomf, Stop-Signs, stopbreaking, stopka-html, StrawberryMoses, Stray-Pyramid, strO0pwafel, Strol20, StStevens, Subversionary, sunbear-dev, superjj18, Supernorn, SweptWasTaken, Sybil, SYNCHRONIC, Szunti, TadJohnson00, Tainakov, takemysoult, TaralGit, Taran, taurie, Tayrtahn, tday93, teamaki, TekuNut, telyonok, TemporalOroboros, tentekal, terezi4real, Terraspark4941, texcruize, TGRCdev, tgrkzus, ThataKat, ThatOneGoblin25, thatrandomcanadianguy, TheArturZh, theashtronaut, thecopbennet, TheCze, TheDarkElites, thedraccx, TheEmber, TheIntoxicatedCat, thekilk, themias, theomund, TheOneWhoIsManyFrame, theOperand, TherapyGoth, therealDLondon, TheShuEd, thetolbean, thevinter, TheWaffleJesus, Thinbug0, ThunderBear2006, Timemaster99, timothyteakettle, TimrodDX, timurjavid, tin-man-tim, Titian3, tk-a369, tkdrg, tmtmtl30, toasterpm87, TokenStyle, Tollhouse, Toly65, tom-leys, tomasalves8, Tomeno, Tonydatguy, topy, Tornado-Technology, tosatur, TotallyLemon, tropicalhibi, truepaintgit, Truoizys, Tryded, TsjipTsjip, Tunguso4ka, TurboTrackerss14, tyashley, Tyler-IN, Tyzemol, UbaserB, ubis1, UBlueberry, UKNOWH, UltimateJester, Unbelievable-Salmon, underscorex5, UnicornOnLSD, Unisol, Unkn0wnGh0st333, unusualcrow, Uriende, UristMcDorf, user424242420, Vaaankas, valentfingerov, Varen, Vasilis, VasilisThePikachu, Velcroboy, veliebm, VelonacepsCalyxEggs, venn, veprolet, veritable-calamity, Veritius, Vermidia, vero5123, Verslebas, VigersRay, violet754, Visne, vitalvitriol, VMSolidus, voidnull000, volotomite, volundr-, Voomra, Vordenburg, vorkathbruh, vulppine, wafehling, Warentan, WarMechanic, Watermelon914, weaversam8, wertanchik, whateverusername0, Willhelm53, WilliamECrew, willicassi, Winkarst-cpu, wirdal, wixoaGit, WlarusFromDaSpace, wrexbe, WTCWR68, xkreksx, xprospero, xRiriq, YanehCheck, yathxyz, Ygg01, YotaXP, youarereadingthis, Yousifb26, youtissoum, yunii, yuriykiss, YuriyKiss, zach-hill, Zadeon, zamp, Zandario, Zap527, Zealith-Gamer, ZelteHonor, zero, ZeroDiamond, ZeWaka, zionnBE, ZNixian, ZoldorfTheWizard, zonespace27, ZweiHawke, Zylofan, Zymem, zzylex From 648396c6635d957f21fab291ce282ae9df3487ae Mon Sep 17 00:00:00 2001 From: Milon Date: Sun, 10 Nov 2024 18:16:05 +0100 Subject: [PATCH 18/26] announcecustom command (#2163) * rushed af * Update AnnounceCustomCommand.cs --- .../Commands/AnnounceCustomCommand.cs | 79 +++++++++++++++++++ .../commands/announce-custom.ftl | 8 ++ 2 files changed, 87 insertions(+) create mode 100644 Content.Server/DeltaV/Administration/Commands/AnnounceCustomCommand.cs create mode 100644 Resources/Locale/en-US/deltav/administration/commands/announce-custom.ftl diff --git a/Content.Server/DeltaV/Administration/Commands/AnnounceCustomCommand.cs b/Content.Server/DeltaV/Administration/Commands/AnnounceCustomCommand.cs new file mode 100644 index 0000000000..f0429105b1 --- /dev/null +++ b/Content.Server/DeltaV/Administration/Commands/AnnounceCustomCommand.cs @@ -0,0 +1,79 @@ +using Content.Server.Chat.Systems; +using Content.Shared.Administration; +using Robust.Shared.Audio; +using Robust.Shared.Console; +using Robust.Shared.ContentPack; +using Robust.Shared.Prototypes; + +namespace Content.Server.Administration.Commands; + +[AdminCommand(AdminFlags.Fun)] +public sealed class AnnounceCustomCommand : IConsoleCommand +{ + [Dependency] private readonly IPrototypeManager _protoManager = default!; + [Dependency] private readonly IResourceManager _res = default!; + + public string Command => "announcecustom"; + public string Description => Loc.GetString("cmd-announcecustom-desc"); + public string Help => Loc.GetString("cmd-announcecustom-help", ("command", Command)); + + public void Execute(IConsoleShell shell, string argStr, string[] args) + { + var chat = IoCManager.Resolve().GetEntitySystem(); + + switch (args.Length) + { + case 0: + shell.WriteError(Loc.GetString("shell-need-minimum-one-argument")); + return; + case > 4: + shell.WriteError(Loc.GetString("shell-wrong-arguments-number")); + return; + } + + var message = args[0]; + var sender = "Central Command"; + var color = Color.Gold; + var sound = new SoundPathSpecifier("/Audio/Announcements/announce.ogg"); + + // Optional sender argument + if (args.Length >= 2) + sender = args[1]; + + // Optional color argument + if (args.Length >= 3) + { + try + { + color = Color.FromHex(args[2]); + } + catch + { + shell.WriteError(Loc.GetString("shell-invalid-color-hex")); + return; + } + } + + // Optional sound argument + if (args.Length >= 4) + sound = new SoundPathSpecifier(args[3]); + + chat.DispatchGlobalAnnouncement(message, sender, true, sound, color); + shell.WriteLine(Loc.GetString("shell-command-success")); + } + + public CompletionResult GetCompletion(IConsoleShell shell, string[] args) + { + return args.Length switch + { + 1 => CompletionResult.FromHint(Loc.GetString("cmd-announcecustom-arg-message")), + 2 => CompletionResult.FromHint(Loc.GetString("shell-argument-username-optional-hint")), + 3 => CompletionResult.FromHint(Loc.GetString("cmd-announcecustom-arg-color")), + 4 => CompletionResult.FromHintOptions( + CompletionHelper.AudioFilePath(args[3], _protoManager, _res), + Loc.GetString("cmd-announcecustom-arg-sound") + ), + _ => CompletionResult.Empty + }; + } +} diff --git a/Resources/Locale/en-US/deltav/administration/commands/announce-custom.ftl b/Resources/Locale/en-US/deltav/administration/commands/announce-custom.ftl new file mode 100644 index 0000000000..5ee04d2cd4 --- /dev/null +++ b/Resources/Locale/en-US/deltav/administration/commands/announce-custom.ftl @@ -0,0 +1,8 @@ +## AnnounceCustomCommand +cmd-announcecustom-desc = Send an in-game announcement with custom color and sound. +cmd-announcecustom-help = {$command} [sender] [color] [sound] - Send announcement. Sender defaults to CentCom, color to Gold, sound to announce.ogg + +# Completion hints +cmd-announcecustom-arg-message = message +cmd-announcecustom-arg-color = color in #RRGGBB format (optional) +cmd-announcecustom-arg-sound = sound path (optional) From 2f022290404e068e6ff2bf6e737add08b09548ee Mon Sep 17 00:00:00 2001 From: Colin-Tel <113523727+Colin-Tel@users.noreply.github.com> Date: Sun, 10 Nov 2024 14:18:53 -0600 Subject: [PATCH 19/26] Removes the "Raise Glimmer" objective (#2107) * removes the raise glimmer objective * 4891 --- .../Prototypes/Nyanotrasen/Objectives/traitor.yml | 15 --------------- .../Prototypes/Objectives/objectiveGroups.yml | 2 -- 2 files changed, 17 deletions(-) diff --git a/Resources/Prototypes/Nyanotrasen/Objectives/traitor.yml b/Resources/Prototypes/Nyanotrasen/Objectives/traitor.yml index eee0f05e36..19832813f0 100644 --- a/Resources/Prototypes/Nyanotrasen/Objectives/traitor.yml +++ b/Resources/Prototypes/Nyanotrasen/Objectives/traitor.yml @@ -50,18 +50,3 @@ # components: # - BecomePsionicCondition # - type: BecomeGolemCondition - -- type: entity - id: RaiseGlimmerObjective - parent: BaseTraitorObjective - name: Raise Glimmer. - description: Get the glimmer above the specified amount. - components: - - type: Objective - difficulty: 2.5 - #unique: false - icon: - sprite: Nyanotrasen/Icons/psi.rsi - state: psi - - type: RaiseGlimmerCondition - target: 500 diff --git a/Resources/Prototypes/Objectives/objectiveGroups.yml b/Resources/Prototypes/Objectives/objectiveGroups.yml index 05f563c297..d870db5d36 100644 --- a/Resources/Prototypes/Objectives/objectiveGroups.yml +++ b/Resources/Prototypes/Objectives/objectiveGroups.yml @@ -49,8 +49,6 @@ weights: RandomTraitorAliveObjective: 1 RandomTraitorProgressObjective: 1 - RaiseGlimmerObjective: 0.5 # Nyanotrasen - Raise glimmer to a target amount, see Resources/Prototypes/Nyanotrasen/Objectives/traitor.yml - #Thief groups - type: weightedRandom From 39d2dda96697511a1a98c6a36703909272a350cd Mon Sep 17 00:00:00 2001 From: Delta-V bot <135767721+DeltaV-Bot@users.noreply.github.com> Date: Sun, 10 Nov 2024 21:19:12 +0100 Subject: [PATCH 20/26] Automatic changelog update --- Resources/Changelog/DeltaVChangelog.yml | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/Resources/Changelog/DeltaVChangelog.yml b/Resources/Changelog/DeltaVChangelog.yml index 68f83a8df9..02ae877fad 100644 --- a/Resources/Changelog/DeltaVChangelog.yml +++ b/Resources/Changelog/DeltaVChangelog.yml @@ -1,10 +1,4 @@ Entries: -- author: Adrian16199 - changes: - - message: Crew has learned how to make a straw hat out of wheat bushels! - type: Add - id: 165 - time: '2023-12-13T20:13:45.0000000+00:00' - author: IamVelcroboy changes: - message: Added Yule! Happy Holidays! @@ -3720,3 +3714,10 @@ id: 664 time: '2024-11-09T19:44:28.0000000+00:00' url: https://github.com/DeltaV-Station/Delta-v/pull/2152 +- author: Colin-Tel + changes: + - message: Removed the "Raise Glimmer" objective for traitors. + type: Remove + id: 665 + time: '2024-11-10T20:18:53.0000000+00:00' + url: https://github.com/DeltaV-Station/Delta-v/pull/2107 From 04c8147803b7755b2c4b6bd9ab91caa6db550b62 Mon Sep 17 00:00:00 2001 From: Colin-Tel <113523727+Colin-Tel@users.noreply.github.com> Date: Sun, 10 Nov 2024 14:20:25 -0600 Subject: [PATCH 21/26] Update Antagonist/Bribery rules (#2164) * Update rules Rule clarifications as suggested in previous community meeting. * Update 2_Metagaming.xml --- .../Guidebook/DeltaV/Rules/GameRules/2_Metagaming.xml | 1 - .../DeltaV/Rules/RoleRules/C1_CommandSecurityJustice.xml | 2 +- .../ServerInfo/Guidebook/DeltaV/Rules/RoleRules/C3_Antags.xml | 3 +++ 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/Resources/ServerInfo/Guidebook/DeltaV/Rules/GameRules/2_Metagaming.xml b/Resources/ServerInfo/Guidebook/DeltaV/Rules/GameRules/2_Metagaming.xml index bc7d7d93f7..7047855e82 100644 --- a/Resources/ServerInfo/Guidebook/DeltaV/Rules/GameRules/2_Metagaming.xml +++ b/Resources/ServerInfo/Guidebook/DeltaV/Rules/GameRules/2_Metagaming.xml @@ -116,7 +116,6 @@ - Giving a character additional access or a job because you are friends with the player who is playing that character. - Trusting a character because you are friends with the player who is playing that character. - Not fighting a character because you are friends with the player who is playing that character. - - Ignoring your objective to kill a character because your character and theirs became friends in a previous round. ## Metagrudging Examples These are all examples of things that are prohibited by at least one metashield item that is never revealed IC. diff --git a/Resources/ServerInfo/Guidebook/DeltaV/Rules/RoleRules/C1_CommandSecurityJustice.xml b/Resources/ServerInfo/Guidebook/DeltaV/Rules/RoleRules/C1_CommandSecurityJustice.xml index 73cad37635..98ad2308a0 100644 --- a/Resources/ServerInfo/Guidebook/DeltaV/Rules/RoleRules/C1_CommandSecurityJustice.xml +++ b/Resources/ServerInfo/Guidebook/DeltaV/Rules/RoleRules/C1_CommandSecurityJustice.xml @@ -4,7 +4,7 @@ Security, Justice, and Command roles are held to a higher standard of roleplay, - Your character must act in a manner that NanoTrasen would reasonably hire them to this position. - Your character is presumed to be sane, competent in their duties, and able to make decisions to the benefit of the station. - Giving away Traitor objective items and sensitive equipment should be avoided in these roles. Your character should value them deeply. - - Leeway is given to making deals with criminals if the deal benefits the safety or situation of the crew and station. + - Leeway is given to making deals with criminals if the deal benefits the safety or situation of the crew and station OR if the deal involves items of a primarily sentimental value (e.g. HoP's Ian scrapbook, LO's lucky dollar). - Leeway can be given in [color=#ff0000]extreme circumstances[/color] of emergency/crisis. - The three departments are required to read and follow Delta-V Space Law, Standard Operating Procedure, Alert Procedure, and Company Policy to the best of their ability. - [color=#ff0000]Circumstances and context may permit you to break these laws. However, the fact that this rule is malleable is not an excuse to ignore it entirely.[/color] diff --git a/Resources/ServerInfo/Guidebook/DeltaV/Rules/RoleRules/C3_Antags.xml b/Resources/ServerInfo/Guidebook/DeltaV/Rules/RoleRules/C3_Antags.xml index 7da8c25517..cb76f7da9e 100644 --- a/Resources/ServerInfo/Guidebook/DeltaV/Rules/RoleRules/C3_Antags.xml +++ b/Resources/ServerInfo/Guidebook/DeltaV/Rules/RoleRules/C3_Antags.xml @@ -1,9 +1,12 @@ # Rule C3: Antagonist Guidelines +[color=#ffff00]Being an antagonist does not allow you to stop playing a character. Determine how your character would react to being given these objectives, and work through it appropriately.[/color] + Through engaging in antagonistic activity, you should seek to make the round more engaging and fun as the primary driver of the narrative of a round. Succeeding as an antagonist should not be your goal, but rather telling the most interesting story for everyone involved. - [color=#ff0000]Antagonists are free to complete their objectives through committing proportional damage. Through roleplay, damage becomes more proportional.[/color] Example: Holding the singulo hostage for a theft objective is acceptable, while simply singuloosing and using that chaos is unacceptable. - Killing players unrelated to your immediate objective in a manner that results in their round removal should be avoided. Crew that do not make an attempt at self preservation, or engage in valid-hunting, are exempt from this. - If you are concerned as to whether or not what you're about to do is allowed, feel free to AHelp and ask an admin for clarification. [color=#ff0000]Lack of administrator response does not constitute approval.[/color] + - While antagonists are [color=#ffff00]not required[/color] to complete their objectives, they are still encouraged to act as an antagonist in the round while roleplaying. - Other antagonists are not necessarily your friends. Other antagonists are often free agents that you may negotiate with at your own risk. - If you are a team antagonist, you must work with your partners to complete any shared objectives. - Excessively lame tactics are strictly forbidden for all antags except for station-destroying antags, such as nuclear operatives or space dragons. Examples include: From fb7126dede6e27c112b3f5337aeb2dbf71441362 Mon Sep 17 00:00:00 2001 From: Delta-V bot <135767721+DeltaV-Bot@users.noreply.github.com> Date: Sun, 10 Nov 2024 21:20:44 +0100 Subject: [PATCH 22/26] Automatic changelog update --- Resources/Changelog/DeltaVChangelog.yml | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/Resources/Changelog/DeltaVChangelog.yml b/Resources/Changelog/DeltaVChangelog.yml index 02ae877fad..949f04b951 100644 --- a/Resources/Changelog/DeltaVChangelog.yml +++ b/Resources/Changelog/DeltaVChangelog.yml @@ -1,10 +1,4 @@ Entries: -- author: IamVelcroboy - changes: - - message: Added Yule! Happy Holidays! - type: Add - id: 166 - time: '2023-12-13T20:21:34.0000000+00:00' - author: ps3moira changes: - message: Added Fish n' Chips. Thank the British! @@ -3721,3 +3715,10 @@ id: 665 time: '2024-11-10T20:18:53.0000000+00:00' url: https://github.com/DeltaV-Station/Delta-v/pull/2107 +- author: Colin-Tel + changes: + - message: Adjusted antagonist rule C3 and the line about bribery in C1. + type: Tweak + id: 666 + time: '2024-11-10T20:20:26.0000000+00:00' + url: https://github.com/DeltaV-Station/Delta-v/pull/2164 From cabf4cda8ebab2a65fd96bcf46ef8c731ad43d71 Mon Sep 17 00:00:00 2001 From: Stop-Signs Date: Sun, 10 Nov 2024 20:57:12 -0600 Subject: [PATCH 23/26] Remove the t3 lockout (#2144) * Comments it out * fixes it hopefully * yuh * forces all techs to be researched * comments Signed-off-by: Stop-Signs * i hope this is what milon meant * Update TechDisciplinePrototype.cs Signed-off-by: Stop-Signs * Update disciplines.yml Signed-off-by: Stop-Signs * Revert "Comments it out" This reverts commit 70779979220382c14aeaa31d8633fdd69d1666b6. --------- Signed-off-by: Stop-Signs --- Resources/Prototypes/Research/disciplines.yml | 20 +++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/Resources/Prototypes/Research/disciplines.yml b/Resources/Prototypes/Research/disciplines.yml index 7a661da1a3..b154785327 100644 --- a/Resources/Prototypes/Research/disciplines.yml +++ b/Resources/Prototypes/Research/disciplines.yml @@ -5,10 +5,11 @@ icon: sprite: Interface/Misc/research_disciplines.rsi state: industrial + lockoutTier: 4 # DeltaV: Lockout occurs at t4 tierPrerequisites: 1: 0 - 2: 0.75 - 3: 0.75 + 2: 1 # DeltaV: raised to 1 + 3: 1 # DeltaV: raised to 1 - type: techDiscipline id: Arsenal @@ -17,10 +18,11 @@ icon: sprite: Interface/Misc/research_disciplines.rsi state: arsenal + lockoutTier: 4 # DeltaV: Lockout occurs at t4 tierPrerequisites: 1: 0 - 2: 0.75 - 3: 0.75 + 2: 1 # DeltaV: raised to 1 + 3: 1 # DeltaV: raised to 1 - type: techDiscipline id: Experimental @@ -29,10 +31,11 @@ icon: sprite: Interface/Misc/research_disciplines.rsi state: experimental + lockoutTier: 4 # DeltaV: Lockout occurs at t4 tierPrerequisites: 1: 0 - 2: 0.75 - 3: 0.75 + 2: 1 # DeltaV: raised to 1 + 3: 1 # DeltaV: raised to 1 - type: techDiscipline id: CivilianServices @@ -41,7 +44,8 @@ icon: sprite: Interface/Misc/research_disciplines.rsi state: civilianservices + lockoutTier: 4 # DeltaV: Lockout occurs at t4 tierPrerequisites: 1: 0 - 2: 0.75 - 3: 0.75 + 2: 1 # DeltaV: raised to 1 + 3: 1 # DeltaV: raised to 1 From b826e71392d121925389cc3084179bb1020c1615 Mon Sep 17 00:00:00 2001 From: Delta-V bot <135767721+DeltaV-Bot@users.noreply.github.com> Date: Mon, 11 Nov 2024 03:57:31 +0100 Subject: [PATCH 24/26] Automatic changelog update --- Resources/Changelog/DeltaVChangelog.yml | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/Resources/Changelog/DeltaVChangelog.yml b/Resources/Changelog/DeltaVChangelog.yml index 949f04b951..1d36fdcfd7 100644 --- a/Resources/Changelog/DeltaVChangelog.yml +++ b/Resources/Changelog/DeltaVChangelog.yml @@ -1,10 +1,4 @@ Entries: -- author: ps3moira - changes: - - message: Added Fish n' Chips. Thank the British! - type: Add - id: 167 - time: '2023-12-13T20:32:51.0000000+00:00' - author: Adrian16199 changes: - message: Felinids now meow out their words. They can also sigh now. @@ -3722,3 +3716,10 @@ id: 666 time: '2024-11-10T20:20:26.0000000+00:00' url: https://github.com/DeltaV-Station/Delta-v/pull/2164 +- author: Stop-Signs + changes: + - message: Removed the T3 Lockout on epi techs + type: Remove + id: 667 + time: '2024-11-11T02:57:13.0000000+00:00' + url: https://github.com/DeltaV-Station/Delta-v/pull/2144 From e368075b86a9507ede27d6f240c9c3347ee6c433 Mon Sep 17 00:00:00 2001 From: Radezolid Date: Mon, 11 Nov 2024 12:41:44 -0300 Subject: [PATCH 25/26] Add the syringe gun as research (#2169) * Tech added * Added recipes and made printable * Tech added * Added recipes and made printable * Should solve the conflict * Should solve the merge conflict * Emagged protolathe --- .../en-US/deltav/research/technologies.ftl | 1 + .../DeltaV/Recipes/Lathes/medical.yml | 17 +++++++++++++++++ .../DeltaV/Research/civilianservices.yml | 12 ++++++++++++ .../Entities/Structures/Machines/lathe.yml | 6 ++++++ 4 files changed, 36 insertions(+) create mode 100644 Resources/Prototypes/DeltaV/Research/civilianservices.yml diff --git a/Resources/Locale/en-US/deltav/research/technologies.ftl b/Resources/Locale/en-US/deltav/research/technologies.ftl index 25377b155f..ae1a8fe69a 100644 --- a/Resources/Locale/en-US/deltav/research/technologies.ftl +++ b/Resources/Locale/en-US/deltav/research/technologies.ftl @@ -5,3 +5,4 @@ research-technology-energy-gun = Energy Guns research-technology-energy-gun-advance = Advanced Energy Manipulation research-technology-advance-laser = Advanced Laser Manipulation research-technology-robust-melee = Robust Melee +research-technology-syringe-gun = Syringe Gun diff --git a/Resources/Prototypes/DeltaV/Recipes/Lathes/medical.yml b/Resources/Prototypes/DeltaV/Recipes/Lathes/medical.yml index 7de2021c79..945829974e 100644 --- a/Resources/Prototypes/DeltaV/Recipes/Lathes/medical.yml +++ b/Resources/Prototypes/DeltaV/Recipes/Lathes/medical.yml @@ -5,3 +5,20 @@ materials: Steel: 300 Glass: 100 + +- type: latheRecipe + id: LauncherSyringe + result: LauncherSyringe + completetime: 3 + materials: + Steel: 1000 + Glass: 500 + Plastic: 500 + +- type: latheRecipe + id: MiniSyringe + result: MiniSyringe + completetime: 1 + materials: + Plastic: 150 + Steel: 50 diff --git a/Resources/Prototypes/DeltaV/Research/civilianservices.yml b/Resources/Prototypes/DeltaV/Research/civilianservices.yml new file mode 100644 index 0000000000..73be7fb5a9 --- /dev/null +++ b/Resources/Prototypes/DeltaV/Research/civilianservices.yml @@ -0,0 +1,12 @@ +- type: technology + id: SyringeGun + name: research-technology-syringe-gun + icon: + sprite: Objects/Weapons/Guns/Cannons/syringe_gun.rsi + state: syringe_gun + discipline: CivilianServices + tier: 2 + cost: 10000 + recipeUnlocks: + - LauncherSyringe + - MiniSyringe diff --git a/Resources/Prototypes/Entities/Structures/Machines/lathe.yml b/Resources/Prototypes/Entities/Structures/Machines/lathe.yml index f6f58803ed..6761b7f181 100644 --- a/Resources/Prototypes/Entities/Structures/Machines/lathe.yml +++ b/Resources/Prototypes/Entities/Structures/Machines/lathe.yml @@ -436,6 +436,8 @@ - MagazineBoxSpecialHoly - MagazineBoxSpecialMindbreaker - AdvancedTruncheon + - LauncherSyringe + - MiniSyringe # End DeltaV additions - type: entity @@ -1066,6 +1068,10 @@ - WhiteCane - AACTablet # DeltaV dynamicRecipes: + # Begin DeltaV additions + - LauncherSyringe + - MiniSyringe + # End DeltaV additions - ChemicalPayload - CryostasisBeaker - BluespaceBeaker From 5eb7ae5e44f96f1ac5f2be2b4c4a5f7d993aceee Mon Sep 17 00:00:00 2001 From: Delta-V bot <135767721+DeltaV-Bot@users.noreply.github.com> Date: Mon, 11 Nov 2024 16:42:03 +0100 Subject: [PATCH 26/26] Automatic changelog update --- Resources/Changelog/DeltaVChangelog.yml | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/Resources/Changelog/DeltaVChangelog.yml b/Resources/Changelog/DeltaVChangelog.yml index 1d36fdcfd7..bdbaa3da1a 100644 --- a/Resources/Changelog/DeltaVChangelog.yml +++ b/Resources/Changelog/DeltaVChangelog.yml @@ -1,10 +1,4 @@ Entries: -- author: Adrian16199 - changes: - - message: Felinids now meow out their words. They can also sigh now. - type: Tweak - id: 168 - time: '2023-12-13T21:28:39.0000000+00:00' - author: VMSolidus changes: - message: Harpies no longer choke on completely breathable air @@ -3723,3 +3717,11 @@ id: 667 time: '2024-11-11T02:57:13.0000000+00:00' url: https://github.com/DeltaV-Station/Delta-v/pull/2144 +- author: Radezolid + changes: + - message: The syringe gun is now a researcheable technology in the T2 civilian + category. Get it from the medical techfab once it's researched. + type: Tweak + id: 668 + time: '2024-11-11T15:41:44.0000000+00:00' + url: https://github.com/DeltaV-Station/Delta-v/pull/2169