From d598ada16f3c6fbb0b95d9cb37234b15f672a873 Mon Sep 17 00:00:00 2001
From: brainfood1183 <113240905+brainfood1183@users.noreply.github.com>
Date: Tue, 2 May 2023 07:11:04 +0100
Subject: [PATCH] Omega Cartridges Uplink rounds for CHIMP. (#15755)
Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
---
Content.Server/Anomaly/AnomalySystem.cs | 8 +++---
.../Components/AnomalousParticleComponent.cs | 20 ++++++++++++++-
.../Anomaly/Components/AnomalyComponent.cs | 2 +-
Content.Shared/Anomaly/SharedAnomaly.cs | 3 ++-
Resources/Locale/en-US/anomaly/anomaly.ftl | 1 +
.../Locale/en-US/store/uplink-catalog.ftl | 3 +++
.../Catalog/Fills/Boxes/ammunition.yml | 15 ++++++++++++
.../Prototypes/Catalog/uplink_catalog.yml | 14 +++++++++++
.../Guns/Ammunition/Cartridges/magnum.yml | 15 ++++++++++++
.../Weapons/Guns/Projectiles/projectiles.yml | 23 ++++++++++++++++++
.../Objects/Storage/boxes.rsi/box_science.png | Bin 0 -> 17958 bytes
.../Objects/Storage/boxes.rsi/meta.json | 6 +++++
.../Objects/Storage/boxes.rsi/omegacart.png | Bin 0 -> 17865 bytes
.../Projectiles/magic.rsi/magicm_green.png | Bin 0 -> 15394 bytes
.../Guns/Projectiles/magic.rsi/meta.json | 11 +++++++++
15 files changed, 114 insertions(+), 7 deletions(-)
create mode 100644 Resources/Textures/Objects/Storage/boxes.rsi/box_science.png
create mode 100644 Resources/Textures/Objects/Storage/boxes.rsi/omegacart.png
create mode 100644 Resources/Textures/Objects/Weapons/Guns/Projectiles/magic.rsi/magicm_green.png
diff --git a/Content.Server/Anomaly/AnomalySystem.cs b/Content.Server/Anomaly/AnomalySystem.cs
index 730592cc2f..7b1ed087d3 100644
--- a/Content.Server/Anomaly/AnomalySystem.cs
+++ b/Content.Server/Anomaly/AnomalySystem.cs
@@ -1,4 +1,4 @@
-using Content.Server.Anomaly.Components;
+using Content.Server.Anomaly.Components;
using Content.Server.Atmos.EntitySystems;
using Content.Server.Audio;
using Content.Server.Explosion.EntitySystems;
@@ -75,15 +75,15 @@ public sealed partial class AnomalySystem : SharedAnomalySystem
// small function to randomize because it's easier to read like this
float VaryValue(float v) => v * Random.NextFloat(MinParticleVariation, MaxParticleVariation);
- if (particle.ParticleType == component.DestabilizingParticleType)
+ if (particle.ParticleType == component.DestabilizingParticleType || particle.DestabilzingOverride)
{
ChangeAnomalyStability(uid, VaryValue(particle.StabilityPerDestabilizingHit), component);
}
- else if (particle.ParticleType == component.SeverityParticleType)
+ if (particle.ParticleType == component.SeverityParticleType || particle.SeverityOverride)
{
ChangeAnomalySeverity(uid, VaryValue(particle.SeverityPerSeverityHit), component);
}
- else if (particle.ParticleType == component.WeakeningParticleType)
+ if (particle.ParticleType == component.WeakeningParticleType || particle.WeakeningOverride)
{
ChangeAnomalyHealth(uid, VaryValue(particle.HealthPerWeakeningeHit), component);
ChangeAnomalyStability(uid, VaryValue(particle.StabilityPerWeakeningeHit), component);
diff --git a/Content.Server/Anomaly/Components/AnomalousParticleComponent.cs b/Content.Server/Anomaly/Components/AnomalousParticleComponent.cs
index 4444d49e3d..6c018c4f31 100644
--- a/Content.Server/Anomaly/Components/AnomalousParticleComponent.cs
+++ b/Content.Server/Anomaly/Components/AnomalousParticleComponent.cs
@@ -1,4 +1,4 @@
-using Content.Shared.Anomaly;
+using Content.Shared.Anomaly;
using Content.Shared.Anomaly.Components;
namespace Content.Server.Anomaly.Components;
@@ -49,4 +49,22 @@ public sealed class AnomalousParticleComponent : Component
///
[DataField("stabilityPerWeakeningeHit")]
public float StabilityPerWeakeningeHit = -0.1f;
+
+ ///
+ /// If this is true then the particle will always affect the stability of the anomaly.
+ ///
+ [DataField("destabilzingOverride")]
+ public bool DestabilzingOverride = false;
+
+ ///
+ /// If this is true then the particle will always affect the weakeness of the anomaly.
+ ///
+ [DataField("weakeningOverride")]
+ public bool WeakeningOverride = false;
+
+ ///
+ /// If this is true then the particle will always affect the severity of the anomaly.
+ ///
+ [DataField("severityOverride")]
+ public bool SeverityOverride = false;
}
diff --git a/Content.Shared/Anomaly/Components/AnomalyComponent.cs b/Content.Shared/Anomaly/Components/AnomalyComponent.cs
index 8df708dda8..b5ac8e7714 100644
--- a/Content.Shared/Anomaly/Components/AnomalyComponent.cs
+++ b/Content.Shared/Anomaly/Components/AnomalyComponent.cs
@@ -1,4 +1,4 @@
-using Content.Shared.Damage;
+using Content.Shared.Damage;
using Robust.Shared.Audio;
using Robust.Shared.GameStates;
using Robust.Shared.Serialization;
diff --git a/Content.Shared/Anomaly/SharedAnomaly.cs b/Content.Shared/Anomaly/SharedAnomaly.cs
index cf94e2c6b1..60023b28e9 100644
--- a/Content.Shared/Anomaly/SharedAnomaly.cs
+++ b/Content.Shared/Anomaly/SharedAnomaly.cs
@@ -32,7 +32,8 @@ public enum AnomalousParticleType : byte
{
Delta,
Epsilon,
- Zeta
+ Zeta,
+ Default
}
[Serializable, NetSerializable]
diff --git a/Resources/Locale/en-US/anomaly/anomaly.ftl b/Resources/Locale/en-US/anomaly/anomaly.ftl
index 6631268ffa..f93b5bb97e 100644
--- a/Resources/Locale/en-US/anomaly/anomaly.ftl
+++ b/Resources/Locale/en-US/anomaly/anomaly.ftl
@@ -37,6 +37,7 @@ anomaly-generator-charges = {$charges ->
}
anomaly-generator-announcement = An anomaly has been generated!
+
# Flavor text on the footer
anomaly-generator-flavor-left = Anomaly may spawn inside the operator.
anomaly-generator-flavor-right = v1.1
diff --git a/Resources/Locale/en-US/store/uplink-catalog.ftl b/Resources/Locale/en-US/store/uplink-catalog.ftl
index 5d3d736ea4..5a298f9eac 100644
--- a/Resources/Locale/en-US/store/uplink-catalog.ftl
+++ b/Resources/Locale/en-US/store/uplink-catalog.ftl
@@ -166,6 +166,9 @@ uplink-banana-peel-explosive-desc = They will burst into laughter when they slip
uplink-hot-potato-name = Hot Potato
uplink-hot-potato-desc = Once activated, this time bomb can't be dropped - only passed to someone else!
+uplink-chimp-ammo-name = Box of 10 Omega Cartridges.
+uplink-chimp-ammo-desc = A box of 10 omega particle cartridges for the CHIMP. Omega particles inflict severe burns and cause anomalies to go supercritical.
+
# Armor
uplink-chameleon-name = Chameleon Kit
uplink-chameleon-desc = A backpack full of items that contain chameleon technology allowing you to disguise as pretty much anything on the station, and more!
diff --git a/Resources/Prototypes/Catalog/Fills/Boxes/ammunition.yml b/Resources/Prototypes/Catalog/Fills/Boxes/ammunition.yml
index 571abe50e0..65323e1a3b 100644
--- a/Resources/Prototypes/Catalog/Fills/Boxes/ammunition.yml
+++ b/Resources/Prototypes/Catalog/Fills/Boxes/ammunition.yml
@@ -111,6 +111,21 @@
- id: MagazineMagnumSubMachineGun
amount: 3
+- type: entity
+ name: box of omega particle cartridges
+ parent: BoxMagazine
+ id: BoxMagazineChimpOmega
+ description: A box full of omega particle cartridges for the CHIMP.
+ components:
+ - type: StorageFill
+ contents:
+ - id: CartridgeAnomalousParticleOmega
+ amount: 10
+ - type: Sprite
+ layers:
+ - state: box_science
+ - state: omegacart
+
- type: entity
name: box of Vector (high-velocity) magazines
parent: BoxMagazine
diff --git a/Resources/Prototypes/Catalog/uplink_catalog.yml b/Resources/Prototypes/Catalog/uplink_catalog.yml
index a13b6a4fed..8f3e40ea6e 100644
--- a/Resources/Prototypes/Catalog/uplink_catalog.yml
+++ b/Resources/Prototypes/Catalog/uplink_catalog.yml
@@ -664,6 +664,20 @@
- Clown
- Mime
+- type: listing
+ id: UplinkChimpAmmo
+ name: uplink-chimp-ammo-name
+ description: uplink-chimp-ammo-desc
+ productEntity: BoxMagazineChimpOmega
+ cost:
+ Telecrystal: 4
+ categories:
+ - UplinkJob
+ conditions:
+ - !type:BuyerJobCondition
+ whitelist:
+ - Scientist
+
# Armor
- type: listing
diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Cartridges/magnum.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Cartridges/magnum.yml
index 7cec8c1eb5..443b8cc5f9 100644
--- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Cartridges/magnum.yml
+++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Cartridges/magnum.yml
@@ -111,3 +111,18 @@
color: goldenrod
- type: CartridgeAmmo
proto: AnomalousParticleZetaStrong
+
+- type: entity
+ id: CartridgeAnomalousParticleOmega
+ parent: BaseAnomalousCartridge
+ name: cartridge (omega particle)
+ description: An experimental and often dangerous particle.
+ components:
+ - type: Sprite
+ layers:
+ - state: base
+ map: ["enum.AmmoVisualLayers.Base"]
+ - state: overlay
+ color: green
+ - type: CartridgeAmmo
+ proto: AnomalousParticleOmegaStrong
diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Projectiles/projectiles.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Projectiles/projectiles.yml
index 2f13902101..84672c5409 100644
--- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Projectiles/projectiles.yml
+++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Projectiles/projectiles.yml
@@ -397,6 +397,29 @@
healthPerWeakeningeHit: -0.1
stabilityPerWeakeningeHit: -0.2
+- type: entity
+ parent: AnomalousParticleDelta
+ id: AnomalousParticleOmegaStrong
+ noSpawn: true
+ components:
+ - type: Sprite
+ sprite: Objects/Weapons/Guns/Projectiles/magic.rsi
+ layers:
+ - state: magicm_green
+ shader: unshaded
+ - type: AnomalousParticle
+ particleType: Default
+ severityOverride: true
+ severityPerSeverityHit: 0.1
+ stabilityPerDestabilizingHit: 0.05
+ healthPerWeakeningeHit: 1
+ stabilityPerWeakeningeHit: -0.05
+ - type: Projectile
+ impactEffect: BulletImpactEffectKinetic
+ damage:
+ types:
+ Heat: 20
+
# Launcher projectiles (grenade / rocket)
- type: entity
id: BulletRocket
diff --git a/Resources/Textures/Objects/Storage/boxes.rsi/box_science.png b/Resources/Textures/Objects/Storage/boxes.rsi/box_science.png
new file mode 100644
index 0000000000000000000000000000000000000000..de33c9b97e5ce547385e07d09bd470fe251ce156
GIT binary patch
literal 17958
zcmeI3do)z*|HrqZ+%H{7lFqmk$y^!CG{$9IL&C`DKIUe^%$S)P6o-m*`6j8{;;2rM
zTSX~R2~jDcbU`_VM2AkP=z`xKD%#bo*7|*a|NPeMwPyBwp3n3CeD?EtKF>3IX05$r
z*-~d!r8!Cf0I0gUICz6+nE0h22fhm;BHn-}MV^bl007jg#V?ryi_~-gK*^I$A}w1M
z$Q5!0fm|NUl|+K^_*^DCm;nG`Eg3#6vQN(}>%qrw?A_v{_q%buH5Fjq_Pe4r5*L{0
zDNb7wuXp&Nrq`9}j*e4wu4To`?%5N)Thq%_Wv9{u`A)qfd$t~p-+ANXlTAm1?v)Qd
zyESt5KCwH0AfvcJzCuCepo^IoHd^I`{k-XaZ>_DadD4lnjZre>0n-$U>3V`;0~uf_
zia=PTUm<@9kO{k^tN>Jaq*tKkZXZ?ewNG6o6TMBQLYQdfrVy4lwr7E?o)*6Wo|ui};k~5~A9i(iK3Gz1zmj^xFLH!cxwgV@IQV@O;nU#T
zzb`#CjKQpqah@{tcje7D?#Jdf>{Hwp(Dp3B`O`V&(NDT}^s8M1N+~899bPj+_c)~O
z9>5&a-(kOR;nn#~qx7fkrXOXA?O5Q{dZNsxM0n0>n(R9_qiGaj#nV9mcwNT5a@SZv
zHac+YlLpb~OPgWmtocAR({*1c0IYE^M38S3+texmfJ0V{$tgRXH&;l0GPUiB
z@~3qc+w2XiEA6M*E77Cp^4BfQ-(qhZck7g{$vWg+TV3-CufVt@o*JUk_q>`lPyGW`
zA@hoHd5q!|yK4$Fsd_E(G66d&2745=Qe%houDDE@vC9y4Jzm30-z^dAg7)4?hWWba
zzP9H7hTFc%=|bY-YXD};r?_%w^!}J4FYCK1XGx_wmUFf_9Z|kb7oyV=W@V+{=AW5k
zz1!k&_wBqu^_B!8sTNi7e73wS
zrp$~3=h?YX+$l>Rxa7d*8k$dUQM6Q)-R4zkq@R@Ic4ona>F=v&2Vl_K
zDK4f4_hux_L{8fjPpY;woUwz1F)H2ro9pSn$W1evoSHb^20f-H(#>7w7$jY9p$8So
zD@H0#vq)O)>BDI>r(^sgbGr^enl)-TcSn$~6BCC5m?*!dn!^L~_b
zm^>Yuu)@CJaEbRxukATA%{QdsZf%|A>UON)$bma^0<{7M*(aY1FHC=QVBXT?+kQ=T
zJbi7R^4H;(lEF&Mxg*GRhMDBBeW3J(cTAF)1A;c$3l8X*Ajv0kkLNzlRrVe5ts^I#SmP5}=;UkW({V!a?!i3Y+>B)}d~|$R
zCl=>y&t>Is$u@sQ`48`q^RIHR@+AG`m34Y;M|llQnWkMFW~vvYnisbr23x)0^sR@R
zH=2~C4C|Kdvd%qm7)LT&V&+%uJ+Pl?Bj1q{I&?_5RI%GQJ9!{#=VOhR3!g63Id1M=
zie{_|$~~BTkdo(;=auLD;-W=iUv|dvi;iXfA7j+)YL^(TGIC}m)KAUm_Ic>@C|fCe
zmWMU|Z6P8z=$OvoG6&IRPIiAv=A|{!neN=|$Ke;dKg^9p4wHvNK4iajR-wohs~F0)
zs?^UWT*ZcR3A)JI)>mGn)m65nW7GrGs
z1$qnIJbFF))4V-Ok1ssF*nP2k?X8=)j@-JJicPmh-^X;Pcc0(mkg~KM$aS+Vi74
zNuDvRv)u+r8ZyzZ;Qpy|$3(e<)R$VscSQc59mEcTc5ba^g^>cR>DnQ1RaUss3=K68q!N$t#TS
zo5&Zj7=Fylw|3mX9n8yIbgS=X@r~BKmWN*cIoda)a>kQ=CCB32{NTEjXBYF=CwxC^W}`}>-D!5+mQbvzaf7h
zTl6ieHVHBSwA4&j|W
zgNp5g^HlLI8+UKYe$NUF3TEwAX1)={{*6R|c%S;CYkSc(3fDzXrU{=kIgak?UR=Jo
ze%0&q!q-KuT{Hd8`=y=4uMO!H_7X;t?s(Rg9V$yJEL{~;+8=T8>?Y=5k4~m#{i8P*
z!(YuBz1N(Hvwn1OAc8x1b?|NbtVdCNqv86xvWFt0{(^GP^0jYl`|KW)9&K;7Svk`7
z;APt%>nlWA1C4FYgL1K38%7e}Ca9C9CZs0R#i_=<$h0Eja8GUc!#$s}Ne%Rd1({kS
zM@H%jwPqoshMHg8uWw9gJe>SGIq7o9=3~RX6)&_;w$@bE%)4|w%nZHe&GL_ZS43?h
z-Iqt()jc~m!~QTH4Saw4t(6d}dK9Z%ziAgFY1
z00R*g!UJza0f1l=#-q}L7(!S8gT>}p>%T0!tPf+;t@Zt|9w-kUi4n+liQqGQB9@YA
z5kWK@UEhYNL2o^Jvepk23VC=WQX~=~L}myspM^x@a5y9igT!FqU=O$;oFk-$!8rnh@gQH~I4}e>
zKAR_Gb2%_^TxtM!gV0)EU!3Uc@p)V!yswEkg3s(gipVf34~a&gkUtT5cu1Cog#1t`
z5ISxIujKQ{ewa`|4(BnD-V6bE1E0ol+{oYv4SsYHblTTAybb)|F+Ow}k`c@Z0VM+P
z;?Y061m2flAYbL*T*g=TPe(6gGbbkJ8?D&$QyC+S{S%qkGcFq|h4C38fc1wb@flPh
zmrv$$gNfr+Hu3uj{P`rVDwwe!n?vV{1PcjBsAOWkC!#SNs6qx2gTk1>QRZ-rIayqf
zmUwgYA`}{rLQM)X-V+kT1FU^IRY?7nDBtvj#^KW0%8W{d-dEl8;bF4WHi-t2WOf(#gX3*hQW>yw(9M#Oi3`0X<0?_7P5={#B
zT_R6D8{C(u!IS!k$3h2_Vd*q1oneWAW38w-I1Nk($6?Txa2$?FM`M|m3>wDrONt+a
z`7V_UTL4y5_@pWWYi(@j@nM91+xo>3%pTi8cvQZCAzql)`d?P&*DdGkjw05KEpR-Q
zCf<99G;#Sd=mg|9trM5^Rry)Q{(d@t4Z(Q)N%EiP5Ct+glFENP)L5^d2N7_YLJ^hE
zuw#K0@+&KIJnFYHXm|oryjKUa{|_cYK;8Jin}%OoRsS!hVWNs@fm9BQK_?==6!4dZ
zUz@q{`TTZeeOayFuS5c!hG%m5Aygre9YSR>kUS2HfShQY$Vr&kgGk(9F5iPoXAsQ@
z$R9QTPzC<;wru>5H=@AX*&gQVNU}iVEG*y{1bT9qN&P0p5r4_y!QBR|eCpUL2Q}Zd
zLHkq0yGHPavHmy<6nG%f;`h(e$!@6BU$S(v8!DYp`f}JpBIa{8Nb@9>_?s9%2Gs|=
zX=D(=p+TFVy_d1W7{L?=Huzm35bt?rV3sir)bT^1|IdVz9G`{b~#aE(j3G
zrWBWCJ`k@I7X*l8Q;JJ6ABb0q3j##4Da9q355z0Q1py-2l;V=i2jZ3Df&h_hN^wc%
z1My06L4Zg$rMM*Xfq133AV4IWQe2YxK)h015FnCGDK5!;AYLgh2oTAp6qjT^5U&&$
z1c+o)ic2ydh*ydW0z|SY#U+^!#4E)G0V3Iy;*!h<;+5ip0Fi7;aY^O_@k(()fJio_
zxFqv|c%`@?KqQ+|T$1@fyi!~cAd*cfF3Ef#UMVgJ5Xq(#mt;N=uM`&qh-6bDE~Sab
zKp7nH*-sJpkS9m601ZAM3ZuDrdjLShd;o~v3IOj%!E+A)Y(N1(?>g|=(i8yD;_h2}
z)d>J(G+iC+$YCu3pGHS*s%(E-5GNydRBiSKKv{3i(s%ayp|^m9&b@{kbYWFSRTbF{wg0{!V3qfVg@do4
wFCHj$nSVTNzLTm7YR|jfPP(Y4y1;DU-hFT59Npc;;>T@W9hW*3+OOO4KSg=HO#lD@
literal 0
HcmV?d00001
diff --git a/Resources/Textures/Objects/Storage/boxes.rsi/meta.json b/Resources/Textures/Objects/Storage/boxes.rsi/meta.json
index a20436fcf3..59f2cf9e44 100644
--- a/Resources/Textures/Objects/Storage/boxes.rsi/meta.json
+++ b/Resources/Textures/Objects/Storage/boxes.rsi/meta.json
@@ -61,6 +61,9 @@
{
"name": "box_security"
},
+ {
+ "name": "box_science"
+ },
{
"name": "box_olive"
},
@@ -106,6 +109,9 @@
{
"name": "lighttube"
},
+ {
+ "name": "omegacart"
+ },
{
"name": "magazine"
},
diff --git a/Resources/Textures/Objects/Storage/boxes.rsi/omegacart.png b/Resources/Textures/Objects/Storage/boxes.rsi/omegacart.png
new file mode 100644
index 0000000000000000000000000000000000000000..71381ae597ae9d8f723c74ba898eb10b7d940f36
GIT binary patch
literal 17865
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
B;%fi^
literal 0
HcmV?d00001
diff --git a/Resources/Textures/Objects/Weapons/Guns/Projectiles/magic.rsi/meta.json b/Resources/Textures/Objects/Weapons/Guns/Projectiles/magic.rsi/meta.json
index 4158535ddc..0dbedf2922 100644
--- a/Resources/Textures/Objects/Weapons/Guns/Projectiles/magic.rsi/meta.json
+++ b/Resources/Textures/Objects/Weapons/Guns/Projectiles/magic.rsi/meta.json
@@ -18,6 +18,17 @@
]
]
},
+ {
+ "name": "magicm_green",
+ "delays": [
+ [
+ 0.1,
+ 0.1,
+ 0.1,
+ 0.1
+ ]
+ ]
+ },
{
"name": "spell",
"delays": [