Added localization of groups and types: damage, metabolism (#27368)
* Added localization of groups and types: damage, metabolism (displayed in the guide book). The text for the health analyzer, weapon damage inspection is now taken from damage prototypes * fix damage tests * fix damage test yml * fix damage test prototypes * Update Content.Shared/Damage/Prototypes/DamageGroupPrototype.cs * Update Content.Shared/Damage/Prototypes/DamageTypePrototype.cs --------- Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
This commit is contained in:
committed by
GitHub
parent
f5b8b5fbdc
commit
3fcbbc0732
@@ -4,6 +4,7 @@ using Content.Client.Chemistry.EntitySystems;
|
|||||||
using Content.Client.Guidebook.Richtext;
|
using Content.Client.Guidebook.Richtext;
|
||||||
using Content.Client.Message;
|
using Content.Client.Message;
|
||||||
using Content.Client.UserInterface.ControlExtensions;
|
using Content.Client.UserInterface.ControlExtensions;
|
||||||
|
using Content.Shared.Body.Prototypes;
|
||||||
using Content.Shared.Chemistry.Reaction;
|
using Content.Shared.Chemistry.Reaction;
|
||||||
using Content.Shared.Chemistry.Reagent;
|
using Content.Shared.Chemistry.Reagent;
|
||||||
using JetBrains.Annotations;
|
using JetBrains.Annotations;
|
||||||
@@ -128,7 +129,7 @@ public sealed partial class GuideReagentEmbed : BoxContainer, IDocumentTag, ISea
|
|||||||
|
|
||||||
var groupLabel = new RichTextLabel();
|
var groupLabel = new RichTextLabel();
|
||||||
groupLabel.SetMarkup(Loc.GetString("guidebook-reagent-effects-metabolism-group-rate",
|
groupLabel.SetMarkup(Loc.GetString("guidebook-reagent-effects-metabolism-group-rate",
|
||||||
("group", group), ("rate", effect.MetabolismRate)));
|
("group", _prototype.Index<MetabolismGroupPrototype>(group).LocalizedName), ("rate", effect.MetabolismRate)));
|
||||||
var descriptionLabel = new RichTextLabel
|
var descriptionLabel = new RichTextLabel
|
||||||
{
|
{
|
||||||
Margin = new Thickness(25, 0, 10, 0)
|
Margin = new Thickness(25, 0, 10, 0)
|
||||||
|
|||||||
@@ -139,7 +139,7 @@ namespace Content.Client.HealthAnalyzer.UI
|
|||||||
|
|
||||||
var groupTitleText = $"{Loc.GetString(
|
var groupTitleText = $"{Loc.GetString(
|
||||||
"health-analyzer-window-damage-group-text",
|
"health-analyzer-window-damage-group-text",
|
||||||
("damageGroup", Loc.GetString("health-analyzer-window-damage-group-" + damageGroupId)),
|
("damageGroup", _prototypes.Index<DamageGroupPrototype>(damageGroupId).LocalizedName),
|
||||||
("amount", damageAmount)
|
("amount", damageAmount)
|
||||||
)}";
|
)}";
|
||||||
|
|
||||||
@@ -170,7 +170,7 @@ namespace Content.Client.HealthAnalyzer.UI
|
|||||||
|
|
||||||
var damageString = Loc.GetString(
|
var damageString = Loc.GetString(
|
||||||
"health-analyzer-window-damage-type-text",
|
"health-analyzer-window-damage-type-text",
|
||||||
("damageType", Loc.GetString("health-analyzer-window-damage-type-" + type)),
|
("damageType", _prototypes.Index<DamageTypePrototype>(type).LocalizedName),
|
||||||
("amount", typeAmount)
|
("amount", typeAmount)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|||||||
@@ -19,36 +19,45 @@ namespace Content.IntegrationTests.Tests.Damageable
|
|||||||
# Define some damage groups
|
# Define some damage groups
|
||||||
- type: damageType
|
- type: damageType
|
||||||
id: TestDamage1
|
id: TestDamage1
|
||||||
|
name: damage-type-blunt
|
||||||
|
|
||||||
- type: damageType
|
- type: damageType
|
||||||
id: TestDamage2a
|
id: TestDamage2a
|
||||||
|
name: damage-type-blunt
|
||||||
|
|
||||||
- type: damageType
|
- type: damageType
|
||||||
id: TestDamage2b
|
id: TestDamage2b
|
||||||
|
name: damage-type-blunt
|
||||||
|
|
||||||
- type: damageType
|
- type: damageType
|
||||||
id: TestDamage3a
|
id: TestDamage3a
|
||||||
|
name: damage-type-blunt
|
||||||
|
|
||||||
- type: damageType
|
- type: damageType
|
||||||
id: TestDamage3b
|
id: TestDamage3b
|
||||||
|
name: damage-type-blunt
|
||||||
|
|
||||||
- type: damageType
|
- type: damageType
|
||||||
id: TestDamage3c
|
id: TestDamage3c
|
||||||
|
name: damage-type-blunt
|
||||||
|
|
||||||
# Define damage Groups with 1,2,3 damage types
|
# Define damage Groups with 1,2,3 damage types
|
||||||
- type: damageGroup
|
- type: damageGroup
|
||||||
id: TestGroup1
|
id: TestGroup1
|
||||||
|
name: damage-group-brute
|
||||||
damageTypes:
|
damageTypes:
|
||||||
- TestDamage1
|
- TestDamage1
|
||||||
|
|
||||||
- type: damageGroup
|
- type: damageGroup
|
||||||
id: TestGroup2
|
id: TestGroup2
|
||||||
|
name: damage-group-brute
|
||||||
damageTypes:
|
damageTypes:
|
||||||
- TestDamage2a
|
- TestDamage2a
|
||||||
- TestDamage2b
|
- TestDamage2b
|
||||||
|
|
||||||
- type: damageGroup
|
- type: damageGroup
|
||||||
id: TestGroup3
|
id: TestGroup3
|
||||||
|
name: damage-group-brute
|
||||||
damageTypes:
|
damageTypes:
|
||||||
- TestDamage3a
|
- TestDamage3a
|
||||||
- TestDamage3b
|
- TestDamage3b
|
||||||
|
|||||||
@@ -12,24 +12,31 @@ namespace Content.IntegrationTests.Tests.Destructible
|
|||||||
public const string DamagePrototypes = $@"
|
public const string DamagePrototypes = $@"
|
||||||
- type: damageType
|
- type: damageType
|
||||||
id: TestBlunt
|
id: TestBlunt
|
||||||
|
name: damage-type-blunt
|
||||||
|
|
||||||
- type: damageType
|
- type: damageType
|
||||||
id: TestSlash
|
id: TestSlash
|
||||||
|
name: damage-type-slash
|
||||||
|
|
||||||
- type: damageType
|
- type: damageType
|
||||||
id: TestPiercing
|
id: TestPiercing
|
||||||
|
name: damage-type-piercing
|
||||||
|
|
||||||
- type: damageType
|
- type: damageType
|
||||||
id: TestHeat
|
id: TestHeat
|
||||||
|
name: damage-type-heat
|
||||||
|
|
||||||
- type: damageType
|
- type: damageType
|
||||||
id: TestShock
|
id: TestShock
|
||||||
|
name: damage-type-shock
|
||||||
|
|
||||||
- type: damageType
|
- type: damageType
|
||||||
id: TestCold
|
id: TestCold
|
||||||
|
name: damage-type-cold
|
||||||
|
|
||||||
- type: damageGroup
|
- type: damageGroup
|
||||||
id: TestBrute
|
id: TestBrute
|
||||||
|
name: damage-group-brute
|
||||||
damageTypes:
|
damageTypes:
|
||||||
- TestBlunt
|
- TestBlunt
|
||||||
- TestSlash
|
- TestSlash
|
||||||
@@ -37,6 +44,7 @@ namespace Content.IntegrationTests.Tests.Destructible
|
|||||||
|
|
||||||
- type: damageGroup
|
- type: damageGroup
|
||||||
id: TestBurn
|
id: TestBurn
|
||||||
|
name: damage-group-burn
|
||||||
damageTypes:
|
damageTypes:
|
||||||
- TestHeat
|
- TestHeat
|
||||||
- TestShock
|
- TestShock
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
using Content.Server.Body.Components;
|
using Content.Server.Body.Components;
|
||||||
using Content.Shared.Body.Prototypes;
|
using Content.Shared.Body.Prototypes;
|
||||||
using Content.Shared.Chemistry.Reagent;
|
using Content.Shared.Chemistry.Reagent;
|
||||||
using Robust.Shared.Prototypes;
|
using Robust.Shared.Prototypes;
|
||||||
@@ -35,7 +35,7 @@ namespace Content.Server.Chemistry.ReagentEffectConditions
|
|||||||
public override string GuidebookExplanation(IPrototypeManager prototype)
|
public override string GuidebookExplanation(IPrototypeManager prototype)
|
||||||
{
|
{
|
||||||
return Loc.GetString("reagent-effect-condition-guidebook-organ-type",
|
return Loc.GetString("reagent-effect-condition-guidebook-organ-type",
|
||||||
("name", prototype.Index<MetabolizerTypePrototype>(Type).Name),
|
("name", prototype.Index<MetabolizerTypePrototype>(Type).LocalizedName),
|
||||||
("shouldhave", ShouldHave));
|
("shouldhave", ShouldHave));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
using Content.Shared.Chemistry.Reagent;
|
using Content.Shared.Chemistry.Reagent;
|
||||||
using Content.Shared.FixedPoint;
|
using Content.Shared.FixedPoint;
|
||||||
using Robust.Shared.Prototypes;
|
using Robust.Shared.Prototypes;
|
||||||
|
|
||||||
@@ -43,7 +43,7 @@ namespace Content.Server.Chemistry.ReagentEffectConditions
|
|||||||
prototype.TryIndex(Reagent, out reagentProto);
|
prototype.TryIndex(Reagent, out reagentProto);
|
||||||
|
|
||||||
return Loc.GetString("reagent-effect-condition-guidebook-reagent-threshold",
|
return Loc.GetString("reagent-effect-condition-guidebook-reagent-threshold",
|
||||||
("reagent", reagentProto?.LocalizedName ?? "this reagent"),
|
("reagent", reagentProto?.LocalizedName ?? Loc.GetString("reagent-effect-condition-guidebook-this-reagent")),
|
||||||
("max", Max == FixedPoint2.MaxValue ? (float) int.MaxValue : Max.Float()),
|
("max", Max == FixedPoint2.MaxValue ? (float) int.MaxValue : Max.Float()),
|
||||||
("min", Min.Float()));
|
("min", Min.Float()));
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
using Content.Shared.Body.Prototypes;
|
using Content.Shared.Body.Prototypes;
|
||||||
using Content.Shared.Chemistry.Reagent;
|
using Content.Shared.Chemistry.Reagent;
|
||||||
using Content.Shared.FixedPoint;
|
using Content.Shared.FixedPoint;
|
||||||
using JetBrains.Annotations;
|
using JetBrains.Annotations;
|
||||||
@@ -74,7 +74,7 @@ namespace Content.Server.Chemistry.ReagentEffects
|
|||||||
return Loc.GetString("reagent-effect-guidebook-adjust-reagent-group",
|
return Loc.GetString("reagent-effect-guidebook-adjust-reagent-group",
|
||||||
("chance", Probability),
|
("chance", Probability),
|
||||||
("deltasign", MathF.Sign(Amount.Float())),
|
("deltasign", MathF.Sign(Amount.Float())),
|
||||||
("group", groupProto.ID),
|
("group", groupProto.LocalizedName),
|
||||||
("amount", MathF.Abs(Amount.Float())));
|
("amount", MathF.Abs(Amount.Float())));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -74,7 +74,7 @@ namespace Content.Server.Chemistry.ReagentEffects
|
|||||||
|
|
||||||
damages.Add(
|
damages.Add(
|
||||||
Loc.GetString("health-change-display",
|
Loc.GetString("health-change-display",
|
||||||
("kind", group.ID),
|
("kind", group.LocalizedName),
|
||||||
("amount", MathF.Abs(amount.Float())),
|
("amount", MathF.Abs(amount.Float())),
|
||||||
("deltasign", sign)
|
("deltasign", sign)
|
||||||
));
|
));
|
||||||
@@ -96,7 +96,7 @@ namespace Content.Server.Chemistry.ReagentEffects
|
|||||||
|
|
||||||
damages.Add(
|
damages.Add(
|
||||||
Loc.GetString("health-change-display",
|
Loc.GetString("health-change-display",
|
||||||
("kind", kind),
|
("kind", prototype.Index<DamageTypePrototype>(kind).LocalizedName),
|
||||||
("amount", MathF.Abs(amount.Float())),
|
("amount", MathF.Abs(amount.Float())),
|
||||||
("deltasign", sign)
|
("deltasign", sign)
|
||||||
));
|
));
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
using Robust.Shared.Prototypes;
|
using Robust.Shared.Prototypes;
|
||||||
|
|
||||||
namespace Content.Shared.Body.Prototypes
|
namespace Content.Shared.Body.Prototypes
|
||||||
{
|
{
|
||||||
@@ -7,5 +7,11 @@ namespace Content.Shared.Body.Prototypes
|
|||||||
{
|
{
|
||||||
[IdDataField]
|
[IdDataField]
|
||||||
public string ID { get; private set; } = default!;
|
public string ID { get; private set; } = default!;
|
||||||
|
|
||||||
|
[DataField("name", required: true)]
|
||||||
|
private LocId Name { get; set; }
|
||||||
|
|
||||||
|
[ViewVariables(VVAccess.ReadOnly)]
|
||||||
|
public string LocalizedName => Loc.GetString(Name);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
using Robust.Shared.Prototypes;
|
using Robust.Shared.Prototypes;
|
||||||
|
|
||||||
namespace Content.Shared.Body.Prototypes
|
namespace Content.Shared.Body.Prototypes
|
||||||
{
|
{
|
||||||
@@ -9,6 +9,9 @@ namespace Content.Shared.Body.Prototypes
|
|||||||
public string ID { get; private set; } = default!;
|
public string ID { get; private set; } = default!;
|
||||||
|
|
||||||
[DataField("name", required: true)]
|
[DataField("name", required: true)]
|
||||||
public string Name { get; private set; } = default!;
|
private LocId Name { get; set; }
|
||||||
|
|
||||||
|
[ViewVariables(VVAccess.ReadOnly)]
|
||||||
|
public string LocalizedName => Loc.GetString(Name);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -17,6 +17,12 @@ namespace Content.Shared.Damage.Prototypes
|
|||||||
{
|
{
|
||||||
[IdDataField] public string ID { get; } = default!;
|
[IdDataField] public string ID { get; } = default!;
|
||||||
|
|
||||||
|
[DataField(required: true)]
|
||||||
|
private LocId Name { get; set; }
|
||||||
|
|
||||||
|
[ViewVariables(VVAccess.ReadOnly)]
|
||||||
|
public string LocalizedName => Loc.GetString(Name);
|
||||||
|
|
||||||
[DataField("damageTypes", required: true, customTypeSerializer: typeof(PrototypeIdListSerializer<DamageTypePrototype>))]
|
[DataField("damageTypes", required: true, customTypeSerializer: typeof(PrototypeIdListSerializer<DamageTypePrototype>))]
|
||||||
public List<string> DamageTypes { get; private set; } = default!;
|
public List<string> DamageTypes { get; private set; } = default!;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -11,6 +11,12 @@ namespace Content.Shared.Damage.Prototypes
|
|||||||
[IdDataField]
|
[IdDataField]
|
||||||
public string ID { get; private set; } = default!;
|
public string ID { get; private set; } = default!;
|
||||||
|
|
||||||
|
[DataField(required: true)]
|
||||||
|
private LocId Name { get; set; }
|
||||||
|
|
||||||
|
[ViewVariables(VVAccess.ReadOnly)]
|
||||||
|
public string LocalizedName => Loc.GetString(Name);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// The price for each 1% damage reduction in armors
|
/// The price for each 1% damage reduction in armors
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
@@ -1,8 +1,10 @@
|
|||||||
using Content.Shared.Damage.Components;
|
using Content.Shared.Damage.Components;
|
||||||
using Content.Shared.Damage.Events;
|
using Content.Shared.Damage.Events;
|
||||||
|
using Content.Shared.Damage.Prototypes;
|
||||||
using Content.Shared.Examine;
|
using Content.Shared.Examine;
|
||||||
using Content.Shared.FixedPoint;
|
using Content.Shared.FixedPoint;
|
||||||
using Content.Shared.Verbs;
|
using Content.Shared.Verbs;
|
||||||
|
using Robust.Shared.Prototypes;
|
||||||
using Robust.Shared.Utility;
|
using Robust.Shared.Utility;
|
||||||
|
|
||||||
namespace Content.Shared.Damage.Systems;
|
namespace Content.Shared.Damage.Systems;
|
||||||
@@ -10,6 +12,7 @@ namespace Content.Shared.Damage.Systems;
|
|||||||
public sealed class DamageExamineSystem : EntitySystem
|
public sealed class DamageExamineSystem : EntitySystem
|
||||||
{
|
{
|
||||||
[Dependency] private readonly ExamineSystemShared _examine = default!;
|
[Dependency] private readonly ExamineSystemShared _examine = default!;
|
||||||
|
[Dependency] private readonly IPrototypeManager _prototype = default!;
|
||||||
|
|
||||||
public override void Initialize()
|
public override void Initialize()
|
||||||
{
|
{
|
||||||
@@ -66,7 +69,7 @@ public sealed class DamageExamineSystem : EntitySystem
|
|||||||
if (damage.Value != FixedPoint2.Zero)
|
if (damage.Value != FixedPoint2.Zero)
|
||||||
{
|
{
|
||||||
msg.PushNewline();
|
msg.PushNewline();
|
||||||
msg.AddMarkup(Loc.GetString("damage-value", ("type", damage.Key), ("amount", damage.Value)));
|
msg.AddMarkup(Loc.GetString("damage-value", ("type", _prototype.Index<DamageTypePrototype>(damage.Key).LocalizedName), ("amount", damage.Value)));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -168,45 +168,57 @@ namespace Content.Tests.Shared
|
|||||||
private string _damagePrototypes = @"
|
private string _damagePrototypes = @"
|
||||||
- type: damageType
|
- type: damageType
|
||||||
id: Blunt
|
id: Blunt
|
||||||
|
name: damage-type-blunt
|
||||||
|
|
||||||
- type: damageType
|
- type: damageType
|
||||||
id: Slash
|
id: Slash
|
||||||
|
name: damage-type-slash
|
||||||
|
|
||||||
- type: damageType
|
- type: damageType
|
||||||
id: Piercing
|
id: Piercing
|
||||||
|
name: damage-type-piercing
|
||||||
|
|
||||||
- type: damageType
|
- type: damageType
|
||||||
id: Heat
|
id: Heat
|
||||||
|
name: damage-type-heat
|
||||||
|
|
||||||
- type: damageType
|
- type: damageType
|
||||||
id: Shock
|
id: Shock
|
||||||
|
name: damage-type-shock
|
||||||
|
|
||||||
- type: damageType
|
- type: damageType
|
||||||
id: Cold
|
id: Cold
|
||||||
|
name: damage-type-cold
|
||||||
|
|
||||||
# Poison damage. Generally caused by various reagents being metabolised.
|
# Poison damage. Generally caused by various reagents being metabolised.
|
||||||
- type: damageType
|
- type: damageType
|
||||||
id: Poison
|
id: Poison
|
||||||
|
name: damage-type-poison
|
||||||
|
|
||||||
- type: damageType
|
- type: damageType
|
||||||
id: Radiation
|
id: Radiation
|
||||||
|
name: damage-type-radiation
|
||||||
|
|
||||||
# Damage due to being unable to breathe.
|
# Damage due to being unable to breathe.
|
||||||
# Represents not enough oxygen (or equivalent) getting to the blood.
|
# Represents not enough oxygen (or equivalent) getting to the blood.
|
||||||
# Usually healed automatically if entity can breathe
|
# Usually healed automatically if entity can breathe
|
||||||
- type: damageType
|
- type: damageType
|
||||||
id: Asphyxiation
|
id: Asphyxiation
|
||||||
|
name: damage-type-asphyxiation
|
||||||
|
|
||||||
# Damage representing not having enough blood.
|
# Damage representing not having enough blood.
|
||||||
# Represents there not enough blood to supply oxygen (or equivalent).
|
# Represents there not enough blood to supply oxygen (or equivalent).
|
||||||
- type: damageType
|
- type: damageType
|
||||||
id: Bloodloss
|
id: Bloodloss
|
||||||
|
name: damage-type-bloodloss
|
||||||
|
|
||||||
- type: damageType
|
- type: damageType
|
||||||
id: Cellular
|
id: Cellular
|
||||||
|
name: damage-type-cellular
|
||||||
|
|
||||||
- type: damageGroup
|
- type: damageGroup
|
||||||
id: Brute
|
id: Brute
|
||||||
|
name: damage-group-brute
|
||||||
damageTypes:
|
damageTypes:
|
||||||
- Blunt
|
- Blunt
|
||||||
- Slash
|
- Slash
|
||||||
@@ -214,6 +226,7 @@ namespace Content.Tests.Shared
|
|||||||
|
|
||||||
- type: damageGroup
|
- type: damageGroup
|
||||||
id: Burn
|
id: Burn
|
||||||
|
name: damage-group-burn
|
||||||
damageTypes:
|
damageTypes:
|
||||||
- Heat
|
- Heat
|
||||||
- Shock
|
- Shock
|
||||||
@@ -225,6 +238,7 @@ namespace Content.Tests.Shared
|
|||||||
# bloodloss, not this whole group, unless you have a wonder drug that affects both.
|
# bloodloss, not this whole group, unless you have a wonder drug that affects both.
|
||||||
- type: damageGroup
|
- type: damageGroup
|
||||||
id: Airloss
|
id: Airloss
|
||||||
|
name: damage-group-airloss
|
||||||
damageTypes:
|
damageTypes:
|
||||||
- Asphyxiation
|
- Asphyxiation
|
||||||
- Bloodloss
|
- Bloodloss
|
||||||
@@ -233,12 +247,14 @@ namespace Content.Tests.Shared
|
|||||||
# Though there are probably some radioactive poisons.
|
# Though there are probably some radioactive poisons.
|
||||||
- type: damageGroup
|
- type: damageGroup
|
||||||
id: Toxin
|
id: Toxin
|
||||||
|
name: damage-group-toxin
|
||||||
damageTypes:
|
damageTypes:
|
||||||
- Poison
|
- Poison
|
||||||
- Radiation
|
- Radiation
|
||||||
|
|
||||||
- type: damageGroup
|
- type: damageGroup
|
||||||
id: Genetic
|
id: Genetic
|
||||||
|
name: damage-group-genetic
|
||||||
damageTypes:
|
damageTypes:
|
||||||
- Cellular
|
- Cellular
|
||||||
|
|
||||||
|
|||||||
5
Resources/Locale/en-US/damage/damage-groups.ftl
Normal file
5
Resources/Locale/en-US/damage/damage-groups.ftl
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
damage-group-brute = Brute
|
||||||
|
damage-group-burn = Burn
|
||||||
|
damage-group-airloss = Airloss
|
||||||
|
damage-group-toxin = Toxin
|
||||||
|
damage-group-genetic = Genetic
|
||||||
13
Resources/Locale/en-US/damage/damage-types.ftl
Normal file
13
Resources/Locale/en-US/damage/damage-types.ftl
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
damage-type-asphyxiation = Asphyxiation
|
||||||
|
damage-type-bloodloss = Bloodloss
|
||||||
|
damage-type-blunt = Blunt
|
||||||
|
damage-type-cellular = Cellular
|
||||||
|
damage-type-caustic = Caustic
|
||||||
|
damage-type-cold = Cold
|
||||||
|
damage-type-heat = Heat
|
||||||
|
damage-type-piercing = Piercing
|
||||||
|
damage-type-poison = Poison
|
||||||
|
damage-type-radiation = Radiation
|
||||||
|
damage-type-shock = Shock
|
||||||
|
damage-type-slash = Slash
|
||||||
|
damage-type-structural = Structural
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
reagent-effect-condition-guidebook-total-damage =
|
reagent-effect-condition-guidebook-total-damage =
|
||||||
{ $max ->
|
{ $max ->
|
||||||
[2147483648] it has at least {NATURALFIXED($min, 2)} total damage
|
[2147483648] it has at least {NATURALFIXED($min, 2)} total damage
|
||||||
*[other] { $min ->
|
*[other] { $min ->
|
||||||
@@ -57,3 +57,5 @@ reagent-effect-condition-guidebook-has-tag =
|
|||||||
[true] does not have
|
[true] does not have
|
||||||
*[false] has
|
*[false] has
|
||||||
} the tag {$tag}
|
} the tag {$tag}
|
||||||
|
|
||||||
|
reagent-effect-condition-guidebook-this-reagent = this reagent
|
||||||
|
|||||||
@@ -13,26 +13,4 @@ health-analyzer-window-scan-mode-text = Scan Mode:
|
|||||||
health-analyzer-window-scan-mode-active = ACTIVE
|
health-analyzer-window-scan-mode-active = ACTIVE
|
||||||
health-analyzer-window-scan-mode-inactive = INACTIVE
|
health-analyzer-window-scan-mode-inactive = INACTIVE
|
||||||
|
|
||||||
health-analyzer-window-damage-group-Brute = Brute
|
|
||||||
health-analyzer-window-damage-type-Blunt = Blunt
|
|
||||||
health-analyzer-window-damage-type-Slash = Slash
|
|
||||||
health-analyzer-window-damage-type-Piercing = Piercing
|
|
||||||
|
|
||||||
health-analyzer-window-damage-group-Burn = Burn
|
|
||||||
health-analyzer-window-damage-type-Heat = Heat
|
|
||||||
health-analyzer-window-damage-type-Shock = Shock
|
|
||||||
health-analyzer-window-damage-type-Cold = Cold
|
|
||||||
health-analyzer-window-damage-type-Caustic = Caustic
|
|
||||||
|
|
||||||
health-analyzer-window-damage-group-Airloss = Airloss
|
|
||||||
health-analyzer-window-damage-type-Asphyxiation = Asphyxiation
|
|
||||||
health-analyzer-window-damage-type-Bloodloss = Bloodloss
|
|
||||||
|
|
||||||
health-analyzer-window-damage-group-Toxin = Toxin
|
|
||||||
health-analyzer-window-damage-type-Poison = Poison
|
|
||||||
health-analyzer-window-damage-type-Radiation = Radiation
|
|
||||||
|
|
||||||
health-analyzer-window-damage-group-Genetic = Genetic
|
|
||||||
health-analyzer-window-damage-type-Cellular = Cellular
|
|
||||||
|
|
||||||
health-analyzer-window-malnutrition = Severely malnourished
|
health-analyzer-window-malnutrition = Severely malnourished
|
||||||
|
|||||||
7
Resources/Locale/en-US/metabolism/metabolism-groups.ftl
Normal file
7
Resources/Locale/en-US/metabolism/metabolism-groups.ftl
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
metabolism-group-poison = Poison
|
||||||
|
metabolism-group-medicine = Medicine
|
||||||
|
metabolism-group-narcotic = Narcotic
|
||||||
|
metabolism-group-alcohol = Alcohol
|
||||||
|
metabolism-group-food = Food
|
||||||
|
metabolism-group-drink = Drink
|
||||||
|
metabolism-group-gas = Gas
|
||||||
11
Resources/Locale/en-US/metabolism/metabolizer-types.ftl
Normal file
11
Resources/Locale/en-US/metabolism/metabolizer-types.ftl
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
metabolizer-type-animal = Animal
|
||||||
|
metabolizer-type-bloodsucker = Bloodsucker
|
||||||
|
metabolizer-type-dragon = Dragon
|
||||||
|
metabolizer-type-human = Human
|
||||||
|
metabolizer-type-slime = Slime
|
||||||
|
metabolizer-type-vox = Vox
|
||||||
|
metabolizer-type-rat = Rat
|
||||||
|
metabolizer-type-plant = Plant
|
||||||
|
metabolizer-type-dwarf = Dwarf
|
||||||
|
metabolizer-type-moth = Moth
|
||||||
|
metabolizer-type-arachnid = Arachnid
|
||||||
@@ -1,22 +1,29 @@
|
|||||||
# Default human metabolism groups.
|
# Default human metabolism groups.
|
||||||
- type: metabolismGroup
|
- type: metabolismGroup
|
||||||
id: Poison
|
id: Poison
|
||||||
|
name: metabolism-group-poison
|
||||||
|
|
||||||
- type: metabolismGroup
|
- type: metabolismGroup
|
||||||
id: Medicine
|
id: Medicine
|
||||||
|
name: metabolism-group-medicine
|
||||||
|
|
||||||
- type: metabolismGroup
|
- type: metabolismGroup
|
||||||
id: Narcotic
|
id: Narcotic
|
||||||
|
name: metabolism-group-narcotic
|
||||||
|
|
||||||
- type: metabolismGroup
|
- type: metabolismGroup
|
||||||
id: Alcohol
|
id: Alcohol
|
||||||
|
name: metabolism-group-alcohol
|
||||||
|
|
||||||
- type: metabolismGroup
|
- type: metabolismGroup
|
||||||
id: Food
|
id: Food
|
||||||
|
name: metabolism-group-food
|
||||||
|
|
||||||
- type: metabolismGroup
|
- type: metabolismGroup
|
||||||
id: Drink
|
id: Drink
|
||||||
|
name: metabolism-group-drink
|
||||||
|
|
||||||
# Used for gases that have effects on being inhaled
|
# Used for gases that have effects on being inhaled
|
||||||
- type: metabolismGroup
|
- type: metabolismGroup
|
||||||
id: Gas
|
id: Gas
|
||||||
|
name: metabolism-group-gas
|
||||||
|
|||||||
@@ -1,46 +1,46 @@
|
|||||||
# If your species wants to metabolize stuff differently,
|
# If your species wants to metabolize stuff differently,
|
||||||
# you'll likely have to tag its metabolizers with something other than Human.
|
# you'll likely have to tag its metabolizers with something other than Human.
|
||||||
|
|
||||||
- type: metabolizerType
|
- type: metabolizerType
|
||||||
id: Animal
|
id: Animal
|
||||||
name: animal
|
name: metabolizer-type-animal
|
||||||
|
|
||||||
- type: metabolizerType
|
- type: metabolizerType
|
||||||
id: Bloodsucker
|
id: Bloodsucker
|
||||||
name: bloodsucker
|
name: metabolizer-type-bloodsucker
|
||||||
|
|
||||||
- type: metabolizerType
|
- type: metabolizerType
|
||||||
id: Dragon
|
id: Dragon
|
||||||
name: dragon
|
name: metabolizer-type-dragon
|
||||||
|
|
||||||
- type: metabolizerType
|
- type: metabolizerType
|
||||||
id: Human
|
id: Human
|
||||||
name: human
|
name: metabolizer-type-human
|
||||||
|
|
||||||
- type: metabolizerType
|
- type: metabolizerType
|
||||||
id: Slime
|
id: Slime
|
||||||
name: slime
|
name: metabolizer-type-slime
|
||||||
|
|
||||||
- type: metabolizerType
|
- type: metabolizerType
|
||||||
id: Vox
|
id: Vox
|
||||||
name: vox
|
name: metabolizer-type-vox
|
||||||
|
|
||||||
- type: metabolizerType
|
- type: metabolizerType
|
||||||
id: Rat
|
id: Rat
|
||||||
name: rat
|
name: metabolizer-type-rat
|
||||||
|
|
||||||
- type: metabolizerType
|
- type: metabolizerType
|
||||||
id: Plant
|
id: Plant
|
||||||
name: plant
|
name: metabolizer-type-plant
|
||||||
|
|
||||||
- type: metabolizerType
|
- type: metabolizerType
|
||||||
id: Dwarf
|
id: Dwarf
|
||||||
name: dwarf
|
name: metabolizer-type-dwarf
|
||||||
|
|
||||||
- type: metabolizerType
|
- type: metabolizerType
|
||||||
id: Moth
|
id: Moth
|
||||||
name: moth
|
name: metabolizer-type-moth
|
||||||
|
|
||||||
- type: metabolizerType
|
- type: metabolizerType
|
||||||
id: Arachnid
|
id: Arachnid
|
||||||
name: arachnid
|
name: metabolizer-type-arachnid
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
- type: damageGroup
|
- type: damageGroup
|
||||||
id: Brute
|
id: Brute
|
||||||
|
name: damage-group-brute
|
||||||
damageTypes:
|
damageTypes:
|
||||||
- Blunt
|
- Blunt
|
||||||
- Slash
|
- Slash
|
||||||
@@ -7,6 +8,7 @@
|
|||||||
|
|
||||||
- type: damageGroup
|
- type: damageGroup
|
||||||
id: Burn
|
id: Burn
|
||||||
|
name: damage-group-burn
|
||||||
damageTypes:
|
damageTypes:
|
||||||
- Heat
|
- Heat
|
||||||
- Shock
|
- Shock
|
||||||
@@ -19,6 +21,7 @@
|
|||||||
# bloodloss, not this whole group, unless you have a wonder drug that affects both.
|
# bloodloss, not this whole group, unless you have a wonder drug that affects both.
|
||||||
- type: damageGroup
|
- type: damageGroup
|
||||||
id: Airloss
|
id: Airloss
|
||||||
|
name: damage-group-airloss
|
||||||
damageTypes:
|
damageTypes:
|
||||||
- Asphyxiation
|
- Asphyxiation
|
||||||
- Bloodloss
|
- Bloodloss
|
||||||
@@ -27,11 +30,13 @@
|
|||||||
# Though there are probably some radioactive poisons.
|
# Though there are probably some radioactive poisons.
|
||||||
- type: damageGroup
|
- type: damageGroup
|
||||||
id: Toxin
|
id: Toxin
|
||||||
|
name: damage-group-toxin
|
||||||
damageTypes:
|
damageTypes:
|
||||||
- Poison
|
- Poison
|
||||||
- Radiation
|
- Radiation
|
||||||
|
|
||||||
- type: damageGroup
|
- type: damageGroup
|
||||||
id: Genetic
|
id: Genetic
|
||||||
|
name: damage-group-genetic
|
||||||
damageTypes:
|
damageTypes:
|
||||||
- Cellular
|
- Cellular
|
||||||
|
|||||||
@@ -3,6 +3,7 @@
|
|||||||
# Usually healed automatically if entity can breathe
|
# Usually healed automatically if entity can breathe
|
||||||
- type: damageType
|
- type: damageType
|
||||||
id: Asphyxiation
|
id: Asphyxiation
|
||||||
|
name: damage-type-asphyxiation
|
||||||
armorCoefficientPrice: 5
|
armorCoefficientPrice: 5
|
||||||
armorFlatPrice: 50
|
armorFlatPrice: 50
|
||||||
|
|
||||||
@@ -11,57 +12,68 @@
|
|||||||
# Represents there not enough blood to supply oxygen (or equivalent).
|
# Represents there not enough blood to supply oxygen (or equivalent).
|
||||||
- type: damageType
|
- type: damageType
|
||||||
id: Bloodloss
|
id: Bloodloss
|
||||||
|
name: damage-type-bloodloss
|
||||||
armorCoefficientPrice: 5
|
armorCoefficientPrice: 5
|
||||||
armorFlatPrice: 50
|
armorFlatPrice: 50
|
||||||
|
|
||||||
- type: damageType
|
- type: damageType
|
||||||
id: Blunt
|
id: Blunt
|
||||||
|
name: damage-type-blunt
|
||||||
armorCoefficientPrice: 2
|
armorCoefficientPrice: 2
|
||||||
armorFlatPrice: 10
|
armorFlatPrice: 10
|
||||||
|
|
||||||
- type: damageType
|
- type: damageType
|
||||||
id: Cellular
|
id: Cellular
|
||||||
|
name: damage-type-cellular
|
||||||
armorCoefficientPrice: 5
|
armorCoefficientPrice: 5
|
||||||
armorFlatPrice: 30
|
armorFlatPrice: 30
|
||||||
|
|
||||||
- type: damageType
|
- type: damageType
|
||||||
id: Caustic
|
id: Caustic
|
||||||
|
name: damage-type-caustic
|
||||||
armorCoefficientPrice: 5
|
armorCoefficientPrice: 5
|
||||||
armorFlatPrice: 30
|
armorFlatPrice: 30
|
||||||
|
|
||||||
- type: damageType
|
- type: damageType
|
||||||
id: Cold
|
id: Cold
|
||||||
|
name: damage-type-cold
|
||||||
armorCoefficientPrice: 2.5
|
armorCoefficientPrice: 2.5
|
||||||
armorFlatPrice: 20
|
armorFlatPrice: 20
|
||||||
|
|
||||||
- type: damageType
|
- type: damageType
|
||||||
id: Heat
|
id: Heat
|
||||||
|
name: damage-type-heat
|
||||||
armorCoefficientPrice: 2.5
|
armorCoefficientPrice: 2.5
|
||||||
armorFlatPrice: 20
|
armorFlatPrice: 20
|
||||||
|
|
||||||
- type: damageType
|
- type: damageType
|
||||||
id: Piercing
|
id: Piercing
|
||||||
|
name: damage-type-piercing
|
||||||
armorCoefficientPrice: 2
|
armorCoefficientPrice: 2
|
||||||
armorFlatPrice: 10
|
armorFlatPrice: 10
|
||||||
|
|
||||||
# Poison damage. Generally caused by various reagents being metabolised.
|
# Poison damage. Generally caused by various reagents being metabolised.
|
||||||
- type: damageType
|
- type: damageType
|
||||||
id: Poison
|
id: Poison
|
||||||
|
name: damage-type-poison
|
||||||
armorCoefficientPrice: 10
|
armorCoefficientPrice: 10
|
||||||
armorFlatPrice: 60
|
armorFlatPrice: 60
|
||||||
|
|
||||||
- type: damageType
|
- type: damageType
|
||||||
id: Radiation
|
id: Radiation
|
||||||
|
name: damage-type-radiation
|
||||||
armorCoefficientPrice: 2.5
|
armorCoefficientPrice: 2.5
|
||||||
armorFlatPrice: 16
|
armorFlatPrice: 16
|
||||||
|
|
||||||
- type: damageType
|
- type: damageType
|
||||||
id: Shock
|
id: Shock
|
||||||
|
name: damage-type-shock
|
||||||
armorCoefficientPrice: 2.5
|
armorCoefficientPrice: 2.5
|
||||||
armorFlatPrice: 20
|
armorFlatPrice: 20
|
||||||
|
|
||||||
- type: damageType
|
- type: damageType
|
||||||
id: Slash
|
id: Slash
|
||||||
|
name: damage-type-slash
|
||||||
armorCoefficientPrice: 2
|
armorCoefficientPrice: 2
|
||||||
armorFlatPrice: 10
|
armorFlatPrice: 10
|
||||||
|
|
||||||
@@ -69,5 +81,6 @@
|
|||||||
# Exclusive for structures such as walls, airlocks and others.
|
# Exclusive for structures such as walls, airlocks and others.
|
||||||
- type: damageType
|
- type: damageType
|
||||||
id: Structural
|
id: Structural
|
||||||
|
name: damage-type-structural
|
||||||
armorCoefficientPrice: 1
|
armorCoefficientPrice: 1
|
||||||
armorFlatPrice: 1
|
armorFlatPrice: 1
|
||||||
|
|||||||
Reference in New Issue
Block a user