Rename Miasma to Ammonia (#22791)

* Rename Miasma to Ammonia

* Namespace changes

* Map change????? why
This commit is contained in:
Kara
2023-12-20 21:19:50 -07:00
committed by GitHub
parent bf7c788099
commit ad97580727
40 changed files with 134 additions and 194 deletions

View File

@@ -28,7 +28,7 @@ namespace Content.Server.Atmos.Portable
Gas.Plasma, Gas.Plasma,
Gas.Tritium, Gas.Tritium,
Gas.WaterVapor, Gas.WaterVapor,
Gas.Miasma, Gas.Ammonia,
Gas.NitrousOxide, Gas.NitrousOxide,
Gas.Frezon Gas.Frezon
}; };

View File

@@ -5,25 +5,25 @@ using JetBrains.Annotations;
namespace Content.Server.Atmos.Reactions; namespace Content.Server.Atmos.Reactions;
[UsedImplicitly] [UsedImplicitly]
public sealed partial class MiasmaOxygenReaction : IGasReactionEffect public sealed partial class AmmoniaOxygenReaction : IGasReactionEffect
{ {
public ReactionResult React(GasMixture mixture, IGasMixtureHolder? holder, AtmosphereSystem atmosphereSystem, float heatScale) public ReactionResult React(GasMixture mixture, IGasMixtureHolder? holder, AtmosphereSystem atmosphereSystem, float heatScale)
{ {
var nMiasma = mixture.GetMoles(Gas.Miasma); var nAmmonia = mixture.GetMoles(Gas.Ammonia);
var nOxygen = mixture.GetMoles(Gas.Oxygen); var nOxygen = mixture.GetMoles(Gas.Oxygen);
var nTotal = mixture.TotalMoles; var nTotal = mixture.TotalMoles;
// Concentration-dependent reaction rate // Concentration-dependent reaction rate
var fMiasma = nMiasma/nTotal; var fAmmonia = nAmmonia/nTotal;
var fOxygen = nOxygen/nTotal; var fOxygen = nOxygen/nTotal;
var rate = MathF.Pow(fMiasma, 2) * MathF.Pow(fOxygen, 2); var rate = MathF.Pow(fAmmonia, 2) * MathF.Pow(fOxygen, 2);
var deltaMoles = nMiasma / Atmospherics.MiasmaOxygenReactionRate * 2 * rate; var deltaMoles = nAmmonia / Atmospherics.AmmoniaOxygenReactionRate * 2 * rate;
if (deltaMoles <= 0 || nMiasma - deltaMoles < 0) if (deltaMoles <= 0 || nAmmonia - deltaMoles < 0)
return ReactionResult.NoReaction; return ReactionResult.NoReaction;
mixture.AdjustMoles(Gas.Miasma, -deltaMoles); mixture.AdjustMoles(Gas.Ammonia, -deltaMoles);
mixture.AdjustMoles(Gas.Oxygen, -deltaMoles); mixture.AdjustMoles(Gas.Oxygen, -deltaMoles);
mixture.AdjustMoles(Gas.NitrousOxide, deltaMoles / 2); mixture.AdjustMoles(Gas.NitrousOxide, deltaMoles / 2);
mixture.AdjustMoles(Gas.WaterVapor, deltaMoles * 1.5f); mixture.AdjustMoles(Gas.WaterVapor, deltaMoles * 1.5f);

View File

@@ -1,25 +0,0 @@
using Content.Server.Atmos.EntitySystems;
using Content.Shared.Atmos;
using JetBrains.Annotations;
namespace Content.Server.Atmos.Reactions;
/// <summary>
/// Converts frezon into miasma when the two come into contact. Does not occur at very high temperatures.
/// </summary>
[UsedImplicitly]
public sealed partial class MiasmicSubsumationReaction : IGasReactionEffect
{
public ReactionResult React(GasMixture mixture, IGasMixtureHolder? holder, AtmosphereSystem atmosphereSystem, float heatScale)
{
var initialMiasma = mixture.GetMoles(Gas.Miasma);
var initialFrezon = mixture.GetMoles(Gas.Frezon);
var convert = Math.Min(Math.Min(initialFrezon, initialMiasma), Atmospherics.MiasmicSubsumationMaxConversionRate);
mixture.AdjustMoles(Gas.Miasma, convert);
mixture.AdjustMoles(Gas.Frezon, -convert);
return ReactionResult.Reacting;
}
}

View File

@@ -3,7 +3,7 @@ using Content.Shared.Atmos;
using Content.Server.Atmos.EntitySystems; using Content.Server.Atmos.EntitySystems;
using Content.Server.Body.Components; using Content.Server.Body.Components;
using Content.Server.Temperature.Components; using Content.Server.Temperature.Components;
using Content.Shared.Atmos.Miasma; using Content.Shared.Atmos.Rotting;
using Content.Shared.Examine; using Content.Shared.Examine;
using Content.Shared.Mobs; using Content.Shared.Mobs;
using Content.Shared.Mobs.Components; using Content.Shared.Mobs.Components;
@@ -14,7 +14,7 @@ using Robust.Server.GameObjects;
using Robust.Shared.Physics.Components; using Robust.Shared.Physics.Components;
using Robust.Shared.Timing; using Robust.Shared.Timing;
namespace Content.Server.Atmos.Miasma; namespace Content.Server.Atmos.Rotting;
public sealed class RottingSystem : EntitySystem public sealed class RottingSystem : EntitySystem
{ {
@@ -119,7 +119,7 @@ public sealed class RottingSystem : EntitySystem
var molsToDump = perishable.MolsPerSecondPerUnitMass * physics.FixturesMass * (float) component.TotalRotTime.TotalSeconds; var molsToDump = perishable.MolsPerSecondPerUnitMass * physics.FixturesMass * (float) component.TotalRotTime.TotalSeconds;
var tileMix = _atmosphere.GetTileMixture(uid, excite: true); var tileMix = _atmosphere.GetTileMixture(uid, excite: true);
tileMix?.AdjustMoles(Gas.Miasma, molsToDump); tileMix?.AdjustMoles(Gas.Ammonia, molsToDump);
} }
private void OnExamined(EntityUid uid, RottingComponent component, ExaminedEvent args) private void OnExamined(EntityUid uid, RottingComponent component, ExaminedEvent args)
@@ -127,9 +127,9 @@ public sealed class RottingSystem : EntitySystem
var stage = RotStage(uid, component); var stage = RotStage(uid, component);
var description = stage switch var description = stage switch
{ {
>= 2 => "miasma-extremely-bloated", >= 2 => "rotting-extremely-bloated",
>= 1 => "miasma-bloated", >= 1 => "rotting-bloated",
_ => "miasma-rotting" _ => "rotting-rotting"
}; };
args.PushMarkup(Loc.GetString(description)); args.PushMarkup(Loc.GetString(description));
} }
@@ -213,7 +213,7 @@ public sealed class RottingSystem : EntitySystem
// or just remove the mass mechanics altogether because they aren't good. // or just remove the mass mechanics altogether because they aren't good.
var molRate = perishable.MolsPerSecondPerUnitMass * (float) rotting.RotUpdateRate.TotalSeconds; var molRate = perishable.MolsPerSecondPerUnitMass * (float) rotting.RotUpdateRate.TotalSeconds;
var tileMix = _atmosphere.GetTileMixture(uid, excite: true); var tileMix = _atmosphere.GetTileMixture(uid, excite: true);
tileMix?.AdjustMoles(Gas.Miasma, molRate * physics.FixturesMass); tileMix?.AdjustMoles(Gas.Ammonia, molRate * physics.FixturesMass);
} }
} }
} }

View File

@@ -353,7 +353,7 @@ namespace Content.Server.Cloning
var i = 0; var i = 0;
while (i < 1) while (i < 1)
{ {
tileMix?.AdjustMoles(Gas.Miasma, 6f); tileMix?.AdjustMoles(Gas.Ammonia, 6f);
bloodSolution.AddReagent("Blood", 50); bloodSolution.AddReagent("Blood", 50);
if (_robustRandom.Prob(0.2f)) if (_robustRandom.Prob(0.2f))
i++; i++;

View File

@@ -1,4 +1,4 @@
using Content.Server.Atmos.Miasma; using Content.Server.Atmos.Rotting;
using Content.Server.Chat.Systems; using Content.Server.Chat.Systems;
using Content.Server.DoAfter; using Content.Server.DoAfter;
using Content.Server.Electrocution; using Content.Server.Electrocution;

View File

@@ -67,7 +67,7 @@ namespace Content.Server.RatKing
} }
/// <summary> /// <summary>
/// uses hunger to release a specific amount of miasma into the air. This heals the rat king /// uses hunger to release a specific amount of ammonia into the air. This heals the rat king
/// and his servants through a specific metabolism. /// and his servants through a specific metabolism.
/// </summary> /// </summary>
private void OnDomain(EntityUid uid, RatKingComponent component, RatKingDomainActionEvent args) private void OnDomain(EntityUid uid, RatKingComponent component, RatKingDomainActionEvent args)
@@ -89,7 +89,7 @@ namespace Content.Server.RatKing
_popup.PopupEntity(Loc.GetString("rat-king-domain-popup"), uid); _popup.PopupEntity(Loc.GetString("rat-king-domain-popup"), uid);
var tileMix = _atmos.GetTileMixture(uid, excite: true); var tileMix = _atmos.GetTileMixture(uid, excite: true);
tileMix?.AdjustMoles(Gas.Miasma, component.MolesMiasmaPerDomain); tileMix?.AdjustMoles(Gas.Ammonia, component.MolesAmmoniaPerDomain);
} }
private void OnPointedAt(EntityUid uid, RatKingComponent component, ref AfterPointedAtEvent args) private void OnPointedAt(EntityUid uid, RatKingComponent component, ref AfterPointedAtEvent args)

View File

@@ -9,7 +9,7 @@ public sealed partial class GasLeakRuleComponent : Component
{ {
public readonly Gas[] LeakableGases = public readonly Gas[] LeakableGases =
{ {
Gas.Miasma, Gas.Ammonia,
Gas.Plasma, Gas.Plasma,
Gas.Tritium, Gas.Tritium,
Gas.Frezon, Gas.Frezon,

View File

@@ -27,7 +27,7 @@ public sealed partial class GasArtifactComponent : Component
Gas.Nitrogen, Gas.Nitrogen,
Gas.CarbonDioxide, Gas.CarbonDioxide,
Gas.Tritium, Gas.Tritium,
Gas.Miasma, Gas.Ammonia,
Gas.NitrousOxide, Gas.NitrousOxide,
Gas.Frezon Gas.Frezon
}; };

View File

@@ -18,7 +18,7 @@ public sealed partial class ArtifactGasTriggerComponent : Component
Gas.Plasma, Gas.Plasma,
Gas.Nitrogen, Gas.Nitrogen,
Gas.CarbonDioxide, Gas.CarbonDioxide,
Gas.Miasma, Gas.Ammonia,
Gas.NitrousOxide Gas.NitrousOxide
}; };

View File

@@ -242,14 +242,9 @@ namespace Content.Shared.Atmos
public const float N2ODecompositionRate = 2f; public const float N2ODecompositionRate = 2f;
/// <summary> /// <summary>
/// How many mol of frezon can be converted into miasma in one cycle. /// Divisor for Ammonia Oxygen reaction so that it doesn't happen instantaneously.
/// </summary> /// </summary>
public const float MiasmicSubsumationMaxConversionRate = 5f; public const float AmmoniaOxygenReactionRate = 10f;
/// <summary>
/// Divisor for Miasma Oxygen reaction so that it doesn't happen instantaneously.
/// </summary>
public const float MiasmaOxygenReactionRate = 10f;
/// <summary> /// <summary>
/// Determines at what pressure the ultra-high pressure red icon is displayed. /// Determines at what pressure the ultra-high pressure red icon is displayed.
@@ -334,7 +329,7 @@ namespace Content.Shared.Atmos
Plasma = 3, Plasma = 3,
Tritium = 4, Tritium = 4,
WaterVapor = 5, WaterVapor = 5,
Miasma = 6, Ammonia = 6,
NitrousOxide = 7, NitrousOxide = 7,
Frezon = 8 Frezon = 8
} }

View File

@@ -20,7 +20,7 @@ namespace Content.Shared.Atmos.Piping.Unary.Components
Gas.Plasma, Gas.Plasma,
Gas.Tritium, Gas.Tritium,
Gas.WaterVapor, Gas.WaterVapor,
Gas.Miasma, Gas.Ammonia,
Gas.NitrousOxide, Gas.NitrousOxide,
Gas.Frezon Gas.Frezon
}; };

View File

@@ -1,4 +1,4 @@
namespace Content.Shared.Atmos.Miasma; namespace Content.Shared.Atmos.Rotting;
/// <summary> /// <summary>
/// Entities inside this container will not rot. /// Entities inside this container will not rot.

View File

@@ -1,6 +1,6 @@
using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom; using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom;
namespace Content.Shared.Atmos.Miasma; namespace Content.Shared.Atmos.Rotting;
/// <summary> /// <summary>
/// This makes mobs eventually start rotting when they die. /// This makes mobs eventually start rotting when they die.

View File

@@ -2,7 +2,7 @@ using Robust.Shared.GameStates;
using Robust.Shared.Prototypes; using Robust.Shared.Prototypes;
using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype; using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype;
namespace Content.Shared.Atmos.Miasma; namespace Content.Shared.Atmos.Rotting;
/// <summary> /// <summary>
/// Lets an entity rot into another entity. /// Lets an entity rot into another entity.

View File

@@ -2,7 +2,7 @@ using Content.Shared.Damage;
using Robust.Shared.GameStates; using Robust.Shared.GameStates;
using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom; using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom;
namespace Content.Shared.Atmos.Miasma; namespace Content.Shared.Atmos.Rotting;
/// <summary> /// <summary>
/// Tracking component for stuff that has started to rot. /// Tracking component for stuff that has started to rot.
@@ -17,7 +17,7 @@ public sealed partial class RottingComponent : Component
public bool DealDamage = true; public bool DealDamage = true;
/// <summary> /// <summary>
/// When the next check will happen for rot progression + effects like damage and miasma /// When the next check will happen for rot progression + effects like damage and ammonia
/// </summary> /// </summary>
[DataField("nextRotUpdate", customTypeSerializer: typeof(TimeOffsetSerializer)), ViewVariables(VVAccess.ReadWrite)] [DataField("nextRotUpdate", customTypeSerializer: typeof(TimeOffsetSerializer)), ViewVariables(VVAccess.ReadWrite)]
public TimeSpan NextRotUpdate = TimeSpan.Zero; public TimeSpan NextRotUpdate = TimeSpan.Zero;

View File

@@ -46,10 +46,10 @@ public sealed partial class RatKingComponent : Component
public float HungerPerDomainUse = 50f; public float HungerPerDomainUse = 50f;
/// <summary> /// <summary>
/// How many moles of Miasma are released after one us of Domain /// How many moles of ammonia are released after one us of Domain
/// </summary> /// </summary>
[DataField("molesMiasmaPerDomain"), ViewVariables(VVAccess.ReadWrite)] [DataField("molesAmmoniaPerDomain"), ViewVariables(VVAccess.ReadWrite)]
public float MolesMiasmaPerDomain = 200f; public float MolesAmmoniaPerDomain = 200f;
/// <summary> /// <summary>
/// The current order that the Rat King assigned. /// The current order that the Rat King assigned.

View File

@@ -1,4 +1,4 @@
rat-king-domain-popup = A cloud of miasma is released into the air! rat-king-domain-popup = A cloud of ammonia is released into the air!
rat-king-too-hungry = You are too hungry to use this ability! rat-king-too-hungry = You are too hungry to use this ability!

View File

@@ -1,4 +1,4 @@
miasma-smell = Something smells foul! ammonia-smell = Something smells pungent!
miasma-rotting = [color=orange]It's rotting![/color] rotting-rotting = [color=orange]It's rotting![/color]
miasma-bloated = [color=orangered]It's bloated![/color] rotting-bloated = [color=orangered]It's bloated![/color]
miasma-extremely-bloated = [color=red]It's extremely bloated![/color] rotting-extremely-bloated = [color=red]It's extremely bloated![/color]

View File

@@ -4,6 +4,6 @@ gases-co2 = Carbon Dioxide
gases-plasma = Plasma gases-plasma = Plasma
gases-tritium = Tritium gases-tritium = Tritium
gases-water-vapor = Water Vapor gases-water-vapor = Water Vapor
gases-miasma = Miasma gases-ammonia = Ammonia
gases-n2o = Nitrous Oxide gases-n2o = Nitrous Oxide
gases-frezon = Frezon gases-frezon = Frezon

View File

@@ -11,7 +11,7 @@ job-description-cargotech = Deal with requisitions and deliveries for emergencie
job-description-ce = Manage the engineering department to ensure power, atmospherics, and the hull are in perfect shape. job-description-ce = Manage the engineering department to ensure power, atmospherics, and the hull are in perfect shape.
job-description-centcomoff = Act as an ambassador to the newest state-of-the-art space station in Nanotrasen's fleet. job-description-centcomoff = Act as an ambassador to the newest state-of-the-art space station in Nanotrasen's fleet.
job-description-chaplain = Preach the good word of your deity and religion, and conduct spiritual healing. job-description-chaplain = Preach the good word of your deity and religion, and conduct spiritual healing.
job-description-chef = Keep the station fed with a variety of food items, butcher dead animals to ensure miasma doesn't leak, and help keep the bar lively. job-description-chef = Keep the station fed with a variety of food items, butcher dead animals to ensure ammonia doesn't leak, and help keep the bar lively.
job-description-chemist = Produce medicinal drugs for the doctors to use, research ethically dubious rare chemicals, and produce weapons of war when enemies of the station arrive. job-description-chemist = Produce medicinal drugs for the doctors to use, research ethically dubious rare chemicals, and produce weapons of war when enemies of the station arrive.
job-description-clown = Entertain the crew through elaborate slapstick routines or terrible jokes. job-description-clown = Entertain the crew through elaborate slapstick routines or terrible jokes.
job-description-cmo = Manage the resources and personnel of the medical department to keep the crew alive. job-description-cmo = Manage the resources and personnel of the medical department to keep the crew alive.

View File

@@ -34,8 +34,8 @@ ent-TritiumCanister = Tritium canister
ent-WaterVaporCanister = Water vapor canister ent-WaterVaporCanister = Water vapor canister
.desc = A canister that can contain any type of gas. This one is supposed to contain water vapor. It can be attached to connector ports using a wrench. .desc = A canister that can contain any type of gas. This one is supposed to contain water vapor. It can be attached to connector ports using a wrench.
ent-MiasmaCanister = Miasma canister ent-AmmoniaCanister = Ammonia canister
.desc = A canister that can contain any type of gas. This one is supposed to contain miasma. It can be attached to connector ports using a wrench. .desc = A canister that can contain any type of gas. This one is supposed to contain ammonia. It can be attached to connector ports using a wrench.
ent-NitrousOxideCanister = Nitrous oxide canister ent-NitrousOxideCanister = Nitrous oxide canister
.desc = A canister that can contain any type of gas. This one is supposed to contain nitrous oxide. It can be attached to connector ports using a wrench. .desc = A canister that can contain any type of gas. This one is supposed to contain nitrous oxide. It can be attached to connector ports using a wrench.
@@ -70,7 +70,7 @@ ent-TritiumCanisterBroken = { ent-GasCanisterBrokenBase }
ent-WaterVaporCanisterBroken = { ent-GasCanisterBrokenBase } ent-WaterVaporCanisterBroken = { ent-GasCanisterBrokenBase }
.desc = { ent-GasCanisterBrokenBase.desc } .desc = { ent-GasCanisterBrokenBase.desc }
ent-MiasmaCanisterBroken = { ent-GasCanisterBrokenBase } ent-AmmoniaCanisterBroken = { ent-GasCanisterBrokenBase }
.desc = { ent-GasCanisterBrokenBase.desc } .desc = { ent-GasCanisterBrokenBase.desc }
ent-NitrousOxideCanisterBroken = { ent-GasCanisterBrokenBase } ent-NitrousOxideCanisterBroken = { ent-GasCanisterBrokenBase }

View File

@@ -13,9 +13,6 @@ reagent-desc-carbon-dioxide = You have genuinely no idea what this is.
reagent-name-nitrogen = nitrogen reagent-name-nitrogen = nitrogen
reagent-desc-nitrogen = A colorless, odorless unreactive gas. Highly stable. reagent-desc-nitrogen = A colorless, odorless unreactive gas. Highly stable.
reagent-name-miasma = miasma
reagent-desc-miasma = Uh oh, stinky!
reagent-name-nitrous-oxide = nitrous oxide reagent-name-nitrous-oxide = nitrous oxide
reagent-desc-nitrous-oxide = You know how everything seems funnier when you're tired? Well... reagent-desc-nitrous-oxide = You know how everything seems funnier when you're tired? Well...

View File

@@ -4198,7 +4198,7 @@ entities:
threshold: 1.5 threshold: 1.5
enabled: True enabled: True
ignore: False ignore: False
Miasma: Ammonia:
lowerWarnAround: lowerWarnAround:
threshold: 0 threshold: 0
enabled: False enabled: False
@@ -4364,7 +4364,7 @@ entities:
threshold: 1.5 threshold: 1.5
enabled: True enabled: True
ignore: False ignore: False
Miasma: Ammonia:
lowerWarnAround: lowerWarnAround:
threshold: 0 threshold: 0
enabled: False enabled: False
@@ -4530,7 +4530,7 @@ entities:
threshold: 1.5 threshold: 1.5
enabled: True enabled: True
ignore: False ignore: False
Miasma: Ammonia:
lowerWarnAround: lowerWarnAround:
threshold: 0 threshold: 0
enabled: False enabled: False
@@ -4696,7 +4696,7 @@ entities:
threshold: 1.5 threshold: 1.5
enabled: True enabled: True
ignore: False ignore: False
Miasma: Ammonia:
lowerWarnAround: lowerWarnAround:
threshold: 0 threshold: 0
enabled: False enabled: False
@@ -4866,7 +4866,7 @@ entities:
threshold: 1.5 threshold: 1.5
enabled: True enabled: True
ignore: False ignore: False
Miasma: Ammonia:
lowerWarnAround: lowerWarnAround:
threshold: 0 threshold: 0
enabled: False enabled: False

View File

@@ -66,7 +66,7 @@
- type: gas - type: gas
id: 6 id: 6
name: gases-miasma name: gases-ammonia
specificHeat: 20 specificHeat: 20
heatCapacityRatio: 1.4 heatCapacityRatio: 1.4
molarMass: 44 molarMass: 44
@@ -75,7 +75,7 @@
gasMolesVisible: 2 gasMolesVisible: 2
gasVisbilityFactor: 3.5 gasVisbilityFactor: 3.5
color: 56941E color: 56941E
reagent: Miasma reagent: Ammonia
pricePerMole: 0.15 pricePerMole: 0.15
- type: gas - type: gas

View File

@@ -34,7 +34,7 @@
- 0 # plasma - 0 # plasma
- 0 # tritium - 0 # tritium
- 0 # vapor - 0 # vapor
- 0 # miasma - 0 # ammonia
- 0 # n2o - 0 # n2o
- 0.01 # frezon - 0.01 # frezon
effects: effects:
@@ -51,31 +51,14 @@
- 0 # plasma - 0 # plasma
- 0.01 # tritium - 0.01 # tritium
- 0 # vapor - 0 # vapor
- 0 # miasma - 0 # ammonia
- 0 # n2o - 0 # n2o
- 0 # frezon - 0 # frezon
effects: effects:
- !type:FrezonProductionReaction {} - !type:FrezonProductionReaction {}
- type: gasReaction - type: gasReaction
id: MiasmicSubsumation id: AmmoniaOxygenReaction
priority: 0
maximumTemperature: 5066.25
minimumRequirements:
- 0 # oxygen
- 0 # nitrogen
- 0 # carbon dioxide
- 0 # plasma
- 0 # tritium
- 0 # vapor
- 0.01 # miasma
- 0 # n2o
- 0.01 # frezon
effects:
- !type:MiasmicSubsumationReaction {}
- type: gasReaction
id: MiasmaOxygenReaction
priority: 2 priority: 2
minimumTemperature: 323.149 minimumTemperature: 323.149
minimumRequirements: minimumRequirements:
@@ -85,11 +68,11 @@
- 0 # plasma - 0 # plasma
- 0 # tritium - 0 # tritium
- 0 # vapor - 0 # vapor
- 0.01 # miasma - 0.01 # ammonia
- 0 # n2o - 0 # n2o
- 0 # frezon - 0 # frezon
effects: effects:
- !type:MiasmaOxygenReaction {} - !type:AmmoniaOxygenReaction {}
- type: gasReaction - type: gasReaction
id: N2ODecomposition id: N2ODecomposition
@@ -102,7 +85,7 @@
- 0 # plasma - 0 # plasma
- 0 # tritium - 0 # tritium
- 0 # vapor - 0 # vapor
- 0 # miasma - 0 # ammonia
- 0.01 # n2o - 0.01 # n2o
- 0 # frezon - 0 # frezon
effects: effects:

View File

@@ -54,7 +54,7 @@
threshold: 0.5 threshold: 0.5
- type: alarmThreshold - type: alarmThreshold
id: stationMiasma id: stationAmmonia
upperBound: !type:AlarmThresholdSetting upperBound: !type:AlarmThresholdSetting
threshold: 0.05 threshold: 0.05
upperWarnAround: !type:AlarmThresholdSetting upperWarnAround: !type:AlarmThresholdSetting

View File

@@ -182,7 +182,7 @@
- 0 # plasma - 0 # plasma
- 0 # tritium - 0 # tritium
- 0 # water vapor - 0 # water vapor
- 0 # miasma - 0 # ammonia
- 0.615413715 # 30% N2O - 0.615413715 # 30% N2O
# 2.051379050 total # 2.051379050 total
temperature: 293.15 temperature: 293.15

View File

@@ -2,7 +2,7 @@
id: RegalRatNameKingdom id: RegalRatNameKingdom
values: values:
- Plague - Plague
- Miasma - Ammonia
- Maintenance - Maintenance
- Trash - Trash
- Garbage - Garbage

View File

@@ -289,7 +289,7 @@
- type: entity - type: entity
id: ActionRatKingDomain id: ActionRatKingDomain
name: Rat King's Domain name: Rat King's Domain
description: Spend some hunger to release a cloud of miasma into the air. description: Spend some hunger to release a cloud of ammonia into the air.
noSpawn: true noSpawn: true
components: components:
- type: InstantAction - type: InstantAction

View File

@@ -62,7 +62,7 @@
- type: Perishable - type: Perishable
# raw meat rots in 5 minutes, get it into the freezer fast # raw meat rots in 5 minutes, get it into the freezer fast
rotAfter: 300 rotAfter: 300
# don't want meat giving off miasma only bodies # don't want meat giving off ammonia only bodies
molsPerSecondPerUnitMass: 0 molsPerSecondPerUnitMass: 0
- type: RotInto - type: RotInto
entity: FoodMeatRotten entity: FoodMeatRotten

View File

@@ -13,7 +13,7 @@
- Plasma - Plasma
- Tritium - Tritium
- WaterVapor - WaterVapor
- Miasma - Ammonia
- NitrousOxide - NitrousOxide
- Frezon - Frezon
#- Helium3 TODO: fusion #- Helium3 TODO: fusion
@@ -24,7 +24,7 @@
- Plasma - Plasma
- Tritium - Tritium
- WaterVapor - WaterVapor
- Miasma - Ammonia
- NitrousOxide - NitrousOxide
- Frezon - Frezon
#- Helium3 TODO: fusion #- Helium3 TODO: fusion

View File

@@ -131,14 +131,14 @@
spawnGas: WaterVapor spawnGas: WaterVapor
- type: entity - type: entity
name: Miasma gas miner name: Ammonia gas miner
parent: GasMinerBase parent: GasMinerBase
id: GasMinerMiasma id: GasMinerAmmonia
placement: placement:
mode: SnapgridCenter mode: SnapgridCenter
components: components:
- type: GasMiner - type: GasMiner
spawnGas: Miasma spawnGas: Ammonia
- type: entity - type: entity
name: Nitrous Oxide gas miner name: Nitrous Oxide gas miner

View File

@@ -50,7 +50,7 @@
Plasma: danger # everything below is usually bad Plasma: danger # everything below is usually bad
Tritium: danger Tritium: danger
WaterVapor: stationWaterVapor WaterVapor: stationWaterVapor
Miasma: stationMiasma Ammonia: stationAmmonia
NitrousOxide: stationNO NitrousOxide: stationNO
Frezon: danger Frezon: danger
- type: Tag - type: Tag
@@ -141,7 +141,7 @@
Plasma: danger # everything below is usually bad Plasma: danger # everything below is usually bad
Tritium: danger Tritium: danger
WaterVapor: stationWaterVapor WaterVapor: stationWaterVapor
Miasma: stationMiasma Ammonia: stationAmmonia
NitrousOxide: stationNO NitrousOxide: stationNO
Frezon: danger Frezon: danger
- type: Tag - type: Tag

View File

@@ -55,7 +55,7 @@
Plasma: danger # everything below is usually bad Plasma: danger # everything below is usually bad
Tritium: danger Tritium: danger
WaterVapor: stationWaterVapor WaterVapor: stationWaterVapor
Miasma: stationMiasma Ammonia: stationAmmonia
NitrousOxide: stationNO NitrousOxide: stationNO
Frezon: danger Frezon: danger
- type: Tag - type: Tag

View File

@@ -120,7 +120,7 @@
- 0 # Plasma - 0 # Plasma
- 0 # Tritium - 0 # Tritium
- 0 # Water vapor - 0 # Water vapor
- 0 # Miasma - 0 # Ammonia
- 0 # N2O - 0 # N2O
- 0 # Frezon - 0 # Frezon
temperature: 293.15 temperature: 293.15
@@ -475,7 +475,7 @@
- type: entity - type: entity
parent: GasCanister parent: GasCanister
id: MiasmaCanister id: AmmoniaCanister
components: components:
- type: Sprite - type: Sprite
layers: layers:
@@ -490,7 +490,7 @@
- 0 # Plasma - 0 # Plasma
- 0 # Tritium - 0 # Tritium
- 0 # Water vapor - 0 # Water vapor
- 1871.71051 # Miasma - 1871.71051 # Ammonia
temperature: 293.15 temperature: 293.15
- type: Destructible - type: Destructible
thresholds: thresholds:
@@ -509,7 +509,7 @@
path: /Audio/Effects/metalbreak.ogg path: /Audio/Effects/metalbreak.ogg
- !type:SpawnEntitiesBehavior - !type:SpawnEntitiesBehavior
spawn: spawn:
MiasmaCanisterBroken: AmmoniaCanisterBroken:
min: 1 min: 1
max: 1 max: 1
- !type:DoActsBehavior - !type:DoActsBehavior
@@ -535,7 +535,7 @@
- 0 # Plasma - 0 # Plasma
- 0 # Tritium - 0 # Tritium
- 0 # Water vapor - 0 # Water vapor
- 0 # Miasma - 0 # Ammonia
- 1871.71051 # N2O - 1871.71051 # N2O
temperature: 293.15 temperature: 293.15
- type: Destructible - type: Destructible
@@ -578,8 +578,8 @@
- 0 # CO2 - 0 # CO2
- 0 # Plasma - 0 # Plasma
- 0 # Tritium - 0 # Tritium
- 0 # Water vapor - 0 # Water vapor
- 0 # Miasma - 0 # Ammonia
- 0 # N2O - 0 # N2O
- 1871.71051 # Frezon - 1871.71051 # Frezon
temperature: 293.15 temperature: 293.15
@@ -730,7 +730,7 @@
- type: entity - type: entity
parent: GasCanisterBrokenBase parent: GasCanisterBrokenBase
id: MiasmaCanisterBroken id: AmmoniaCanisterBroken
noSpawn: true noSpawn: true
components: components:
- type: Sprite - type: Sprite

View File

@@ -202,6 +202,52 @@
damage: damage:
types: types:
Caustic: 1 Caustic: 1
Gas:
effects:
- !type:HealthChange
conditions:
- !type:OrganType
type: Rat
shouldHave: false
- !type:ReagentThreshold
reagent: Ammonia
min: 1
ignoreResistances: true
damage:
types:
Poison: 0.25
- !type:ChemVomit
probability: 0.12
conditions:
- !type:OrganType
type: Rat
shouldHave: false
- !type:ReagentThreshold
reagent: Ammonia
min: 0.8
- !type:PopupMessage
type: Local
visualType: Medium
messages: [ "ammonia-smell" ]
probability: 0.1
conditions:
- !type:ReagentThreshold
reagent: Ammonia
min: 0.25
- !type:HealthChange
conditions:
- !type:OrganType
type: Rat
- !type:ReagentThreshold
reagent: Ammonia
min: 1
scaleByQuantity: true
ignoreResistances: true
damage:
groups:
Brute: -5
Burn: -5
- type: reagent - type: reagent
id: Diethylamine id: Diethylamine

View File

@@ -188,62 +188,6 @@
NitrousOxide: 1.0 NitrousOxide: 1.0
Nitrogen: -1.0 Nitrogen: -1.0
- type: reagent
id: Miasma
name: reagent-name-miasma
desc: reagent-desc-miasma
physicalDesc: reagent-physical-desc-gaseous
flavor: bitter
color: "#56941E"
boilingPoint: -195.8
meltingPoint: -210.0
metabolisms:
Gas:
effects:
- !type:HealthChange
conditions:
- !type:OrganType
type: Rat
shouldHave: false
- !type:ReagentThreshold
reagent: Miasma
min: 1
ignoreResistances: true
damage:
types:
Poison: 0.25
- !type:ChemVomit
probability: 0.12
conditions:
- !type:OrganType
type: Rat
shouldHave: false
- !type:ReagentThreshold
reagent: Miasma
min: 0.8
- !type:PopupMessage
type: Local
visualType: Medium
messages: [ "miasma-smell" ]
probability: 0.1
conditions:
- !type:ReagentThreshold
reagent: Miasma
min: 0.25
- !type:HealthChange
conditions:
- !type:OrganType
type: Rat
- !type:ReagentThreshold
reagent: Miasma
min: 1
scaleByQuantity: true
ignoreResistances: true
damage:
groups:
Brute: -5
Burn: -5
- type: reagent - type: reagent
id: NitrousOxide id: NitrousOxide
name: reagent-name-nitrous-oxide name: reagent-name-nitrous-oxide

View File

@@ -346,7 +346,7 @@
- CarbonDioxide - CarbonDioxide
- Plasma - Plasma
- Tritium - Tritium
- Miasma - Ammonia
- NitrousOxide - NitrousOxide
- Frezon - Frezon

View File

@@ -42,7 +42,7 @@
<GuideEntityEmbed Entity="MobRatServant" Caption="Rat Servant"/> <GuideEntityEmbed Entity="MobRatServant" Caption="Rat Servant"/>
</Box> </Box>
- Raise an Army of [color=#a4885c]Rat Servants[/color]. - Raise an Army of [color=#a4885c]Rat Servants[/color].
- Conjure a cloud of miasma. - Conjure a cloud of ammonia.
# Space Dragon # Space Dragon