The chems update

This commit is contained in:
Janet Blackquill
2025-10-01 21:06:40 -04:00
parent 8626e82a79
commit 9bb09ae01b
6 changed files with 318 additions and 0 deletions

View File

@@ -0,0 +1,40 @@
using Content.Shared.Damage.Prototypes;
using Content.Shared.Damage;
using Content.Shared.EntityEffects;
using Content.Shared.FixedPoint;
using Robust.Shared.Prototypes;
namespace Content.Shared._Offbrand.EntityEffects;
public sealed partial class TotalGroupDamage : EntityEffectCondition
{
[DataField(required: true)]
public ProtoId<DamageGroupPrototype> Group;
[DataField]
public FixedPoint2 Max = FixedPoint2.MaxValue;
[DataField]
public FixedPoint2 Min = FixedPoint2.Zero;
public override bool Condition(EntityEffectBaseArgs args)
{
var prototype = IoCManager.Resolve<IPrototypeManager>();
var group = prototype.Index(Group);
if (!args.EntityManager.TryGetComponent<DamageableComponent>(args.TargetEntity, out var damage))
return false;
var total = FixedPoint2.Zero;
damage.Damage.TryGetDamageInGroup(group, out total);
return total >= Min && total <= Max;
}
public override string GuidebookExplanation(IPrototypeManager prototype)
{
return Loc.GetString("reagent-effect-condition-guidebook-total-group-damage",
("max", Max == FixedPoint2.MaxValue ? (float) int.MaxValue : Max.Float()),
("min", Min.Float()),
("name", prototype.Index(Group).LocalizedName));
}
}

View File

@@ -42,6 +42,13 @@ reagent-effect-condition-guidebook-brain-damage = { $max ->
*[other] it has between {NATURALFIXED($min, 2)} and {NATURALFIXED($max, 2)} brain damage *[other] it has between {NATURALFIXED($min, 2)} and {NATURALFIXED($max, 2)} brain damage
} }
} }
reagent-effect-condition-guidebook-total-group-damage = { $max ->
[2147483648] it has at least {NATURALFIXED($min, 2)} { $name } damage
*[other] { $min ->
[0] it has at most {NATURALFIXED($max, 2)} { $name } damage
*[other] it has between {NATURALFIXED($min, 2)} and {NATURALFIXED($max, 2)} { $name } damage
}
}
reagent-effect-guidebook-modify-brain-oxygen-heals = { $chance -> reagent-effect-guidebook-modify-brain-oxygen-heals = { $chance ->
[1] Replenishes { $amount } brain oxygenation [1] Replenishes { $amount } brain oxygenation
*[other] replenish { $amount } brain oxygenation *[other] replenish { $amount } brain oxygenation

View File

@@ -27,3 +27,12 @@ reagent-desc-coagulant = An experimental medicine that causes internal and exter
reagent-name-osseous = osseous reagent reagent-name-osseous = osseous reagent
reagent-desc-osseous = An strange solution of pinkish gel and white shards that can heal internal bone fractures. Authorities have expressed concern over the lead content. reagent-desc-osseous = An strange solution of pinkish gel and white shards that can heal internal bone fractures. Authorities have expressed concern over the lead content.
reagent-name-convermol = convermol
reagent-desc-convermol = A fast-acting medication that forces the body to respirate, damaging the muscles but effectively restoring access to air.
reagent-name-salicylic-acid = salicylic acid
reagent-desc-salicylic-acid = An awful-smelling compound that offers pain relief and healing for severe brute injuries. Extremely high doses can force the body to regenerate bones from nothing.
reagent-name-oxandrolone = oxandrolone
reagent-desc-oxandrolone = A heavy-duty burn medication that offers pain relief and healing for severe burn injuries. Extremely high doses can force the body to purge severely scarred tissue.

View File

@@ -127,3 +127,109 @@
catalyst: true catalyst: true
products: products:
Osseous: 2 Osseous: 2
- type: reaction
id: Convermol
reactants:
Fluorine:
amount: 1
Aluminium:
amount: 1
Dexalin:
amount: 1
products:
Convermol: 3
- type: reaction
id: SalicylicAcid
reactants:
Phenol:
amount: 1
Bicaridine:
amount: 1
SulfuricAcid:
amount: 1
products:
SalicylicAcid: 3
- type: reaction
id: SalicylicAcidBruizine
reactants:
SalicylicAcid:
amount: 1
Bruizine:
amount: 1
products:
Razorium: 1
- type: reaction
id: SalicylicAcidLacerinol
reactants:
SalicylicAcid:
amount: 1
Lacerinol:
amount: 1
products:
Razorium: 1
- type: reaction
id: SalicylicAcidPuncturase
reactants:
SalicylicAcid:
amount: 1
Puncturase:
amount: 1
products:
Razorium: 1
- type: reaction
id: Oxandrolone
reactants:
Phenol:
amount: 1
Dermaline:
amount: 1
Fluorine:
amount: 1
products:
Oxandrolone: 3
- type: reaction
id: OxandrolonePyrazine
reactants:
Oxandrolone:
amount: 1
Pyrazine:
amount: 1
products:
Razorium: 1
- type: reaction
id: OxandroloneInsuzine
reactants:
Oxandrolone:
amount: 1
Insuzine:
amount: 1
products:
Razorium: 1
- type: reaction
id: OxandroloneSigynate
reactants:
Oxandrolone:
amount: 1
Sigynate:
amount: 1
products:
Razorium: 1
- type: reaction
id: OxandroloneLeporazine
reactants:
Oxandrolone:
amount: 1
Leporazine:
amount: 1
products:
Razorium: 1

View File

@@ -304,3 +304,143 @@
conditions: conditions:
- !type:MetaboliteThreshold - !type:MetaboliteThreshold
min: 5 min: 5
- type: reagent
id: Convermol
name: reagent-name-convermol
group: Medicine
desc: reagent-desc-convermol
physicalDesc: reagent-physical-desc-abrasive
flavor: chalky
color: "#afe1ed"
metabolisms:
Medicine:
effects:
- !type:HealthChange
damage:
types:
Asphyxiation: -4
Blunt: 1.5
conditions:
- !type:TotalGroupDamage
group: Airloss
min: 4
- !type:HealthChange
damage:
types:
Asphyxiation: -4
Blunt: 1.5
conditions:
- !type:MetaboliteThreshold
min: 10
- !type:TotalGroupDamage
group: Airloss
min: 4
- !type:ModifyHeartDamage
amount: 0.05
- type: reagent
id: SalicylicAcid
name: reagent-name-salicylic-acid
group: Medicine
desc: reagent-desc-salicylic-acid
physicalDesc: reagent-physical-desc-putrid
flavor: bitter
color: "#f7d9c0"
metabolisms:
Medicine:
metabolismRate: 0.2
statusEffects:
- statusEffect: StatusEffectPainkillersSalicylicAcid
conditions:
- !type:TotalGroupDamage
group: Brute
min: 35
effects:
- !type:EvenHealthChange
damage:
Brute: -2
conditions:
- !type:TotalGroupDamage
group: Brute
min: 35
- !type:MetaboliteThreshold
max: 15
- !type:EvenHealthChange
damage:
Brute: -2
Burn: 2
conditions:
- !type:MetaboliteThreshold
min: 15
- !type:EvenHealthChange
damage:
Brute: -0.5
conditions:
- !type:TotalGroupDamage
group: Brute
max: 35
- !type:RemoveStatusEffect
effectProto: WoundBoneDeath
conditions:
- !type:MetaboliteThreshold
min: 50
- !type:EvenHealthChange
damage:
Burn: 1
conditions:
- !type:MetaboliteThreshold
min: 35
- type: reagent
id: Oxandrolone
name: reagent-name-oxandrolone
group: Medicine
desc: reagent-desc-oxandrolone
physicalDesc: reagent-physical-desc-frosty
flavor: bitter
color: "#b8e3cb"
metabolisms:
Medicine:
metabolismRate: 0.2
statusEffects:
- statusEffect: StatusEffectPainkillersOxandrolone
conditions:
- !type:TotalGroupDamage
group: Burn
min: 35
effects:
- !type:EvenHealthChange
damage:
Burn: -3
conditions:
- !type:TotalGroupDamage
group: Burn
min: 35
- !type:MetaboliteThreshold
max: 15
- !type:EvenHealthChange
damage:
Burn: -3
Brute: 3
conditions:
- !type:MetaboliteThreshold
min: 15
- !type:EvenHealthChange
damage:
Burn: -0.5
conditions:
- !type:TotalGroupDamage
group: Burn
max: 35
- !type:RemoveStatusEffect
effectProto: WoundHusking
conditions:
- !type:MetaboliteThreshold
min: 50
- !type:EvenHealthChange
damage:
Brute: 1
conditions:
- !type:MetaboliteThreshold
min: 35

View File

@@ -68,6 +68,22 @@
parent: StatusEffectHeartStrainDesoxyephedrine parent: StatusEffectHeartStrainDesoxyephedrine
id: StatusEffectHeartStrainTramadolAlcohol id: StatusEffectHeartStrainTramadolAlcohol
- type: entity
parent: MobStatusEffectBase
id: StatusEffectPainkillersSalicylicAcid
name: 30 pain relief
components:
- type: PainkillerStatusEffect
effectiveness: 30
- type: entity
parent: MobStatusEffectBase
id: StatusEffectPainkillersOxandrolone
name: 30 pain relief
components:
- type: PainkillerStatusEffect
effectiveness: 30
- type: entity - type: entity
parent: MobStatusEffectBase parent: MobStatusEffectBase
id: StatusEffectPainkillersStrongOxycodone id: StatusEffectPainkillersStrongOxycodone