diff --git a/gulpfile.js b/gulpfile.js index 566ec09..54fbee6 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -1,8 +1,8 @@ // Requires -const gulp = require('gulp'); -const prefix = require('gulp-autoprefixer'); -const sass = require('gulp-sass'); -const browserSync = require('browser-sync'); +const gulp = require("gulp"); +const prefix = require("gulp-autoprefixer"); +const sass = require("gulp-sass"); +const browserSync = require("browser-sync"); /* ----------------------------------------- */ /* Compile Sass @@ -10,28 +10,30 @@ const browserSync = require('browser-sync'); // Small error handler helper function. function handleError(err) { - console.log(err.toString()); - this.emit('end'); + console.log(err.toString()); + this.emit("end"); } const SYSTEM_SCSS = ["system/styles/conf/**/*.scss"]; function compileScss() { - // Configure options for sass output. For example, 'expanded' or 'nested' - let options = { - outputStyle: 'compressed' - }; - return gulp.src(SYSTEM_SCSS) - .pipe( - sass(options) - .on('error', handleError) - ) - .pipe(prefix({ - cascade: false - })) - .pipe(gulp.dest("system/styles")) - .pipe(browserSync.reload({ - stream: true - })) + // Configure options for sass output. For example, 'expanded' or 'nested' + let options = { + outputStyle: "compressed", + }; + return gulp + .src(SYSTEM_SCSS) + .pipe(sass(options).on("error", handleError)) + .pipe( + prefix({ + cascade: false, + }) + ) + .pipe(gulp.dest("system/styles")) + .pipe( + browserSync.reload({ + stream: true, + }) + ); } const css = gulp.series(compileScss); @@ -40,7 +42,7 @@ const css = gulp.series(compileScss); /* ----------------------------------------- */ function watchUpdates() { - gulp.watch(SYSTEM_SCSS, css); + gulp.watch("system/styles/scss/**/*.scss", css); } /* ----------------------------------------- */ @@ -48,20 +50,16 @@ function watchUpdates() { /* ----------------------------------------- */ function bSync() { - browserSync({ - server: { - baseDir: 'system/styles' - }, - }) + browserSync({ + server: { + baseDir: "system/styles", + }, + }); } /* ----------------------------------------- */ /* Export Tasks /* ----------------------------------------- */ -exports.default = gulp.series( - compileScss, - watchUpdates, - bSync -); +exports.default = gulp.series(compileScss, watchUpdates, bSync); exports.css = css; diff --git a/package.json b/package.json index 278766c..041fe62 100644 --- a/package.json +++ b/package.json @@ -5,7 +5,7 @@ "main": "index.js", "scripts": { "compile": "gulp css", - "watch": "gulp watch", + "watch": "gulp", "prettier": "prettier --quote-props=preserve --print-width=5000 --write" }, "repository": { diff --git a/system/assets/icons/Leaf.webp b/system/assets/icons/Leaf.webp new file mode 100644 index 0000000..004318c Binary files /dev/null and b/system/assets/icons/Leaf.webp differ diff --git a/system/assets/icons/air.webp b/system/assets/icons/air.webp new file mode 100644 index 0000000..404703d Binary files /dev/null and b/system/assets/icons/air.webp differ diff --git a/system/assets/icons/clan/Crab.webp b/system/assets/icons/clan/Crab.webp new file mode 100644 index 0000000..7e01d64 Binary files /dev/null and b/system/assets/icons/clan/Crab.webp differ diff --git a/system/assets/icons/clan/Crane.webp b/system/assets/icons/clan/Crane.webp new file mode 100644 index 0000000..4000e4a Binary files /dev/null and b/system/assets/icons/clan/Crane.webp differ diff --git a/system/assets/icons/clan/Dragon.webp b/system/assets/icons/clan/Dragon.webp new file mode 100644 index 0000000..094562b Binary files /dev/null and b/system/assets/icons/clan/Dragon.webp differ diff --git a/system/assets/icons/clan/Lion.webp b/system/assets/icons/clan/Lion.webp new file mode 100644 index 0000000..9feb63d Binary files /dev/null and b/system/assets/icons/clan/Lion.webp differ diff --git a/system/assets/icons/clan/Phoenix.webp b/system/assets/icons/clan/Phoenix.webp new file mode 100644 index 0000000..6bc28de Binary files /dev/null and b/system/assets/icons/clan/Phoenix.webp differ diff --git a/system/assets/icons/clan/Scorpion.webp b/system/assets/icons/clan/Scorpion.webp new file mode 100644 index 0000000..fb3e42b Binary files /dev/null and b/system/assets/icons/clan/Scorpion.webp differ diff --git a/system/assets/icons/clan/Unicorn.webp b/system/assets/icons/clan/Unicorn.webp new file mode 100644 index 0000000..3c1d9b3 Binary files /dev/null and b/system/assets/icons/clan/Unicorn.webp differ diff --git a/system/assets/icons/earth.webp b/system/assets/icons/earth.webp new file mode 100644 index 0000000..0524d98 Binary files /dev/null and b/system/assets/icons/earth.webp differ diff --git a/system/assets/icons/fire.webp b/system/assets/icons/fire.webp new file mode 100644 index 0000000..8797b74 Binary files /dev/null and b/system/assets/icons/fire.webp differ diff --git a/system/assets/icons/void.webp b/system/assets/icons/void.webp new file mode 100644 index 0000000..3a50d44 Binary files /dev/null and b/system/assets/icons/void.webp differ diff --git a/system/assets/icons/water.webp b/system/assets/icons/water.webp new file mode 100644 index 0000000..0b85426 Binary files /dev/null and b/system/assets/icons/water.webp differ diff --git a/system/assets/imgs/bgL5R.jpg b/system/assets/imgs/bgL5R.jpg deleted file mode 100644 index b0a0579..0000000 Binary files a/system/assets/imgs/bgL5R.jpg and /dev/null differ diff --git a/system/assets/imgs/bgL5R.webp b/system/assets/imgs/bgL5R.webp new file mode 100644 index 0000000..859040a Binary files /dev/null and b/system/assets/imgs/bgL5R.webp differ diff --git a/system/assets/imgs/brushL5r.webp b/system/assets/imgs/brushL5r.webp new file mode 100644 index 0000000..4d1e4ec Binary files /dev/null and b/system/assets/imgs/brushL5r.webp differ diff --git a/system/assets/imgs/textBox.svg b/system/assets/imgs/textBox.svg new file mode 100644 index 0000000..8486a4f --- /dev/null +++ b/system/assets/imgs/textBox.svg @@ -0,0 +1,23 @@ + + + + + + + + diff --git a/system/assets/l5r-logo.webp b/system/assets/l5r-logo.webp new file mode 100644 index 0000000..7562269 Binary files /dev/null and b/system/assets/l5r-logo.webp differ diff --git a/system/assets/ui/Chat-box.webp b/system/assets/ui/Chat-box.webp new file mode 100644 index 0000000..1773286 Binary files /dev/null and b/system/assets/ui/Chat-box.webp differ diff --git a/system/assets/ui/background.webp b/system/assets/ui/background.webp new file mode 100644 index 0000000..83d536e Binary files /dev/null and b/system/assets/ui/background.webp differ diff --git a/system/assets/ui/bgSidebar.png b/system/assets/ui/bgSidebar.png new file mode 100644 index 0000000..41498bb Binary files /dev/null and b/system/assets/ui/bgSidebar.png differ diff --git a/system/assets/ui/chat-controls-border.webp b/system/assets/ui/chat-controls-border.webp new file mode 100644 index 0000000..5020493 Binary files /dev/null and b/system/assets/ui/chat-controls-border.webp differ diff --git a/system/assets/ui/chat-texture.webp b/system/assets/ui/chat-texture.webp new file mode 100644 index 0000000..e10aaa0 Binary files /dev/null and b/system/assets/ui/chat-texture.webp differ diff --git a/system/assets/ui/hotkeybox.webp b/system/assets/ui/hotkeybox.webp new file mode 100644 index 0000000..2977872 Binary files /dev/null and b/system/assets/ui/hotkeybox.webp differ diff --git a/system/assets/ui/macro-button.webp b/system/assets/ui/macro-button.webp new file mode 100644 index 0000000..6a48c07 Binary files /dev/null and b/system/assets/ui/macro-button.webp differ diff --git a/system/assets/ui/nav_button.webp b/system/assets/ui/nav_button.webp new file mode 100644 index 0000000..cfdcab0 Binary files /dev/null and b/system/assets/ui/nav_button.webp differ diff --git a/system/assets/ui/players-border.webp b/system/assets/ui/players-border.webp new file mode 100644 index 0000000..76e1c68 Binary files /dev/null and b/system/assets/ui/players-border.webp differ diff --git a/system/fonts/ArchitectsDaughter.ttf b/system/fonts/ArchitectsDaughter.ttf new file mode 100644 index 0000000..421f247 Binary files /dev/null and b/system/fonts/ArchitectsDaughter.ttf differ diff --git a/system/fonts/PatrickHand.ttf b/system/fonts/PatrickHand.ttf new file mode 100644 index 0000000..1e871cf Binary files /dev/null and b/system/fonts/PatrickHand.ttf differ diff --git a/system/l5r-ui/css/l5rui.css b/system/l5r-ui/css/l5rui.css index 10cf1ab..863c29f 100644 --- a/system/l5r-ui/css/l5rui.css +++ b/system/l5r-ui/css/l5rui.css @@ -9,25 +9,7 @@ body { /*************************************************************/ /*======================= 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.webp); - border-image-slice: 30 fill; - background-position: center !important; - background-size: 300px 100%!important; - background-repeat: no-repeat; -} .collapse::before{ content: ""; @@ -209,12 +191,7 @@ body { /*************************************************************/ /*======================= 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.webp) !important; } @@ -241,24 +218,6 @@ body { 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.webp) 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.webp) 4 repeat; - border-image-width: 4px; - color: #520000; -} #sidebar .sidebar-tab #chat-controls div.roll-type-select select { font-family: CaslonPro; @@ -298,26 +257,6 @@ body { 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.webp) 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.webp) 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.webp); text-align: center; @@ -441,198 +380,3 @@ body { 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.webp) repeat; - background-origin: padding-box; - border-image: url(../ui/sidebar/sidebar_button-footer-button.webp) 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.webp) repeat; - background-origin: padding-box; - border-image: url(../ui/sidebar/sidebar_button-footer-button.webp) 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.webp) repeat; - background-origin: padding-box; - border-image: url(../ui/sidebar/sidebar_button-footer-button.webp) 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.webp) 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.webp) repeat !important; - background-origin: padding-box !important; - border-image: url(../ui/sidebar/sidebar_button-footer-button.webp) 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.webp) repeat !important; - background-origin: padding-box !important; - border-image: url(../ui/sidebar/sidebar_button-footer-button.webp) 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.webp) 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.webp); - box-shadow: 2px 2px 5px #000000; - } - #hotbar #action-bar .macro { - border-image: url(../ui/frames/hotkeybox.webp) 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; - } diff --git a/system/l5r-ui/ui/cursors/default.svg b/system/l5r-ui/ui/cursors/default.svg new file mode 100644 index 0000000..5b2dcd7 --- /dev/null +++ b/system/l5r-ui/ui/cursors/default.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/system/l5r-ui/ui/cursors/dnd-move.svg b/system/l5r-ui/ui/cursors/dnd-move.svg new file mode 100644 index 0000000..2259ca3 --- /dev/null +++ b/system/l5r-ui/ui/cursors/dnd-move.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/system/l5r-ui/ui/cursors/dnd-no-drop.svg b/system/l5r-ui/ui/cursors/dnd-no-drop.svg new file mode 100644 index 0000000..e9ed0b9 --- /dev/null +++ b/system/l5r-ui/ui/cursors/dnd-no-drop.svg @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/system/l5r-ui/ui/cursors/fleur.svg b/system/l5r-ui/ui/cursors/fleur.svg new file mode 100644 index 0000000..e4440b4 --- /dev/null +++ b/system/l5r-ui/ui/cursors/fleur.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/system/l5r-ui/ui/cursors/help.svg b/system/l5r-ui/ui/cursors/help.svg new file mode 100644 index 0000000..d4c6c6a --- /dev/null +++ b/system/l5r-ui/ui/cursors/help.svg @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/system/l5r-ui/ui/cursors/normal.webp b/system/l5r-ui/ui/cursors/normal.webp index 1d44b06..934e5f9 100644 Binary files a/system/l5r-ui/ui/cursors/normal.webp and b/system/l5r-ui/ui/cursors/normal.webp differ diff --git a/system/l5r-ui/ui/cursors/not-allowed.svg b/system/l5r-ui/ui/cursors/not-allowed.svg new file mode 100644 index 0000000..cd899f1 --- /dev/null +++ b/system/l5r-ui/ui/cursors/not-allowed.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/system/l5r-ui/ui/cursors/openhand.svg b/system/l5r-ui/ui/cursors/openhand.svg new file mode 100644 index 0000000..153e765 --- /dev/null +++ b/system/l5r-ui/ui/cursors/openhand.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/system/l5r-ui/ui/cursors/pointer.svg b/system/l5r-ui/ui/cursors/pointer.svg new file mode 100644 index 0000000..b91d4cc --- /dev/null +++ b/system/l5r-ui/ui/cursors/pointer.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/system/lang/en.json b/system/lang/en-en.json similarity index 94% rename from system/lang/en.json rename to system/lang/en-en.json index 5050162..ac2c86b 100644 --- a/system/lang/en.json +++ b/system/lang/en-en.json @@ -1,7 +1,8 @@ { + "I18N.LANGUAGE": "English", "I18N.MAINTAINERS": ["Team L5R"], - - "HEXA.COLOR" : "Enter a hexadecimal color (such as #FFFFFF).", + + "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", @@ -12,15 +13,15 @@ "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", "SETTINGS.SimpleInitFormulaL": "Enter an initiative formula, such as d20+@dex", - + "SIMPLE.NotifyInitFormulaUpdated": "Initiative formula was updated to:", "SIMPLE.NotifyInitFormulaInvalid": "Initiative formula was invalid:", + "L5r5e": { "Rings": { "Title": "Rings", @@ -75,7 +76,7 @@ }, "Skills": { "Title": "Skills", - "artisan": { + "Artisan": { "Title": "Artisan", "Aesthetics": "Aesthetics", "Composition": "Composition", @@ -87,7 +88,7 @@ "Water": "Adapt", "Void": "Attune" }, - "martial": { + "Martial": { "Title": "Martial", "Fitness": "Fitness", "Melee": "Martial Arts [Melee]", @@ -101,7 +102,7 @@ "Water": "Shift", "Void": "Sacrifice" }, - "scholar": { + "Scholar": { "Title": "Scholar", "Culture": "Culture", "Government": "Government", @@ -114,7 +115,7 @@ "Water": "Survey", "Void": "Sense" }, - "social": { + "Social": { "Title": "Social", "Command": "Command", "Courtesy": "Courtesy", @@ -126,7 +127,7 @@ "Water": "Charm", "Void": "Enlighten" }, - "trade": { + "Trade": { "Title": "Trade", "Commerce": "Commerce", "Labor": "Labor", @@ -137,11 +138,11 @@ "Earth": "Produce", "Fire": "Innovate", "Water": "Exchange", - "Void": "Subsist" + "Void": "Subsist" } }, - "Conflict": { - "Title": "Conflict", + "Attributes": { + "Title": "Attributes", "Endurance": "Endurance", "EnduranceTip": "(Earth + Fire) x2", "Composure": "Composure", @@ -151,9 +152,12 @@ "Vigilante": "Vigilante", "VigilanteTip": "(Air + Water) /2", "VoidPoints": "Void Points", - "Stance": "Stance", "Fatigue": "Fatigue", - "Strife": "Strife", + "Strife": "Strife" + }, + "Conflict": { + "Title": "Conflict", + "Stance": "Stance", "Stances": { "AirTip": "+1 to TN of Attack and Scheme checks targeting you (+2 at rank 4+).", "EarthTip": "Others cannot spend Opportunity to inflict critical strikes or conditions on you.", diff --git a/system/lang/es-es.json b/system/lang/es-es.json new file mode 100644 index 0000000..aa7c314 --- /dev/null +++ b/system/lang/es-es.json @@ -0,0 +1,175 @@ +{ + "I18N.LANGUAGE": "Español", + "I18N.MAINTAINERS": ["Team L5R"], + + "HEXA.COLOR": "Introduzca un color hexadecimal (como #FFFFFF)", + "IC.BG.COLOR": "Color de fondo en el gato", + "IC.TEXT.COLOR": "Color del texto en el chat", + "EMOTE.BG.COLOR": "Color de fondo de los Emotes", + "EMOTE.TEXT.COLOR": "Color del texto de los Emotes", + "ROLL.BG.COLOR": "Color de fondo de la tirada", + "ROLL.TEXT.COLOR": "Color del texto de la tirada", + "OTHER.BG.COLOR": "Otro color de fondo", + "OTHER.TEXT.COLOR": "Otro color de texto", + "DEF.CHAT.PREF": "Prefijo del chat por defecto", + "SPE.CHAT.PREF": "Si está configurado, la cadena será prefijada para todos los mensajes de chat que no sean ya comandos (como /emote.)", + + "SETTINGS.SimpleMacroShorthandN": "Macro sintaxis acortada", + "SETTINGS.SimpleMacroShorthandL": "Habilitar una sintaxis de macro abreviada que permita referenciar directamente los atributos, por ejemplo @str en lugar de @attributes.str.value. Deshabilitar esta configuración si se necesita la capacidad de referenciar el modelo de atributos completo, por ejemplo @attributes.str.label", + "SETTINGS.SimpleInitFormulaN": "Fórmula de iniciativa", + "SETTINGS.SimpleInitFormulaL": "Introduzca una fórmula de iniciativa, como d20+@dex", + + "SIMPLE.NotifyInitFormulaUpdated": "La fórmula de la iniciativa fue actualizada a:", + "SIMPLE.NotifyInitFormulaInvalid": "La fórmula de la iniciativa fue inválida:", + + "L5r5e": { + "Rings": { + "Title": "Anillos", + "Earth": "Tierra", + "Air": "Aire", + "water": "Agua", + "Fire": "Fuego", + "Void": "Vacío" + }, + "Narrative": "Narrativa", + "Experience": "Experiencia", + "Clan": "Clan", + "Family": "Familia", + "School": "Escuela", + "SchoolRank": "Rango", + "Roles": "Funciones", + "Distinctions": "Distinciones", + "DistinctionsTip": "Puedes volver a lanzar hasta dos dados si una distición te ayuda en la tirada.", + "Adversities": "Adversidades", + "AdversitiesTip": "Vuelve a lanzar dos dados con Éxito o Éxito relanzable si una adversidad influye en tu tirada. Si fallas, ganas 1 punto de vacío.", + "Anxieties": "Ansiedades", + "AnxietiesTip": "Tras realizar una tirada relacionada con tu ansiedad, recibes 3 puntos de Conflicto. Luego ganas 1 punto de vacío (limitado a 1 por escena).", + "Passions": "Pasiones", + "PassionsTip": "Después de efectuar una tirada relacionada con tu pasión, descarta tres puntos de Conflicto.", + "Personality": "Personalidad", + "Max": "Max", + "Current": "Actuales", + "Quantity": "Cantidad", + "Weight": "Peso", + "Damage": "Daño", + "Range": "Rango", + "Properties": "Propiedades", + "Weapons": "Armas", + "Items": "Equipo", + "Feats": "Rasgos", + "Skill": "Habilidad", + "Level": "Nivel", + "Approaches": "Planteamientos", + "FeatPlaceholderName": "Nuevo Rasgo", + "Notes": "Notas", + "Inventory": "Inventario", + "Rank": "Rango", + "Name": "Nombre", + "SocialStanding": { + "Title": "Posición Social", + "Honor": "Honor", + "Glory": "Gloria", + "Status": "Estatus", + "Ninjo": "Ninjo", + "Giri": "Giri", + "SocialTitles": "Títulos" + }, + "Skills": { + "Title": "Habilidades", + "Artisan": { + "Title": "Artesanales", + "Aesthetics": "Estética", + "Composition": "Composición", + "Design": "Diseño", + "Smithing": "Herrería", + "Air": "Refinar", + "Earth": "Restaurar", + "Fire": "Inventar", + "Water": "Adaptar", + "Void": "Sintonizar" + }, + "Martial": { + "Title": "Marciales", + "Fitness": "Aptitud Física", + "Melee": "Cuerpo a Cuerpo", + "Ranged": "A distancia", + "Unarmed": "Sin armas", + "Meditation": "Meditación", + "Tactics": "Tácticas", + "Air": "Amagar", + "Earth": "Resistir", + "Fire": "Abrumar", + "Water": "Alterar", + "Void": "Sacrificarse" + }, + "scholar": { + "Title": "Académicas", + "Culture": "Cultura", + "Government": "Gobierno", + "Medicine": "Medicina", + "Sentiment": "Sentimiento", + "Theology": "Teología", + "Air": "Analizar", + "Earth": "Recordar", + "Fire": "Teorizar", + "Water": "Examinar", + "Void": "Percibir" + }, + "social": { + "Title": "Sociales", + "Command": "Mando", + "Courtesy": "Cortesía", + "Games": "Pasatiempos", + "Performance": "Interpretación", + "Air": "Engañar", + "Earth": "Razonar", + "Fire": "Incitar", + "Water": "Encandilar", + "Void": "Iluminar" + }, + "trade": { + "Title": "Mercantiles", + "Commerce": "Comercio", + "Labor": "Trabajo manual", + "Seafaring": "Navegación", + "Skulduggery": "Actividad criminal", + "Survival": "Supervivencia", + "Air": "Estafar", + "Earth": "Producir", + "Fire": "Idear", + "Water": "Intercambiar", + "Void": "Subsistir" + } + }, + "Conflict": { + "Endurance": "Aguante", + "EnduranceTip": "(Tierra + Fuego) x2", + "Composure": "Compostura", + "ComposureTip": "(Tierra + Agua) x2", + "Focus": "Concentración", + "FocusTip": "Aire + Fuego", + "Vigilante": "Alerta", + "VigilanteTip": "(Aire + Agua) /2", + "VoidPoints": "P. Vacío", + "Fatigue": "Fatiga", + "Strife": "Conflicto" + }, + "Attributes": { + "Title": "Enfrentamiento", + "Stance": "Actitud", + "Stances": { + "AirTip": "+1 al NO de las tiradas de ataque y maquinación que te tengan como objetivo (+2 a rango 4+).", + "EarthTip": "Oponentes no pueden gastar Oportunidad para causarte impactos críticos ni estados.", + "FireTip": "Si tienes éxito, +1 éxito adicional por cada símbolo de Conflicto.", + "WaterTip": "Efectúa una segunda acción durante tu turno que no requiera tirada ni comparta tipo con tu primera acción.", + "VoidTip": "No acumulas Conflicto de los símbolos de Conflicto de tus tiradas." + } + }, + "XP": { + "Total": "Total", + "Spent": "Usada", + "Saved": "Restante", + "Adquisitions": "Adquisiciones" + } + } +} diff --git a/system/lang/fr.json b/system/lang/fr-fr.json similarity index 84% rename from system/lang/fr.json rename to system/lang/fr-fr.json index 305a5c5..2632442 100644 --- a/system/lang/fr.json +++ b/system/lang/fr-fr.json @@ -1,11 +1,11 @@ { - "I18N.LANGUAGE": "Français", - "I18N.MAINTAINERS": ["Team L5R"], + "I18N.LANGUAGE": "Français", + "I18N.MAINTAINERS": ["Team L5R"], - "HEXA.COLOR" : "Entrer une couleur hexadécimale (telle que #FFFFFF).", + "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.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é", @@ -14,14 +14,14 @@ "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", - "SETTINGS.SimpleInitFormulaL": "Enter an initiative formula, such as d20+@dex", - - "SIMPLE.NotifyInitFormulaUpdated": "Initiative formula was updated to:", - "SIMPLE.NotifyInitFormulaInvalid": "Initiative formula was invalid:", + "SETTINGS.SimpleMacroShorthandN": "Macro syntaxe abrégée", + "SETTINGS.SimpleMacroShorthandL": "Activer une syntaxe de macro raccourcie qui permet de référencer directement les attributs, par exemple @str au lieu de @attributes.str.value. Désactivez ce paramètre si vous avez besoin de pouvoir référencer le modèle d'attribut complet, par exemple @attributes.str.label", + "SETTINGS.SimpleInitFormulaN": "Formule d'initiative", + "SETTINGS.SimpleInitFormulaL": "Entrez une formule d'initiative, telle que d20+@dex", + + "SIMPLE.NotifyInitFormulaUpdated": "La formule de l'initiative a été mise à jour pour :", + "SIMPLE.NotifyInitFormulaInvalid": "La formule d'initiative suivante n'est pas valable :", + "L5r5e": { "Rings": { "Title": "Anneaux", @@ -76,7 +76,7 @@ }, "Skills": { "Title": "Compétences", - "artisan": { + "Artisan": { "Title": "Artisanales", "Aesthetics": "Esthétique", "Composition": "Composition", @@ -88,7 +88,7 @@ "Water": "Adapter", "Void": "S’harmoniser" }, - "martial": { + "Martial": { "Title": "Martiales", "Fitness": "Forme", "Melee": "Arts martiaux (corps à corps)", @@ -102,7 +102,7 @@ "Water": "Détourner", "Void": "Lâcher prise" }, - "scholar": { + "Scholar": { "Title": "Savantes", "Culture": "Culture", "Government": "Gouvernement", @@ -115,7 +115,7 @@ "Water": "Observer", "Void": "Ressentir" }, - "social": { + "Social": { "Title": "Sociales", "Command": "Commandement", "Courtesy": "Courtoisie", @@ -127,7 +127,7 @@ "Water": "Charmer", "Void": "Illuminer" }, - "trade": { + "Trade": { "Title": "Professionnelles", "Commerce": "Commerce", "Labor": "Travail manuel", @@ -138,11 +138,11 @@ "Earth": "Produire", "Fire": "Innover", "Water": "Échanger", - "Void": "Subsister" + "Void": "Subsister" } }, - "Conflict": { - "Title": "Conflit", + "Attributes": { + "Title": "Attributs", "Endurance": "Endurance", "EnduranceTip": "(Terre + Feu) x2", "Composure": "Sang Froid", @@ -152,9 +152,12 @@ "Vigilante": "Vigilance", "VigilanteTip": "(Air + Eau) /2", "VoidPoints": "Points de Vide", - "Stance": "Posture", "Fatigue": "Fatigue", - "Strife": "Conflit", + "Strife": "Conflit" + }, + "Conflict": { + "Title": "Conflit", + "Stance": "Posture", "Stances": { "AirTip": "Augmentez de 1 le ND des tests d'Attaque et de Manipulation dont vous êtes la cible. Si votre rang d'école est au moins égal à 4, augmentez le ND de 2 au lieu de 1.", "EarthTip": "Quand vous êtes la cible d'un test d'Attaque ou de Manipulation, votre adversaire ne peut pas dépenser d'Aubaine pour vous infliger des coups critiques ou des états.", @@ -170,4 +173,4 @@ "Adquisitions": "Acquisitions" } } -} \ No newline at end of file +} diff --git a/system/scripts/actors/actor-sheet.js b/system/scripts/actors/actor-sheet.js deleted file mode 100644 index 0490086..0000000 --- a/system/scripts/actors/actor-sheet.js +++ /dev/null @@ -1,142 +0,0 @@ - -export class ActorSheetL5r5e extends ActorSheet { - - static get defaultOptions() { - return mergeObject(super.defaultOptions, { - classes: ["l5r5e", "sheet", "actor"], - template: "systems/l5r5e/templates/sheets/actor-sheet.html", - width: 600, - height: 600, - tabs: [{navSelector: ".sheet-tabs", contentSelector: ".sheet-body", initial: "description"}], - dragDrop: [{dragSelector: ".item-list .item", dropSelector: null}] - }); - } - - getData() { - const sheetData = super.getData(); - - this._prepareItems(sheetData); - - const feats = sheetData.items.filter((item) => item.type === "feat"); - - sheetData.data.feats = feats; - - return sheetData; - } - - /** - * Update the actor. - * @param event - * @param formData - */ - _updateObject(event, formData) { - return this.object.update(formData); - } - - /** - * Prepare item data to be displayed in the actor sheet. - * @param sheetData Data of the actor been displayed in the sheet. - */ - _prepareItems(sheetData) { - for (let item of sheetData.items) { - if (item.type === "weapon") { - item.isWeapon = true; - item.isEquipment = true; - } else if (item.type === "feat"){ - item.isFeat = true; - } - else { - item.isEquipment = true; - } - } - } - - _prepareFeats() { - } - - /** - * Subscribe to events from the sheet. - * @param html HTML content of the sheet. - */ - activateListeners(html) { - super.activateListeners(html); - - // Everything below here is only needed if the sheet is editable - if (!this.options.editable) return; - - // Update Inventory Item - html.find('.item-edit').click(ev => { - const li = $(ev.currentTarget).parents(".item"); - const itemId = li.data("itemId"); - const item = this.actor.getOwnedItem(itemId); - item.sheet.render(true); - }); - - // Delete Inventory Item - html.find('.item-delete').click(ev => { - const li = $(ev.currentTarget).parents(".item"); - const itemId = li.data("itemId"); - this.actor.deleteOwnedItem(itemId); - }); - - html.find('.feat-add').click(ev => { - this._createFeat(); - }); - - html.find('.feat-delete').click(ev => { - const li = $(ev.currentTarget).parents(".feat"); - const featId = li.data("featId"); - console.log("Remove feat" + featId + " clicked"); - - this.actor.deleteOwnedItem(featId); - }); - - html.find('.feat-edit').click(ev => { - const li = $(ev.currentTarget).parents(".feat"); - const featId = li.data("featId"); - const feat = this.actor.getOwnedItem(featId); - feat.sheet.render(true); - }); - - html.find('.skill-name').click(ev => { - const li = $(ev.currentTarget).parents(".skill"); - const skillId = li.data("skill"); - - this._onSkillClicked(skillId); - }); - - html.find('.adquisition-add').click(ev => { - this._createFeat(); - }); - } - - /** - * Creates a new feat for the character and shows a window to edit it. - */ - async _createFeat() { - const data = { - name: game.i18n.localize('L5r5e.FeatPlaceholderName'), - type: "feat" - }; - const created = await this.actor.createEmbeddedEntity("OwnedItem", data); - const feat = this.actor.getOwnedItem(created._id); - - // Default values - //feat.rank = 1; - //feat.xp_used = 0; - - feat.sheet.render(true); - - return feat; - } - - /** - * React to a skill from the skills list been clicked. - * @param {string} skillId Unique ID of the skill been clicked. - */ - async _onSkillClicked(skillId) { - console.log("Clicked on skill " + skillId); - - // TODO - } -} \ No newline at end of file diff --git a/system/scripts/items/feat-sheet.js b/system/scripts/items/feat-sheet.js index 02bbeca..ec7744d 100644 --- a/system/scripts/items/feat-sheet.js +++ b/system/scripts/items/feat-sheet.js @@ -7,7 +7,7 @@ export class FeatSheetL5r5e extends ItemSheetL5r5e { /** @override */ static get defaultOptions() { return mergeObject(super.defaultOptions, { - classes: ["l5r", "sheet", "feat"], + classes: ["l5r5e", "sheet", "feat"], template: "systems/l5r5e/templates/item/feat-sheet.html", width: 520, height: 480, diff --git a/system/scripts/items/item-sheet.js b/system/scripts/items/item-sheet.js index 6a412c6..4650f7e 100644 --- a/system/scripts/items/item-sheet.js +++ b/system/scripts/items/item-sheet.js @@ -6,7 +6,7 @@ export class ItemSheetL5r5e extends ItemSheet { /** @override */ static get defaultOptions() { return mergeObject(super.defaultOptions, { - classes: ["l5r", "sheet", "item"], + classes: ["l5r5e", "sheet", "item"], template: "systems/l5r5e/templates/item/item-sheet.html", width: 520, height: 480, diff --git a/system/scripts/items/weapon-sheet.js b/system/scripts/items/weapon-sheet.js index 037269a..bc96351 100644 --- a/system/scripts/items/weapon-sheet.js +++ b/system/scripts/items/weapon-sheet.js @@ -7,7 +7,7 @@ export class WeaponSheetL5r5e extends ItemSheetL5r5e { /** @override */ static get defaultOptions() { return mergeObject(super.defaultOptions, { - classes: ["l5r", "sheet", "weapon"], + classes: ["l5r5e", "sheet", "weapon"], template: "systems/l5r5e/templates/item/weapon-sheet.html", width: 520, height: 480, diff --git a/system/scripts/main-l5r5e.js b/system/scripts/main-l5r5e.js index 575ec40..df2e803 100644 --- a/system/scripts/main-l5r5e.js +++ b/system/scripts/main-l5r5e.js @@ -66,12 +66,18 @@ Hooks.once("init", async function () { }); Handlebars.registerHelper("localizeSkillCategory", function (skillName) { - const key = "L5r5e.Skills." + skillName + ".Title"; + const key = "L5r5e.Skills." + skillName.charAt(0).toUpperCase() + skillName.slice(1) + ".Title"; return game.i18n.localize(key); }); Handlebars.registerHelper("localizeSkill", function (skillCategory, skillName) { - const key = "L5r5e.Skills." + skillCategory + "." + skillName; + const key = + "L5r5e.Skills." + + skillCategory.charAt(0).toUpperCase() + + skillCategory.slice(1) + + "." + + skillName.charAt(0).toUpperCase() + + skillName.slice(1); return game.i18n.localize(key); }); diff --git a/system/scripts/sheets/actor-sheet.js b/system/scripts/sheets/actor-sheet.js index ab3fafd..94d4ab4 100644 --- a/system/scripts/sheets/actor-sheet.js +++ b/system/scripts/sheets/actor-sheet.js @@ -1,17 +1,15 @@ - export class ActorSheetL5r5e extends ActorSheet { - static get defaultOptions() { return mergeObject(super.defaultOptions, { classes: ["l5r5e", "sheet", "actor"], template: "systems/l5r5e/templates/sheets/actor-sheet.html", width: 600, - height: 600, - tabs: [{navSelector: ".sheet-tabs", contentSelector: ".sheet-body", initial: "description"}], - dragDrop: [{dragSelector: ".item-list .item", dropSelector: null}] + height: 800, + tabs: [{ navSelector: ".sheet-tabs", contentSelector: ".sheet-body", initial: "description" }], + dragDrop: [{ dragSelector: ".item-list .item", dropSelector: null }], }); } - + getData() { const sheetData = super.getData(); @@ -20,123 +18,121 @@ export class ActorSheetL5r5e extends ActorSheet { const feats = sheetData.items.filter((item) => item.type === "feat"); sheetData.data.feats = feats; - + return sheetData; } /** - * Update the actor. - * @param event - * @param formData - */ + * Update the actor. + * @param event + * @param formData + */ _updateObject(event, formData) { return this.object.update(formData); } - + /** - * Prepare item data to be displayed in the actor sheet. - * @param sheetData Data of the actor been displayed in the sheet. - */ + * Prepare item data to be displayed in the actor sheet. + * @param sheetData Data of the actor been displayed in the sheet. + */ _prepareItems(sheetData) { for (let item of sheetData.items) { if (item.type === "weapon") { item.isWeapon = true; item.isEquipment = true; - } else if (item.type === "feat"){ + } else if (item.type === "feat") { item.isFeat = true; - } - else { + } else { item.isEquipment = true; } } } - _prepareFeats() { - } - + _prepareFeats() {} + /** - * Subscribe to events from the sheet. - * @param html HTML content of the sheet. - */ + * Subscribe to events from the sheet. + * @param html HTML content of the sheet. + */ activateListeners(html) { super.activateListeners(html); - + // Everything below here is only needed if the sheet is editable if (!this.options.editable) return; - + // Update Inventory Item - html.find('.item-edit').click(ev => { + html.find(".item-edit").click((ev) => { const li = $(ev.currentTarget).parents(".item"); - const itemId = li.data("itemId"); + const itemId = li.data("itemId"); const item = this.actor.getOwnedItem(itemId); item.sheet.render(true); }); - + // Delete Inventory Item - html.find('.item-delete').click(ev => { + html.find(".item-delete").click((ev) => { const li = $(ev.currentTarget).parents(".item"); - const itemId = li.data("itemId"); + const itemId = li.data("itemId"); this.actor.deleteOwnedItem(itemId); }); - - html.find('.feat-add').click(ev => { + + html.find(".feat-add").click((ev) => { this._createFeat(); }); - - html.find('.feat-delete').click(ev => { + + html.find(".feat-delete").click((ev) => { const li = $(ev.currentTarget).parents(".feat"); const featId = li.data("featId"); console.log("Remove feat" + featId + " clicked"); - + this.actor.deleteOwnedItem(featId); }); - - html.find('.feat-edit').click(ev => { + + html.find(".feat-edit").click((ev) => { const li = $(ev.currentTarget).parents(".feat"); - const featId = li.data("featId"); + const featId = li.data("featId"); const feat = this.actor.getOwnedItem(featId); feat.sheet.render(true); }); - - html.find('.skill-name').click(ev => { + + html.find(".skill-name").click((ev) => { const li = $(ev.currentTarget).parents(".skill"); const skillId = li.data("skill"); - + this._onSkillClicked(skillId); }); - html.find('.adquisition-add').click(ev => { + html.find(".adquisition-add").click((ev) => { this._createFeat(); }); } - + /** - * Creates a new feat for the character and shows a window to edit it. - */ + * Creates a new feat for the character and shows a window to edit it. + */ async _createFeat() { const data = { - name: game.i18n.localize('L5r5e.FeatPlaceholderName'), - type: "feat" + name: game.i18n.localize("L5r5e.FeatPlaceholderName"), + type: "feat", }; const created = await this.actor.createEmbeddedEntity("OwnedItem", data); const feat = this.actor.getOwnedItem(created._id); - + // Default values //feat.rank = 1; //feat.xp_used = 0; feat.sheet.render(true); - + return feat; } - + /** - * React to a skill from the skills list been clicked. - * @param {string} skillId Unique ID of the skill been clicked. - */ + * React to a skill from the skills list been clicked. + * @param {string} skillId Unique ID of the skill been clicked. + */ async _onSkillClicked(skillId) { console.log("Clicked on skill " + skillId); - + // TODO } -} \ No newline at end of file +} diff --git a/system/styles/l5r5e.css b/system/styles/l5r5e.css index 9dded42..d1f3d62 100644 --- a/system/styles/l5r5e.css +++ b/system/styles/l5r5e.css @@ -1 +1 @@ -.window-app .window-content{background:url("../assets/imgs/bgL5R.jpg") no-repeat;background-size:cover}*{transition-property:background, color, border-color, text-shadow, box-shadow;transition-duration:0.5s;transition-timing-function:ease}input[type="text"]:focus,input[type="number"]:focus,input[type="password"]:focus,input[type="date"]:focus,input[type="time"]:focus{box-shadow:0 0 6px rgba(255,0,0,0.75)}.tabs .item.active{text-shadow:0 0 10px rgba(255,0,0,0.75)}ul,li{list-style-type:none;margin:0;padding:0}@font-face{font-family:"LogotypeL5r";src:url("../fonts/LogotypeL5r.ttf") format("truetype")}@font-face{font-family:"BrushtipTexe";src:url("../fonts/BrushtipTexe.otf") format("opentype")}h1{font:1.5rem "BrushtipTexe"}i.strife,i.success,i.explosive,i.opportunity,i.d6,i.d12,i.i_earth,i.i_water,i.i_fire,i.i_air,i.i_void{font-family:LogotypeL5r;line-height:1rem;font-style:normal;font-weight:normal;vertical-align:middle}i.strife:before{content:"f"}i.success:before{content:"s"}i.explosive:before{content:"e"}i.opportunity:before{content:"o"}i.d6:before{content:"r"}i.d12:before{content:"k"}i.i_earth:before{content:"g"}i.i_water:before{content:"w"}i.i_fire:before{content:"i"}i.i_air:before{content:"a"}i.i_void:before{content:"v"}#sidebar #sidebar-tabs{flex:0 0 1rem;box-sizing:border-box;margin:0 0 0.25rem;border-bottom:1px solid rgba(255,255,255,0.5);box-shadow:none}#sidebar #sidebar-tabs>.item{line-height:27px;border-radius:100%;margin:0;flex:0 0 27px;height:27px}#sidebar #sidebar-tabs>.item .active{border:1px solid rgba(255,100,0,0.75);box-shadow:0 0 6px rgba(255,100,0,0.75)}.l5r5e.chat-dice>img{border:1px solid transparent;background-repeat:no-repeat;background-position:center;background-size:100%;height:44px;width:44px;outline:none;margin:0;flex:0 0 20px;display:inline-block}.l5r5e.sheet{min-width:600px}.l5r5e.sheet .sheet-header h1{flex:0 0 100%}.l5r5e.sheet .sheet-header h1 input{height:3rem;line-height:1.5rem;margin:0;padding:0 0 0.5rem;width:100%;border:1px solid rgba(255,255,255,0.5);color:#963c41}.l5r5e.sheet .sheet-header img{flex:0 0 150px;height:150px;margin-right:0.25rem}.l5r5e.sheet .sheet-header .header-fields{display:flex;flex-wrap:wrap}.l5r5e.sheet .sheet-header .identity-wrapper{flex:0 0 calc(100% - 150px - 0.25rem)}.l5r5e.sheet .sheet-header .identity-wrapper .identity-content{flex:0 0 100%;display:flex;flex-wrap:wrap}.l5r5e.sheet .sheet-header .identity-wrapper .identity-content li{flex:33%}.l5r5e.sheet .sheet-header .identity-wrapper .identity-content li:nth-child(1),.l5r5e.sheet .sheet-header .identity-wrapper .identity-content li:nth-child(2){flex:50%;margin:0 0 0.5rem}.l5r5e.sheet .sheet-header .rings{flex:0 0 calc(50% - 0.25rem);display:flex;padding:0.25rem}.l5r5e.sheet .sheet-header .social-content{flex:0 0 100%;display:flex;padding:0.25rem}.l5r5e.sheet .sheet-header .attributes-wrapper{flex:0 0 calc(50% - 0.25rem);display:flex;padding:0.25rem}.l5r5e .testing{width:14.28571%}.l5r5e .testing{width:28.57143%}.l5r5e .rings{display:flex;flex-wrap:wrap;color:rgba(255,255,255,0.75)}.l5r5e .rings #earth,.l5r5e .rings #air,.l5r5e .rings #water,.l5r5e .rings #fire,.l5r5e .rings #void{position:relative;flex:1 1 50%;text-align:center}.l5r5e .rings #earth i.i_earth,.l5r5e .rings #earth i.i_water,.l5r5e .rings #earth i.i_fire,.l5r5e .rings #earth i.i_air,.l5r5e .rings #earth i.i_void,.l5r5e .rings #air i.i_earth,.l5r5e .rings #air i.i_water,.l5r5e .rings #air i.i_fire,.l5r5e .rings #air i.i_air,.l5r5e .rings #air i.i_void,.l5r5e .rings #water i.i_earth,.l5r5e .rings #water i.i_water,.l5r5e .rings #water i.i_fire,.l5r5e .rings #water i.i_air,.l5r5e .rings #water i.i_void,.l5r5e .rings #fire i.i_earth,.l5r5e .rings #fire i.i_water,.l5r5e .rings #fire i.i_fire,.l5r5e .rings #fire i.i_air,.l5r5e .rings #fire i.i_void,.l5r5e .rings #void i.i_earth,.l5r5e .rings #void i.i_water,.l5r5e .rings #void i.i_fire,.l5r5e .rings #void i.i_air,.l5r5e .rings #void i.i_void{font-size:5rem;line-height:4.75rem}.l5r5e .rings #earth label,.l5r5e .rings #air label,.l5r5e .rings #water label,.l5r5e .rings #fire label,.l5r5e .rings #void label{position:relative;width:5rem;line-height:0;float:right}.l5r5e .rings #earth input,.l5r5e .rings #air input,.l5r5e .rings #water input,.l5r5e .rings #fire input,.l5r5e .rings #void input{position:absolute;height:2rem;width:2rem;border-radius:100%;top:0;left:0;border:2px solid #babbb1;color:rgba(255,255,255,0.75)}.l5r5e .rings #earth input:hover,.l5r5e .rings #air input:hover,.l5r5e .rings #water input:hover,.l5r5e .rings #fire input:hover,.l5r5e .rings #void input:hover{border:2px solid rgba(255,0,0,0.75);text-shadow:0 0 6px rgba(255,0,0,0.75);box-shadow:0 0 6px inset rgba(255,0,0,0.75)}.l5r5e .rings #earth{float:right;color:#6e8d6b}.l5r5e .rings #earth input{top:auto;right:0;bottom:-1rem;left:auto;background:#6e8d6b}.l5r5e .rings #earth label strong{position:absolute;bottom:0.75rem;left:-1.5rem}.l5r5e .rings #air{color:#8e768c}.l5r5e .rings #air input{top:auto;right:auto;bottom:-1rem;left:0;background:#8e768c}.l5r5e .rings #air label{float:left}.l5r5e .rings #air label strong{position:absolute;bottom:0.75rem;right:-1rem}.l5r5e .rings #water{float:right;color:#6e8b91;padding-right:2rem}.l5r5e .rings #water input{top:17%;right:-1.25rem;bottom:auto;left:auto;background:#6e8b91}.l5r5e .rings #water label strong{position:absolute;bottom:-0.75rem;right:2rem}.l5r5e .rings #fire{color:#926f47;padding-left:2rem}.l5r5e .rings #fire input{top:17%;right:auto;bottom:auto;left:-1.25rem;background:#926f47}.l5r5e .rings #fire label{float:left}.l5r5e .rings #fire label strong{position:absolute;bottom:-0.75rem;right:2rem}.l5r5e .rings #void{top:-2rem;margin:0 calc(50% - 2.5rem);color:#4d4844}.l5r5e .rings #void input{top:-1rem;right:auto;bottom:auto;left:30%;background:#4d4844}.l5r5e .rings #void label strong{position:absolute;bottom:-0.75rem;left:1.75rem}.l5r5e .testing{width:14.28571%}.l5r5e .testing{width:28.57143%}.l5r5e .testing{width:14.28571%}.l5r5e .testing{width:28.57143%} +.window-app .window-content{z-index:1;position:relative;background:url("../assets/imgs/bgL5R.webp") no-repeat;background-size:cover}.window-app .window-resizable-handle{z-index:2;background:rgba(0,0,0,0.75)}*{transition-property:background, color, border-color, text-shadow, box-shadow;transition-duration:0.5s;transition-timing-function:ease}input[type="text"]:focus,input[type="number"]:focus,input[type="password"]:focus,input[type="date"]:focus,input[type="time"]:focus{box-shadow:0 0 6px rgba(255,0,0,0.75)}.tabs .item.active{text-shadow:0 0 10px rgba(255,0,0,0.75)}#controls .scene-control.active,#controls .control-tool.active,#controls .scene-control:hover,#controls .control-tool:hover{box-shadow:0 0 10px rgba(255,0,0,0.75)}ul,li{list-style-type:none;margin:0;padding:0}input[type="text"],input[type="number"],input[type="password"],input[type="date"],input[type="time"]{background:rgba(255,255,255,0.5);border:1px solid rgba(186,187,177,0.5);padding:0.25rem;color:#764f40}@font-face{font-family:"LogotypeL5r";src:url("../fonts/LogotypeL5r.ttf") format("truetype")}@font-face{font-family:"BrushtipTexe";src:url("../fonts/BrushtipTexe.otf") format("opentype")}@font-face{font-family:"PatrickHand";src:url("../fonts/PatrickHand.ttf") format("truetype")}body{font:16px "PatrickHand",sans-serif;letter-spacing:0.05rem}h1,h4{font-family:"BrushtipTexe",sans-serif}h1{font-size:2rem}h4{font-size:1.25rem}i.strife,i.success,i.explosive,i.opportunity,i.d6,i.d12,i.i_earth,i.i_water,i.i_fire,i.i_air,i.i_void{font-family:LogotypeL5r;line-height:1rem;font-style:normal;font-weight:normal;vertical-align:middle}i.strife:before{content:"f"}i.success:before{content:"s"}i.explosive:before{content:"e"}i.opportunity:before{content:"o"}i.d6:before{content:"r"}i.d12:before{content:"k"}i.i_earth:before{content:"g"}i.i_water:before{content:"w"}i.i_fire:before{content:"i"}i.i_air:before{content:"a"}i.i_void:before{content:"v"}#sidebar{background-position:top;background-size:100%;background-repeat:no-repeat;background:url("../assets/ui/bgSidebar.png") no-repeat;top:0;height:100%;padding:0.5rem}#sidebar #sidebar-tabs{flex:0 0 1rem;box-sizing:border-box;margin:0 0 0.25rem;border-bottom:1px solid rgba(255,255,255,0.25);box-shadow:none}#sidebar #sidebar-tabs>.item{line-height:27px;border-radius:100%;margin:0;flex:0 0 27px;height:27px}#sidebar #sidebar-tabs>.item .active{border:1px solid rgba(255,100,0,0.75);box-shadow:0 0 6px rgba(255,100,0,0.75)}#sidebar .message-sender{color:#963c41}#hotbar{margin:0}#hotbar #action-bar{flex:0 0 100%}#hotbar #action-bar .macro{-o-border-image:url("../assets/ui/macro-button.webp");border-image:url("../assets/ui/macro-button.webp");border-image-slice:8 fill;border-image-width:0.25rem;border-image-outset:0;border-radius:0}#hotbar #action-bar .macro .macro-key{background:transparent}#hotbar #action-bar #macro-list{background:rgba(0,0,0,0.75);margin:0;padding:0.05rem;border:none;border-radius:0;background-origin:padding-box;-o-border-image:url("../assets/ui/macro-button.webp") 15 repeat;border-image:url("../assets/ui/macro-button.webp") 15 repeat;border-image-width:0.5rem;border-image-outset:0px;box-shadow:0.25rem 0.25rem 0.5rem rgba(0,0,0,0.75)}#hotbar .bar-controls{background:rgba(0,0,0,0.75);background-origin:padding-box;-o-border-image:url("../assets/ui/macro-button.webp") 15 repeat;border-image:url("../assets/ui/macro-button.webp") 15 repeat;border-image-width:0.5rem;border-image-outset:0px;box-shadow:0 0 0.25rem rgba(0,0,0,0.75);border-radius:0;margin:0 0.5rem}#hotbar .bar-controls a.page-control,#hotbar .bar-controls span.page-number{font-size:1rem;line-height:0.95rem}#players{background:rgba(0,0,0,0.75);background-origin:padding-box;-o-border-image:url("../assets/ui/macro-button.webp") 15 repeat;border-image:url("../assets/ui/macro-button.webp") 15 repeat;border-image-width:0.5rem;border-image-outset:0px;margin:0;padding:0;left:1.15rem;bottom:0.65rem;box-shadow:inset 0 0 0.5rem rgba(0,0,0,0.75)}#players:before{z-index:-1;position:absolute;content:"";background:transparent url("../assets/ui/players-border.webp") no-repeat 0 0;background-size:100%;display:block;top:-12px;right:10%;left:10%;bottom:0}#logo{height:80px;margin-left:0.5rem;opacity:0.5}#logo:hover{opacity:0.75}#navigation{left:120px}#navigation #nav-toggle,#navigation #scene-list .scene.nav-item{cursor:default;color:rgba(255,255,255,0.65);background:linear-gradient(#285064, #0a141e, #285064);background-origin:padding-box;-o-border-image:url("../assets/ui/macro-button.webp") 10 repeat;border-image:url("../assets/ui/macro-button.webp") 10 repeat;border-image-width:0.25rem;border-image-outset:0px}#navigation #scene-list .scene.nav-item.active{background:linear-gradient(#41140f, #230a05, #41140f)}#navigation #scene-list .scene.view,#navigation #scene-list .scene.context{cursor:default;color:#FFF;background:linear-gradient(#41140f, #230a05, #41140f);background-origin:padding-box;-o-border-image:url("../assets/ui/macro-button.webp") 10 repeat;border-image:url("../assets/ui/macro-button.webp") 10 repeat;border-image-width:0.25rem;border-image-outset:0px;box-shadow:0 0 20px red}#controls{top:100px}#controls .scene-control.active,#controls .control-tool.active,#controls .scene-control:hover,#controls .control-tool:hover{background:linear-gradient(#41140f, #230a05, #41140f);background-origin:padding-box;-o-border-image:url("../assets/ui/macro-button.webp") 10 repeat;border-image:url("../assets/ui/macro-button.webp") 10 repeat;border-image-width:0.25rem;border-image-outset:0px;box-shadow:0 0 10px rgba(255,0,0,0.75)}#controls .scene-control,#controls .control-tool{background:linear-gradient(#285064, #0a141e, #285064);background-origin:padding-box;-o-border-image:url("../assets/ui/macro-button.webp") 10 repeat;border-image:url("../assets/ui/macro-button.webp") 10 repeat;border-image-width:0.25rem;border-image-outset:0px}.l5r5e.chat-dice>img{border:1px solid transparent;background-repeat:no-repeat;background-position:center;background-size:100%;height:44px;width:44px;outline:none;margin:0;flex:0 0 20px;display:inline-block}.l5r5e.sheet{min-width:600px}.l5r5e.sheet .sheet-header h1{flex:auto;margin:0 0.5rem 0.25rem}.l5r5e.sheet .sheet-header h1 input{flex:0 0 100%;height:4rem;margin:0.5rem 0 0;width:100%;color:#963c41;background:transparent;border:0 none;border-radius:0;border-bottom:1px dotted rgba(0,0,0,0.5)}.l5r5e.sheet .sheet-header h1:before{content:"";position:absolute;background:url("../assets/imgs/brushL5r.webp") no-repeat 0 0;background-size:contain;height:225px;width:100%;z-index:-1;left:-0.25rem}.l5r5e.sheet .sheet-header img{flex:0 0 150px;height:150px;margin-right:0;-o-object-fit:contain;object-fit:contain;background:rgba(255,255,255,0.5);border:1px solid rgba(186,187,177,0.5);--notchSize: 0.5rem;-webkit-clip-path:polygon(0% var(--notchSize), var(--notchSize) 0%, calc(100% - var(--notchSize)) 0%, 100% var(--notchSize), 100% calc(100% - var(--notchSize)), calc(100% - var(--notchSize)) 100%, var(--notchSize) 100%, 0% calc(100% - var(--notchSize)));clip-path:polygon(0% var(--notchSize), var(--notchSize) 0%, calc(100% - var(--notchSize)) 0%, 100% var(--notchSize), 100% calc(100% - var(--notchSize)), calc(100% - var(--notchSize)) 100%, var(--notchSize) 100%, 0% calc(100% - var(--notchSize)))}.l5r5e.sheet .sheet-header .header-fields h2{font-family:"BrushtipTexe",sans-serif;float:right;width:50%;padding:0 0.25rem;margin:0;text-align:right;color:rgba(0,0,0,0.5);border-bottom:rgba(255,255,255,0.65);--notchSize: 0.5rem;-webkit-clip-path:polygon(0% var(--notchSize), var(--notchSize) 0%, calc(100%) 0%, 100% var(--notchSize), 100% calc(100% - var(--notchSize)), calc(100% - var(--notchSize)) 100%, var(--notchSize) 100%, 0% calc(100%));clip-path:polygon(0% var(--notchSize), var(--notchSize) 0%, calc(100%) 0%, 100% var(--notchSize), 100% calc(100% - var(--notchSize)), calc(100% - var(--notchSize)) 100%, var(--notchSize) 100%, 0% calc(100%))}.l5r5e.sheet .sheet-header .header-fields h2:before{content:"";position:absolute;height:1px;width:100%}.l5r5e.sheet .sheet-header .identity-wrapper{display:flex;flex-wrap:wrap;flex:0 0 calc(100% - 150px - 0.25rem)}.l5r5e.sheet .sheet-header .identity-wrapper .identity-content{flex:0 0 100%;display:flex;flex-wrap:wrap;margin:0.5rem}.l5r5e.sheet .sheet-header .identity-wrapper .identity-content li{flex:33%}.l5r5e.sheet .sheet-header .identity-wrapper .identity-content li:nth-child(1),.l5r5e.sheet .sheet-header .identity-wrapper .identity-content li:nth-child(2){flex:50%;margin:0 0 0.5rem}.l5r5e.sheet .sheet-header .rings{float:left;width:calc(50% - 0.25rem);padding:0.25rem}.l5r5e.sheet .sheet-header .social-content{flex:0 0 100%;display:flex;padding:0.25rem}.l5r5e.sheet .sheet-header .attributes-wrapper{float:right;width:calc(50% - 0.25rem);padding:0.5rem 0 0.5rem 1rem;display:flex;flex-wrap:wrap;flex-direction:column;background:rgba(186,187,177,0.5);--notchSize: 0.5rem;-webkit-clip-path:polygon(0% var(--notchSize), var(--notchSize) 0%, calc(100%) 0%, 100% var(--notchSize), 100% calc(100% - var(--notchSize)), calc(100% - var(--notchSize)) 100%, var(--notchSize) 100%, 0% calc(100%));clip-path:polygon(0% var(--notchSize), var(--notchSize) 0%, calc(100%) 0%, 100% var(--notchSize), 100% calc(100% - var(--notchSize)), calc(100% - var(--notchSize)) 100%, var(--notchSize) 100%, 0% calc(100%))}.l5r5e.sheet .sheet-header .attributes-wrapper .endurance-content label,.l5r5e.sheet .sheet-header .attributes-wrapper .composure-content label,.l5r5e.sheet .sheet-header .attributes-wrapper .void-content label{float:left;width:50%}.l5r5e.sheet .sheet-header .attributes-wrapper li p{display:none;position:absolute}.l5r5e.sheet .sheet-header .attributes-wrapper li:hover p{display:block}.l5r5e.sheet .sheet-header .identity-wrapper label,.l5r5e.sheet .sheet-header .social-content label,.l5r5e.sheet .sheet-header .attributes-wrapper label{display:flex;color:#5a6e5a;text-transform:uppercase;font-size:0.75rem;line-height:2rem}.l5r5e.sheet .sheet-header .identity-wrapper label input,.l5r5e.sheet .sheet-header .social-content label input,.l5r5e.sheet .sheet-header .attributes-wrapper label input{flex:1;margin:0 1rem 0 0.5rem}.l5r5e.sheet article{background:rgba(255,255,255,0.5);padding:0.5rem}.l5r5e nav.sheet-tabs{background:rgba(186,187,177,0.5);color:rgba(0,0,0,0.5);--notchSize: 0.5rem;-webkit-clip-path:polygon(0% var(--notchSize), var(--notchSize) 0%, calc(100% - var(--notchSize)) 0%, 100% var(--notchSize), 100% calc(100% - var(--notchSize)), calc(100%) 100%, var(--notchSize) 100%, 0% calc(100%));clip-path:polygon(0% var(--notchSize), var(--notchSize) 0%, calc(100% - var(--notchSize)) 0%, 100% var(--notchSize), 100% calc(100% - var(--notchSize)), calc(100%) 100%, var(--notchSize) 100%, 0% calc(100%))}.l5r5e nav .item:hover{background-color:rgba(0,0,0,0.75);color:#fff;text-shadow:black 1px 2px 0}.l5r5e nav .item.active{height:2.5rem;line-height:2rem;background-color:rgba(73,12,11,0.85);color:#fff;background-color:rgba(73,12,11,0.85);-webkit-clip-path:polygon(0% var(--notchSize), var(--notchSize) 0%, calc(100% - var(--notchSize)) 0%, 100% var(--notchSize), 100% 100%, 0 100%, 0% 0%, 0% 100%);clip-path:polygon(0% var(--notchSize), var(--notchSize) 0%, calc(100% - var(--notchSize)) 0%, 100% var(--notchSize), 100% 100%, 0 100%, 0% 0%, 0% 100%)}.l5r5e nav .item.active:hover{background-color:rgba(73,12,11,0.85);cursor:default}.l5r5e .rings{display:flex;flex-wrap:wrap;color:rgba(255,255,255,0.65)}.l5r5e .rings #earth,.l5r5e .rings #air,.l5r5e .rings #water,.l5r5e .rings #fire,.l5r5e .rings #void{position:relative;flex:1 1 50%;text-align:center}.l5r5e .rings #earth i.i_earth,.l5r5e .rings #earth i.i_water,.l5r5e .rings #earth i.i_fire,.l5r5e .rings #earth i.i_air,.l5r5e .rings #earth i.i_void,.l5r5e .rings #air i.i_earth,.l5r5e .rings #air i.i_water,.l5r5e .rings #air i.i_fire,.l5r5e .rings #air i.i_air,.l5r5e .rings #air i.i_void,.l5r5e .rings #water i.i_earth,.l5r5e .rings #water i.i_water,.l5r5e .rings #water i.i_fire,.l5r5e .rings #water i.i_air,.l5r5e .rings #water i.i_void,.l5r5e .rings #fire i.i_earth,.l5r5e .rings #fire i.i_water,.l5r5e .rings #fire i.i_fire,.l5r5e .rings #fire i.i_air,.l5r5e .rings #fire i.i_void,.l5r5e .rings #void i.i_earth,.l5r5e .rings #void i.i_water,.l5r5e .rings #void i.i_fire,.l5r5e .rings #void i.i_air,.l5r5e .rings #void i.i_void{font-size:5rem;line-height:4.75rem}.l5r5e .rings #earth label,.l5r5e .rings #air label,.l5r5e .rings #water label,.l5r5e .rings #fire label,.l5r5e .rings #void label{position:relative;width:5rem;line-height:0;float:right}.l5r5e .rings #earth input,.l5r5e .rings #air input,.l5r5e .rings #water input,.l5r5e .rings #fire input,.l5r5e .rings #void input{position:absolute;height:2rem;width:2rem;border-radius:100%;top:0;left:0;border:2px solid rgba(186,187,177,0.5);color:rgba(255,255,255,0.65)}.l5r5e .rings #earth input:hover,.l5r5e .rings #air input:hover,.l5r5e .rings #water input:hover,.l5r5e .rings #fire input:hover,.l5r5e .rings #void input:hover{border:2px solid rgba(255,0,0,0.75);text-shadow:0 0 6px rgba(255,0,0,0.75);box-shadow:0 0 6px inset rgba(255,0,0,0.75)}.l5r5e .rings #earth{float:right;color:#699678}.l5r5e .rings #earth input{top:auto;right:0;bottom:-1rem;left:auto;background:#699678}.l5r5e .rings #earth label strong{position:absolute;bottom:0.75rem;left:-1.75rem}.l5r5e .rings #air{color:#917896}.l5r5e .rings #air input{top:auto;right:auto;bottom:-1rem;left:0;background:#917896}.l5r5e .rings #air label{float:left}.l5r5e .rings #air label strong{position:absolute;bottom:0.75rem;right:-1rem}.l5r5e .rings #water{float:right;color:#5f919b;padding-right:2rem}.l5r5e .rings #water input{top:17%;right:-1.25rem;bottom:auto;left:auto;background:#5f919b}.l5r5e .rings #water label strong{position:absolute;bottom:-0.75rem;right:2rem}.l5r5e .rings #fire{color:#9b7350;padding-left:2rem}.l5r5e .rings #fire input{top:17%;right:auto;bottom:auto;left:-1.25rem;background:#9b7350}.l5r5e .rings #fire label{float:left}.l5r5e .rings #fire label strong{position:absolute;bottom:-0.75rem;right:2rem}.l5r5e .rings #void{top:-2rem;margin:0 calc(50% - 2.5rem);color:#4b4641}.l5r5e .rings #void input{top:-1rem;right:auto;bottom:auto;left:30%;background:#4b4641}.l5r5e .rings #void label strong{position:absolute;bottom:-0.75rem;left:1.75rem}.l5r5e .testing{width:14.28571%}.l5r5e .testing{width:28.57143%}.l5r5e .testing{width:14.28571%}.l5r5e .testing{width:28.57143%} diff --git a/system/styles/scss/colors.scss b/system/styles/scss/colors.scss index 300010d..75689b7 100644 --- a/system/styles/scss/colors.scss +++ b/system/styles/scss/colors.scss @@ -1,34 +1,49 @@ /** Colors **/ // -- Global -$white: rgba(255, 255, 255, 0.75); +$white: rgba(255, 255, 255, 0.65); $black: rgba(0, 0, 0, 0.75); +$dark-red: rgba(25, 0, 0, 0.75); $red: rgba(255, 0, 0, 0.75); $orange: rgba(255, 100, 0, 0.75); $blue: rgba(0, 0, 255, 0.75); $green: rgba(0, 255, 0, 0.75); // color title -$l5r5e-title: rgb(186, 187, 177); +$l5r5e-title: rgba(186, 187, 177, 0.5); // color bold $l5r5e-bold: rgb(118, 79, 64); +// color label +$l5r5e-label: rgb(90, 110, 90); // color red $l5r5e-red: rgb(150, 60, 65); // color white 0.5 $l5r5e-white: rgba(255, 255, 255, 0.5); +// color white 0.5 +$l5r5e-white-light: rgba(255, 255, 255, 0.25); // color black 0.5 $l5r5e-black: rgba(0, 0, 0, 0.5); +// gradient +$l5r5e-linear-gradient-red: rgba(65, 20, 15, 1); +$l5r5e-linear-gradient-red-dark: rgba(35, 10, 5, 1); +$l5r5e-linear-gradient-blue: rgba(40, 80, 100, 1); +$l5r5e-linear-gradient-blue-dark: rgba(10, 20, 30, 1); +$l5r5e-linear-gradient-green: rgba(40, 100, 50, 1); +$l5r5e-linear-gradient-green-dark: rgba(10, 60, 15, 1); + +// -- Rings + // Earth -$l5r5e-earth: rgb(110, 141, 107); +$l5r5e-earth: rgb(105, 150, 120); // Air -$l5r5e-air: rgb(142, 118, 140); +$l5r5e-air: rgb(145, 120, 150); // Water -$l5r5e-water: rgb(110, 139, 145); +$l5r5e-water: rgb(95, 145, 155); // Fire -$l5r5e-fire: rgb(146, 111, 71); +$l5r5e-fire: rgb(155, 115, 80); // Void -$l5r5e-void: rgb(77, 72, 68); +$l5r5e-void: rgb(75, 70, 65); // -- Clans diff --git a/system/styles/scss/fonts.scss b/system/styles/scss/fonts.scss index b39db77..6e84b50 100644 --- a/system/styles/scss/fonts.scss +++ b/system/styles/scss/fonts.scss @@ -12,12 +12,30 @@ src: url("../fonts/BrushtipTexe.otf") format("opentype"); } -$font-primary: "Roboto", sans-serif; +// Font ArchitectsDaughter +@font-face { + font-family: "PatrickHand"; + src: url("../fonts/PatrickHand.ttf") format("truetype"); +} + +$font-primary: "PatrickHand", sans-serif; $font-secondary: "BrushtipTexe", sans-serif; $font-dice: "LogotypeL5r", sans-serif; +body { + font: 16px $font-primary; + letter-spacing: 0.05rem; +} + +h1, +h4 { + font-family: $font-secondary; +} h1 { - font: 1.5rem "BrushtipTexe"; + font-size: 2rem; +} +h4 { + font-size: 1.25rem; } i.strife, diff --git a/system/styles/scss/global.scss b/system/styles/scss/global.scss index 8b6fbe9..e2c66c4 100644 --- a/system/styles/scss/global.scss +++ b/system/styles/scss/global.scss @@ -3,9 +3,15 @@ /* Windows */ .window-app { .window-content { - background: url("../assets/imgs/bgL5R.jpg") no-repeat; + z-index: 1; + position: relative; + background: url("../assets/imgs/bgL5R.webp") no-repeat; background-size: cover; } + .window-resizable-handle { + z-index: 2; + background: $black; + } } /* Focus, Active */ @@ -24,6 +30,12 @@ input[type="time"]:focus { .tabs .item.active { text-shadow: 0 0 10px $red; } +#controls .scene-control.active, +#controls .control-tool.active, +#controls .scene-control:hover, +#controls .control-tool:hover { + box-shadow: 0 0 10px $red; +} /* lists */ ul, @@ -32,3 +44,15 @@ li { margin: 0; padding: 0; } + +// inputs +input[type="text"], +input[type="number"], +input[type="password"], +input[type="date"], +input[type="time"] { + background: $l5r5e-white; + border: 1px solid $l5r5e-title; + padding: 0.25rem; + color: $l5r5e-bold; +} diff --git a/system/styles/scss/nav.scss b/system/styles/scss/nav.scss index 105cebd..5126a51 100644 --- a/system/styles/scss/nav.scss +++ b/system/styles/scss/nav.scss @@ -1,9 +1,48 @@ -//SCSS -// l5re5.scss -.testing { - width: percentage(1/7); +// -- Nav + +nav { + &.sheet-tabs { + background: $l5r5e-title; + color: $l5r5e-black; + --notchSize: 0.5rem; + clip-path: polygon( + 0% var(--notchSize), + var(--notchSize) 0%, + calc(100% - var(--notchSize)) 0%, + 100% var(--notchSize), + 100% calc(100% - var(--notchSize)), + calc(100%) 100%, + var(--notchSize) 100%, + 0% calc(100%) + ); + } + .item { + &:hover { + background-color: rgba(0, 0, 0, 0.75); + color: rgba(255, 255, 255, 1); + text-shadow: black 1px 2px 0; + } + } + .item.active { + height: 2.5rem; + line-height: 2rem; + background-color: rgba(73, 12, 11, 0.85); + color: rgba(255, 255, 255, 1); + background-color: rgba(73, 12, 11, 0.85); + clip-path: polygon( + 0% var(--notchSize), + var(--notchSize) 0%, + calc(100% - var(--notchSize)) 0%, + 100% var(--notchSize), + 100% 100%, + 0 100%, + 0% 0%, + 0% 100% + ); + + &:hover { + background-color: rgba(73, 12, 11, 0.85); + cursor: default; + } + } } -// test -.testing { - width: percentage(2/7); -} \ No newline at end of file diff --git a/system/styles/scss/rings.scss b/system/styles/scss/rings.scss index 5ff311a..fdac18a 100644 --- a/system/styles/scss/rings.scss +++ b/system/styles/scss/rings.scss @@ -61,7 +61,7 @@ strong { position: absolute; bottom: 0.75rem; - left: -1.5rem; + left: -1.75rem; } } } diff --git a/system/styles/scss/sheets.scss b/system/styles/scss/sheets.scss index 9372ff9..9a270c7 100644 --- a/system/styles/scss/sheets.scss +++ b/system/styles/scss/sheets.scss @@ -3,32 +3,87 @@ min-width: 600px; .sheet-header { h1 { - flex: 0 0 100%; + flex: auto; + margin: 0 0.5rem 0.25rem; input { - height: 3rem; - line-height: 1.5rem; - margin: 0; - padding: 0 0 0.5rem; + flex: 0 0 100%; + height: 4rem; + margin: 0.5rem 0 0; width: 100%; - border: 1px solid $l5r5e-white; color: $l5r5e-red; + background: transparent; + border: 0 none; + border-radius: 0; + border-bottom: 1px dotted $l5r5e-black; + } + &:before { + content: ""; + position: absolute; + background: url("../assets/imgs/brushL5r.webp") no-repeat 0 0; + background-size: contain; + height: 225px; + width: 100%; + z-index: -1; + left: -0.25rem; } } img { flex: 0 0 150px; height: 150px; - margin-right: 0.25rem; + margin-right: 0; + object-fit: contain; + background: $l5r5e-white; + border: 1px solid $l5r5e-title; + --notchSize: 0.5rem; + clip-path: polygon( + 0% var(--notchSize), + var(--notchSize) 0%, + calc(100% - var(--notchSize)) 0%, + 100% var(--notchSize), + 100% calc(100% - var(--notchSize)), + calc(100% - var(--notchSize)) 100%, + var(--notchSize) 100%, + 0% calc(100% - var(--notchSize)) + ); } .header-fields { - display: flex; - flex-wrap: wrap; + h2 { + font-family: $font-secondary; + float: right; + width: 50%; + padding: 0 0.25rem; + margin: 0; + text-align: right; + color: $l5r5e-black; + border-bottom: $white; + --notchSize: 0.5rem; + clip-path: polygon( + 0% var(--notchSize), + var(--notchSize) 0%, + calc(100%) 0%, + 100% var(--notchSize), + 100% calc(100% - var(--notchSize)), + calc(100% - var(--notchSize)) 100%, + var(--notchSize) 100%, + 0% calc(100%) + ); + &:before { + content: ""; + position: absolute; + height: 1px; + width: 100%; + } + } } .identity-wrapper { + display: flex; + flex-wrap: wrap; flex: 0 0 calc(100% - 150px - 0.25rem); .identity-content { flex: 0 0 100%; display: flex; flex-wrap: wrap; + margin: 0.5rem; li { flex: 33%; &:nth-child(1), @@ -40,8 +95,8 @@ } } .rings { - flex: 0 0 calc(50% - 0.25rem); - display: flex; + float: left; + width: calc(50% - 0.25rem); padding: 0.25rem; } .social-content { @@ -50,9 +105,60 @@ padding: 0.25rem; } .attributes-wrapper { - flex: 0 0 calc(50% - 0.25rem); + float: right; + width: calc(50% - 0.25rem); + padding: 0.5rem 0 0.5rem 1rem; display: flex; - padding: 0.25rem; + flex-wrap: wrap; + flex-direction: column; + background: $l5r5e-title; + --notchSize: 0.5rem; + clip-path: polygon( + 0% var(--notchSize), + var(--notchSize) 0%, + calc(100%) 0%, + 100% var(--notchSize), + 100% calc(100% - var(--notchSize)), + calc(100% - var(--notchSize)) 100%, + var(--notchSize) 100%, + 0% calc(100%) + ); + .endurance-content, + .composure-content, + .void-content { + label { + float: left; + width: 50%; + } + } + li { + p { + display: none; + position: absolute; + } + &:hover { + p { + display: block; + } + } + } + } + .identity-wrapper label, + .social-content label, + .attributes-wrapper label { + display: flex; + color: $l5r5e-label; + text-transform: uppercase; + font-size: 0.75rem; + line-height: 2rem; + input { + flex: 1; + margin: 0 1rem 0 0.5rem; + } } } + article { + background: $l5r5e-white; + padding: 0.5rem; + } } diff --git a/system/styles/scss/ui.scss b/system/styles/scss/ui.scss index 64b7b39..28800c8 100644 --- a/system/styles/scss/ui.scss +++ b/system/styles/scss/ui.scss @@ -1,11 +1,19 @@ -//SCSS -// sdebar +/* SCSS */ + +// sidebar #sidebar { + background-position: top; + background-size: 100%; + background-repeat: no-repeat; + background: url("../assets/ui/bgSidebar.png") no-repeat; + top: 0; + height: 100%; + padding: 0.5rem; #sidebar-tabs { flex: 0 0 1rem; box-sizing: border-box; margin: 0 0 0.25rem; - border-bottom: 1px solid $l5r5e-white; + border-bottom: 1px solid rgba(255, 255, 255, 0.25); box-shadow: none; > .item { line-height: 27px; @@ -19,4 +27,163 @@ } } } + .message-sender { + color: $l5r5e-red; + } +} + +// hotbar +#hotbar { + margin: 0; + #action-bar { + flex: 0 0 100%; + .macro { + border-image: url("../assets/ui/macro-button.webp"); + border-image-slice: 8 fill; + border-image-width: 0.25rem; + border-image-outset: 0; + border-radius: 0; + .macro-key { + background: transparent; + } + } + #macro-list { + background: $black; + margin: 0; + padding: 0.05rem; + border: none; + border-radius: 0; + background-origin: padding-box; + border-image: url("../assets/ui/macro-button.webp") 15 repeat; + border-image-width: 0.5rem; + border-image-outset: 0px; + box-shadow: 0.25rem 0.25rem 0.5rem $black; + } + } + .bar-controls { + background: $black; + background-origin: padding-box; + border-image: url("../assets/ui/macro-button.webp") 15 repeat; + border-image-width: 0.5rem; + border-image-outset: 0px; + box-shadow: 0 0 0.25rem $black; + border-radius: 0; + margin: 0 0.5rem; + a.page-control, + span.page-number { + font-size: 1rem; + line-height: 0.95rem; + } + } +} + +// players +#players { + background: $black; + background-origin: padding-box; + border-image: url("../assets/ui/macro-button.webp") 15 repeat; + border-image-width: 0.5rem; + border-image-outset: 0px; + margin: 0; + padding: 0; + left: 1.15rem; + bottom: 0.65rem; + box-shadow: inset 0 0 0.5rem $black; + &:before { + z-index: -1; + position: absolute; + content: ""; + background: transparent url("../assets/ui/players-border.webp") no-repeat 0 0; + background-size: 100%; + display: block; + top: -12px; + right: 10%; + left: 10%; + bottom: 0; + } +} + +// logo +#logo { + height: 80px; + margin-left: 0.5rem; + opacity: 0.5; + &:hover { + opacity: 0.75; + } +} + +// navigation +#navigation { + left: 120px; + #nav-toggle, + #scene-list .scene.nav-item { + cursor: default; + color: $white; + background: linear-gradient( + $l5r5e-linear-gradient-blue, + $l5r5e-linear-gradient-blue-dark, + $l5r5e-linear-gradient-blue + ); + background-origin: padding-box; + border-image: url("../assets/ui/macro-button.webp") 10 repeat; + border-image-width: 0.25rem; + border-image-outset: 0px; + } + #scene-list { + .scene.nav-item.active { + background: linear-gradient( + $l5r5e-linear-gradient-red, + $l5r5e-linear-gradient-red-dark, + $l5r5e-linear-gradient-red + ); + } + .scene.view, + .scene.context { + cursor: default; + color: #fff; + background: linear-gradient( + $l5r5e-linear-gradient-red, + $l5r5e-linear-gradient-red-dark, + $l5r5e-linear-gradient-red + ); + background-origin: padding-box; + border-image: url("../assets/ui/macro-button.webp") 10 repeat; + border-image-width: 0.25rem; + border-image-outset: 0px; + box-shadow: 0 0 20px red; + } + } +} + +// controls +#controls { + top: 100px; + .scene-control.active, + .control-tool.active, + .scene-control:hover, + .control-tool:hover { + background: linear-gradient( + $l5r5e-linear-gradient-red, + $l5r5e-linear-gradient-red-dark, + $l5r5e-linear-gradient-red + ); + background-origin: padding-box; + border-image: url("../assets/ui/macro-button.webp") 10 repeat; + border-image-width: 0.25rem; + border-image-outset: 0px; + box-shadow: 0 0 10px $red; + } + .scene-control, + .control-tool { + background: linear-gradient( + $l5r5e-linear-gradient-blue, + $l5r5e-linear-gradient-blue-dark, + $l5r5e-linear-gradient-blue + ); + background-origin: padding-box; + border-image: url("../assets/ui/macro-button.webp") 10 repeat; + border-image-width: 0.25rem; + border-image-outset: 0px; + } } diff --git a/system/system.json b/system/system.json index 7b4ac43..e908cf3 100644 --- a/system/system.json +++ b/system/system.json @@ -1,48 +1,43 @@ { - "name": "l5r5e", - "title": "Legend of the Five Rings (5th Edition)", - "description": "This is a game system, in English and French, for Legend of the Five Rings (5th Edition) by Edge Studio

- Join the official Discord server: Official Discord

- Rejoignez la communauté Francophone: Francophone Discord

", - "version": "0.0.2", - "minimumCoreVersion": "0.7.8", - "compatibleCoreVersion": "1.0.0", - "author": "Team L5R", - "scripts": [ - "./l5r-ui/scripts/l5rui-chat-color.js" - ], + "name": "l5r5e", + "title": "Legend of the Five Rings (5th Edition)", + "description": "This is a game system, multilanguage in En/FR/ES, for Legend of the Five Rings (5th Edition) by Edge Studio

- Join the official Discord server: Official Discord

- Rejoignez la communauté Francophone: Francophone Discord

", + "version": "0.0.2", + "minimumCoreVersion": "0.7.8", + "compatibleCoreVersion": "1.0.0", + "author": "Team L5R", + "scripts": ["./l5r-ui/scripts/l5rui-chat-color.js"], - "esmodules" : [ - "./l5r-ui/scripts/help/l5rui-help.js", - "./scripts/dice-l5r5e.js", - "./scripts/main-l5r5e.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", - "name": "English", - "path": "lang/en.json" - }, - { - "lang": "fr", - "name": "French (French)", - "path": "lang/fr.json" - }, - { - "lang": "pt-BR", - "name": "Português (Brasil)", - "path": "lang/pt-BR.json" - } - ], - - "background" : "L5R-Header.webp", - "packs": [], - "url": "https://gitlab.com/teaml5r/l5r5e", - "manifest": "https://gitlab.com/teaml5r/l5r5e/-/raw/master/system/system.json", - "download": "https://gitlab.com/teaml5r/l5r5e/-/jobs/artifacts/v0.0.2/raw/l5r5e.zip?job=build" + "styles": ["./l5r-ui/css/l5rui.css", "./l5r-ui/css/cursor.css", "./styles/l5r5e.css"], + + "languages": [ + { + "lang": "en", + "name": "English", + "path": "lang/en-en.json" + }, + { + "lang": "fr", + "name": "French (France)", + "path": "lang/fr-fr.json" + }, + { + "lang": "es", + "name": "Spanish (Spain)", + "path": "lang/es-es.json" + }, + { + "lang": "pt-br", + "name": "Português (Brasil)", + "path": "lang/pt-br.json" + } + ], + + "background": "L5R-Header.webp", + "packs": [], + "url": "https://gitlab.com/teaml5r/l5r5e", + "manifest": "https://gitlab.com/teaml5r/l5r5e/-/raw/master/system/system.json", + "download": "https://gitlab.com/teaml5r/l5r5e/-/jobs/artifacts/v0.0.2/raw/l5r5e.zip?job=build" } diff --git a/system/template.json b/system/template.json index 6898fb2..340da90 100644 --- a/system/template.json +++ b/system/template.json @@ -2,7 +2,7 @@ "Actor": { "types": ["character"], "templates": { - "identity" : { + "identity": { "clan": "", "family": "", "school": "", @@ -18,8 +18,8 @@ "void": 1 } }, - "social_standing": { - "social_standing": { + "social": { + "social": { "honor": 0, "glory": 0, "status": 0, @@ -102,25 +102,23 @@ } }, "character": { - "templates": ["identity", "rings", "social", "category", "conflict", "experience"], + "templates": ["identity", "rings", "social", "skills", "conflict", "xp"], "notes": "", "feats": [] } }, - "Item": { - "types": ["item", "weapon", "feat"], + "types": ["item", "weapon", "feat", "xp-advancement"], "item": { "description": "", "quantity": 1, "weight": 0 }, - "weapon" : { + "weapon": { "quantity": 1, "weight": 0, "description": "", "damage": 0, - "deadliness": 0, "range": 0, "properties": "" }, diff --git a/system/templates/sheets/actor-sheet.html b/system/templates/sheets/actor-sheet.html index 1ed70db..80bcbe6 100644 --- a/system/templates/sheets/actor-sheet.html +++ b/system/templates/sheets/actor-sheet.html @@ -8,6 +8,7 @@
{{> 'systems/l5r5e/templates/sheets/actor/social.html' }} +

{{ localize 'L5r5e.Attributes.Title' }}

{{> 'systems/l5r5e/templates/sheets/actor/rings.html' }} {{> 'systems/l5r5e/templates/sheets/actor/attributes.html' }}
@@ -33,7 +34,7 @@
{{> 'systems/l5r5e/templates/sheets/actor/feats.html' }} diff --git a/system/templates/sheets/actor/attributes.html b/system/templates/sheets/actor/attributes.html index 4670189..2a26cb4 100644 --- a/system/templates/sheets/actor/attributes.html +++ b/system/templates/sheets/actor/attributes.html @@ -1,52 +1,48 @@ \ No newline at end of file diff --git a/system/templates/sheets/actor/category.html b/system/templates/sheets/actor/category.html index 2df5b05..7116214 100644 --- a/system/templates/sheets/actor/category.html +++ b/system/templates/sheets/actor/category.html @@ -2,7 +2,7 @@

{{ localizeSkillCategory categoryId }}