diff --git a/assets/bubble_above_three_players.webp b/assets/bubble_above_three_players.webp new file mode 100644 index 0000000..e85f5a2 Binary files /dev/null and b/assets/bubble_above_three_players.webp differ diff --git a/assets/bubble_above_two_players.webp b/assets/bubble_above_two_players.webp new file mode 100644 index 0000000..e1c498c Binary files /dev/null and b/assets/bubble_above_two_players.webp differ diff --git a/lang/en.json b/lang/en.json index 311ef90..9418595 100644 --- a/lang/en.json +++ b/lang/en.json @@ -3,6 +3,8 @@ "UI": { "ToolbarCategory": "Message controls", "ToolbarSendMessage": "Send message", + "ToolbarSendMessageToConnected": "Send message to all connected players", + "ToolbarSendMessageToAll": "Send message to all players", "HistoryJournalTitle": "Messages for {name}" }, "Dialogs": { diff --git a/lang/fr.json b/lang/fr.json index ade8c2e..0680f44 100644 --- a/lang/fr.json +++ b/lang/fr.json @@ -3,6 +3,8 @@ "UI": { "ToolbarCategory": "Contrôles messages", "ToolbarSendMessage": "Envoyer des messages", + "ToolbarSendMessageToConnected": "Envoyer un message à tous les joueurs connectés", + "ToolbarSendMessageToAll": "Envoyer des messages à tous les joueurs", "HistoryJournalTitle": "Messages pour {name}" }, "Dialogs": { diff --git a/scripts/mills_messages.mjs b/scripts/mills_messages.mjs index 578841a..15ddffd 100644 --- a/scripts/mills_messages.mjs +++ b/scripts/mills_messages.mjs @@ -332,6 +332,28 @@ function main() { title: "MM.UI.ToolbarCategory", icon: "mm-chat-bubble", tools: [{ + name: "send-message-to-all", + title: "MM.UI.ToolbarSendMessageToAll", + button: true, + visible: true, + icon: "mm-bubble-above-three-players", + onClick: () => send_message_dialog({ + recipients: game.users.players.map((user) => user.id) + }) + }, + { + name: "send-message-to-connected", + title: "MM.UI.ToolbarSendMessageToConnected", + button: true, + visible: true, + icon: "mm-bubble-above-two-players", + onClick: () => send_message_dialog({ + recipients: game.users.players + .filter((user) => user.active) + .map((user) => user.id) + }) + }, + { name: "send-message", title: "MM.UI.ToolbarSendMessage", button: true, diff --git a/styles/mills_messages.css b/styles/mills_messages.css index f205cb0..79443fe 100644 --- a/styles/mills_messages.css +++ b/styles/mills_messages.css @@ -9,6 +9,26 @@ background-image: url("/modules/the-mills-messages/assets/chat_bubble.webp"); } +.mm-bubble-above-two-players { + display: inline-block; + width: 32px; + height: 32px; + background-size: cover; + cursor: pointer; + image-rendering: pixelated; + background-image: url("/modules/the-mills-messages/assets/bubble_above_two_players.webp"); +} + +.mm-bubble-above-three-players { + display: inline-block; + width: 32px; + height: 32px; + background-size: cover; + cursor: pointer; + image-rendering: pixelated; + background-image: url("/modules/the-mills-messages/assets/bubble_above_three_players.webp"); +} + /* * Override Foundry's `.application .scrollable`, whose right margin does not work * with ProseMirror's editor internal divs which need a 0 right margin.