Compare commits

...

14 Commits
master ... dev

Author SHA1 Message Date
Litasa
8555138366 Merge branch 'v14update_varius_fixes' into 'dev'
V14 update with various fixes

See merge request teaml5r/l5r5e!66
2026-04-12 11:00:49 +00:00
Litasa
b14006a826 V14 update with various fixes
* Fixing so that chat messages now show list icon
* Fixed deprecation message from chat
* Adding our custom drop down icons to search compendium filter
* Fixing error when creating actors
2026-04-12 11:00:49 +00:00
Litasa
48a751b508 Merge branch 'fixing_autocomplete' into 'dev'
Re-add autocomplete-wrapper (was removed prematurely)

See merge request teaml5r/l5r5e!65
2026-04-10 05:26:46 +00:00
Litasa
8dcfbcfaf7 Re-add autocomplete-wrapper (was removed prematurely) 2026-04-10 07:16:04 +02:00
Vlyan
55f6dfaee7 Compat v14 : fix chat input 2026-04-06 16:39:28 +02:00
Vlyan
79b3290002 Compat v14 : rollMode -> messageMode 2026-04-06 14:56:46 +02:00
Vlyan
1cbe8af998 Compat v14 : CSS for Dice (Chat & RnK) 2026-04-06 12:54:26 +02:00
Vlyan
852703c4ef Compat v14 : replace broken localize² with new helper localizeEmbedded 2026-04-06 12:54:26 +02:00
Litasa
71f01b1c5c Merge branch 'issue_77_mark_dead_combat_tracker' into 'dev'
Adding the default status dead, used for marking combatants dead

See merge request teaml5r/l5r5e!64
2026-04-06 08:58:25 +00:00
litasa
4b3b7d86fd Adding the default status dead, used for marking combatants dead 2026-04-06 08:56:41 +00:00
Vlyan
1c27693dbe Fix black embedded links displays on Tooltips. 2026-03-11 09:18:07 +01:00
Vlyan
ff7be43861 Fix List without bullet on item sheets 2026-03-11 09:05:57 +01:00
Litasa
9927c40963 Merge branch 'update_package_json_adding_foundryvtt_cli' into 'dev'
Updated dev dependencies. Added foundryvtt cli to dev dependencies

See merge request teaml5r/l5r5e!63
2026-03-03 20:44:41 +00:00
litasa
236a0fd300 Updated dev dependencies. Added foundryvtt cli to dev dependencies 2026-03-03 06:57:29 +01:00
30 changed files with 3164 additions and 8385 deletions

View File

@@ -6,6 +6,12 @@ Date format : day/month/year
> - `foundry-version`: Stick to the major version of FoundryVTT. > - `foundry-version`: Stick to the major version of FoundryVTT.
> - `system-version`: System functionalities and Fixes. > - `system-version`: System functionalities and Fixes.
## 1.14.0 - ??/04/2026 - Foundry v14 Compatibility
__! Be certain to carefully back up any critical user data before installing this update !__
- Updated the System to FoundryVTT v14.
- Fix List without bullet on item sheets.
- Fix black embedded links displays on Tooltips.
## 1.13.4 - 01/03/2026 - UI Polish, Compendium Upgrades ## 1.13.4 - 01/03/2026 - UI Polish, Compendium Upgrades
Welcoming Litasa as a maintainer for the system! Welcoming Litasa as a maintainer for the system!

View File

@@ -3,7 +3,7 @@
![Banner Legend of the Five Rings](./l5rBan.jpg) ![Banner Legend of the Five Rings](./l5rBan.jpg)
[![Buy Me a Coffee](./tags-bymecoffee.svg)](https://ko-fi.com/vlyan) [![Buy Me a Coffee](./tags-bymecoffee.svg)](https://ko-fi.com/vlyan)
[![FoundryVTT version](https://img.shields.io/badge/FVTT-v13-informational)](https://foundryvtt.com/) [![FoundryVTT version](https://img.shields.io/badge/FVTT-v14-informational)](https://foundryvtt.com/)
[![Forge Installs](https://img.shields.io/badge/dynamic/json?label=Forge%20Installs&query=package.installs&suffix=%25&url=https%3A%2F%2Fforge-vtt.com%2Fapi%2Fbazaar%2Fpackage%2Fl5r5e&colorB=4aa94a)](https://forge-vtt.com/bazaar#package=l5r5e) [![Forge Installs](https://img.shields.io/badge/dynamic/json?label=Forge%20Installs&query=package.installs&suffix=%25&url=https%3A%2F%2Fforge-vtt.com%2Fapi%2Fbazaar%2Fpackage%2Fl5r5e&colorB=4aa94a)](https://forge-vtt.com/bazaar#package=l5r5e)
[![Foundry Hub Endorsements](https://img.shields.io/endpoint?logoColor=white&url=https%3A%2F%2Fwww.foundryvtt-hub.com%2Fwp-json%2Fhubapi%2Fv1%2Fpackage%2Fl5r5e%2Fshield%2Fendorsements)](https://www.foundryvtt-hub.com/package/l5r5e/) [![Foundry Hub Endorsements](https://img.shields.io/endpoint?logoColor=white&url=https%3A%2F%2Fwww.foundryvtt-hub.com%2Fwp-json%2Fhubapi%2Fv1%2Fpackage%2Fl5r5e%2Fshield%2Fendorsements)](https://www.foundryvtt-hub.com/package/l5r5e/)
[![Foundry Hub Comments](https://img.shields.io/endpoint?logoColor=white&url=https%3A%2F%2Fwww.foundryvtt-hub.com%2Fwp-json%2Fhubapi%2Fv1%2Fpackage%2Fl5r5e%2Fshield%2Fcomments)](https://www.foundryvtt-hub.com/package/l5r5e/) [![Foundry Hub Comments](https://img.shields.io/endpoint?logoColor=white&url=https%3A%2F%2Fwww.foundryvtt-hub.com%2Fwp-json%2Fhubapi%2Fv1%2Fpackage%2Fl5r5e%2Fshield%2Fcomments)](https://www.foundryvtt-hub.com/package/l5r5e/)

11226
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -19,17 +19,18 @@
}, },
"homepage": "https://gitlab.com/teaml5r/l5r5e#readme", "homepage": "https://gitlab.com/teaml5r/l5r5e#readme",
"devDependencies": { "devDependencies": {
"@foundryvtt/foundryvtt-cli": "^3.0.3",
"babel-eslint": "^10.1.0", "babel-eslint": "^10.1.0",
"browser-sync": "^2.27.10", "browser-sync": "^3.0.4",
"eslint": "^8.27.0", "eslint": "^8.27.0",
"eslint-config-prettier": "^8.5.0", "eslint-config-prettier": "^8.5.0",
"eslint-plugin-prettier": "^4.2.1", "eslint-plugin-prettier": "^4.2.1",
"gulp": "^4.0.2", "gulp": "^5.0.1",
"gulp-autoprefixer": "^8.0.0", "gulp-autoprefixer": "^8.0.0",
"gulp-sass": "^5.1.0", "gulp-sass": "^5.1.0",
"lint-staged": "^10.5.1", "lint-staged": "^10.5.1",
"sass": "^1.56.1", "prettier": "^2.7.1",
"prettier": "^2.7.1" "sass": "^1.56.1"
}, },
"lint-staged": { "lint-staged": {
"*.js": "eslint --cache --fix", "*.js": "eslint --cache --fix",

View File

@@ -73,7 +73,7 @@ export class ActorL5r5e extends Actor {
); );
break; break;
} }
await super.create(docData, options); return super.create(docData, options);
} }
/** /**

View File

@@ -111,7 +111,7 @@ export class CombatL5r5e extends Combat {
if (messageOptions.rnkRoll instanceof game.l5r5e.RollL5r5e && ids.length === 1) { if (messageOptions.rnkRoll instanceof game.l5r5e.RollL5r5e && ids.length === 1) {
// Specific RnK // Specific RnK
roll = messageOptions.rnkRoll; roll = messageOptions.rnkRoll;
rnkMessage = await roll.toMessage({ flavor }, { rollMode: messageOptions.rollMode || null }); rnkMessage = await roll.toMessage({ flavor }, { messageMode: messageOptions.messageMode || null });
} else { } else {
// Regular // Regular
roll = new game.l5r5e.RollL5r5e(formula ?? createFormula.join("+")); roll = new game.l5r5e.RollL5r5e(formula ?? createFormula.join("+"));

View File

@@ -180,6 +180,10 @@ export const L5R5E = {
name: "l5r5e.conditions.unconscious", name: "l5r5e.conditions.unconscious",
img: "systems/l5r5e/assets/icons/conditions/unconscious.webp", img: "systems/l5r5e/assets/icons/conditions/unconscious.webp",
system: { id: "L5RCoreCon000015" } system: { id: "L5RCoreCon000015" }
},{
id: "dead",
name: "EFFECT.StatusDead",
img: "icons/svg/skull.svg"
}], }],
regex: { regex: {
techniqueDifficulty: /^@([TS]):([^|]+?)(?:\|(min|max)(?:\(([^)]+?)\))?)?$/, techniqueDifficulty: /^@([TS]):([^|]+?)(?:\|(min|max)(?:\(([^)]+?)\))?)?$/,

View File

@@ -1,3 +1,5 @@
import { HelpersL5r5e } from "../helpers.js";
/** /**
* L5R Dice Roll n Keep dialog * L5R Dice Roll n Keep dialog
* @extends {FormApplication} * @extends {FormApplication}
@@ -651,7 +653,7 @@ export class RollnKeepDialog extends FormApplication {
if (this.roll.l5r5e.isInitiativeRoll) { if (this.roll.l5r5e.isInitiativeRoll) {
let msgOptions = { let msgOptions = {
rnkRoll: this.roll, rnkRoll: this.roll,
rollMode: game.l5r5e.HelpersL5r5e.getRollMode(this._message), messageMode: HelpersL5r5e.getMessageMode(this._message),
}; };
await this.roll.l5r5e.actor.rollInitiative({ await this.roll.l5r5e.actor.rollInitiative({
@@ -667,7 +669,7 @@ export class RollnKeepDialog extends FormApplication {
// Send it to chat, switch to new message // Send it to chat, switch to new message
this.message = await this.roll.toMessage( this.message = await this.roll.toMessage(
{}, {},
{ rollMode: game.l5r5e.HelpersL5r5e.getRollMode(this._message) } { messageMode: HelpersL5r5e.getMessageMode(this._message) }
); );
} }

View File

@@ -327,18 +327,12 @@ export class RollL5r5e extends Roll {
* This function can either create the ChatMessage directly, or return the data object that will be used to create. * This function can either create the ChatMessage directly, or return the data object that will be used to create.
* @override * @override
*/ */
async toMessage(messageData = {}, { rollMode = null } = {}) { async toMessage(messageData = {}, { messageMode = null } = {}) {
// Perform the roll, if it has not yet been rolled // Perform the roll, if it has not yet been rolled
if (!this._evaluated) { if (!this._evaluated) {
await this.evaluate(); await this.evaluate();
} }
// RollMode
const rMode = rollMode || messageData.rollMode || game.settings.get("core", "rollMode");
if (rMode) {
messageData = ChatMessage.applyRollMode(messageData, rMode);
}
// Force the content to avoid weird foundry behaviour // Force the content to avoid weird foundry behaviour
const content = this.l5r5e.dicesTypes.l5r ? await this.render({}) : this.total; const content = this.l5r5e.dicesTypes.l5r ? await this.render({}) : this.total;
@@ -358,9 +352,15 @@ export class RollL5r5e extends Roll {
); );
messageData.rolls = [this]; messageData.rolls = [this];
// Message mode
const mMode = messageMode || messageData.messageMode || game.settings.get("core", "messageMode");
if (mMode) {
messageData = ChatMessage.applyMode(messageData, mMode);
}
// Either create the message or just return the chat data // Either create the message or just return the chat data
return ChatMessage.implementation.create(messageData, { return ChatMessage.implementation.create(messageData, {
rollMode: rMode, messageMode: mMode,
}); });
} }

View File

@@ -37,6 +37,14 @@ export const RegisterHandlebars = function () {
return sanitizeIfFail(game.i18n.localize(isYes ? "Yes" : "No")); return sanitizeIfFail(game.i18n.localize(isYes ? "Yes" : "No"));
}); });
// Replace "localize (localize" for partial var (broken in v14)
Handlebars.registerHelper("localizeEmbedded", function (string, objects) {
Object.keys(objects.hash).forEach(key => {
string = string.replace("{" + key + "}", objects.hash[key]);
});
return sanitizeIfFail(game.i18n.localize(string));
});
/* ------------------------------------ */ /* ------------------------------------ */
/* Dice */ /* Dice */
/* ------------------------------------ */ /* ------------------------------------ */

View File

@@ -629,21 +629,21 @@ export class HelpersL5r5e {
} }
/** /**
* Return the RollMode for this ChatData * Return the MessageMode for this ChatData
* @param {object} chatData * @param {object} chatData
* @return {string} * @return {string}
*/ */
static getRollMode(chatData) { static getMessageMode(chatData) {
if (chatData.whisper.length === 1 && chatData.whisper[0] === game.user.id) { if (chatData.whisper.length === 1 && chatData.whisper[0] === game.user.id) {
return "selfroll"; return "self";
} }
if (chatData.blind) { if (chatData.blind) {
return "blindroll"; return "blind";
} }
if (chatData.whisper.length > 1) { if (chatData.whisper.length > 1) {
return "gmroll"; return "gm";
} }
return "roll"; return "public";
} }
/** /**
@@ -690,7 +690,7 @@ export class HelpersL5r5e {
* @param {object} opt drawMany config option object * @param {object} opt drawMany config option object
* @return {Promise<{RollTableDraw}>} The drawn results * @return {Promise<{RollTableDraw}>} The drawn results
*/ */
static async drawManyFromPack(pack, tableName, retrieve = 5, opt = { rollMode: "selfroll" }) { static async drawManyFromPack(pack, tableName, retrieve = 5, opt = { messageMode: "self" }) {
const comp = await game.packs.get(pack); const comp = await game.packs.get(pack);
if (!comp) { if (!comp) {
console.log(`L5R5E | Helpers | Pack not found[${pack}]`); console.log(`L5R5E | Helpers | Pack not found[${pack}]`);

File diff suppressed because one or more lines are too long

View File

@@ -6,6 +6,9 @@
position: relative; position: relative;
padding: 0; padding: 0;
margin: 0; margin: 0;
height: 48px;
width: 48px;
&:after { &:after {
content: ""; content: "";
position: absolute; position: absolute;
@@ -20,6 +23,7 @@
color: white; color: white;
background: transparent; background: transparent;
} }
&:last-of-type, &:last-of-type,
&:nth-child(6), &:nth-child(6),
&:nth-child(12), &:nth-child(12),
@@ -28,10 +32,12 @@
padding: 0 0.175rem 0 0.15rem; padding: 0 0.175rem 0 0.15rem;
} }
} }
&.rerolled { &.rerolled {
> img { > img {
border-bottom: 0 none; border-bottom: 0 none;
} }
&:after { &:after {
content: "\f2f9"; content: "\f2f9";
background: orangered; background: orangered;
@@ -42,6 +48,7 @@
> img { > img {
border-bottom: 0 none; border-bottom: 0 none;
} }
&:after { &:after {
content: "\f337"; content: "\f337";
background: fuchsia; background: fuchsia;
@@ -50,9 +57,9 @@
> img { > img {
border: 1px solid transparent; border: 1px solid transparent;
height: auto;
} }
} }
td { td {
.chat-dice { .chat-dice {
} }
@@ -72,6 +79,7 @@
margin: 0.25rem; margin: 0.25rem;
text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.5); text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.5);
} }
&-element { &-element {
flex-wrap: wrap; flex-wrap: wrap;
flex-grow: 1; flex-grow: 1;
@@ -79,11 +87,13 @@
&-skill { &-skill {
flex-grow: 3; flex-grow: 3;
} }
&:last-child { &:last-child {
flex-grow: 2; flex-grow: 2;
} }
} }
} }
.dice-formula, .dice-formula,
.dice-total { .dice-total {
background: rgba(255, 255, 255, 0.1); background: rgba(255, 255, 255, 0.1);
@@ -91,15 +101,19 @@
text-align: center; text-align: center;
margin: 0.5rem 0; margin: 0.5rem 0;
padding: 0.25rem 0.5rem 0.25rem 0.25rem; padding: 0.25rem 0.5rem 0.25rem 0.25rem;
&-rnk { &-rnk {
line-height: 2rem; line-height: 2rem;
i { i {
margin-left: 0.5rem; margin-left: 0.5rem;
} }
} }
} }
button { button {
justify-self: center; justify-self: center;
&.chat-dice-rnk { &.chat-dice-rnk {
cursor: url("../assets/cursors/pointer.webp"), pointer; cursor: url("../assets/cursors/pointer.webp"), pointer;
color: $white; color: $white;
@@ -113,6 +127,7 @@
border-image-width: 0.5rem; border-image-width: 0.5rem;
border-image-outset: 0px; border-image-outset: 0px;
margin: 0.5rem 0 0; margin: 0.5rem 0 0;
&:hover { &:hover {
background: linear-gradient( background: linear-gradient(
$l5r5e-linear-gradient-first-dark, $l5r5e-linear-gradient-first-dark,
@@ -121,6 +136,7 @@
); );
} }
} }
&.chat-dice-rnk-ended { &.chat-dice-rnk-ended {
background: linear-gradient( background: linear-gradient(
$l5r5e-linear-gradient-second, $l5r5e-linear-gradient-second,
@@ -129,6 +145,7 @@
); );
} }
} }
.dice-result-rnk { .dice-result-rnk {
background: rgba(0, 0, 255, 0.1); background: rgba(0, 0, 255, 0.1);
border: 1px solid rgba(55, 55, 155, 0.75); border: 1px solid rgba(55, 55, 155, 0.75);
@@ -137,25 +154,30 @@
text-align: center; text-align: center;
font-weight: bold; font-weight: bold;
text-shadow: 0 0 0 $black; text-shadow: 0 0 0 $black;
&.success { &.success {
background: rgba(0, 255, 0, 0.1); background: rgba(0, 255, 0, 0.1);
border-color: rgba(55, 155, 55, 0.75); border-color: rgba(55, 155, 55, 0.75);
color: rgba(55, 155, 55, 0.75); color: rgba(55, 155, 55, 0.75);
i.i_success { i.i_success {
font-size: 1rem; font-size: 1rem;
} }
} }
&.unknown { &.unknown {
background: rgba(121, 121, 121, 0.1); background: rgba(121, 121, 121, 0.1);
border-color: rgba(124, 124, 124, 0.75); border-color: rgba(124, 124, 124, 0.75);
color: rgba(91, 91, 91, 0.75); color: rgba(91, 91, 91, 0.75);
} }
&.fail { &.fail {
background: rgba(255, 0, 0, 0.1); background: rgba(255, 0, 0, 0.1);
border-color: rgba(155, 55, 55, 0.75); border-color: rgba(155, 55, 55, 0.75);
color: rgba(155, 55, 55, 0.75); color: rgba(155, 55, 55, 0.75);
} }
} }
.target, .target,
.item-infos { .item-infos {
display: flex; display: flex;
@@ -166,20 +188,25 @@
background: rgba(255, 255, 255, 0.1); background: rgba(255, 255, 255, 0.1);
border: solid 1px rgba(100, 0, 0, 0.75); border: solid 1px rgba(100, 0, 0, 0.75);
border-radius: 3px; border-radius: 3px;
.profile { .profile {
flex: 1; flex: 1;
margin: 0.25rem 0.25rem 0 0; margin: 0.25rem 0.25rem 0 0;
position: relative; position: relative;
.profile-img { .profile-img {
position: relative; position: relative;
border: none; border: none;
filter: drop-shadow(0 0 1px rgba(0, 0, 0, 0.66)); filter: drop-shadow(0 0 1px rgba(0, 0, 0, 0.66));
} }
} }
.name { .name {
flex: 6; flex: 6;
font-family: "BrushtipTexe", sans-serif; font-family: "BrushtipTexe", sans-serif;
display: flex;
} }
.content-link { .content-link {
background: unset; background: unset;
border: unset; border: unset;
@@ -188,8 +215,10 @@
} }
} }
} }
.item-infos { .item-infos {
border: solid 1px rgba(0, 78, 100, 0.75); border: solid 1px rgba(0, 78, 100, 0.75);
i { i {
font-size: var(--font-size-12); font-size: var(--font-size-12);
} }
@@ -199,3 +228,4 @@
display: flex; display: flex;
} }
} }

View File

@@ -213,6 +213,7 @@
td { td {
margin: 0; margin: 0;
padding: 0; padding: 0;
text-align: center;
} }
} }
} }
@@ -310,6 +311,7 @@
.dice-ct { .dice-ct {
position: relative; position: relative;
padding: 0.25rem; padding: 0.25rem;
width: 48px;
&:before { &:before {
content: ""; content: "";
position: absolute; position: absolute;

View File

@@ -65,7 +65,8 @@ $l5r5e-custom-icons: (
$selectors: ( $selectors: (
"#sidebar-tabs button.l5r5e", "#sidebar-tabs button.l5r5e",
"#sidebar-content .create-button.l5r5e", "#sidebar-content .create-button.l5r5e",
"#sidebar-content i.l5r5e" "#sidebar-content i.l5r5e",
"#context-menu i.l5r5e"
); );
@each $selector in $selectors { @each $selector in $selectors {
@@ -90,8 +91,8 @@ $selectors: (
&.#{$name}::before { &.#{$name}::before {
content: ""; content: "";
position: absolute; position: absolute;
width: 95%; width: 85%;
height: 95%; height: 85%;
background-color: currentColor; background-color: currentColor;
mask: url($url) no-repeat center / contain; mask: url($url) no-repeat center / contain;
-webkit-mask: url($url) no-repeat center / contain; -webkit-mask: url($url) no-repeat center / contain;

View File

@@ -145,6 +145,11 @@ input[type="time"]:focus {
line-height: initial; line-height: initial;
} }
// Remove icon on link (bc specificity)
#sidebar-content .content-link i.l5r5e {
display: none;
}
button:hover { button:hover {
box-shadow: 0 0 10px $red; box-shadow: 0 0 10px $red;
} }
@@ -182,13 +187,13 @@ fieldset {
} }
.editor { .editor {
height: 100%; height: 100%;
flex: 1;
} }
} }
// Editors // Editors
.editor, .editor,
.editor-container { .editor-container {
flex: 1;
height: 100%; height: 100%;
} }
@@ -227,6 +232,7 @@ sup {
} }
.editor-container, .editor-container,
.editor-content,
.item-description { .item-description {
ul { ul {
margin: 0.5rem 0; margin: 0.5rem 0;

View File

@@ -111,14 +111,6 @@ button {
} }
} }
.chat-message {
ul, li {
list-style: none;
margin: unset;
padding: unset;
}
}
#logo { #logo {
content: url("../assets/l5r-logo.webp"); content: url("../assets/l5r-logo.webp");
height: 80px; height: 80px;
@@ -411,18 +403,25 @@ button {
top: -1px; top: -1px;
left: -1px; left: -1px;
} }
.goodvalue { .goodvalue {
color: #4e8c69; color: #4e8c69;
} }
.badvalue { .badvalue {
color: #ab2a00; color: #ab2a00;
} }
.reference { .reference {
display: flex; display: flex;
.page { .page {
margin-left: 1ch margin-left: 1ch
} }
} }
.content-link {
background: initial;
}
} }
} }
@@ -606,6 +605,34 @@ form#settings-config {
} }
} }
.autocomplete-wrapper {
position: relative;
.autocomplete-list {
position: absolute;
border: 1px solid #6e7e6b;
border-bottom: none;
border-top: none;
z-index: 99;
top: 100%;
left: 0;
right: 0;
}
.autocomplete-list div {
padding: 10px;
cursor: pointer;
background-color: #fff;
border-bottom: 1px solid #6e7e6b;
text-align: left;
}
.autocomplete-list div:hover {
background-color: #e9e9e9;
}
.autocomplete-active {
background-color: DodgerBlue !important;
color: #ffffff;
}
}
l5r5e-multi-select, l5r5e-multi-select,
l5r5e-combo-box { l5r5e-combo-box {
display: block; display: block;

View File

@@ -7,12 +7,12 @@
"changelog": "https://gitlab.com/teaml5r/l5r5e/-/blob/master/CHANGELOG.md", "changelog": "https://gitlab.com/teaml5r/l5r5e/-/blob/master/CHANGELOG.md",
"license": "https://gitlab.com/teaml5r/l5r5e/-/blob/master/LICENSE.md", "license": "https://gitlab.com/teaml5r/l5r5e/-/blob/master/LICENSE.md",
"manifest": "https://gitlab.com/teaml5r/l5r5e/-/raw/master/system/system.json", "manifest": "https://gitlab.com/teaml5r/l5r5e/-/raw/master/system/system.json",
"download": "https://gitlab.com/teaml5r/l5r5e/-/jobs/artifacts/v1.13.4/raw/l5r5e.zip?job=build", "download": "https://gitlab.com/teaml5r/l5r5e/-/jobs/artifacts/v1.14.0/raw/l5r5e.zip?job=build",
"version": "1.13.4", "version": "1.14.0",
"compatibility": { "compatibility": {
"minimum": "13", "minimum": "13",
"verified": "13", "verified": "13",
"maximum": "13" "maximum": "14"
}, },
"socket": true, "socket": true,
"authors": [ "authors": [

View File

@@ -65,7 +65,7 @@
<ul> <ul>
{{#each data.splitTechniquesList as |list techName|}} {{#each data.splitTechniquesList as |list techName|}}
<li> <li>
<strong>{{localize (localize 'l5r5e.techniques.{techName}' techName=techName) }}</strong> <strong>{{localizeEmbedded 'l5r5e.techniques.{techName}' techName=techName}}</strong>
<ul> <ul>
{{#each list as |technique|}} {{#each list as |technique|}}
<li> <li>
@@ -130,7 +130,7 @@
<li>{{localize 'l5r5e.money.title'}} : {{data.system.money.koku}} {{localize 'l5r5e.money.koku'}} / {{data.system.money.bu}} {{localize 'l5r5e.money.bu'}} / {{data.system.money.zeni}} {{localize 'l5r5e.money.zeni'}}</li> <li>{{localize 'l5r5e.money.title'}} : {{data.system.money.koku}} {{localize 'l5r5e.money.koku'}} / {{data.system.money.bu}} {{localize 'l5r5e.money.bu'}} / {{data.system.money.zeni}} {{localize 'l5r5e.money.zeni'}}</li>
{{#each data.splitItemsList as |cat type|}} {{#each data.splitItemsList as |cat type|}}
<li> <li>
<strong>{{localize (localize 'l5r5e.{type}s.title' type=type)}} ({{cat.length}})</strong> <strong>{{localizeEmbedded 'l5r5e.{type}s.title' type=type}} ({{cat.length}})</strong>
<ul> <ul>
{{#each cat as |item|}} {{#each cat as |item|}}
<li>{{> 'systems/l5r5e/templates/items/item/item-text.html' data=item editable=../../options.editable}}</li> <li>{{> 'systems/l5r5e/templates/items/item/item-text.html' data=item editable=../../options.editable}}</li>
@@ -209,20 +209,20 @@
{{/ifCond}} {{/ifCond}}
<h2>{{localize 'l5r5e.twenty_questions.title'}}</h2> <h2>{{localize 'l5r5e.twenty_questions.title'}}</h2>
<ul> <ul>
<li>{{localize (localize 'l5r5e.twenty_questions.part2.q4{suffix}' suffix=suffix)}} : {{data.system.twenty_questions.step4.stand_out}}</li> <li>{{localizeEmbedded 'l5r5e.twenty_questions.part2.q4{suffix}' suffix}} : {{data.system.twenty_questions.step4.stand_out}}</li>
<li>{{localize (localize 'l5r5e.twenty_questions.part3.q7{suffix}' suffix=suffix)}} : {{data.system.twenty_questions.step7.clan_relations}}</li> <li>{{localizeEmbedded 'l5r5e.twenty_questions.part3.q7{suffix}' suffix}} : {{data.system.twenty_questions.step7.clan_relations}}</li>
<li>{{localize (localize 'l5r5e.twenty_questions.part3.q8{suffix}' suffix=suffix)}} : {{data.system.twenty_questions.step8.bushido}}</li> <li>{{localizeEmbedded 'l5r5e.twenty_questions.part3.q8{suffix}' suffix}} : {{data.system.twenty_questions.step8.bushido}}</li>
<li>{{localize (localize 'l5r5e.twenty_questions.part4.q9{suffix}' suffix=suffix)}} : {{data.system.twenty_questions.step9.success}}</li> <li>{{localizeEmbedded 'l5r5e.twenty_questions.part4.q9{suffix}' suffix}} : {{data.system.twenty_questions.step9.success}}</li>
<li>{{localize (localize 'l5r5e.twenty_questions.part4.q10{suffix}' suffix=suffix)}} : {{data.system.twenty_questions.step10.difficulty}}</li> <li>{{localizeEmbedded 'l5r5e.twenty_questions.part4.q10{suffix}' suffix}} : {{data.system.twenty_questions.step10.difficulty}}</li>
<li>{{localize (localize 'l5r5e.twenty_questions.part4.q11{suffix}' suffix=suffix)}} : {{data.system.twenty_questions.step11.calms}}</li> <li>{{localizeEmbedded 'l5r5e.twenty_questions.part4.q11{suffix}' suffix}} : {{data.system.twenty_questions.step11.calms}}</li>
<li>{{localize (localize 'l5r5e.twenty_questions.part4.q12{suffix}' suffix=suffix)}} : {{data.system.twenty_questions.step12.worries}}</li> <li>{{localizeEmbedded 'l5r5e.twenty_questions.part4.q12{suffix}' suffix}} : {{data.system.twenty_questions.step12.worries}}</li>
<li>{{localize (localize 'l5r5e.twenty_questions.part4.q13{suffix}' suffix=suffix)}} : {{data.system.twenty_questions.step13.most_learn}}</li> <li>{{localizeEmbedded 'l5r5e.twenty_questions.part4.q13{suffix}' suffix}} : {{data.system.twenty_questions.step13.most_learn}}</li>
<li>{{localize (localize 'l5r5e.twenty_questions.part5.q14{suffix}' suffix=suffix)}} : {{data.system.twenty_questions.step14.first_sight}}</li> <li>{{localizeEmbedded 'l5r5e.twenty_questions.part5.q14{suffix}' suffix}} : {{data.system.twenty_questions.step14.first_sight}}</li>
<li>{{localize (localize 'l5r5e.twenty_questions.part5.q15{suffix}' suffix=suffix)}} : {{data.system.twenty_questions.step15.stress}}</li> <li>{{localizeEmbedded 'l5r5e.twenty_questions.part5.q15{suffix}' suffix}} : {{data.system.twenty_questions.step15.stress}}</li>
<li>{{localize (localize 'l5r5e.twenty_questions.part5.q16{suffix}' suffix=suffix)}} : {{data.system.twenty_questions.step16.relations}}</li> <li>{{localizeEmbedded 'l5r5e.twenty_questions.part5.q16{suffix}' suffix}} : {{data.system.twenty_questions.step16.relations}}</li>
<li>{{localize (localize 'l5r5e.twenty_questions.part6.q17{suffix}' suffix=suffix)}} : {{data.system.twenty_questions.step17.parents_pov}}</li> <li>{{localizeEmbedded 'l5r5e.twenty_questions.part6.q17{suffix}' suffix}} : {{data.system.twenty_questions.step17.parents_pov}}</li>
<li>{{localize (localize 'l5r5e.twenty_questions.part6.q18{suffix}' suffix=suffix)}} : {{data.system.twenty_questions.step18.heritage_name}}</li> <li>{{localizeEmbedded 'l5r5e.twenty_questions.part6.q18{suffix}' suffix}} : {{data.system.twenty_questions.step18.heritage_name}}</li>
<li>{{localize (localize 'l5r5e.twenty_questions.part7.q20{suffix}' suffix=suffix)}} : {{data.system.twenty_questions.step20.death}}</li> <li>{{localizeEmbedded 'l5r5e.twenty_questions.part7.q20{suffix}' suffix}} : {{data.system.twenty_questions.step20.death}}</li>
</ul> </ul>
</section> </section>

View File

@@ -2,7 +2,7 @@
<legend class="section-header"> <legend class="section-header">
{{localize 'l5r5e.conflict.initiative.title'}} {{localize 'l5r5e.conflict.initiative.title'}}
<a class="encounter prepared-control" data-id="{{data.type}}"> <a class="encounter prepared-control" data-id="{{data.type}}">
<i class="fa fas prepared-icon prepared-icon-{{data.system.prepared}} prepared-{{data.type}}" title="{{localize (localize 'l5r5e.conflict.initiative.prepared_{value}' value=data.system.prepared)}}"></i> <i class="fa fas prepared-icon prepared-icon-{{data.system.prepared}} prepared-{{data.type}}" title="{{localizeEmbedded 'l5r5e.conflict.initiative.prepared_{value}' value=data.system.prepared}}"></i>
</a> </a>
</legend> </legend>
<button class="initiative dice-picker" data-initiative="true" data-skill="sentiment">{{localize 'l5r5e.conflict.initiative.intrigue'}}</button> <button class="initiative dice-picker" data-initiative="true" data-skill="sentiment">{{localize 'l5r5e.conflict.initiative.intrigue'}}</button>

View File

@@ -16,7 +16,7 @@
<fieldset class="section-header flexrow"> <fieldset class="section-header flexrow">
<legend class="technique-controls"> <legend class="technique-controls">
<span class="technique-controls toggle-on-click" data-toggle="toggle-technique-category-{{technique}}"> <span class="technique-controls toggle-on-click" data-toggle="toggle-technique-category-{{technique}}">
{{localize (localize 'l5r5e.techniques.{technique}' technique=technique)}} {{localizeEmbedded 'l5r5e.techniques.{technique}' technique=technique}}
</span> </span>
{{#ifCond ../data.editable_not_soft_locked '&&' (lookup ../data.system.techniques technique)}} {{#ifCond ../data.editable_not_soft_locked '&&' (lookup ../data.system.techniques technique)}}
<a data-item-type="technique" class="technique-control item-add" data-tech-type="{{technique}}" title="{{localize 'l5r5e.global.add'}}"><i class="fas fa-plus"></i></a> <a data-item-type="technique" class="technique-control item-add" data-tech-type="{{technique}}" title="{{localize 'l5r5e.global.add'}}"><i class="fas fa-plus"></i></a>

View File

@@ -2,7 +2,7 @@
<legend class="section-header"> <legend class="section-header">
{{localize 'l5r5e.conflict.initiative.title'}} {{localize 'l5r5e.conflict.initiative.title'}}
<a class="encounter prepared-control" data-id="{{data.type}}"> <a class="encounter prepared-control" data-id="{{data.type}}">
<i class="fa fas prepared-icon prepared-icon-{{data.system.prepared}} prepared-{{data.system.type}}" title="{{localize (localize 'l5r5e.conflict.initiative.prepared_{value}' value=data.system.prepared)}}"></i> <i class="fa fas prepared-icon prepared-icon-{{data.system.prepared}} prepared-{{data.system.type}}" title="{{localizeEmbedded 'l5r5e.conflict.initiative.prepared_{value}' value=data.system.prepared}}"></i>
</a> </a>
</legend> </legend>
<button class="initiative dice-picker" data-initiative="true" data-skill="sentiment">{{localize 'l5r5e.conflict.initiative.intrigue'}}</button> <button class="initiative dice-picker" data-initiative="true" data-skill="sentiment">{{localize 'l5r5e.conflict.initiative.intrigue'}}</button>

View File

@@ -19,7 +19,7 @@
<fieldset class="section-header flexrow"> <fieldset class="section-header flexrow">
<legend class="technique-controls"> <legend class="technique-controls">
<span class="technique-controls toggle-on-click" data-toggle="toggle-technique-category-{{technique}}"> <span class="technique-controls toggle-on-click" data-toggle="toggle-technique-category-{{technique}}">
{{localize (localize 'l5r5e.techniques.{technique}' technique=technique)}} {{localizeEmbedded 'l5r5e.techniques.{technique}' technique=technique}}
</span> </span>
{{#ifCond ../data.editable_not_soft_locked '&&' (lookup ../data.system.techniques technique)}} {{#ifCond ../data.editable_not_soft_locked '&&' (lookup ../data.system.techniques technique)}}
<a data-item-type="technique" class="technique-control item-add" data-tech-type="{{technique}}" title="{{localize 'l5r5e.global.add'}}"><i class="fas fa-plus"></i></a> <a data-item-type="technique" class="technique-control item-add" data-tech-type="{{technique}}" title="{{localize 'l5r5e.global.add'}}"><i class="fas fa-plus"></i></a>

View File

@@ -27,12 +27,12 @@
</label> </label>
<br> <br>
<br> <br>
<i>{{localize (localize 'l5r5e.twenty_questions.part0.section{suffix}' suffix=suffix)}}</i> <i>{{localizeEmbedded 'l5r5e.twenty_questions.part0.section{suffix}' suffix=suffix}}</i>
<button class="next" name="next" type="button">{{localize 'l5r5e.twenty_questions.bt_next'}} <i class='fas fa-arrow-right'></i></button> <button class="next" name="next" type="button">{{localize 'l5r5e.twenty_questions.bt_next'}} <i class='fas fa-arrow-right'></i></button>
</article> </article>
<article class="tab parts part1" data-group="primary" data-tab="part1"> <article class="tab parts part1" data-group="primary" data-tab="part1">
<h2>{{localize (localize 'l5r5e.twenty_questions.part1.title{suffix}' suffix=suffix)}}</h2> <h2>{{localizeEmbedded 'l5r5e.twenty_questions.part1.title{suffix}' suffix=suffix}}</h2>
<h3>{{localize (localize 'l5r5e.twenty_questions.part1.q1{suffix}' suffix=suffix)}}</h3> <h3>{{localizeEmbedded 'l5r5e.twenty_questions.part1.q1{suffix}' suffix=suffix}}</h3>
<div> <div>
<input type="text" name="step1.clan" value="{{data.step1.clan}}"> <input type="text" name="step1.clan" value="{{data.step1.clan}}">
</div> </div>
@@ -73,7 +73,7 @@
</td> </td>
</tr> </tr>
</table> </table>
<h3>{{localize (localize 'l5r5e.twenty_questions.part1.q2{suffix}' suffix=suffix)}}</h3> <h3>{{localizeEmbedded 'l5r5e.twenty_questions.part1.q2{suffix}' suffix=suffix}}</h3>
<div> <div>
<input type="text" name="step2.family" value="{{data.step2.family}}"> <input type="text" name="step2.family" value="{{data.step2.family}}">
</div> </div>
@@ -122,7 +122,7 @@
</article> </article>
<article class="tab parts part2" data-group="primary" data-tab="part2"> <article class="tab parts part2" data-group="primary" data-tab="part2">
<h2>{{localize 'l5r5e.twenty_questions.part2.title'}}</h2> <h2>{{localize 'l5r5e.twenty_questions.part2.title'}}</h2>
<h3>{{localize (localize 'l5r5e.twenty_questions.part2.q3{suffix}' suffix=suffix)}}</h3> <h3>{{localizeEmbedded 'l5r5e.twenty_questions.part2.q3{suffix}' suffix=suffix}}</h3>
<label class="full"> <label class="full">
{{localize 'l5r5e.twenty_questions.part2.school'}} {{localize 'l5r5e.twenty_questions.part2.school'}}
<input type="text" name="step3.school" value="{{data.step3.school}}"> <input type="text" name="step3.school" value="{{data.step3.school}}">
@@ -214,7 +214,7 @@
</td> </td>
</tr> </tr>
</table> </table>
<h3>{{localize (localize 'l5r5e.twenty_questions.part2.q4{suffix}' suffix=suffix)}}</h3> <h3>{{localizeEmbedded 'l5r5e.twenty_questions.part2.q4{suffix}' suffix=suffix}}</h3>
<textarea name="step4.stand_out">{{data.step4.stand_out}}</textarea> <textarea name="step4.stand_out">{{data.step4.stand_out}}</textarea>
<label> <label>
{{localize 'l5r5e.twenty_questions.increase_ring1'}} {{localize 'l5r5e.twenty_questions.increase_ring1'}}
@@ -226,8 +226,8 @@
<button class="next" name="next" type="button">{{localize 'l5r5e.twenty_questions.bt_next'}} <i class='fas fa-arrow-right'></i></button> <button class="next" name="next" type="button">{{localize 'l5r5e.twenty_questions.bt_next'}} <i class='fas fa-arrow-right'></i></button>
</article> </article>
<article class="tab parts part3" data-group="primary" data-tab="part3"> <article class="tab parts part3" data-group="primary" data-tab="part3">
<h2>{{localize (localize 'l5r5e.twenty_questions.part3.title{suffix}' suffix=suffix)}}</h2> <h2>{{localizeEmbedded 'l5r5e.twenty_questions.part3.title{suffix}' suffix=suffix}}</h2>
<h3>{{localize (localize 'l5r5e.twenty_questions.part3.q5{suffix}' suffix=suffix)}}</h3> <h3>{{localizeEmbedded 'l5r5e.twenty_questions.part3.q5{suffix}' suffix=suffix}}</h3>
<label> <label>
{{#ifCond data.template '==' 'core'}} {{#ifCond data.template '==' 'core'}}
{{localize 'l5r5e.twenty_questions.part3.choose_giri'}} {{localize 'l5r5e.twenty_questions.part3.choose_giri'}}
@@ -236,12 +236,12 @@
{{/ifCond}} {{/ifCond}}
<textarea name="step5.social_giri">{{data.step5.social_giri}}</textarea> <textarea name="step5.social_giri">{{data.step5.social_giri}}</textarea>
</label> </label>
<h3>{{localize (localize 'l5r5e.twenty_questions.part3.q6{suffix}' suffix=suffix)}}</h3> <h3>{{localizeEmbedded 'l5r5e.twenty_questions.part3.q6{suffix}' suffix=suffix}}</h3>
<label> <label>
{{localize 'l5r5e.twenty_questions.part3.choose_ninjo'}} {{localize 'l5r5e.twenty_questions.part3.choose_ninjo'}}
<textarea name="step6.social_ninjo">{{data.step6.social_ninjo}}</textarea> <textarea name="step6.social_ninjo">{{data.step6.social_ninjo}}</textarea>
</label> </label>
<h3>{{localize (localize 'l5r5e.twenty_questions.part3.q7{suffix}' suffix=suffix)}}</h3> <h3>{{localizeEmbedded 'l5r5e.twenty_questions.part3.q7{suffix}' suffix=suffix}}</h3>
<textarea name="step7.clan_relations">{{data.step7.clan_relations}}</textarea> <textarea name="step7.clan_relations">{{data.step7.clan_relations}}</textarea>
<table> <table>
<tr> <tr>
@@ -265,7 +265,7 @@
</td> </td>
</tr> </tr>
</table> </table>
<h3>{{localize (localize 'l5r5e.twenty_questions.part3.q8{suffix}' suffix=suffix)}}</h3> <h3>{{localizeEmbedded 'l5r5e.twenty_questions.part3.q8{suffix}' suffix=suffix}}</h3>
<textarea name="step8.bushido">{{data.step8.bushido}}</textarea> <textarea name="step8.bushido">{{data.step8.bushido}}</textarea>
<table> <table>
<tr> <tr>
@@ -315,31 +315,31 @@
</article> </article>
<article class="tab parts part4" data-group="primary" data-tab="part4"> <article class="tab parts part4" data-group="primary" data-tab="part4">
<h2>{{localize 'l5r5e.twenty_questions.part4.title'}}</h2> <h2>{{localize 'l5r5e.twenty_questions.part4.title'}}</h2>
<h3>{{localize (localize 'l5r5e.twenty_questions.part4.q9{suffix}' suffix=suffix)}}</h3> <h3>{{localizeEmbedded 'l5r5e.twenty_questions.part4.q9{suffix}' suffix=suffix}}</h3>
<textarea name="step9.success">{{data.step9.success}}</textarea> <textarea name="step9.success">{{data.step9.success}}</textarea>
<label> <label>
{{localize 'l5r5e.twenty_questions.part4.distinction'}} {{localize 'l5r5e.twenty_questions.part4.distinction'}}
{{> 'systems/l5r5e/templates/actors/character/twenty-questions-item.html' itemsList=cache.step9.distinction stepName='step9.distinction' itemType='peculiarities' hideDndAt=1}} {{> 'systems/l5r5e/templates/actors/character/twenty-questions-item.html' itemsList=cache.step9.distinction stepName='step9.distinction' itemType='peculiarities' hideDndAt=1}}
</label> </label>
<h3>{{localize (localize 'l5r5e.twenty_questions.part4.q10{suffix}' suffix=suffix)}}</h3> <h3>{{localizeEmbedded 'l5r5e.twenty_questions.part4.q10{suffix}' suffix=suffix}}</h3>
<textarea name="step10.difficulty">{{data.step10.difficulty}}</textarea> <textarea name="step10.difficulty">{{data.step10.difficulty}}</textarea>
<label> <label>
{{localize 'l5r5e.twenty_questions.part4.adversity'}} {{localize 'l5r5e.twenty_questions.part4.adversity'}}
{{> 'systems/l5r5e/templates/actors/character/twenty-questions-item.html' itemsList=cache.step10.adversity stepName='step10.adversity' itemType='peculiarities' hideDndAt=1}} {{> 'systems/l5r5e/templates/actors/character/twenty-questions-item.html' itemsList=cache.step10.adversity stepName='step10.adversity' itemType='peculiarities' hideDndAt=1}}
</label> </label>
<h3>{{localize (localize 'l5r5e.twenty_questions.part4.q11{suffix}' suffix=suffix)}}</h3> <h3>{{localizeEmbedded 'l5r5e.twenty_questions.part4.q11{suffix}' suffix=suffix}}</h3>
<textarea name="step11.calms">{{data.step11.calms}}</textarea> <textarea name="step11.calms">{{data.step11.calms}}</textarea>
<label> <label>
{{localize 'l5r5e.twenty_questions.part4.passion'}} {{localize 'l5r5e.twenty_questions.part4.passion'}}
{{> 'systems/l5r5e/templates/actors/character/twenty-questions-item.html' itemsList=cache.step11.passion stepName='step11.passion' itemType='peculiarities' hideDndAt=1}} {{> 'systems/l5r5e/templates/actors/character/twenty-questions-item.html' itemsList=cache.step11.passion stepName='step11.passion' itemType='peculiarities' hideDndAt=1}}
</label> </label>
<h3>{{localize (localize 'l5r5e.twenty_questions.part4.q12{suffix}' suffix=suffix)}}</h3> <h3>{{localizeEmbedded 'l5r5e.twenty_questions.part4.q12{suffix}' suffix=suffix}}</h3>
<textarea name="step12.worries">{{data.step12.worries}}</textarea> <textarea name="step12.worries">{{data.step12.worries}}</textarea>
<label> <label>
{{localize 'l5r5e.twenty_questions.part4.anxiety'}} {{localize 'l5r5e.twenty_questions.part4.anxiety'}}
{{> 'systems/l5r5e/templates/actors/character/twenty-questions-item.html' itemsList=cache.step12.anxiety stepName='step12.anxiety' itemType='peculiarities' hideDndAt=1}} {{> 'systems/l5r5e/templates/actors/character/twenty-questions-item.html' itemsList=cache.step12.anxiety stepName='step12.anxiety' itemType='peculiarities' hideDndAt=1}}
</label> </label>
<h3>{{localize (localize 'l5r5e.twenty_questions.part4.q13{suffix}' suffix=suffix)}}</h3> <h3>{{localizeEmbedded 'l5r5e.twenty_questions.part4.q13{suffix}' suffix=suffix}}</h3>
<textarea name="step13.most_learn">{{data.step13.most_learn}}</textarea> <textarea name="step13.most_learn">{{data.step13.most_learn}}</textarea>
<table> <table>
<tr> <tr>
@@ -376,13 +376,13 @@
</article> </article>
<article class="tab parts part5" data-group="primary" data-tab="part5"> <article class="tab parts part5" data-group="primary" data-tab="part5">
<h2>{{localize 'l5r5e.twenty_questions.part5.title'}}</h2> <h2>{{localize 'l5r5e.twenty_questions.part5.title'}}</h2>
<h3>{{localize (localize 'l5r5e.twenty_questions.part5.q14{suffix}' suffix=suffix)}}</h3> <h3>{{localizeEmbedded 'l5r5e.twenty_questions.part5.q14{suffix}' suffix=suffix}}</h3>
<textarea name="step14.first_sight">{{data.step14.first_sight}}</textarea> <textarea name="step14.first_sight">{{data.step14.first_sight}}</textarea>
<label> <label>
{{localize 'l5r5e.twenty_questions.part5.accoutrement'}} {{localize 'l5r5e.twenty_questions.part5.accoutrement'}}
{{> 'systems/l5r5e/templates/actors/character/twenty-questions-item.html' itemsList=cache.step14.special_features stepName='step14.special_features' itemType='items' hideDndAt=1}} {{> 'systems/l5r5e/templates/actors/character/twenty-questions-item.html' itemsList=cache.step14.special_features stepName='step14.special_features' itemType='items' hideDndAt=1}}
</label> </label>
<h3>{{localize (localize 'l5r5e.twenty_questions.part5.q15{suffix}' suffix=suffix)}}</h3> <h3>{{localizeEmbedded 'l5r5e.twenty_questions.part5.q15{suffix}' suffix=suffix}}</h3>
<textarea name="step15.stress">{{data.step15.stress}}</textarea> <textarea name="step15.stress">{{data.step15.stress}}</textarea>
{{#ifCond data.template '==' 'core'}} {{#ifCond data.template '==' 'core'}}
<h3>{{localize 'l5r5e.twenty_questions.part5.q16'}}</h3> <h3>{{localize 'l5r5e.twenty_questions.part5.q16'}}</h3>
@@ -395,16 +395,16 @@
<button class="next" name="next" type="button">{{localize 'l5r5e.twenty_questions.bt_next'}} <i class='fas fa-arrow-right'></i></button> <button class="next" name="next" type="button">{{localize 'l5r5e.twenty_questions.bt_next'}} <i class='fas fa-arrow-right'></i></button>
</article> </article>
<article class="tab parts part6" data-group="primary" data-tab="part6"> <article class="tab parts part6" data-group="primary" data-tab="part6">
<h2>{{localize (localize 'l5r5e.twenty_questions.part6.title{suffix}' suffix=suffix)}}</h2> <h2>{{localizeEmbedded 'l5r5e.twenty_questions.part6.title{suffix}' suffix=suffix}}</h2>
{{#ifCond data.template '==' 'pow'}} {{#ifCond data.template '==' 'pow'}}
<h3>{{localize (localize 'l5r5e.twenty_questions.part5.q16_pow' suffix=suffix)}}</h3> <h3>{{localize 'l5r5e.twenty_questions.part5.q16_pow'}}</h3>
<textarea name="step16.relations">{{data.step16.relations}}</textarea> <textarea name="step16.relations">{{data.step16.relations}}</textarea>
<label> <label>
{{localize 'l5r5e.twenty_questions.part5.object'}} {{localize 'l5r5e.twenty_questions.part5.object'}}
{{> 'systems/l5r5e/templates/actors/character/twenty-questions-item.html' itemsList=cache.step16.item stepName='step16.item' itemType='items' hideDndAt=1}} {{> 'systems/l5r5e/templates/actors/character/twenty-questions-item.html' itemsList=cache.step16.item stepName='step16.item' itemType='items' hideDndAt=1}}
</label> </label>
{{/ifCond}} {{/ifCond}}
<h3>{{localize (localize 'l5r5e.twenty_questions.part6.q17{suffix}' suffix=suffix)}}</h3> <h3>{{localizeEmbedded 'l5r5e.twenty_questions.part6.q17{suffix}' suffix=suffix}}</h3>
<textarea name="step17.parents_pov">{{data.step17.parents_pov}}</textarea> <textarea name="step17.parents_pov">{{data.step17.parents_pov}}</textarea>
{{#ifCond data.template '==' 'core'}} {{#ifCond data.template '==' 'core'}}
<label> <label>
@@ -424,7 +424,7 @@
{{> 'systems/l5r5e/templates/actors/character/twenty-questions-item.html' itemsList=cache.step17.bond stepName='step17.bond' itemType='bonds' hideDndAt=1}} {{> 'systems/l5r5e/templates/actors/character/twenty-questions-item.html' itemsList=cache.step17.bond stepName='step17.bond' itemType='bonds' hideDndAt=1}}
</label> </label>
{{/ifCond}} {{/ifCond}}
<h3>{{localize (localize 'l5r5e.twenty_questions.part6.q18{suffix}' suffix=suffix)}}</h3> <h3>{{localizeEmbedded 'l5r5e.twenty_questions.part6.q18{suffix}' suffix=suffix}}</h3>
<textarea name="step18.heritage_name">{{data.step18.heritage_name}}</textarea> <textarea name="step18.heritage_name">{{data.step18.heritage_name}}</textarea>
{{#ifCond data.template '==' 'core'}} {{#ifCond data.template '==' 'core'}}
<table> <table>
@@ -491,7 +491,7 @@
</select> </select>
</label> </label>
{{/ifCond}} {{/ifCond}}
<h3>{{localize (localize 'l5r5e.twenty_questions.part6.q19{suffix}' suffix=suffix)}}</h3> <h3>{{localizeEmbedded 'l5r5e.twenty_questions.part6.q19{suffix}' suffix=suffix}}</h3>
<textarea name="step19.firstname">{{data.step19.firstname}}</textarea> <textarea name="step19.firstname">{{data.step19.firstname}}</textarea>
<button class="next" name="next" type="button">{{localize 'l5r5e.twenty_questions.bt_next'}} <i class='fas fa-arrow-right'></i></button> <button class="next" name="next" type="button">{{localize 'l5r5e.twenty_questions.bt_next'}} <i class='fas fa-arrow-right'></i></button>
</article> </article>
@@ -499,7 +499,7 @@
<h2>{{localize 'l5r5e.twenty_questions.part7.title'}}</h2> <h2>{{localize 'l5r5e.twenty_questions.part7.title'}}</h2>
<div> <div>
<label> <label>
<h3>{{localize (localize 'l5r5e.twenty_questions.part7.q20{suffix}' suffix=suffix)}}</h3> <h3>{{localizeEmbedded 'l5r5e.twenty_questions.part7.q20{suffix}' suffix=suffix}}</h3>
<textarea name="step20.death">{{data.step20.death}}</textarea> <textarea name="step20.death">{{data.step20.death}}</textarea>
</label> </label>
</div> </div>

View File

@@ -2,14 +2,14 @@
<ul class="encounter"> <ul class="encounter">
{{#each encounterTypeList}} {{#each encounterTypeList}}
<li class="encounter encounter-control" data-id="{{this}}"> <li class="encounter encounter-control" data-id="{{this}}">
<i class="fa fas encounter-icon-{{this}}{{#ifCond this '==' ../encounterType}} active{{/ifCond}}" title="{{localize (localize 'l5r5e.conflict.initiative.{id}' id=this)}}"></i> <i class="fa fas encounter-icon-{{this}}{{#ifCond this '==' ../encounterType}} active{{/ifCond}}" title="{{localizeEmbedded 'l5r5e.conflict.initiative.{id}' id=this}}"></i>
</li> </li>
{{/each}} {{/each}}
</ul> </ul>
<ul class="prepared"> <ul class="prepared">
{{#each prepared as |prepared charType|}} {{#each prepared as |prepared charType|}}
<li class="encounter prepared-control" data-id="{{charType}}"> <li class="encounter prepared-control" data-id="{{charType}}">
<i class="fa fas prepared-icon-{{prepared}} prepared-{{charType}}" title="{{localize (localize 'l5r5e.conflict.initiative.prepared_{value}' value=prepared)}} ({{localize (localize 'l5r5e.character_types.{type}' type=charType)}})"></i> <i class="fa fas prepared-icon-{{prepared}} prepared-{{charType}}" title="{{localizeEmbedded 'l5r5e.conflict.initiative.prepared_{value}' value=prepared}} ({{localizeEmbedded 'l5r5e.character_types.{type}' type=charType}})"></i>
</li> </li>
{{/each}} {{/each}}
</ul> </ul>

View File

@@ -32,7 +32,7 @@
</td> </td>
<td> <td>
<a data-actor-uuid="{{actor.uuid}}" data-type="prepared" class="actor-modify-control"> <a data-actor-uuid="{{actor.uuid}}" data-type="prepared" class="actor-modify-control">
<i data-type="text" data-text="<h2>{{localize 'l5r5e.conflict.initiative.title'}} : {{localize (localize 'l5r5e.conflict.initiative.prepared_{value}' value=actor.isPrepared)}}</h2>" class="fa fas prepared-icon-{{actor.isPrepared}} {{#ifCond actor.isPrepared '==' 'false'}}badvalue{{/ifCond}} actor-infos-control"></i> <i data-type="text" data-text="<h2>{{localize 'l5r5e.conflict.initiative.title'}} : {{localizeEmbedded 'l5r5e.conflict.initiative.prepared_{value}' value=actor.isPrepared}}</h2>" class="fa fas prepared-icon-{{actor.isPrepared}} {{#ifCond actor.isPrepared '==' 'false'}}badvalue{{/ifCond}} actor-infos-control"></i>
</a> </a>
</td> </td>
<td>{{#if actor.haveWeaponEquipped}}<i data-type="weapons" data-actor-uuid="{{actor.uuid}}" class="fas fa-fan actor-infos-control {{#if actor.haveWeaponReadied}}badvalue{{/if}}"></i>{{/if}}</td> <td>{{#if actor.haveWeaponEquipped}}<i data-type="weapons" data-actor-uuid="{{actor.uuid}}" class="fas fa-fan actor-infos-control {{#if actor.haveWeaponReadied}}badvalue{{/if}}"></i>{{/if}}</td>

View File

@@ -31,7 +31,7 @@
</td> </td>
<td> <td>
<a data-actor-uuid="{{actor.uuid}}" class="actor-modify-control" data-action="toggle_prepared"> <a data-actor-uuid="{{actor.uuid}}" class="actor-modify-control" data-action="toggle_prepared">
<i data-type="text" data-text="<h2>{{localize 'l5r5e.conflict.initiative.title'}} : {{localize (localize 'l5r5e.conflict.initiative.prepared_{value}' value=actor.isPrepared)}}</h2>" class="fa fas prepared-icon-{{actor.isPrepared}} {{#ifCond actor.isPrepared '==' 'false'}}badvalue{{/ifCond}} actor-infos-control"></i> <i data-type="text" data-text="<h2>{{localize 'l5r5e.conflict.initiative.title'}} : {{localizeEmbedded 'l5r5e.conflict.initiative.prepared_{value}' value=actor.isPrepared}}</h2>" class="fa fas prepared-icon-{{actor.isPrepared}} {{#ifCond actor.isPrepared '==' 'false'}}badvalue{{/ifCond}} actor-infos-control"></i>
</a> </a>
</td> </td>
<td>{{#if actor.haveWeaponEquipped}}<i data-type="weapons" data-actor-uuid="{{actor.uuid}}" class="fas fa-fan actor-infos-control {{#if actor.haveWeaponReadied}}badvalue{{/if}}"></i>{{/if}}</td> <td>{{#if actor.haveWeaponEquipped}}<i data-type="weapons" data-actor-uuid="{{actor.uuid}}" class="fas fa-fan actor-infos-control {{#if actor.haveWeaponReadied}}badvalue{{/if}}"></i>{{/if}}</td>

View File

@@ -20,9 +20,9 @@
{{#ifCond actor_type "==" "character"}} {{#ifCond actor_type "==" "character"}}
{{!-- 20Q --}} {{!-- 20Q --}}
<ul> <ul>
<li><b>{{localize (localize 'l5r5e.twenty_questions.part5.q14{suffix}' suffix=suffix)}}</b> : {{actorData.system.twenty_questions.step14.first_sight}}</li> <li><b>{{localizeEmbedded 'l5r5e.twenty_questions.part5.q14' suffix}}</b> : {{actorData.system.twenty_questions.step14.first_sight}}</li>
<li><b>{{localize (localize 'l5r5e.twenty_questions.part5.q15{suffix}' suffix=suffix)}}</b> : {{actorData.system.twenty_questions.step15.stress}}</li> <li><b>{{localizeEmbedded 'l5r5e.twenty_questions.part5.q15' suffix}}</b> : {{actorData.system.twenty_questions.step15.stress}}</li>
<li><b>{{localize (localize 'l5r5e.twenty_questions.part7.q20{suffix}' suffix=suffix)}}</b> : {{actorData.system.twenty_questions.step20.death}}</li> <li><b>{{localizeEmbedded 'l5r5e.twenty_questions.part7.q20' suffix}}</b> : {{actorData.system.twenty_questions.step20.death}}</li>
</ul> </ul>
{{/ifCond}} {{/ifCond}}
<p>{{{actorData.enrichedHtml.description}}}</p> <p>{{{actorData.enrichedHtml.description}}}</p>

View File

@@ -1,6 +1,6 @@
{{#each data.splitItemsList as |cat type|}} {{#each data.splitItemsList as |cat type|}}
<h3 class="toggle-on-click" data-toggle="inventory-item-list-{{type}}"> <h3 class="toggle-on-click" data-toggle="inventory-item-list-{{type}}">
{{localize (localize 'l5r5e.{type}s.title' type=type)}} ({{cat.length}}) {{localizeEmbedded 'l5r5e.{type}s.title' type=type}} ({{cat.length}})
{{#if ../data.editable_not_soft_locked}} {{#if ../data.editable_not_soft_locked}}
<a data-item-type="{{type}}" class="item-control item-add" title="{{localize 'l5r5e.global.add'}}"><i class="fas fa-plus"></i></a> <a data-item-type="{{type}}" class="item-control item-add" title="{{localize 'l5r5e.global.add'}}"><i class="fas fa-plus"></i></a>
{{/if}} {{/if}}

View File

@@ -8,7 +8,7 @@
<strong>{{localize 'l5r5e.rings.label'}}</strong> : {{localizeRing data.system.ring}} <strong>{{localize 'l5r5e.rings.label'}}</strong> : {{localizeRing data.system.ring}}
</li> </li>
<li> <li>
<strong>{{localize 'l5r5e.sheets.types'}}</strong> : {{localize (localize 'l5r5e.peculiarities.types.{type}' type=data.system.peculiarity_type)}} <strong>{{localize 'l5r5e.sheets.types'}}</strong> : {{localizeEmbedded 'l5r5e.peculiarities.types.{type}' type=data.system.peculiarity_type}}
</li> </li>
<li> <li>
<strong>{{localize 'l5r5e.advancements.curriculum'}}</strong> : {{localizeYesNo data.system.in_curriculum}} <strong>{{localize 'l5r5e.advancements.curriculum'}}</strong> : {{localizeYesNo data.system.in_curriculum}}