Move replacement chance from ReplacementAccentComponent to ReplacementAccentPrototype (#28049)
Move replacement chance to ReplacementAccentPrototype
This commit is contained in:
@@ -22,6 +22,12 @@ namespace Content.Server.Speech.Components
|
||||
/// </summary>
|
||||
[DataField("wordReplacements")]
|
||||
public Dictionary<string, string>? WordReplacements;
|
||||
|
||||
/// <summary>
|
||||
/// Allows you to substitute words, not always, but with some chance
|
||||
/// </summary>
|
||||
[DataField]
|
||||
public float ReplacementChance = 1f;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -33,10 +39,5 @@ namespace Content.Server.Speech.Components
|
||||
[DataField("accent", customTypeSerializer: typeof(PrototypeIdSerializer<ReplacementAccentPrototype>), required: true)]
|
||||
public string Accent = default!;
|
||||
|
||||
/// <summary>
|
||||
/// Allows you to substitute words, not always, but with some chance
|
||||
/// </summary>
|
||||
[DataField]
|
||||
public float ReplacementChance = 1f;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -24,9 +24,6 @@ namespace Content.Server.Speech.EntitySystems
|
||||
|
||||
private void OnAccent(EntityUid uid, ReplacementAccentComponent component, AccentGetEvent args)
|
||||
{
|
||||
if (!_random.Prob(component.ReplacementChance))
|
||||
return;
|
||||
|
||||
args.Message = ApplyReplacements(args.Message, component.Accent);
|
||||
}
|
||||
|
||||
@@ -39,6 +36,9 @@ namespace Content.Server.Speech.EntitySystems
|
||||
if (!_proto.TryIndex<ReplacementAccentPrototype>(accent, out var prototype))
|
||||
return message;
|
||||
|
||||
if (!_random.Prob(prototype.ReplacementChance))
|
||||
return message;
|
||||
|
||||
// Prioritize fully replacing if that exists--
|
||||
// ideally both aren't used at the same time (but we don't have a way to enforce that in serialization yet)
|
||||
if (prototype.FullReplacements != null)
|
||||
|
||||
@@ -428,6 +428,7 @@
|
||||
|
||||
- type: accent
|
||||
id: liar
|
||||
replacementChance: 0.15
|
||||
wordReplacements:
|
||||
liar-word-1: liar-word-replacement-1
|
||||
liar-word-2: liar-word-replacement-2
|
||||
@@ -471,4 +472,4 @@
|
||||
liar-word-39: liar-word-replacement-39
|
||||
liar-word-40: liar-word-replacement-40
|
||||
liar-word-41: liar-word-replacement-41
|
||||
liar-word-42: liar-word-replacement-42
|
||||
liar-word-42: liar-word-replacement-42
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
- type: trait
|
||||
- type: trait
|
||||
id: PirateAccent
|
||||
name: trait-pirate-accent-name
|
||||
description: trait-pirate-accent-desc
|
||||
@@ -30,5 +30,4 @@
|
||||
description: trait-liar-desc
|
||||
components:
|
||||
- type: ReplacementAccent
|
||||
replacementChance: 0.15
|
||||
accent: liar
|
||||
|
||||
Reference in New Issue
Block a user