]> git.smokeofanarchy.ru Git - space-station-14.git/commitdiff
Omega Cartridges Uplink rounds for CHIMP. (#15755)
authorbrainfood1183 <113240905+brainfood1183@users.noreply.github.com>
Tue, 2 May 2023 06:11:04 +0000 (07:11 +0100)
committerGitHub <noreply@github.com>
Tue, 2 May 2023 06:11:04 +0000 (16:11 +1000)
Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
15 files changed:
Content.Server/Anomaly/AnomalySystem.cs
Content.Server/Anomaly/Components/AnomalousParticleComponent.cs
Content.Shared/Anomaly/Components/AnomalyComponent.cs
Content.Shared/Anomaly/SharedAnomaly.cs
Resources/Locale/en-US/anomaly/anomaly.ftl
Resources/Locale/en-US/store/uplink-catalog.ftl
Resources/Prototypes/Catalog/Fills/Boxes/ammunition.yml
Resources/Prototypes/Catalog/uplink_catalog.yml
Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Cartridges/magnum.yml
Resources/Prototypes/Entities/Objects/Weapons/Guns/Projectiles/projectiles.yml
Resources/Textures/Objects/Storage/boxes.rsi/box_science.png [new file with mode: 0644]
Resources/Textures/Objects/Storage/boxes.rsi/meta.json
Resources/Textures/Objects/Storage/boxes.rsi/omegacart.png [new file with mode: 0644]
Resources/Textures/Objects/Weapons/Guns/Projectiles/magic.rsi/magicm_green.png [new file with mode: 0644]
Resources/Textures/Objects/Weapons/Guns/Projectiles/magic.rsi/meta.json

index 730592cc2f6b8c69f63a2a90e9c7850e7da89da7..7b1ed087d3680179dc35822e41452f4b6881c1d8 100644 (file)
@@ -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);
index 4444d49e3d7fcdb9c327393dcd92d1a6d94e9f9e..6c018c4f31811c383b150e36d3fba62e3d3220fb 100644 (file)
@@ -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
     /// </summary>
     [DataField("stabilityPerWeakeningeHit")]
     public float StabilityPerWeakeningeHit = -0.1f;
+
+    /// <summary>
+    /// If this is true then the particle will always affect the stability of the anomaly.
+    /// </summary>
+    [DataField("destabilzingOverride")]
+    public bool DestabilzingOverride = false;
+
+    /// <summary>
+    /// If this is true then the particle will always affect the weakeness of the anomaly.
+    /// </summary>
+    [DataField("weakeningOverride")]
+    public bool WeakeningOverride = false;
+
+    /// <summary>
+    /// If this is true then the particle will always affect the severity of the anomaly.
+    /// </summary>
+    [DataField("severityOverride")]
+    public bool SeverityOverride = false;
 }
index 8df708dda8a33435ecfeb04be0ce39d9cdeb60a7..b5ac8e7714a517a6653f467700cc44c18f7100a8 100644 (file)
@@ -1,4 +1,4 @@
-using Content.Shared.Damage;
+using Content.Shared.Damage;
 using Robust.Shared.Audio;
 using Robust.Shared.GameStates;
 using Robust.Shared.Serialization;
index cf94e2c6b10f5cc61af8bc46d17177a0c52dc7fd..60023b28e922dee66fcbcd441faf58140619d8ef 100644 (file)
@@ -32,7 +32,8 @@ public enum AnomalousParticleType : byte
 {
     Delta,
     Epsilon,
-    Zeta
+    Zeta,
+    Default
 }
 
 [Serializable, NetSerializable]
index 6631268ffaa904b060972744671872ec7a02cacb..f93b5bb97e1f39574e2ca07fd25309bc239113cf 100644 (file)
@@ -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
index 5d3d736ea4c2065dc0ef1f0c5c662721fb77c3b9..5a298f9eaca624d44728c63e511034ba9e926368 100644 (file)
@@ -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!
index 571abe50e0851bb639c1e704d10c1fe938d1fc7b..65323e1a3b7488e2410290bf9a79790b1e2634e4 100644 (file)
       - 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
index a13b6a4fede351e4bf41131aaac4b241de007c30..8f3e40ea6e7e0dba034661d95bef9a43d38278a2 100644 (file)
     - 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
index 7cec8c1eb512082f3c010e4000e0086d6282a188..443b8cc5f92a86ff741ec366a98b55ba583da3db 100644 (file)
       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
index 2f13902101f498a285744db50cc60550847d4cc5..84672c540966f6ce874db6fc05092e3c3f018252 100644 (file)
     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 (file)
index 0000000..de33c9b
Binary files /dev/null and b/Resources/Textures/Objects/Storage/boxes.rsi/box_science.png differ
index a20436fcf386571cd8001638bac4aae9f2db2388..59f2cf9e44ab8061baa4e28d6c460023a0c5bdeb 100644 (file)
@@ -61,6 +61,9 @@
         {
             "name": "box_security"
         },
+        {
+            "name": "box_science"
+        },
         {
             "name": "box_olive"
         },
         {
             "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 (file)
index 0000000..71381ae
Binary files /dev/null and b/Resources/Textures/Objects/Storage/boxes.rsi/omegacart.png differ
diff --git a/Resources/Textures/Objects/Weapons/Guns/Projectiles/magic.rsi/magicm_green.png b/Resources/Textures/Objects/Weapons/Guns/Projectiles/magic.rsi/magicm_green.png
new file mode 100644 (file)
index 0000000..f09ae54
Binary files /dev/null and b/Resources/Textures/Objects/Weapons/Guns/Projectiles/magic.rsi/magicm_green.png differ
index 4158535ddc8f8c490a92ea93479ed1d8d1319e90..0dbedf2922b2b113ecf3449df2a41627da643fe1 100644 (file)
         ]
       ]
     },
+    {
+      "name": "magicm_green",
+      "delays": [
+        [
+          0.1,
+          0.1,
+          0.1,
+          0.1
+        ]
+      ]
+    },
     {
       "name": "spell",
       "delays": [