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>
This commit is contained in:
@@ -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);
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
using Content.Shared.Damage;
|
||||
using Content.Shared.Damage;
|
||||
using Robust.Shared.Audio;
|
||||
using Robust.Shared.GameStates;
|
||||
using Robust.Shared.Serialization;
|
||||
|
||||
@@ -32,7 +32,8 @@ public enum AnomalousParticleType : byte
|
||||
{
|
||||
Delta,
|
||||
Epsilon,
|
||||
Zeta
|
||||
Zeta,
|
||||
Default
|
||||
}
|
||||
|
||||
[Serializable, NetSerializable]
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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!
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
BIN
Resources/Textures/Objects/Storage/boxes.rsi/box_science.png
Normal file
BIN
Resources/Textures/Objects/Storage/boxes.rsi/box_science.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 18 KiB |
@@ -61,6 +61,9 @@
|
||||
{
|
||||
"name": "box_security"
|
||||
},
|
||||
{
|
||||
"name": "box_science"
|
||||
},
|
||||
{
|
||||
"name": "box_olive"
|
||||
},
|
||||
@@ -106,6 +109,9 @@
|
||||
{
|
||||
"name": "lighttube"
|
||||
},
|
||||
{
|
||||
"name": "omegacart"
|
||||
},
|
||||
{
|
||||
"name": "magazine"
|
||||
},
|
||||
|
||||
BIN
Resources/Textures/Objects/Storage/boxes.rsi/omegacart.png
Normal file
BIN
Resources/Textures/Objects/Storage/boxes.rsi/omegacart.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 17 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 15 KiB |
@@ -18,6 +18,17 @@
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "magicm_green",
|
||||
"delays": [
|
||||
[
|
||||
0.1,
|
||||
0.1,
|
||||
0.1,
|
||||
0.1
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "spell",
|
||||
"delays": [
|
||||
|
||||
Reference in New Issue
Block a user