diff --git a/system/L5R-Header.jpg b/system/L5R-Header.jpg new file mode 100644 index 0000000..e68f645 Binary files /dev/null and b/system/L5R-Header.jpg differ diff --git a/system/l5r-ui/css/cursor.css b/system/l5r-ui/css/cursor.css new file mode 100644 index 0000000..ae9edd6 --- /dev/null +++ b/system/l5r-ui/css/cursor.css @@ -0,0 +1,106 @@ +.chat-card-button { + cursor:url(../ui/cursors/pointer.png), pointer; +} + +body { + cursor:url(../ui/cursors/normal.png), default; +} + +a{ + cursor:url(../ui/cursors/pointer.png), pointer; +} + +.draggable{ + cursor:url(../ui/cursors/drag.png), move; +} + +#hotbar .macro{ + cursor:url(../ui/cursors/pointer.png), pointer; +} + +#playlists-popout .global-volume::-webkit-slider-thumb, + #sidebar #playlists .global-volume::-webkit-slider-thumb { + cursor:url(../ui/cursors/pointer.png), pointer; +} +#playlists-popout li.playlist:not(:first-of-type) li.sound .sound-volume::-webkit-slider-thumb, + #sidebar #playlists li.playlist:not(:first-of-type) li.sound .sound-volume::-webkit-slider-thumb { + cursor:url(../ui/cursors/pointer.png), pointer; + } + +#sidebar #settings button { + cursor:url(../ui/cursors/pointer.png), pointer; +} + +.app.window-app.sheet.wfrp4e.actor.character-sheet .tab.main.active .main-row .movement.row-section .move-value .auto-calc-toggle { + cursor:url(../ui/cursors/pointer.png), pointer; +} + +.app.window-app.sheet.wfrp4e.actor.npc-sheet .main-row .movement.row-section .move-value .auto-calc-toggle { + cursor:url(../ui/cursors/pointer.png), pointer; +} + +.app.window-app.sheet.wfrp4e.actor.creature-sheet .main-row .movement.row-section .move-value .auto-calc-toggle { + cursor:url(../ui/cursors/pointer.png), pointer; +} + +#navigation #scene-list .scene.view, #navigation #scene-list .scene.context { + cursor:url(../ui/cursors/normal.png), default; +} + +#navigation #nav-toggle { + cursor:url(../ui/cursors/normal.png), default; +} + +#navigation #scene-list .scene.nav-item { + cursor:url(../ui/cursors/normal.png), default; +} + +#controls .scene-control.active, #controls .control-tool.active, #controls .scene-control:hover, #controls .control-tool:hover { + cursor:url(../ui/cursors/normal.png), default; +} + +#controls .scene-control, #controls .control-tool { + cursor:url(../ui/cursors/pointer.png), pointer !important; + cursor:url(../ui/cursors/normal.png), default !important; +} + +.app.window-app .form-group input[type="range"]::-webkit-slider-thumb { + cursor:url(../ui/cursors/pointer.png), pointer; +} + +.token-sheet .tab[data-tab="image"] input[type="range"]::-webkit-slider-thumb { + cursor:url(../ui/cursors/pointer.png), pointer; +} + +#drawing-config .tab[data-tab="image"] input[type="range"]::-webkit-slider-thumb { + cursor:url(../ui/cursors/pointer.png), pointer; +} + +.metacurrency-value { + cursor:url(../ui/cursors/pointer.png), pointer; +} + +.overcast-button, +.chargen-button { + cursor:url(../ui/cursors/pointer.png), pointer; +} + +#effects-config .flex2::-webkit-slider-thumb { + cursor:url(../ui/cursors/pointer.png), pointer; +} + +#client-settings .window-content form .form-group > label, +#client-settings .window-content form .form-group select, +#client-settings .form-group input, +.app.window-app .form-group label, +#sidebar .sidebar-tab #chat-controls div.roll-type-select select, +#sidebar .sidebar-tab #chat-controls div.roll-type-select i.fas { + cursor:url(../ui/cursors/normal.png), default; +} + +#client-settings section.content .submenu > button, +#client-settings .window-content button label, +form .form-group .form-fields button, +form button { + cursor:url(../ui/cursors/pointer.png), pointer; +} diff --git a/system/l5r-ui/css/l5rui.css b/system/l5r-ui/css/l5rui.css new file mode 100644 index 0000000..0655d78 --- /dev/null +++ b/system/l5r-ui/css/l5rui.css @@ -0,0 +1,631 @@ +/*************************************************************/ +/*======================= SIDEBAR ===========================*/ +/*************************************************************/ + +#sidebar { + + display: flex; + flex-direction: column; + flex-wrap: nowrap; + position: fixed; + right: 5px; + top: 5px; + width: 360px !important; + height: 99vh; + overflow: hidden; + margin: 0; + border: 30px solid transparent; + border-image-source: url(../ui/frames/Chat-box.png); + border-image-slice: 30 fill; + background-position: center !important; + background-size: 300px 100%!important; + background-repeat: no-repeat; +} + +.collapse::before{ + content: ""; +} + +#sidebar.collapsed { + width: 75px !important; + height: 410px !important; + padding-left: 5px; + border: 15px solid transparent; + border-image-source: url(../ui/frames/Chat-box.png); + border-image-slice: 35 fill; + background-position: center !important; + background-size: 100% 100%!important; + background-repeat: no-repeat; +} + +#sidebar-tabs{ + text-align: center; +} + +#sidebar #sidebar-tabs > .item { + line-height: 0px; +} + +#sidebar #sidebar-tabs i.fa-comments { + content: ""; + background-image: url("../ui/sidebar/sidebar_button-chat.png") !important; + width: 100% !important; + height: 100% !important; + display: inline-block !important; + background-position:center !important; + background-size:cover !important; +} + +#sidebar-tabs { + height: 64px; +} +#sidebar-tabs > .item { + line-height: 0px; + height: 32px; +} +#sidebar-tabs > .item.active { + color: #FFF; + border: 1px solid red; + + box-shadow: 0 0 6px inset #ff6400; +} +#sidebar #sidebar-tabs i.fa-comments::before { + content: ""; +} + +#sidebar #sidebar-tabs i.fa-fist-raised { + content: ""; + background-image: url("../ui/sidebar/sidebar_button-combat-tracker.png") !important; + width: 100% !important; + height: 100% !important; + display: inline-block !important; + background-position:center !important; + background-size:cover !important; +} + +#sidebar #sidebar-tabs i.fa-fist-raised::before { + content: ""; +} + +#sidebar #sidebar-tabs i.fa-map { + content: ""; + background-image: url("../ui/sidebar/sidebar_button-scenes.png") !important; + width: 100% !important; + height: 100% !important; + display: inline-block !important; + background-position:center !important; + background-size:cover !important; +} + +#sidebar #sidebar-tabs i.fa-map::before { + content: ""; +} + +#sidebar #sidebar-tabs i.fa-users { + content: ""; + background-image: url("../ui/sidebar/sidebar_button-actors.png") !important; + width: 100% !important; + height: 100% !important; + display: inline-block !important; + background-position:center !important; + background-size:cover !important; +} + +#sidebar #sidebar-tabs i.fa-users::before { + content: ""; +} + +#sidebar #sidebar-tabs i.fa-suitcase { + content: ""; + background-image: url("../ui/sidebar/sidebar_button-object.png") !important; + width: 100% !important; + height: 100% !important; + display: inline-block !important; + background-position:center !important; + background-size:cover !important; +} + +#sidebar #sidebar-tabs i.fa-suitcase::before { + content: ""; +} + +#sidebar #sidebar-tabs i.fa-book-open { + content: ""; + background-image: url("../ui/sidebar/sidebar_button-journal.png") !important; + width: 100% !important; + height: 100% !important; + display: inline-block !important; + background-position:center !important; + background-size:cover !important; +} + +#sidebar #sidebar-tabs i.fa-book-open::before { + content: ""; +} + +#sidebar #sidebar-tabs i.fa-th-list { + content: ""; + background-image: url("../ui/sidebar/sidebar_button-rolltable.png") !important; + width: 100% !important; + height: 100% !important; + display: inline-block !important; + background-position:center !important; + background-size:cover !important; +} + +#sidebar #sidebar-tabs i.fa-th-list::before { + content: ""; +} + +#sidebar #sidebar-tabs i.fa-music { + content: ""; + background-image: url("../ui/sidebar/sidebar_button-playlist.png") !important; + width: 100% !important; + height: 100% !important; + display: inline-block !important; + background-position:center !important; + background-size:cover !important; +} + +#sidebar #sidebar-tabs i.fa-music::before { + content: ""; +} + +#sidebar #sidebar-tabs i.fa-atlas { + content: ""; + background-image: url("../ui/sidebar/sidebar_button-compendium.png") !important; + width: 100% !important; + height: 100% !important; + display: inline-block !important; + background-position:center !important; + background-size:cover !important; +} + +#sidebar #sidebar-tabs i.fa-atlas::before { + content: ""; +} + +#sidebar #sidebar-tabs i.fa-cogs { + content: ""; + background-image: url("../ui/sidebar/sidebar_button-settings.png") !important; + width: 100% !important; + height: 100% !important; + display: inline-block !important; + background-position:center !important; + background-size:cover !important; +} + +#sidebar #sidebar-tabs i.fa-cogs::before { + content: ""; +} + +/*************************************************************/ +/*======================= CHAT TAB ==========================*/ +/*************************************************************/ +.message-sender { + color: darkred; + font-weight: bold; + border-bottom-color: darkred; + text-decoration: underline; +} +#chat-message{ + background-image: url(../ui/frames/chat-texture.png) !important; +} + +.polyglot-lang-select{ + color: darkgoldenrod !important; +} +.polyglot-lang-select select { + font-family: CaslonPro; + font-weight: 500; + font-size: 14px; + text-align: left; + position: relative; + height: 24px; + top: 10px; + padding-top: 0px; + background: url(../ui/frames/chat-texture.png) repeat !important; + background-position-x: 0%; + background-position-y: 0%; + background-position: initial; + box-shadow: inset 0 0 10px #000000; + border-image: url(../ui/frames/chat-controls-border.png) 4 repeat; + border-image-width: 4px; + color: #520000; + margin-top: -10px; +} +.roll-type-select{ + font-family: CaslonPro; + font-weight: 500; + font-size: 14px; + text-align: left; + position: relative; + height: 24px; + top: 1px; + padding-top: 0px; + background: url(../ui/frames/chat-texture.png) repeat !important; + background-position-x: 0%; + background-position-y: 0%; + background-position: initial; + box-shadow: inset 0 0 10px #000000; + border-image: url(../ui/frames/chat-controls-border.png) 4 repeat; + border-image-width: 4px; + color: #520000; +} + +#sidebar .sidebar-tab #chat-controls div.roll-type-select select { + font-family: CaslonPro; + font-weight: 500; + font-size: 14px; + text-align: left; + position: relative; + height: 24px; + top: 7px; + padding-top: 3px; + background: url(../ui/frames/chat-texture.png) repeat; + background-position-x: 0%; + background-position-y: 0%; + background-position: initial; + box-shadow: inset 0 0 10px #000000; + border-image: url(../ui/frames/chat-controls-border.png) 4 repeat; + border-image-width: 4px; + border-image-outset: 3px 2px 2px 2px; + color: #520000; +} + +/*************************************************************/ +/*====================== COMBAT TAB =========================*/ +/*************************************************************/ +#combat-controls .combat-control{ + background-image: url(../ui/buttons/button-red.png); + text-align: center; + background-position: center !important; + background-size: 260px 100%!important; + background-repeat: no-repeat; +} + +/*************************************************************/ +/*================= SIDEBAR FOLDER & WIDGETS ================*/ +/*************************************************************/ +.sidebar-tab .directory-header .header-search { + align-items: baseline; +} + +.sidebar-tab .directory-header .header-search input { + font-family: CaslonPro; + font-weight: 500; + font-size: 14px; + text-align: left; + position: relative; + height: 24px; + top: 7px; + padding-top: 3px; + background: url(../ui/frames/chat-texture.png) repeat; + background-position-x: 0%; + background-position-y: 0%; + background-position: initial; + box-shadow: inset 0 0 10px #000000; + border-image: url(../ui/frames/chat-controls-border.png) 4 repeat; + border-image-width: 4px; + border-image-outset: 3px 2px 2px 2px; + color: #520000; +} + +.sidebar-tab .directory-header button { + background-image: url(../ui/buttons/button-green.png); + text-align: center; + background-position: center !important; + background-size: 100% 100% !important; + background-repeat: no-repeat; + min-height: 32px; + border: 0px solid #b5b3a4; + color : white; + text-shadow: 2px 2px black ; +} + +.sidebar-tab .directory-footer button{ + background-image: url(../ui/buttons/button-green.png); + text-align: center; + background-position: center !important; + background-size: 100% 100% !important; + background-repeat: no-repeat; + min-height: 32px; + border: 0px solid #b5b3a4; + color : white; + text-shadow: 2px 2px black ; +} + +/*************************************************************/ +/*=============== SIDEBAR FOLDERs AS BUTTONS ================*/ +/*************************************************************/ +.sidebar-tab .folder .folder-header { + background-image: url(../ui/buttons/button-grey-light.png) !important; + text-align: left !important; + background-position: center !important; + background-size: 100% 55px!important; + background-repeat: no-repeat !important; + padding-top: 15px; + padding-bottom: 10px; + color: white; + padding-left: 25px; +} + +.sidebar-tab .directory-list .directory.item h3 { + text-align: left !important; + padding-left: 25px; +} + +#sidebar section.sidebar-directory ol.directory-list li.directory-item.folder header { + align-items: baseline; + text-align: left !important; + padding-left: 25px; +} +.subdirectory .folder { + border-left: 2px solid #585858 !important; +} + +/*************************************************************/ +/*================== COMPENDIUM HEADERS =====================*/ +/*************************************************************/ +#compendium h3 { + text-align: left; + position: relative; + height: 55px; + top: 7px; + padding-top: 20px; + padding-left: 30px; + background: url(../ui/buttons/button-red.png) no-repeat; + background-position-x: 0%; + background-size: 100% 55px; + background-position-y: 0%; + background-position: initial; + box-shadow: inset 0 0 10px #000000; + border-image: url(../ui/frames/chat-controls-border.png) 4 repeat; + border-image-width: 4px; + border-image-outset: 3px 2px 2px 2px; + color: #eeede0; + text-shadow: 2px 2px 4px #000000; +} +#compendium ol.compendium-list { + padding-left: 25px;; +} +/* #endregion */ + +#settings button { + background-image: url(../ui/buttons/button-blue.png); + background-size: cover; + background-repeat: no-repeat; + border: 1px solid black; + color: white; + font-size: 14px; + height: 100%; + width: 100%; + } + +/* #region Remove speaker name background colors in Chat window */ +#chat-log .message .message-header .message-sender { + background-color: rgba(0,0,0,0) !important; +} +/* #endregion */ + +/* #region Fix so as not to bigfoot on VTTA's tag system */ +#sidebar section > ol.directory-list > li header > span.vtta-folder-label { + text-shadow: 0px 0px 0px black !important; +} +/* #endregion */ + +/* #region Chat log */ +/* differentiate public roll from private or blind. + Private uses class whisper, blind uses class blind AND whisper, Self Roll + uses class whisper (identical to Private Roll for CSS) */ +#chat-log .message.whisper { + font-style: italic; +} + +#chat-log .message.whisper .message-header .message-metadata::before{ + color: #585858; + content: " (Private Roll) "; + float: left; +} + + +#chat-log .message.blind .message-header .message-metadata::before{ + color: #585858; + content: " (Blind Roll) " !important; + float: left; +} + +/*************************************************************/ +/*================== NAVIGATION BAR =========================*/ +/*************************************************************/ +#navigation #scene-list .scene.view, #navigation #scene-list .scene.context { + cursor: default; + color: #FFF; + background: url(../ui/sidebar/sidebar_button-background_red.png) repeat; + background-origin: padding-box; + border-image: url(../ui/sidebar/sidebar_button-footer-button.png) 10 repeat; + border-image-width: 4px; + border-image-outset: 0px; + box-shadow: 0 0 20px red; + } + + #navigation #nav-toggle { + cursor: default; + color: #FFF; + background: url(../ui/sidebar/sidebar_button-background_cyan.png) repeat; + background-origin: padding-box; + border-image: url(../ui/sidebar/sidebar_button-footer-button.png) 10 repeat; + border-image-width: 4px; + border-image-outset: 0px; + font-family: CaslonPro; + font-weight: 500; + font-size: 14px; + padding-top: 3px; + height: 36px; + } + + #navigation #scene-list .scene.nav-item { + cursor: default; + color: #FFF; + background: url(../ui/sidebar/sidebar_button-background_cyan.png) repeat; + background-origin: padding-box; + border-image: url(../ui/sidebar/sidebar_button-footer-button.png) 10 repeat; + border-image-width: 4px; + border-image-outset: 0px; + font-family: CaslonPro; + font-weight: 500; + font-size: 14px; + padding-top: 2px; + } + #navigation #scene-list .scene.nav-item.active { + background: url(../ui/sidebar/sidebar_button-background_red.png) repeat; + } + #navigation #scene-list .scene li.scene-player { + float: left; + height: 15px; + width: 15px; + margin: 0 2px 0 0; + line-height: 12px; + padding-top: 1px; + text-align: center; + color: #000000e8; + font-weight: 600; + background: #97dff4; + border: 1px solid #000; + border-radius: 8px; + font-family: "Signika", "Palatino Linotype", serif; + font-size: 13px; + box-shadow: inset 0 0 3px #000000; + } + + /*************************************************************/ + /*=================== SCENE CONTROLS ========================*/ + /*************************************************************/ + #controls .scene-control.active, #controls .control-tool.active, #controls .scene-control:hover, #controls .control-tool:hover { + cursor: default; + color: #FFF; + background: url(../ui/sidebar/sidebar_button-background_red.png) repeat !important; + background-origin: padding-box !important; + border-image: url(../ui/sidebar/sidebar_button-footer-button.png) 10 repeat !important; + border-image-width: 4px !important; + border-image-outset: 0px !important; + box-shadow: 0 0 10px red !important; + } + + #controls .scene-control, #controls .control-tool { + width: 36px !important; + height: 36px !important; + box-sizing: content-box !important; + font-size: 19px !important; + line-height: 36px !important; + background: rgba(0, 0, 0, 0.5) !important; + box-shadow: 0 0 3px #000 !important; + margin: 0 0 8px !important; + color: #BBB !important; + text-align: center !important; + border: 1px solid #000 !important; + border-radius: 5px !important; + cursor: pointer !important; + cursor: default !important; + color: #FFF !important; + background: url(../ui/sidebar/sidebar_button-background_cyan.png) repeat !important; + background-origin: padding-box !important; + border-image: url(../ui/sidebar/sidebar_button-footer-button.png) 10 repeat !important; + border-image-width: 4px !important; + border-image-outset: 0px !important; + } + +/*************************************************************/ +/*=================== PLAYERS LIST ==========================*/ +/*************************************************************/ +#players { + position: fixed; + bottom: 25px; + left: 13px; + width: 200px; + border: 1px solid blue; + border-image: url(../ui/frames/players-border.png) 21 repeat; + border-image-slice: 23 19 23 19; + border-image-width: 23px 19px 23px 19px; + border-image-outset: 22px 17px 16px 14px; + border-radius: 0px; + box-shadow: inset 0 0 10px #000000; + background: #000000e8; + font-family: CaslonPro; + font-weight: 500; + font-size: 14px; + } + #players h3 .fas.fa-users { + margin-right: 10px; + display: none; + } + #players ol .player-name { + overflow: hidden; + white-space: nowrap; + word-break: break-all; + padding-top: 3px; + } + +/******************************************************************/ +/*========================= HOTBAR ===============================*/ +/******************************************************************/ + + /* ==================== (A) WINDOW FRAMEWORK ================== */ + #hotbar { + font-family: CaslonPro; + font-weight: 500; + font-size: 14px; + width: 600px; + height: 60px; + } + + #hotbar #action-bar { + flex: 1; + height: 100%; + justify-content: space-evenly; + } + #hotbar #action-bar #macro-list { + flex: 0 0 510px; + height: 100%; + list-style: none; + margin: 0 0px; + padding: 5px 0px 4px 0px; + border: none; + border-radius: 4px; + justify-content: center; + background: url(../ui/frames/hotkeybox-macro-list.png); + box-shadow: 2px 2px 5px #000000; + } + #hotbar #action-bar .macro { + border-image: url(../ui/frames/hotkeybox.png) 21 repeat; + border-image-slice: 6 6 6 6 fill; + border-image-width: 6px 6px 6px 6px; + border-image-outset: 0px 0px 0px 0px; + border-radius: 0px; + } + #hotbar .macro .macro-key { + position: absolute; + top: 2px; + right: 2px; + padding: 3px 3px; + text-shadow: 1px 1px 1px black; + color: #f0f0e0; + font-weight: normal; + background: #000000e0; + max-height: 19px; + border-radius: 6px; + box-shadow: 0px 0px 5px black; + } + #hotbar .bar-controls { + background: #000000de; + box-shadow: 0 0 4px black; + border-radius: 16px; + border: 2px solid #540e0ec2; + } + #hotbar .bar-controls span.page-number { + display: block; + font-size: 20px; + line-height: 8px; + position: relative; + top: 4px; + } \ No newline at end of file diff --git a/system/l5r-ui/scripts/help/l5rui-help.js b/system/l5r-ui/scripts/help/l5rui-help.js new file mode 100644 index 0000000..775f6a6 --- /dev/null +++ b/system/l5r-ui/scripts/help/l5rui-help.js @@ -0,0 +1,49 @@ +//fonctions et class déportées +import { openES } from './openES.js'; +import { openDTR } from './openDTR.js'; +import { openFR } from './openFR.js'; +import { openEN } from './openEN.js'; + +Hooks.once("ready", async function() { + //----------le menu liens externes + let liensExt = new Dialog({ + title: "Besoin d'aide ?", + content: "
Que voulez vous faire :
", + buttons: { + + one: { + icon: '', + label: "Accéder au site de Edge-Studio", + callback: () => openES() + }, + two: { + icon: '', + label: "Acheter un PDF du jeu ?", + callback: () => openDTR() + }, + three: { + icon: '', + label: "Rejoindre le Discord Francophone", + callback: () => openFR() + }, + four: { + icon: '', + label: "Discord Officiel FoundryVTT", + callback: () => openEN() + } + + } + }); + + //------------message et logo dans console + + //----logo image + var logo = document.getElementById("logo"); + logo.setAttribute("src", "systems/l5r5e/l5r-ui/ui/logo/l5r-logo.png"); + + //--------------ouvrir le menu lien sur click logo + logo.setAttribute("title", "Aide en Ligne"); + logo.addEventListener("click", function() { + liensExt.render(true); + }); +}); \ No newline at end of file diff --git a/system/l5r-ui/scripts/help/openDTR.js b/system/l5r-ui/scripts/help/openDTR.js new file mode 100644 index 0000000..2f0cbd4 --- /dev/null +++ b/system/l5r-ui/scripts/help/openDTR.js @@ -0,0 +1,4 @@ +export function openDTR() { + ui.notifications.info("votre navigateur va ouvrir le site DriveThruRpg de EDGE STUDIO"); + var windowObjectReference = window.open("https://www.drivethrurpg.com/browse/pub/17946/EDGE-Studio?src=browse17946/", "_blank"); +}; \ No newline at end of file diff --git a/system/l5r-ui/scripts/help/openEN.js b/system/l5r-ui/scripts/help/openEN.js new file mode 100644 index 0000000..3bdeb7f --- /dev/null +++ b/system/l5r-ui/scripts/help/openEN.js @@ -0,0 +1,4 @@ +export function openEN() { + ui.notifications.info("Votre navigateur va s'ouvrir sur le discord officiel de Foundry"); + var windowObjectReference = window.open("https://discordapp.com/invite/DDBZUDf", "_blank"); +}; \ No newline at end of file diff --git a/system/l5r-ui/scripts/help/openES.js b/system/l5r-ui/scripts/help/openES.js new file mode 100644 index 0000000..a86e794 --- /dev/null +++ b/system/l5r-ui/scripts/help/openES.js @@ -0,0 +1,4 @@ +export function openES() { + ui.notifications.info("votre navigateur va ouvrir le site de EDGE STUDIO"); + var windowObjectReference = window.open("https://edge-studio.net/", "_blank"); +}; \ No newline at end of file diff --git a/system/l5r-ui/scripts/help/openFR.js b/system/l5r-ui/scripts/help/openFR.js new file mode 100644 index 0000000..d60a07a --- /dev/null +++ b/system/l5r-ui/scripts/help/openFR.js @@ -0,0 +1,5 @@ +export function openFR() { + ui.notifications.info("votre navigateur va ouvrir le discord francophone de foundry"); + var windowObjectReference = window.open("https://discord.gg/pPSDNJk", "_blank"); + +}; \ No newline at end of file diff --git a/system/l5r-ui/scripts/l5rui-chat-color.js b/system/l5r-ui/scripts/l5rui-chat-color.js new file mode 100644 index 0000000..4886d04 --- /dev/null +++ b/system/l5r-ui/scripts/l5rui-chat-color.js @@ -0,0 +1,124 @@ +Hooks.on('init', () => { + // Register module settings. + game.settings.register('l5r-ui', 'icBgColor', { + name: game.i18n.localize('IC.BG.COLOR'), + hint: game.i18n.localize('HEXA.COLOR'), + default: "#D3E5F5", + type: String, + scope: 'client', + config: true + }); + game.settings.register('l5r-ui', 'icTextColor', { + name: game.i18n.localize('IC.TEXT.COLOR'), + hint: game.i18n.localize('HEXA.COLOR'), + default: "#000000", + type: String, + scope: 'client', + config: true + }); + game.settings.register('l5r-ui', 'emoteBgColor', { + name: game.i18n.localize('EMOTE.BG.COLOR'), + hint: game.i18n.localize('HEXA.COLOR'), + default: "#D1F5D1", + type: String, + scope: 'client', + config: true + }); + game.settings.register('l5r-ui', 'emoteTextColor', { + name: game.i18n.localize('EMOTE.TEXT.COLOR'), + hint: game.i18n.localize('HEXA.COLOR'), + default: "#000000", + type: String, + scope: 'client', + config: true + }); + game.settings.register('l5r-ui', 'rollBgColor', { + name: game.i18n.localize('ROLL.BG.COLOR'), + hint: game.i18n.localize('HEXA.COLOR'), + default: "#E6BB81", + type: String, + scope: 'client', + config: true + }); + game.settings.register('l5r-ui', 'rollTextColor', { + name: game.i18n.localize('ROLL.TEXT.COLOR'), + hint: game.i18n.localize('HEXA.COLOR'), + default: "#000000", + type: String, + scope: 'client', + config: true + }); + game.settings.register('l5r-ui', 'otherBgColor', { + name: game.i18n.localize('OTHER.BG.COLOR'), + hint: game.i18n.localize('HEXA.COLOR'), + default: "#DBD9CD", + type: String, + scope: 'client', + config: true + }); + game.settings.register('l5r-ui', 'otherTextColor', { + name: game.i18n.localize('OTHER.TEXT.COLOR'), + hint: game.i18n.localize('HEXA.COLOR'), + default: "#000000", + type: String, + scope: 'client', + config: true + }); + game.settings.register('l5r-ui', 'defaultChatPrefix', { + name: game.i18n.localize('DEF.CHAT.PREF'), + hint: game.i18n.localize('SPE.CHAT.PREF'), + default: "", + type: String, + scope: 'client', + config: true + }); +}); + +Hooks.on("renderChatLog", (log, html) => { + // Prepend inline CSS to the chatlog to style the chat messages. + icBgColor = game.settings.get('l5r-ui', 'icBgColor'); + icTextColor = game.settings.get('l5r-ui', 'icTextColor'); + emoteBgColor = game.settings.get('l5r-ui', 'emoteBgColor'); + emoteTextColor = game.settings.get('l5r-ui', 'emoteTextColor'); + rollBgColor = game.settings.get('l5r-ui', 'rollBgColor'); + rollTextColor = game.settings.get('l5r-ui', 'rollTextColor'); + otherBgColor = game.settings.get('l5r-ui', 'otherBgColor'); + otherTextColor = game.settings.get('l5r-ui', 'otherTextColor'); + $("").prependTo(html); +}); + +Hooks.on("chatMessage", (chatLog, message, chatData) => { + if (game.settings.get('l5r-ui', 'defaultChatPrefix')) { + prefix = game.settings.get('l5r-ui', 'defaultChatPrefix'); + + // Check if the message begins with any command. + let [command, match] = chatLog.constructor.parse(message); + + if ( command === "none" ) { + // If there is no command, insert the prefix and reprocess. + chatLog.processMessage(prefix + " " + message); + return false; + } + + // Otherwise do nothing. + return true; + } +}); + +Hooks.on("renderChatMessage", (message, html, data) => { + // Add extra CSS classes to rolls so we can style them. + if (message.isRoll) { + html.addClass("chatColorsRoll"); + } +}); diff --git a/system/l5r-ui/ui/buttons/button-blue.png b/system/l5r-ui/ui/buttons/button-blue.png new file mode 100644 index 0000000..da2c274 Binary files /dev/null and b/system/l5r-ui/ui/buttons/button-blue.png differ diff --git a/system/l5r-ui/ui/buttons/button-green.png b/system/l5r-ui/ui/buttons/button-green.png new file mode 100644 index 0000000..e297a0d Binary files /dev/null and b/system/l5r-ui/ui/buttons/button-green.png differ diff --git a/system/l5r-ui/ui/buttons/button-grey-light.png b/system/l5r-ui/ui/buttons/button-grey-light.png new file mode 100644 index 0000000..5c20bfb Binary files /dev/null and b/system/l5r-ui/ui/buttons/button-grey-light.png differ diff --git a/system/l5r-ui/ui/buttons/button-grey.png b/system/l5r-ui/ui/buttons/button-grey.png new file mode 100644 index 0000000..c3a9566 Binary files /dev/null and b/system/l5r-ui/ui/buttons/button-grey.png differ diff --git a/system/l5r-ui/ui/buttons/button-red.png b/system/l5r-ui/ui/buttons/button-red.png new file mode 100644 index 0000000..4b5600c Binary files /dev/null and b/system/l5r-ui/ui/buttons/button-red.png differ diff --git a/system/l5r-ui/ui/cursors/drag.png b/system/l5r-ui/ui/cursors/drag.png new file mode 100644 index 0000000..39b2b09 Binary files /dev/null and b/system/l5r-ui/ui/cursors/drag.png differ diff --git a/system/l5r-ui/ui/cursors/normal.png b/system/l5r-ui/ui/cursors/normal.png new file mode 100644 index 0000000..50976ab Binary files /dev/null and b/system/l5r-ui/ui/cursors/normal.png differ diff --git a/system/l5r-ui/ui/cursors/pointer.png b/system/l5r-ui/ui/cursors/pointer.png new file mode 100644 index 0000000..90762e3 Binary files /dev/null and b/system/l5r-ui/ui/cursors/pointer.png differ diff --git a/system/l5r-ui/ui/frames/Chat-box.png b/system/l5r-ui/ui/frames/Chat-box.png new file mode 100644 index 0000000..31ad817 Binary files /dev/null and b/system/l5r-ui/ui/frames/Chat-box.png differ diff --git a/system/l5r-ui/ui/frames/chat-controls-border.png b/system/l5r-ui/ui/frames/chat-controls-border.png new file mode 100644 index 0000000..0f3478f Binary files /dev/null and b/system/l5r-ui/ui/frames/chat-controls-border.png differ diff --git a/system/l5r-ui/ui/frames/chat-texture.png b/system/l5r-ui/ui/frames/chat-texture.png new file mode 100644 index 0000000..37930d3 Binary files /dev/null and b/system/l5r-ui/ui/frames/chat-texture.png differ diff --git a/system/l5r-ui/ui/frames/hotkeybox-macro-list.png b/system/l5r-ui/ui/frames/hotkeybox-macro-list.png new file mode 100644 index 0000000..16c8b56 Binary files /dev/null and b/system/l5r-ui/ui/frames/hotkeybox-macro-list.png differ diff --git a/system/l5r-ui/ui/frames/hotkeybox.png b/system/l5r-ui/ui/frames/hotkeybox.png new file mode 100644 index 0000000..6d4f1f1 Binary files /dev/null and b/system/l5r-ui/ui/frames/hotkeybox.png differ diff --git a/system/l5r-ui/ui/frames/players-border.png b/system/l5r-ui/ui/frames/players-border.png new file mode 100644 index 0000000..aa6993e Binary files /dev/null and b/system/l5r-ui/ui/frames/players-border.png differ diff --git a/system/l5r-ui/ui/logo/l5r-logo.png b/system/l5r-ui/ui/logo/l5r-logo.png new file mode 100644 index 0000000..624ac03 Binary files /dev/null and b/system/l5r-ui/ui/logo/l5r-logo.png differ diff --git a/system/l5r-ui/ui/sidebar/sidebar_button-actors.png b/system/l5r-ui/ui/sidebar/sidebar_button-actors.png new file mode 100644 index 0000000..fa8cf2a Binary files /dev/null and b/system/l5r-ui/ui/sidebar/sidebar_button-actors.png differ diff --git a/system/l5r-ui/ui/sidebar/sidebar_button-background.png b/system/l5r-ui/ui/sidebar/sidebar_button-background.png new file mode 100644 index 0000000..c147852 Binary files /dev/null and b/system/l5r-ui/ui/sidebar/sidebar_button-background.png differ diff --git a/system/l5r-ui/ui/sidebar/sidebar_button-background_cyan.png b/system/l5r-ui/ui/sidebar/sidebar_button-background_cyan.png new file mode 100644 index 0000000..f2e46eb Binary files /dev/null and b/system/l5r-ui/ui/sidebar/sidebar_button-background_cyan.png differ diff --git a/system/l5r-ui/ui/sidebar/sidebar_button-background_green.png b/system/l5r-ui/ui/sidebar/sidebar_button-background_green.png new file mode 100644 index 0000000..17dfd18 Binary files /dev/null and b/system/l5r-ui/ui/sidebar/sidebar_button-background_green.png differ diff --git a/system/l5r-ui/ui/sidebar/sidebar_button-background_grey.png b/system/l5r-ui/ui/sidebar/sidebar_button-background_grey.png new file mode 100644 index 0000000..d5dc3d3 Binary files /dev/null and b/system/l5r-ui/ui/sidebar/sidebar_button-background_grey.png differ diff --git a/system/l5r-ui/ui/sidebar/sidebar_button-background_red.png b/system/l5r-ui/ui/sidebar/sidebar_button-background_red.png new file mode 100644 index 0000000..986d95c Binary files /dev/null and b/system/l5r-ui/ui/sidebar/sidebar_button-background_red.png differ diff --git a/system/l5r-ui/ui/sidebar/sidebar_button-chat.png b/system/l5r-ui/ui/sidebar/sidebar_button-chat.png new file mode 100644 index 0000000..59433f2 Binary files /dev/null and b/system/l5r-ui/ui/sidebar/sidebar_button-chat.png differ diff --git a/system/l5r-ui/ui/sidebar/sidebar_button-combat-tracker.png b/system/l5r-ui/ui/sidebar/sidebar_button-combat-tracker.png new file mode 100644 index 0000000..74b4d3c Binary files /dev/null and b/system/l5r-ui/ui/sidebar/sidebar_button-combat-tracker.png differ diff --git a/system/l5r-ui/ui/sidebar/sidebar_button-compendium.png b/system/l5r-ui/ui/sidebar/sidebar_button-compendium.png new file mode 100644 index 0000000..72a08c6 Binary files /dev/null and b/system/l5r-ui/ui/sidebar/sidebar_button-compendium.png differ diff --git a/system/l5r-ui/ui/sidebar/sidebar_button-footer-button.png b/system/l5r-ui/ui/sidebar/sidebar_button-footer-button.png new file mode 100644 index 0000000..5fca720 Binary files /dev/null and b/system/l5r-ui/ui/sidebar/sidebar_button-footer-button.png differ diff --git a/system/l5r-ui/ui/sidebar/sidebar_button-journal.png b/system/l5r-ui/ui/sidebar/sidebar_button-journal.png new file mode 100644 index 0000000..d0584c2 Binary files /dev/null and b/system/l5r-ui/ui/sidebar/sidebar_button-journal.png differ diff --git a/system/l5r-ui/ui/sidebar/sidebar_button-object.png b/system/l5r-ui/ui/sidebar/sidebar_button-object.png new file mode 100644 index 0000000..d430618 Binary files /dev/null and b/system/l5r-ui/ui/sidebar/sidebar_button-object.png differ diff --git a/system/l5r-ui/ui/sidebar/sidebar_button-playlist.png b/system/l5r-ui/ui/sidebar/sidebar_button-playlist.png new file mode 100644 index 0000000..a563826 Binary files /dev/null and b/system/l5r-ui/ui/sidebar/sidebar_button-playlist.png differ diff --git a/system/l5r-ui/ui/sidebar/sidebar_button-rolltable.png b/system/l5r-ui/ui/sidebar/sidebar_button-rolltable.png new file mode 100644 index 0000000..b9489ed Binary files /dev/null and b/system/l5r-ui/ui/sidebar/sidebar_button-rolltable.png differ diff --git a/system/l5r-ui/ui/sidebar/sidebar_button-scenes.png b/system/l5r-ui/ui/sidebar/sidebar_button-scenes.png new file mode 100644 index 0000000..81c5465 Binary files /dev/null and b/system/l5r-ui/ui/sidebar/sidebar_button-scenes.png differ diff --git a/system/l5r-ui/ui/sidebar/sidebar_button-settings.png b/system/l5r-ui/ui/sidebar/sidebar_button-settings.png new file mode 100644 index 0000000..f1e914e Binary files /dev/null and b/system/l5r-ui/ui/sidebar/sidebar_button-settings.png differ diff --git a/system/l5r-ui/ui/sidebar/sidebar_buttons.png b/system/l5r-ui/ui/sidebar/sidebar_buttons.png new file mode 100644 index 0000000..179a75d Binary files /dev/null and b/system/l5r-ui/ui/sidebar/sidebar_buttons.png differ diff --git a/system/lang/en.json b/system/lang/en.json index 5da8aa2..5050162 100644 --- a/system/lang/en.json +++ b/system/lang/en.json @@ -1,4 +1,19 @@ { + "I18N.MAINTAINERS": ["Team L5R"], + + "HEXA.COLOR" : "Enter a hexadecimal color (such as #FFFFFF).", + "IC.BG.COLOR": "IC Background Color", + "IC.TEXT.COLOR": "IC Text Color", + "EMOTE.BG.COLOR": "Emote Background Color", + "EMOTE.TEXT.COLOR": "Emote Text Color", + "ROLL.BG.COLOR": "Roll Background Color", + "ROLL.TEXT.COLOR": "Roll Text Color", + "OTHER.BG.COLOR": "Other Background Color", + "OTHER.TEXT.COLOR": "Other Text Color", + "DEF.CHAT.PREF": "Default Chat Prefix", + "SPE.CHAT.PREF": "If specified, this string will be prefixed to all chat messages that are not already commands (such as /emote.)", + + "SETTINGS.SimpleMacroShorthandN": "Shortened Macro Syntax", "SETTINGS.SimpleMacroShorthandL": "Enable a shortened macro syntax which allows referencing attributes directly, for example @str instead of @attributes.str.value. Disable this setting if you need the ability to reference the full attribute model, for example @attributes.str.label.", "SETTINGS.SimpleInitFormulaN": "Initiative Formula", @@ -154,4 +169,4 @@ "Adquisitions": "Adquisitions" } } -} \ No newline at end of file +} diff --git a/system/lang/fr.json b/system/lang/fr.json index 861315f..305a5c5 100644 --- a/system/lang/fr.json +++ b/system/lang/fr.json @@ -1,4 +1,20 @@ { + "I18N.LANGUAGE": "Français", + "I18N.MAINTAINERS": ["Team L5R"], + + "HEXA.COLOR" : "Entrer une couleur hexadécimale (telle que #FFFFFF).", + "IC.BG.COLOR": "Couleur de fond dans le chat", + "IC.TEXT.COLOR": "Couleur du texte dans le chat", + "EMOTE.BG.COLOR": "Couleur de fond des Emotes", + "EMOTE.TEXT.COLOR": "Couleur du texte des Emotes", + "ROLL.BG.COLOR": "Couleur de fond du jet de dé", + "ROLL.TEXT.COLOR": "Couleur du texte du jet de dé", + "OTHER.BG.COLOR": "Autre couleur de fond", + "OTHER.TEXT.COLOR": "Autre couleur de texte", + "DEF.CHAT.PREF": "Préfixe de Chat par défaut", + "SPE.CHAT.PREF": "Si renseignée, la chaîne sera préfixée pour tous les messages de chat qui ne sont pas déjà des commandes (comme /emote.)", + + "SETTINGS.SimpleMacroShorthandN": "Shortened Macro Syntax", "SETTINGS.SimpleMacroShorthandL": "Enable a shortened macro syntax which allows referencing attributes directly, for example @str instead of @attributes.str.value. Disable this setting if you need the ability to reference the full attribute model, for example @attributes.str.label.", "SETTINGS.SimpleInitFormulaN": "Initiative Formula", diff --git a/system/lang/pt-BR.json b/system/lang/pt-BR.json new file mode 100644 index 0000000..0050159 --- /dev/null +++ b/system/lang/pt-BR.json @@ -0,0 +1,15 @@ +{ + "I18N.MAINTAINERS": [ "Innocenti" ], + + "HEXA.COLOR": "Digite uma cor hexadecimal (ex. #FFFFFF).", + "IC.BG.COLOR": "IC Cor de Fundo", + "IC.TEXT.COLOR": "IC Cor do Texto", + "EMOTE.BG.COLOR": "Cor de fundo do Emote", + "EMOTE.TEXT.COLOR": "Cor de texto do Emote", + "ROLL.BG.COLOR": "Cor de fundo das Rolagens", + "ROLL.TEXT.COLOR": "Cor de texto das Rolagens", + "OTHER.BG.COLOR": "Outra Cor de Fundo", + "OTHER.TEXT.COLOR": "Outra Cor de Texto", + "DEF.CHAT.PREF": "Prefixo padrão do bate-papo", + "SPE.CHAT.PREF": "Se especificada, essa sequência será prefixada para todas as mensagens de bate-papo que ainda não são comandos (como / emote.)" +} diff --git a/system/system.json b/system/system.json index 03059f6..c6f6658 100644 --- a/system/system.json +++ b/system/system.json @@ -6,9 +6,22 @@ "minimumCoreVersion": "0.7.7", "compatibleCoreVersion": "1.0.0", "author": "Team L5R", - "scripts": [], - "esmodules" : ["./scripts/dice-l5r5e.js", "./scripts/main-l5r5e.js"], - "styles": ["./styles/l5r5e.css"], + "scripts": [ + "./l5r-ui/scripts/l5rui-chat-color.js" + ], + + "esmodules" : [ + "./l5r-ui/scripts/help/l5rui-help.js", + "./scripts/dice-l5r5e.js", + "./scripts/main-l5r5e.js" + ], + + "styles": [ + "./l5r-ui/css/l5rui.css", + "./l5r-ui/css/cursor.css", + "./styles/l5r5e.css" + ], + "languages": [ { "lang": "en", @@ -19,9 +32,15 @@ "lang": "fr", "name": "French (French)", "path": "lang/fr.json" + }, + { + "lang": "pt-BR", + "name": "Português (Brasil)", + "path": "lang/pt-BR.json" } ], - "background":"L5R-header.jpg", + + "background" : "L5R-Header.jpg", "packs": [], "url": "https://gitlab.com/teaml5r/l5r5e", "manifest": "https://gitlab.com/teaml5r/l5r5e/-/raw/master/system/system.json",