if (autoEmotePrototype.WithChat)
{
- _chatSystem.TryEmoteWithChat(uid, autoEmotePrototype.EmoteId, autoEmotePrototype.HiddenFromChatWindow ? ChatTransmitRange.HideChat : ChatTransmitRange.Normal);
+ _chatSystem.TryEmoteWithChat(uid,
+ autoEmotePrototype.EmoteId,
+ autoEmotePrototype.HiddenFromChatWindow ? ChatTransmitRange.HideChat : ChatTransmitRange.Normal,
+ ignoreActionBlocker: autoEmotePrototype.IgnoreActionBlocker,
+ forceEmote: autoEmotePrototype.Force);
}
else
{
/// The ID of the emote prototype.
/// </summary>
[DataField("emote", required: true, customTypeSerializer: typeof(PrototypeIdSerializer<EmotePrototype>))]
- public string EmoteId = String.Empty;
+ public string EmoteId = string.Empty;
/// <summary>
/// How often an attempt at the emote will be made.
/// </summary>
- [DataField("interval", required: true)]
+ [DataField(required: true)]
public TimeSpan Interval;
/// <summary>
/// Probability of performing the emote each interval.
- /// <summary>
+ /// </summary>
[DataField("chance")]
public float Chance = 1;
/// <summary>
/// Also send the emote in chat.
- /// <summary>
- [DataField("withChat")]
+ /// </summary>
+ [DataField]
public bool WithChat = true;
/// <summary>
- /// Hide the chat message from the chat window, only showing the popup.
+ /// Should we ignore action blockers?
+ /// This does nothing if WithChat is false.
+ /// </summary>
+ [DataField]
+ public bool IgnoreActionBlocker;
+
+ /// <summary>
+ /// Should we ignore whitelists and force the emote?
/// This does nothing if WithChat is false.
+ /// </summary>
+ [DataField]
+ public bool Force;
+
/// <summary>
- [DataField("hiddenFromChatWindow")]
- public bool HiddenFromChatWindow = false;
+ /// Hide the chat message from the chat window, only showing the popup.
+ /// This does nothing if WithChat is false.
+ /// </summary>
+ [DataField]
+ public bool HiddenFromChatWindow;
}