From a4333da241320c2a4f08477b88ee6e9973e5daa8 Mon Sep 17 00:00:00 2001
From: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
Date: Mon, 2 Sep 2024 00:36:28 -0400
Subject: [PATCH] Lite Magnet Rebalancing (#31726)
magnet rebalancing ish
---
.../Salvage/Magnet/SalvageMagnetComponent.cs | 4 +-
.../Salvage/SharedSalvageSystem.Magnet.cs | 8 ++--
.../Locale/en-US/salvage/salvage-magnet.ftl | 2 +-
.../Spawners/Random/Salvage/spawners.yml | 46 +++++++++----------
.../Prototypes/Entities/Mobs/NPCs/carp.yml | 13 ++++--
.../Procedural/Magnet/asteroid_ore_gens.yml | 20 ++++----
.../Procedural/Magnet/space_debris.yml | 2 +-
.../Magnet/space_debris_templates.yml | 17 +++----
8 files changed, 58 insertions(+), 54 deletions(-)
diff --git a/Content.Server/Salvage/Magnet/SalvageMagnetComponent.cs b/Content.Server/Salvage/Magnet/SalvageMagnetComponent.cs
index 5dd5f1ca80..e991f7007b 100644
--- a/Content.Server/Salvage/Magnet/SalvageMagnetComponent.cs
+++ b/Content.Server/Salvage/Magnet/SalvageMagnetComponent.cs
@@ -8,11 +8,11 @@ public sealed partial class SalvageMagnetComponent : Component
/// Scales from 50% to 100%.
///
[DataField]
- public float MagnetSpawnDistance = 128f;
+ public float MagnetSpawnDistance = 64f;
///
/// How far offset to either side will the magnet wreck spawn.
///
[DataField]
- public float LateralOffset = 32f;
+ public float LateralOffset = 16f;
}
diff --git a/Content.Shared/Salvage/SharedSalvageSystem.Magnet.cs b/Content.Shared/Salvage/SharedSalvageSystem.Magnet.cs
index a530844598..c041722479 100644
--- a/Content.Shared/Salvage/SharedSalvageSystem.Magnet.cs
+++ b/Content.Shared/Salvage/SharedSalvageSystem.Magnet.cs
@@ -14,11 +14,11 @@ public abstract partial class SharedSalvageSystem
{
private readonly List _salvageMaps = new();
- private Dictionary _offeringWeights = new()
+ private readonly Dictionary _offeringWeights = new()
{
- { new AsteroidOffering(), 3.0f },
- { new DebrisOffering(), 4.0f },
- { new SalvageOffering(), 1.0f }
+ { new AsteroidOffering(), 4.5f },
+ { new DebrisOffering(), 3.5f },
+ { new SalvageOffering(), 2.0f },
};
private readonly List> _asteroidConfigs = new()
diff --git a/Resources/Locale/en-US/salvage/salvage-magnet.ftl b/Resources/Locale/en-US/salvage/salvage-magnet.ftl
index e160a8c0e0..14ee6bb8de 100644
--- a/Resources/Locale/en-US/salvage/salvage-magnet.ftl
+++ b/Resources/Locale/en-US/salvage/salvage-magnet.ftl
@@ -32,7 +32,7 @@ salvage-magnet-resources-count = {$count ->
}
# Debris
-salvage-magnet-debris-ChunkDebris = Space Debris
+salvage-magnet-debris-ChunkDebris = Space debris
# Asteroids
dungeon-config-proto-BlobAsteroid = Asteroid clump
diff --git a/Resources/Prototypes/Entities/Markers/Spawners/Random/Salvage/spawners.yml b/Resources/Prototypes/Entities/Markers/Spawners/Random/Salvage/spawners.yml
index 503fcc3380..d16499aa76 100644
--- a/Resources/Prototypes/Entities/Markers/Spawners/Random/Salvage/spawners.yml
+++ b/Resources/Prototypes/Entities/Markers/Spawners/Random/Salvage/spawners.yml
@@ -260,25 +260,25 @@
id: SalvageEquipmentSpawnerCommon
table: !type:GroupSelector
children:
- # 80% chance of equipment item
+ # 90% chance of equipment item
- !type:GroupSelector
- weight: 80
+ weight: 90
children:
- !type:NestedSelector
tableId: SalvageEquipmentCommon
- weight: 60
+ weight: 50
- !type:NestedSelector
tableId: SalvageEquipmentUncommon
- weight: 30
+ weight: 35
- !type:NestedSelector
tableId: SalvageEquipmentRare
- weight: 9
+ weight: 14
- !type:NestedSelector
tableId: SalvageEquipmentLegendary
weight: 1
- # 15% chance of decent-ish treasure
+ # 5% chance of decent-ish treasure
- !type:GroupSelector
- weight: 15
+ weight: 5
children:
- !type:NestedSelector
tableId: SalvageTreasureCommon
@@ -319,25 +319,25 @@
id: SalvageEquipmentSpawnerValuable
table: !type:GroupSelector
children:
- # 80% chance of equipment item
+ # 90% chance of equipment item
- !type:GroupSelector
- weight: 80
+ weight: 90
children:
- !type:NestedSelector
tableId: SalvageEquipmentCommon
- weight: 45
- - !type:NestedSelector
- tableId: SalvageEquipmentUncommon
- weight: 35
- - !type:NestedSelector
- tableId: SalvageEquipmentRare
weight: 15
+ - !type:NestedSelector
+ tableId: SalvageEquipmentUncommon
+ weight: 40
+ - !type:NestedSelector
+ tableId: SalvageEquipmentRare
+ weight: 35
- !type:NestedSelector
tableId: SalvageEquipmentLegendary
- weight: 5
- # 14% chance of decent-ish treasure
+ weight: 10
+ # 5% chance of decent-ish treasure
- !type:GroupSelector
- weight: 14
+ weight: 5
children:
- !type:NestedSelector
tableId: SalvageTreasureCommon
@@ -348,9 +348,9 @@
- !type:NestedSelector
tableId: SalvageTreasureRare
weight: 10
- # 5% chance of decent maintenance loot
+ # 4% chance of decent maintenance loot
- !type:GroupSelector
- weight: 5
+ weight: 4
children:
- !type:NestedSelector
tableId: MaintToolsTable
@@ -408,9 +408,9 @@
table: !type:GroupSelector
children:
- id: MobCarpSalvage
- weight: 70
+ weight: 80
- id: MobCarpSalvage
- weight: 25
+ weight: 15
amount: !type:RangeNumberSelector
range: 1, 3
- !type:AllSelector
@@ -419,7 +419,7 @@
- id: MobSharkSalvage
- id: MobCarpSalvage
amount: !type:ConstantNumberSelector
- value: 3
+ value: 2
# - id: MobHivebot (solo hivebot spawn)
- type: entity
diff --git a/Resources/Prototypes/Entities/Mobs/NPCs/carp.yml b/Resources/Prototypes/Entities/Mobs/NPCs/carp.yml
index 4d9f408d9d..233b2f9030 100644
--- a/Resources/Prototypes/Entities/Mobs/NPCs/carp.yml
+++ b/Resources/Prototypes/Entities/Mobs/NPCs/carp.yml
@@ -39,7 +39,10 @@
- type: MobThresholds
thresholds:
0: Alive
- 50: Dead
+ 40: Dead
+ - type: MovementSpeedModifier
+ baseWalkSpeed: 2.5
+ baseSprintSpeed: 3.5
- type: Stamina
critThreshold: 100
- type: DamageStateVisuals
@@ -65,8 +68,8 @@
path: /Audio/Effects/bite.ogg
damage:
types:
- Piercing: 5
- Slash: 10
+ Blunt: 5
+ Slash: 7
- type: TypingIndicator
proto: alien
- type: Tag
@@ -219,7 +222,7 @@
- type: MobThresholds
thresholds:
0: Alive
- 180: Dead
+ 150: Dead
- type: Stamina
critThreshold: 150
- type: DamageStateVisuals
@@ -243,7 +246,7 @@
- type: MeleeWeapon
damage:
types:
- Slash: 12
+ Slash: 10
Bloodloss: 5
- type: entity
diff --git a/Resources/Prototypes/Procedural/Magnet/asteroid_ore_gens.yml b/Resources/Prototypes/Procedural/Magnet/asteroid_ore_gens.yml
index f1ee05f6ee..661350f6de 100644
--- a/Resources/Prototypes/Procedural/Magnet/asteroid_ore_gens.yml
+++ b/Resources/Prototypes/Procedural/Magnet/asteroid_ore_gens.yml
@@ -7,8 +7,8 @@
OreSalt: 0.25
OreGold: 0.25
OreSilver: 0.25
- OrePlasma: 0.15
- OreUranium: 0.15
+ OrePlasma: 0.20
+ OreUranium: 0.20
OreArtifactFragment: 0.10
OreBananium: 0.10
@@ -49,32 +49,32 @@
replacement: AsteroidRock
entity: AsteroidRockGold
count: 4
- minGroupSize: 4
- maxGroupSize: 6
+ minGroupSize: 5
+ maxGroupSize: 7
- type: oreDunGen
id: OreSilver
replacement: AsteroidRock
entity: AsteroidRockSilver
count: 4
- minGroupSize: 4
- maxGroupSize: 6
+ minGroupSize: 5
+ maxGroupSize: 7
- type: oreDunGen
id: OrePlasma
replacement: AsteroidRock
entity: AsteroidRockPlasma
count: 4
- minGroupSize: 3
- maxGroupSize: 6
+ minGroupSize: 5
+ maxGroupSize: 7
- type: oreDunGen
id: OreUranium
replacement: AsteroidRock
entity: AsteroidRockUranium
count: 4
- minGroupSize: 3
- maxGroupSize: 6
+ minGroupSize: 5
+ maxGroupSize: 7
- type: oreDunGen
id: OreBananium
diff --git a/Resources/Prototypes/Procedural/Magnet/space_debris.yml b/Resources/Prototypes/Procedural/Magnet/space_debris.yml
index 26b4ae25c8..aab5cada9a 100644
--- a/Resources/Prototypes/Procedural/Magnet/space_debris.yml
+++ b/Resources/Prototypes/Procedural/Magnet/space_debris.yml
@@ -5,7 +5,7 @@
- !type:NoiseDunGen
tileCap: 500
capStd: 32
- iterations: 5
+ iterations: 7
layers:
- tile: FloorSteel
threshold: 0.50
diff --git a/Resources/Prototypes/Procedural/Magnet/space_debris_templates.yml b/Resources/Prototypes/Procedural/Magnet/space_debris_templates.yml
index 6500f4415b..5a96fcd269 100644
--- a/Resources/Prototypes/Procedural/Magnet/space_debris_templates.yml
+++ b/Resources/Prototypes/Procedural/Magnet/space_debris_templates.yml
@@ -85,29 +85,30 @@
seed: 1
frequency: 1
entities:
+ - SalvageSpawnerScrapValuable
+ - SalvageSpawnerScrapCommon
+ - SalvageSpawnerScrapCommon
- SalvageSpawnerScrapCommon
- SalvageSpawnerScrapCommon75
- - SalvageSpawnerScrapCommon75
- - SalvageSpawnerScrapValuable
- - SalvageSpawnerScrapValuable75
- !type:BiomeEntityLayer
allowedTiles:
- FloorSteel
+ - Plating
threshold: 0.7
noise:
seed: 1
frequency: 1
entities:
+ - SalvageSpawnerTreasure
+ - SalvageSpawnerTreasure
+ - SalvageSpawnerEquipment
+ - SalvageSpawnerEquipment
- SalvageSpawnerTreasureValuable
- SalvageSpawnerEquipmentValuable
- - SalvageSpawnerTreasure
- - SalvageSpawnerTreasure
- - SalvageSpawnerEquipment
- - SalvageSpawnerEquipment
- !type:BiomeEntityLayer
allowedTiles:
- FloorSteel
- threshold: 0.85
+ threshold: 0.90
noise:
seed: 1
frequency: 1