From c2d95c215ea741046de81b9ee5062d36769ffdb7 Mon Sep 17 00:00:00 2001 From: TERRISS <59435888+TERRISS@users.noreply.github.com> Date: Tue, 22 Apr 2025 04:52:41 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9D=D0=B5=D0=BC=D0=BD=D0=BE=D0=B3=D0=BE=20?= =?UTF-8?q?=D0=BF=D0=BE=D0=BC=D0=B5=D0=BD=D1=8F=D0=BB=20=D1=81=D0=B8=D0=BD?= =?UTF-8?q?=D1=82=D0=B5=D0=B7=D1=8B=20=D0=B8=20=D1=8D=D1=84=D1=84=D0=B5?= =?UTF-8?q?=D0=BA=D1=82=D1=8B=20=D1=83=20=D0=B3=D0=B0=D0=B7=D0=BE=D0=B2=20?= =?UTF-8?q?(#1923)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Atmos/Reactions/BZFormationReaction.cs | 6 +-- .../Reactions/HealiumProductionReaction.cs | 16 ++++---- .../Reactions/NitriumSynthesisReaction.cs | 8 ++-- .../_Sunrise/Atmospherics/reactions.yml | 6 +-- .../Prototypes/_Sunrise/Reagents/gases.yml | 40 ++++++------------- 5 files changed, 31 insertions(+), 45 deletions(-) diff --git a/Content.Server/Atmos/Reactions/BZFormationReaction.cs b/Content.Server/Atmos/Reactions/BZFormationReaction.cs index b773f2a731..0674e783bd 100644 --- a/Content.Server/Atmos/Reactions/BZFormationReaction.cs +++ b/Content.Server/Atmos/Reactions/BZFormationReaction.cs @@ -25,7 +25,7 @@ public sealed partial class BZFormationReaction : IGasReactionEffect var n2oRemoved = totalRate * 2f; var plasmaRemoved = totalRate * 4f; - var bzFormed = totalRate * 5f; + var bzFormed = totalRate * 25f; // Увеличил количество производимого BZ (Increased the amount of BZ produced) if (n2oRemoved > initN2O || plasmaRemoved > initPlasma) return ReactionResult.NoReaction; @@ -34,11 +34,11 @@ public sealed partial class BZFormationReaction : IGasReactionEffect mixture.AdjustMoles(Gas.Plasma, -plasmaRemoved); mixture.AdjustMoles(Gas.BZ, bzFormed); - var energyReleased = bzFormed * Atmospherics.BZFormationEnergy; + var energyReleased = bzFormed * (Atmospherics.BZFormationEnergy / 20f); // Ослабил экзотермическую реакцию (Reduced the exothermic reaction) var heatCap = atmosphereSystem.GetHeatCapacity(mixture, true); if (heatCap > Atmospherics.MinimumHeatCapacity) mixture.Temperature = Math.Max((mixture.Temperature * heatCap + energyReleased) / heatCap, Atmospherics.TCMB); return ReactionResult.Reacting; } -} \ No newline at end of file +} diff --git a/Content.Server/Atmos/Reactions/HealiumProductionReaction.cs b/Content.Server/Atmos/Reactions/HealiumProductionReaction.cs index 00cc2e5647..4f450c86d7 100644 --- a/Content.Server/Atmos/Reactions/HealiumProductionReaction.cs +++ b/Content.Server/Atmos/Reactions/HealiumProductionReaction.cs @@ -6,7 +6,7 @@ using JetBrains.Annotations; namespace Content.Server.Atmos.Reactions; /// -/// Produces Healium by mixing BZ and Frezon at temperatures between 23K and 293K. Efficiency increases in colder temperatures. +/// Produces Healium by mixing BZ and Frezon at temperatures between 23K and 293K. Efficiency increases in colder temperatures. /// [UsedImplicitly] public sealed partial class HealiumProductionReaction : IGasReactionEffect @@ -19,9 +19,9 @@ public sealed partial class HealiumProductionReaction : IGasReactionEffect var rate = mixture.Temperature / Atmospherics.T20C; var efficiency = 23.15f / mixture.Temperature; - var bZRemoved = 1f * rate; - var frezonRemoved = 9f * rate; - var healiumProduced = 10f * rate * efficiency; + var bZRemoved = 3f * rate; + var frezonRemoved = 30f * rate; + var healiumProduced = 45f * rate * efficiency; if (bZRemoved > initBZ || frezonRemoved > initFrezon || mixture.Temperature > Atmospherics.T20C) return ReactionResult.NoReaction; @@ -30,11 +30,13 @@ public sealed partial class HealiumProductionReaction : IGasReactionEffect mixture.AdjustMoles(Gas.Frezon, -frezonRemoved); mixture.AdjustMoles(Gas.Healium, healiumProduced); - var energyReleased = healiumProduced * Atmospherics.HealiumProductionEnergy; + var energyReleased = healiumProduced * Atmospherics.HealiumProductionEnergy * 0.5f; // Ослабил экзотермическую реакцию (Reduced the exothermic reaction) var heatCap = atmosphereSystem.GetHeatCapacity(mixture, true); if (heatCap > Atmospherics.MinimumHeatCapacity) - mixture.Temperature = Math.Max((mixture.Temperature * heatCap + energyReleased) / heatCap, Atmospherics.TCMB); + { + mixture.Temperature = Math.Max((mixture.Temperature * heatCap + energyReleased * 0.5f) / heatCap, Atmospherics.TCMB); + } return ReactionResult.Reacting; } -} \ No newline at end of file +} diff --git a/Content.Server/Atmos/Reactions/NitriumSynthesisReaction.cs b/Content.Server/Atmos/Reactions/NitriumSynthesisReaction.cs index 310f4b7b63..e677a452ec 100644 --- a/Content.Server/Atmos/Reactions/NitriumSynthesisReaction.cs +++ b/Content.Server/Atmos/Reactions/NitriumSynthesisReaction.cs @@ -19,14 +19,14 @@ public sealed partial class NitriumSynthesisReaction : IGasReactionEffect var temperature = mixture.Temperature; // Проверка условий для реакции - if (initTritium < 2 || initNitrogen < 2 || initBZ < 1 || temperature < 1500 || temperature > 100000) + if (initTritium < 2 || initNitrogen < 2 || initBZ < 1 || temperature < 1500 || temperature > 13000) return ReactionResult.NoReaction; // Логика реакции - var tritiumRemoved = 2f; // Количество удаляемого трития - var nitrogenRemoved = 2f; // Количество удаляемого азота + var tritiumRemoved = 5f; // Количество удаляемого трития + var nitrogenRemoved = 5f; // Количество удаляемого азота var bzRemoved = 1f; // Количество удаляемого BZ - var nitriumProduced = 3f; // Количество производимого Нитриума + var nitriumProduced = 12f; // Количество производимого Нитриума if (tritiumRemoved > initTritium || nitrogenRemoved > initNitrogen || bzRemoved > initBZ) return ReactionResult.NoReaction; diff --git a/Resources/Prototypes/_Sunrise/Atmospherics/reactions.yml b/Resources/Prototypes/_Sunrise/Atmospherics/reactions.yml index 3b6db95525..7840168821 100644 --- a/Resources/Prototypes/_Sunrise/Atmospherics/reactions.yml +++ b/Resources/Prototypes/_Sunrise/Atmospherics/reactions.yml @@ -37,14 +37,14 @@ priority: 2 minimumRequirements: - 0 # oxygen - - 2 # nitrogen + - 0.5 # nitrogen - 0 # carbon dioxide - 0 # plasma - - 2 # tritium + - 0.5 # tritium - 0 # vapor - 0 # miasma - 0 # n2o - 0 # frezon - - 0.01 # bz + - 0.1 # bz effects: - !type:NitriumSynthesisReaction {} diff --git a/Resources/Prototypes/_Sunrise/Reagents/gases.yml b/Resources/Prototypes/_Sunrise/Reagents/gases.yml index 0706822f1a..050ad7cff6 100644 --- a/Resources/Prototypes/_Sunrise/Reagents/gases.yml +++ b/Resources/Prototypes/_Sunrise/Reagents/gases.yml @@ -122,10 +122,9 @@ ignoreResistances: true damage: groups: - Burn: -0.3 - Toxin: -0.3 - types: - Blunt: -0.3 + Burn: -0.7 + Toxin: -0.7 + Brute: -0.7 - !type:ModifyBleedAmount amount: -0.15 - !type:PopupMessage @@ -153,22 +152,7 @@ component: ForcedSleeping time: 3 type: Add - - !type:GenericStatusEffect - conditions: - - !type:ReagentThreshold - reagent: Healium - min: 1 - key: SeeingRainbows - component: SeeingRainbows - type: Add - time: 500 - refresh: false - - !type:Drunk - boozePower: 500 - conditions: - - !type:ReagentThreshold - reagent: Healium - min: 1 + - type: reagent id: Nitrium @@ -182,17 +166,17 @@ metabolismRate: 1.0 effects: - !type:MovespeedModifier - walkSpeedModifier: 1.5 - sprintSpeedModifier: 1.5 + walkSpeedModifier: 1.4 + sprintSpeedModifier: 1.4 - !type:MovespeedModifier - walkSpeedModifier: 1.5 - sprintSpeedModifier: 1.5 + walkSpeedModifier: 1.4 + sprintSpeedModifier: 1.4 - !type:MovespeedModifier - walkSpeedModifier: 1.5 - sprintSpeedModifier: 1.5 + walkSpeedModifier: 1.4 + sprintSpeedModifier: 1.4 - !type:MovespeedModifier - walkSpeedModifier: 1.5 - sprintSpeedModifier: 1.5 + walkSpeedModifier: 1.4 + sprintSpeedModifier: 1.4 - !type:HealthChange conditions: - !type:ReagentThreshold