The chems update
This commit is contained in:
40
Content.Shared/_Offbrand/EntityEffects/TotalGroupDamage.cs
Normal file
40
Content.Shared/_Offbrand/EntityEffects/TotalGroupDamage.cs
Normal 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));
|
||||
}
|
||||
}
|
||||
@@ -42,6 +42,13 @@ reagent-effect-condition-guidebook-brain-damage = { $max ->
|
||||
*[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 ->
|
||||
[1] Replenishes { $amount } brain oxygenation
|
||||
*[other] replenish { $amount } brain oxygenation
|
||||
|
||||
@@ -27,3 +27,12 @@ reagent-desc-coagulant = An experimental medicine that causes internal and exter
|
||||
|
||||
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-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.
|
||||
|
||||
@@ -127,3 +127,109 @@
|
||||
catalyst: true
|
||||
products:
|
||||
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
|
||||
|
||||
@@ -304,3 +304,143 @@
|
||||
conditions:
|
||||
- !type:MetaboliteThreshold
|
||||
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
|
||||
|
||||
@@ -68,6 +68,22 @@
|
||||
parent: StatusEffectHeartStrainDesoxyephedrine
|
||||
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
|
||||
parent: MobStatusEffectBase
|
||||
id: StatusEffectPainkillersStrongOxycodone
|
||||
|
||||
Reference in New Issue
Block a user