Make phones functional (#12892)
This commit is contained in:
@@ -12,6 +12,34 @@
|
|||||||
[DataField("bibleUserOnly")]
|
[DataField("bibleUserOnly")]
|
||||||
[ViewVariables(VVAccess.ReadWrite)]
|
[ViewVariables(VVAccess.ReadWrite)]
|
||||||
public bool BibleUserOnly;
|
public bool BibleUserOnly;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Message given to user to notify them a message was sent
|
||||||
|
/// </summary>
|
||||||
|
[DataField("sentMessage")]
|
||||||
|
[ViewVariables(VVAccess.ReadWrite)]
|
||||||
|
public string SentMessage = "prayer-popup-notify-pray-sent";
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Prefix used in the notification to admins
|
||||||
|
/// </summary>
|
||||||
|
[DataField("notifiactionPrefix")]
|
||||||
|
[ViewVariables(VVAccess.ReadWrite)]
|
||||||
|
public string NotifiactionPrefix = "prayer-chat-notify-pray";
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Used in window title and context menu
|
||||||
|
/// </summary>
|
||||||
|
[DataField("verb")]
|
||||||
|
[ViewVariables(VVAccess.ReadOnly)]
|
||||||
|
public string Verb = "prayer-verbs-pray";
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Context menu image
|
||||||
|
/// </summary>
|
||||||
|
[DataField("verbImage")]
|
||||||
|
[ViewVariables(VVAccess.ReadOnly)]
|
||||||
|
public string VerbImage = "/Textures/Interface/pray.svg.png";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
using Content.Server.Administration;
|
using Content.Server.Administration;
|
||||||
using Content.Server.Administration.Logs;
|
using Content.Server.Administration.Logs;
|
||||||
using Content.Server.Bible.Components;
|
using Content.Server.Bible.Components;
|
||||||
using Content.Server.Chat.Managers;
|
using Content.Server.Chat.Managers;
|
||||||
@@ -44,8 +44,8 @@ public sealed class PrayerSystem : EntitySystem
|
|||||||
|
|
||||||
var prayerVerb = new ActivationVerb
|
var prayerVerb = new ActivationVerb
|
||||||
{
|
{
|
||||||
Text = Loc.GetString("prayer-verbs-pray"),
|
Text = Loc.GetString(comp.Verb),
|
||||||
IconTexture = "/Textures/Interface/pray.svg.png",
|
IconTexture = comp.VerbImage == "" ? null : comp.VerbImage,
|
||||||
Act = () =>
|
Act = () =>
|
||||||
{
|
{
|
||||||
if (comp.BibleUserOnly && !EntityManager.TryGetComponent<BibleUserComponent>(args.User, out var bibleUser))
|
if (comp.BibleUserOnly && !EntityManager.TryGetComponent<BibleUserComponent>(args.User, out var bibleUser))
|
||||||
@@ -54,9 +54,9 @@ public sealed class PrayerSystem : EntitySystem
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
_quickDialog.OpenDialog(actor.PlayerSession, "Pray", "Message", (string message) =>
|
_quickDialog.OpenDialog(actor.PlayerSession, Loc.GetString(comp.Verb), "Message", (string message) =>
|
||||||
{
|
{
|
||||||
Pray(actor.PlayerSession, message);
|
Pray(actor.PlayerSession, comp, message);
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
Impact = LogImpact.Low,
|
Impact = LogImpact.Low,
|
||||||
@@ -78,7 +78,7 @@ public sealed class PrayerSystem : EntitySystem
|
|||||||
if (target.AttachedEntity == null)
|
if (target.AttachedEntity == null)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
var message = popupMessage == "" ? "" : popupMessage + $" \"{messageString}\"";
|
var message = popupMessage == "" ? "" : popupMessage + (messageString == "" ? "" : $" \"{messageString}\"");
|
||||||
|
|
||||||
_popupSystem.PopupEntity(popupMessage, target.AttachedEntity.Value, target, PopupType.Large);
|
_popupSystem.PopupEntity(popupMessage, target.AttachedEntity.Value, target, PopupType.Large);
|
||||||
_chatManager.ChatMessageToOne(ChatChannel.Local, messageString, message, EntityUid.Invalid, false, target.ConnectedClient);
|
_chatManager.ChatMessageToOne(ChatChannel.Local, messageString, message, EntityUid.Invalid, false, target.ConnectedClient);
|
||||||
@@ -89,20 +89,21 @@ public sealed class PrayerSystem : EntitySystem
|
|||||||
/// Sends a message to the admin channel with a message and username
|
/// Sends a message to the admin channel with a message and username
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="sender">The IPlayerSession who sent the original message</param>
|
/// <param name="sender">The IPlayerSession who sent the original message</param>
|
||||||
|
/// <param name="comp">Prayable component used to make the prayer</param>
|
||||||
/// <param name="message">Message to be sent to the admin chat</param>
|
/// <param name="message">Message to be sent to the admin chat</param>
|
||||||
/// <remarks>
|
/// <remarks>
|
||||||
/// You may be wondering, "Why the admin chat, specifically? Nobody even reads it!"
|
/// You may be wondering, "Why the admin chat, specifically? Nobody even reads it!"
|
||||||
/// Exactly.
|
/// Exactly.
|
||||||
/// </remarks>
|
/// </remarks>
|
||||||
public void Pray(IPlayerSession sender, string message)
|
public void Pray(IPlayerSession sender, PrayableComponent comp, string message)
|
||||||
{
|
{
|
||||||
if (sender.AttachedEntity == null)
|
if (sender.AttachedEntity == null)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
|
||||||
_popupSystem.PopupEntity(Loc.GetString("prayer-popup-notify-sent"), sender.AttachedEntity.Value, sender, PopupType.Medium);
|
_popupSystem.PopupEntity(Loc.GetString(comp.SentMessage), sender.AttachedEntity.Value, sender, PopupType.Medium);
|
||||||
|
|
||||||
_chatManager.SendAdminAnnouncement(Loc.GetString("prayer-chat-notify", ("name", sender.Name), ("message", message)));
|
_chatManager.SendAdminAnnouncement($"{Loc.GetString(comp.NotifiactionPrefix)} <{sender.Name}>: {message}");
|
||||||
_adminLogger.Add(LogType.AdminMessage, LogImpact.Low, $"{ToPrettyString(sender.AttachedEntity.Value):player} sent prayer: {message}");
|
_adminLogger.Add(LogType.AdminMessage, LogImpact.Low, $"{ToPrettyString(sender.AttachedEntity.Value):player} sent prayer ({Loc.GetString(comp.NotifiactionPrefix)}): {message}");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +1,13 @@
|
|||||||
prayer-verbs-subtle-message = Subtle Message
|
prayer-verbs-subtle-message = Subtle Message
|
||||||
prayer-verbs-pray = Pray
|
prayer-verbs-pray = Pray
|
||||||
prayer-chat-notify = PRAYER: <{$name}>: {$message}
|
prayer-verbs-call = Call
|
||||||
|
prayer-chat-notify-pray = PRAYER
|
||||||
|
prayer-chat-notify-honkmother = HONKMOTHER
|
||||||
|
prayer-chat-notify-centcom = CENTCOM
|
||||||
|
|
||||||
prayer-popup-subtle-default = You hear a voice in your head...
|
prayer-popup-subtle-default = You hear a voice in your head...
|
||||||
prayer-popup-notify-sent = Your message has been sent to the gods...
|
|
||||||
prayer-popup-notify-locked = You don't feel worthy enough...
|
prayer-popup-notify-honkmother-sent = You left a voicemail message for the Honkmother...
|
||||||
|
prayer-popup-notify-centcom-sent = You left a voicemail message for Central Command...
|
||||||
|
prayer-popup-notify-pray-sent = Your message has been sent to the gods...
|
||||||
|
prayer-popup-notify-pray-locked = You don't feel worthy enough...
|
||||||
|
|||||||
@@ -56,6 +56,11 @@
|
|||||||
program: 124
|
program: 124
|
||||||
- type: Item
|
- type: Item
|
||||||
size: 10
|
size: 10
|
||||||
|
- type: Prayable
|
||||||
|
sentMessage: prayer-popup-notify-centcom-sent
|
||||||
|
notifiactionPrefix: prayer-chat-notify-centcom
|
||||||
|
verb: prayer-verbs-call
|
||||||
|
verbImage: ""
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
parent: BaseHandheldInstrument
|
parent: BaseHandheldInstrument
|
||||||
@@ -158,4 +163,9 @@
|
|||||||
bounds: "-0.4,-0.3,0.4,0.3"
|
bounds: "-0.4,-0.3,0.4,0.3"
|
||||||
density: 5
|
density: 5
|
||||||
mask:
|
mask:
|
||||||
- ItemMask
|
- ItemMask
|
||||||
|
- type: Prayable
|
||||||
|
sentMessage: prayer-popup-notify-honkmother-sent
|
||||||
|
notifiactionPrefix: prayer-chat-notify-honkmother
|
||||||
|
verb: prayer-verbs-call
|
||||||
|
verbImage: ""
|
||||||
|
|||||||
Reference in New Issue
Block a user