Compare commits

..

14 Commits
14.0.0 ... 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
124 changed files with 3389 additions and 13657 deletions

View File

@@ -1,91 +0,0 @@
name: Release Creation
on:
release:
types: [published]
jobs:
build:
runs-on: ubuntu-latest
steps:
- run: echo "💡 The ${{ gitea.repository }} repository will be cloned to the runner."
- uses: https://github.com/RouxAntoine/checkout@v3.5.4
# get part of the tag after the `v`
- name: Extract tag version number
id: get_version
uses: https://github.com/battila7/get-version-action@v2
# Compile SCSS → CSS before packaging
- name: Setup Node.js
uses: https://github.com/actions/setup-node@v3
with:
node-version: '18'
- name: Install dependencies and compile styles
run: npm ci && npm run compile
# Substitute the Manifest and Download URLs in system.json
- name: Substitute Manifest and Download Links For Versioned Ones
id: sub_manifest_link_version
uses: https://github.com/microsoft/variable-substitution@v1
with:
files: "system/system.json"
env:
version: ${{steps.get_version.outputs.version-without-v}}
url: https://www.uberwald.me/gitea/uberwald/l5rx-chiaroscuro
manifest: https://www.uberwald.me/gitea/uberwald/l5rx-chiaroscuro/releases/download/latest/system.json
download: https://www.uberwald.me/gitea/uberwald/l5rx-chiaroscuro/releases/download/${{github.event.release.tag_name}}/l5rx-chiaroscuro.zip
# Copy versioned system.json to root so it can be uploaded as-is
- name: Copy system.json to root
run: cp system/system.json system.json
# Create a zip file with all files required by the system
- run: |
apt update -y
apt install -y zip
- run: |
cd system
zip -r ../l5rx-chiaroscuro.zip \
assets/ \
babele/ \
fonts/ \
lang/ \
lib/ \
macros/ \
packs/ \
scripts/ \
styles/ \
templates/ \
system.json \
template.json
cd ..
zip -j ./l5rx-chiaroscuro.zip README.md CHANGELOG.md LICENSE.md
- name: Setup Go
uses: https://github.com/actions/setup-go@v4
with:
go-version: ">=1.20.1"
- name: Upload release assets to Gitea
id: use-go-action
uses: https://gitea.com/actions/release-action@main
with:
files: |-
./l5rx-chiaroscuro.zip
system.json
api_key: "${{secrets.ALLOW_PUSH_RELEASE}}"
- name: Publish to Foundry server
uses: https://github.com/djlechuck/foundryvtt-publish-package-action@v1
with:
token: ${{ secrets.FOUNDRYVTT_RELEASE_TOKEN }}
id: 'l5rx-chiaroscuro'
version: ${{github.event.release.tag_name}}
manifest: 'https://www.uberwald.me/gitea/uberwald/l5rx-chiaroscuro/releases/download/latest/system.json'
notes: 'https://www.uberwald.me/gitea/uberwald/l5rx-chiaroscuro/releases/tag/${{github.event.release.tag_name}}'
compatibility-minimum: '13'
compatibility-verified: '14'

2
.gitignore vendored
View File

@@ -13,5 +13,3 @@ system/l5r5e.lock
# v11 db files (will be added later)
system/packs/*/**
.github/
.history/

View File

@@ -6,6 +6,12 @@ Date format : day/month/year
> - `foundry-version`: Stick to the major version of FoundryVTT.
> - `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
Welcoming Litasa as a maintainer for the system!

View File

@@ -3,7 +3,7 @@
![Banner Legend of the Five Rings](./l5rBan.jpg)
[![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)
[![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/)

11256
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -1,5 +1,5 @@
{
"name": "l5rx-chiaroscuro",
"name": "l5r5e",
"version": "1.0.0",
"description": "This is a game system for Legend of the Five Rings (5th edition) by Edge Studio",
"main": "index.js",
@@ -19,17 +19,18 @@
},
"homepage": "https://gitlab.com/teaml5r/l5r5e#readme",
"devDependencies": {
"@foundryvtt/foundryvtt-cli": "^3.0.3",
"babel-eslint": "^10.1.0",
"browser-sync": "^2.27.10",
"browser-sync": "^3.0.4",
"eslint": "^8.27.0",
"eslint-config-prettier": "^8.5.0",
"eslint-plugin-prettier": "^4.2.1",
"gulp": "^4.0.2",
"gulp": "^5.0.1",
"gulp-autoprefixer": "^8.0.0",
"gulp-sass": "^5.1.0",
"lint-staged": "^10.5.1",
"sass": "^1.56.1",
"prettier": "^2.7.1"
"prettier": "^2.7.1",
"sass": "^1.56.1"
},
"lint-staged": {
"*.js": "eslint --cache --fix",

View File

@@ -1,393 +0,0 @@
{
"id": "l5rx-chiaroscuro",
"title": "Legend of the Five Rings (5th Edition)",
"description": "This is an authorised multilingual game system En|Fr|Es, for Legend of the Five Rings (5th Edition) by <a href='https://edge-studio.net/'>Edge Studio</a> <p> - Join the official Discord server: <a href='https://discord.gg/foundryvtt'> Official Discord</a></p><p> - Rejoignez la communauté Francophone: <a href='https://discord.gg/pPSDNJk'>Francophone Discord</a></p>",
"url": "https://gitlab.com/teaml5r/l5r5e",
"readme": "https://gitlab.com/teaml5r/l5r5e/-/blob/master/README.md",
"changelog": "https://gitlab.com/teaml5r/l5r5e/-/blob/master/CHANGELOG.md",
"license": "https://gitlab.com/teaml5r/l5r5e/-/blob/master/LICENSE.md",
"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",
"version": "1.13.4",
"compatibility": {
"minimum": "13",
"verified": "14"
},
"socket": true,
"authors": [
{
"name": "Vlyan",
"discord": "Vlyan#6771",
"url": "https://ko-fi.com/vlyan"
},
{
"name": "Mandar",
"discord": "Mandar#3440"
},
{
"name": "Carter",
"discord": "Carter#2703",
"url": "https://fr.tipeee.com/carter-foundryvtt"
},
{
"name": "Litasa",
"discord": "Litasa#3139"
}
],
"background": "systems/l5r5e/assets/l5r-header.webp",
"scripts": [],
"esmodules": [
"./scripts/main-l5r5e.js"
],
"styles": [
"./styles/l5r5e.css"
],
"packFolders": [
{
"name": "L5R5e System",
"color": "#9a0909",
"sorting": "m",
"folders": [
{
"name": "Character related",
"color": "#019806",
"sorting": "m",
"packs": [
"core-peculiarities-distinctions",
"core-peculiarities-passions",
"core-peculiarities-adversities",
"core-peculiarities-anxieties",
"core-bonds",
"core-titles",
"core-journal-school-curriculum",
"core-journal-great-clans-presentation"
]
},
{
"name": "Techniques",
"color": "#4b1eb3",
"sorting": "m",
"packs": [
"core-techniques-kata",
"core-techniques-kiho",
"core-techniques-inversions",
"core-techniques-invocations",
"core-techniques-rituals",
"core-techniques-shuji",
"core-techniques-maho",
"core-techniques-ninjutsu",
"core-techniques-mantra",
"core-techniques-school",
"core-techniques-mastery"
]
},
{
"name": "Objects related",
"color": "#0985ae",
"sorting": "m",
"packs": [
"core-properties",
"core-item-patterns",
"core-items",
"core-armors",
"core-weapons",
"core-signature-scrolls",
"core-celestial-implement-boons"
]
},
{
"name": "Helpers",
"color": "#6b3d1f",
"sorting": "m",
"packs": [
"core-journal-conditions",
"core-journal-terrain-qualities",
"core-journal-opportunities"
]
},
{
"name": "Tools",
"color": "#834949",
"sorting": "m",
"packs": [
"core-name-tables",
"core-macros"
]
}
]
}
],
"packs": [
{
"name": "core-properties",
"label": "Properties",
"path": "packs/core-properties.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-techniques-kata",
"label": "Techniques Kata",
"path": "packs/core-techniques-kata.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-techniques-kiho",
"label": "Techniques Kihõ",
"path": "packs/core-techniques-kiho.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-techniques-inversions",
"label": "Techniques Inversions",
"path": "packs/core-techniques-inversions.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-techniques-invocations",
"label": "Techniques Invocations",
"path": "packs/core-techniques-invocations.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-techniques-rituals",
"label": "Techniques Rituals",
"path": "packs/core-techniques-rituals.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-techniques-shuji",
"label": "Techniques Shuji",
"path": "packs/core-techniques-shuji.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-techniques-maho",
"label": "Techniques Mahõ",
"path": "packs/core-techniques-maho.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-techniques-ninjutsu",
"label": "Techniques Ninjutsu",
"path": "packs/core-techniques-ninjutsu.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-techniques-mantra",
"label": "Techniques Mantra",
"path": "packs/core-techniques-mantra.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-techniques-school",
"label": "School Abilities",
"path": "packs/core-techniques-school.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-techniques-mastery",
"label": "Mastery Abilities",
"path": "packs/core-techniques-mastery.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-items",
"label": "Items",
"path": "packs/core-items.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-armors",
"label": "Armors",
"path": "packs/core-armors.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-weapons",
"label": "Weapons",
"path": "packs/core-weapons.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-peculiarities-distinctions",
"label": "Distinctions",
"path": "packs/core-peculiarities-distinctions.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-peculiarities-passions",
"label": "Passions",
"path": "packs/core-peculiarities-passions.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-peculiarities-adversities",
"label": "Adversities",
"path": "packs/core-peculiarities-adversities.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-peculiarities-anxieties",
"label": "Anxieties",
"path": "packs/core-peculiarities-anxieties.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-bonds",
"label": "Bonds",
"path": "packs/core-bonds.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-titles",
"label": "Titles",
"path": "packs/core-titles.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-item-patterns",
"label": "Item Patterns",
"path": "packs/core-item-patterns.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-signature-scrolls",
"label": "Signature Scrolls",
"path": "packs/core-signature-scrolls.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-celestial-implement-boons",
"label": "Celestial Implement Boons",
"path": "packs/core-celestial-implement-boons.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-journal-school-curriculum",
"label": "School Curriculum",
"path": "packs/core-journal-school-curriculum.db",
"type": "JournalEntry",
"system": "l5r5e"
},
{
"name": "core-journal-conditions",
"label": "Conditions",
"path": "packs/core-journal-conditions.db",
"type": "JournalEntry",
"system": "l5r5e"
},
{
"name": "core-journal-terrain-qualities",
"label": "Terrain Qualities",
"path": "packs/core-journal-terrain-qualities.db",
"type": "JournalEntry",
"system": "l5r5e"
},
{
"name": "core-journal-great-clans-presentation",
"label": "Great Clans Presentation",
"path": "packs/core-journal-great-clans-presentation.db",
"type": "JournalEntry",
"system": "l5r5e"
},
{
"name": "core-journal-opportunities",
"label": "Opportunities",
"path": "packs/core-journal-opportunities.db",
"type": "JournalEntry",
"system": "l5r5e"
},
{
"name": "core-name-tables",
"label": "Name Tables",
"path": "packs/core-name-tables.db",
"type": "RollTable",
"system": "l5r5e"
},
{
"name": "core-macros",
"label": "L5R5E Macros",
"path": "packs/core-macros.db",
"type": "Macro",
"system": "l5r5e"
}
],
"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": "it",
"name": "Italian (Italy)",
"path": "lang/it-it.json"
}
],
"media": [
{
"type": "screenshot",
"url": "https://gitlab.com/teaml5r/l5r5e/-/raw/master/screenshoots/login.jpg?raw=true",
"caption": "Login screen"
},
{
"type": "screenshot",
"url": "https://gitlab.com/teaml5r/l5r5e/-/raw/master/screenshoots/roll.jpg?raw=true",
"caption": "DicePicker and Roll and Keep"
},
{
"type": "screenshot",
"url": "https://gitlab.com/teaml5r/l5r5e/-/raw/master/screenshoots/school.jpg?raw=true",
"caption": "Experience and School"
},
{
"type": "screenshot",
"url": "https://gitlab.com/teaml5r/l5r5e/-/raw/master/screenshoots/sheet_pc.jpg?raw=true",
"caption": "PC sheet"
},
{
"type": "screenshot",
"url": "https://gitlab.com/teaml5r/l5r5e/-/raw/master/screenshoots/sheet_npc_army.jpg?raw=true",
"caption": "NPC and Army sheets"
},
{
"type": "screenshot",
"url": "https://gitlab.com/teaml5r/l5r5e/-/raw/master/screenshoots/compendiums.jpg?raw=true",
"caption": "Compendiums"
}
]
}

View File

@@ -1,393 +0,0 @@
{
"id": "l5rx-chiaroscuro",
"title": "Legend of the Five Rings (5th Edition)",
"description": "This is an authorised multilingual game system En|Fr|Es, for Legend of the Five Rings (5th Edition) by <a href='https://edge-studio.net/'>Edge Studio</a> <p> - Join the official Discord server: <a href='https://discord.gg/foundryvtt'> Official Discord</a></p><p> - Rejoignez la communauté Francophone: <a href='https://discord.gg/pPSDNJk'>Francophone Discord</a></p>",
"url": "https://gitlab.com/teaml5r/l5r5e",
"readme": "https://gitlab.com/teaml5r/l5r5e/-/blob/master/README.md",
"changelog": "https://gitlab.com/teaml5r/l5r5e/-/blob/master/CHANGELOG.md",
"license": "https://gitlab.com/teaml5r/l5r5e/-/blob/master/LICENSE.md",
"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",
"version": "1.13.4",
"compatibility": {
"minimum": "13",
"verified": "14"
},
"socket": true,
"authors": [
{
"name": "Vlyan",
"discord": "Vlyan#6771",
"url": "https://ko-fi.com/vlyan"
},
{
"name": "Mandar",
"discord": "Mandar#3440"
},
{
"name": "Carter",
"discord": "Carter#2703",
"url": "https://fr.tipeee.com/carter-foundryvtt"
},
{
"name": "Litasa",
"discord": "Litasa#3139"
}
],
"background": "systems/l5r5e/assets/l5r-header.webp",
"scripts": [],
"esmodules": [
"./scripts/main-l5r5e.js"
],
"styles": [
"./styles/l5r5e.css"
],
"packFolders": [
{
"name": "L5R5e System",
"color": "#9a0909",
"sorting": "m",
"folders": [
{
"name": "Character related",
"color": "#019806",
"sorting": "m",
"packs": [
"core-peculiarities-distinctions",
"core-peculiarities-passions",
"core-peculiarities-adversities",
"core-peculiarities-anxieties",
"core-bonds",
"core-titles",
"core-journal-school-curriculum",
"core-journal-great-clans-presentation"
]
},
{
"name": "Techniques",
"color": "#4b1eb3",
"sorting": "m",
"packs": [
"core-techniques-kata",
"core-techniques-kiho",
"core-techniques-inversions",
"core-techniques-invocations",
"core-techniques-rituals",
"core-techniques-shuji",
"core-techniques-maho",
"core-techniques-ninjutsu",
"core-techniques-mantra",
"core-techniques-school",
"core-techniques-mastery"
]
},
{
"name": "Objects related",
"color": "#0985ae",
"sorting": "m",
"packs": [
"core-properties",
"core-item-patterns",
"core-items",
"core-armors",
"core-weapons",
"core-signature-scrolls",
"core-celestial-implement-boons"
]
},
{
"name": "Helpers",
"color": "#6b3d1f",
"sorting": "m",
"packs": [
"core-journal-conditions",
"core-journal-terrain-qualities",
"core-journal-opportunities"
]
},
{
"name": "Tools",
"color": "#834949",
"sorting": "m",
"packs": [
"core-name-tables",
"core-macros"
]
}
]
}
],
"packs": [
{
"name": "core-properties",
"label": "Properties",
"path": "packs/core-properties.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-techniques-kata",
"label": "Techniques Kata",
"path": "packs/core-techniques-kata.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-techniques-kiho",
"label": "Techniques Kihõ",
"path": "packs/core-techniques-kiho.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-techniques-inversions",
"label": "Techniques Inversions",
"path": "packs/core-techniques-inversions.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-techniques-invocations",
"label": "Techniques Invocations",
"path": "packs/core-techniques-invocations.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-techniques-rituals",
"label": "Techniques Rituals",
"path": "packs/core-techniques-rituals.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-techniques-shuji",
"label": "Techniques Shuji",
"path": "packs/core-techniques-shuji.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-techniques-maho",
"label": "Techniques Mahõ",
"path": "packs/core-techniques-maho.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-techniques-ninjutsu",
"label": "Techniques Ninjutsu",
"path": "packs/core-techniques-ninjutsu.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-techniques-mantra",
"label": "Techniques Mantra",
"path": "packs/core-techniques-mantra.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-techniques-school",
"label": "School Abilities",
"path": "packs/core-techniques-school.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-techniques-mastery",
"label": "Mastery Abilities",
"path": "packs/core-techniques-mastery.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-items",
"label": "Items",
"path": "packs/core-items.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-armors",
"label": "Armors",
"path": "packs/core-armors.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-weapons",
"label": "Weapons",
"path": "packs/core-weapons.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-peculiarities-distinctions",
"label": "Distinctions",
"path": "packs/core-peculiarities-distinctions.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-peculiarities-passions",
"label": "Passions",
"path": "packs/core-peculiarities-passions.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-peculiarities-adversities",
"label": "Adversities",
"path": "packs/core-peculiarities-adversities.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-peculiarities-anxieties",
"label": "Anxieties",
"path": "packs/core-peculiarities-anxieties.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-bonds",
"label": "Bonds",
"path": "packs/core-bonds.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-titles",
"label": "Titles",
"path": "packs/core-titles.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-item-patterns",
"label": "Item Patterns",
"path": "packs/core-item-patterns.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-signature-scrolls",
"label": "Signature Scrolls",
"path": "packs/core-signature-scrolls.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-celestial-implement-boons",
"label": "Celestial Implement Boons",
"path": "packs/core-celestial-implement-boons.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-journal-school-curriculum",
"label": "School Curriculum",
"path": "packs/core-journal-school-curriculum.db",
"type": "JournalEntry",
"system": "l5r5e"
},
{
"name": "core-journal-conditions",
"label": "Conditions",
"path": "packs/core-journal-conditions.db",
"type": "JournalEntry",
"system": "l5r5e"
},
{
"name": "core-journal-terrain-qualities",
"label": "Terrain Qualities",
"path": "packs/core-journal-terrain-qualities.db",
"type": "JournalEntry",
"system": "l5r5e"
},
{
"name": "core-journal-great-clans-presentation",
"label": "Great Clans Presentation",
"path": "packs/core-journal-great-clans-presentation.db",
"type": "JournalEntry",
"system": "l5r5e"
},
{
"name": "core-journal-opportunities",
"label": "Opportunities",
"path": "packs/core-journal-opportunities.db",
"type": "JournalEntry",
"system": "l5r5e"
},
{
"name": "core-name-tables",
"label": "Name Tables",
"path": "packs/core-name-tables.db",
"type": "RollTable",
"system": "l5r5e"
},
{
"name": "core-macros",
"label": "L5R5E Macros",
"path": "packs/core-macros.db",
"type": "Macro",
"system": "l5r5e"
}
],
"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": "it",
"name": "Italian (Italy)",
"path": "lang/it-it.json"
}
],
"media": [
{
"type": "screenshot",
"url": "https://gitlab.com/teaml5r/l5r5e/-/raw/master/screenshoots/login.jpg?raw=true",
"caption": "Login screen"
},
{
"type": "screenshot",
"url": "https://gitlab.com/teaml5r/l5r5e/-/raw/master/screenshoots/roll.jpg?raw=true",
"caption": "DicePicker and Roll and Keep"
},
{
"type": "screenshot",
"url": "https://gitlab.com/teaml5r/l5r5e/-/raw/master/screenshoots/school.jpg?raw=true",
"caption": "Experience and School"
},
{
"type": "screenshot",
"url": "https://gitlab.com/teaml5r/l5r5e/-/raw/master/screenshoots/sheet_pc.jpg?raw=true",
"caption": "PC sheet"
},
{
"type": "screenshot",
"url": "https://gitlab.com/teaml5r/l5r5e/-/raw/master/screenshoots/sheet_npc_army.jpg?raw=true",
"caption": "NPC and Army sheets"
},
{
"type": "screenshot",
"url": "https://gitlab.com/teaml5r/l5r5e/-/raw/master/screenshoots/compendiums.jpg?raw=true",
"caption": "Compendiums"
}
]
}

View File

@@ -1,393 +0,0 @@
{
"id": "l5rx-chiaroscuro",
"title": "Legend of the Five Rings (5th Edition)",
"description": "This is an authorised multilingual game system En|Fr|Es, for Legend of the Five Rings (5th Edition) by <a href='https://edge-studio.net/'>Edge Studio</a> <p> - Join the official Discord server: <a href='https://discord.gg/foundryvtt'> Official Discord</a></p><p> - Rejoignez la communauté Francophone: <a href='https://discord.gg/pPSDNJk'>Francophone Discord</a></p>",
"url": "https://gitlab.com/teaml5r/l5r5e",
"readme": "https://gitlab.com/teaml5r/l5r5e/-/blob/master/README.md",
"changelog": "https://gitlab.com/teaml5r/l5r5e/-/blob/master/CHANGELOG.md",
"license": "https://gitlab.com/teaml5r/l5r5e/-/blob/master/LICENSE.md",
"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",
"version": "14.0.0",
"compatibility": {
"minimum": "13",
"verified": "14"
},
"socket": true,
"authors": [
{
"name": "Vlyan",
"discord": "Vlyan#6771",
"url": "https://ko-fi.com/vlyan"
},
{
"name": "Mandar",
"discord": "Mandar#3440"
},
{
"name": "Carter",
"discord": "Carter#2703",
"url": "https://fr.tipeee.com/carter-foundryvtt"
},
{
"name": "Litasa",
"discord": "Litasa#3139"
}
],
"background": "systems/l5r5e/assets/l5r-header.webp",
"scripts": [],
"esmodules": [
"./scripts/main-l5r5e.js"
],
"styles": [
"./styles/l5r5e.css"
],
"packFolders": [
{
"name": "L5R5e System",
"color": "#9a0909",
"sorting": "m",
"folders": [
{
"name": "Character related",
"color": "#019806",
"sorting": "m",
"packs": [
"core-peculiarities-distinctions",
"core-peculiarities-passions",
"core-peculiarities-adversities",
"core-peculiarities-anxieties",
"core-bonds",
"core-titles",
"core-journal-school-curriculum",
"core-journal-great-clans-presentation"
]
},
{
"name": "Techniques",
"color": "#4b1eb3",
"sorting": "m",
"packs": [
"core-techniques-kata",
"core-techniques-kiho",
"core-techniques-inversions",
"core-techniques-invocations",
"core-techniques-rituals",
"core-techniques-shuji",
"core-techniques-maho",
"core-techniques-ninjutsu",
"core-techniques-mantra",
"core-techniques-school",
"core-techniques-mastery"
]
},
{
"name": "Objects related",
"color": "#0985ae",
"sorting": "m",
"packs": [
"core-properties",
"core-item-patterns",
"core-items",
"core-armors",
"core-weapons",
"core-signature-scrolls",
"core-celestial-implement-boons"
]
},
{
"name": "Helpers",
"color": "#6b3d1f",
"sorting": "m",
"packs": [
"core-journal-conditions",
"core-journal-terrain-qualities",
"core-journal-opportunities"
]
},
{
"name": "Tools",
"color": "#834949",
"sorting": "m",
"packs": [
"core-name-tables",
"core-macros"
]
}
]
}
],
"packs": [
{
"name": "core-properties",
"label": "Properties",
"path": "packs/core-properties.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-techniques-kata",
"label": "Techniques Kata",
"path": "packs/core-techniques-kata.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-techniques-kiho",
"label": "Techniques Kihõ",
"path": "packs/core-techniques-kiho.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-techniques-inversions",
"label": "Techniques Inversions",
"path": "packs/core-techniques-inversions.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-techniques-invocations",
"label": "Techniques Invocations",
"path": "packs/core-techniques-invocations.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-techniques-rituals",
"label": "Techniques Rituals",
"path": "packs/core-techniques-rituals.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-techniques-shuji",
"label": "Techniques Shuji",
"path": "packs/core-techniques-shuji.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-techniques-maho",
"label": "Techniques Mahõ",
"path": "packs/core-techniques-maho.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-techniques-ninjutsu",
"label": "Techniques Ninjutsu",
"path": "packs/core-techniques-ninjutsu.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-techniques-mantra",
"label": "Techniques Mantra",
"path": "packs/core-techniques-mantra.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-techniques-school",
"label": "School Abilities",
"path": "packs/core-techniques-school.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-techniques-mastery",
"label": "Mastery Abilities",
"path": "packs/core-techniques-mastery.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-items",
"label": "Items",
"path": "packs/core-items.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-armors",
"label": "Armors",
"path": "packs/core-armors.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-weapons",
"label": "Weapons",
"path": "packs/core-weapons.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-peculiarities-distinctions",
"label": "Distinctions",
"path": "packs/core-peculiarities-distinctions.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-peculiarities-passions",
"label": "Passions",
"path": "packs/core-peculiarities-passions.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-peculiarities-adversities",
"label": "Adversities",
"path": "packs/core-peculiarities-adversities.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-peculiarities-anxieties",
"label": "Anxieties",
"path": "packs/core-peculiarities-anxieties.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-bonds",
"label": "Bonds",
"path": "packs/core-bonds.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-titles",
"label": "Titles",
"path": "packs/core-titles.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-item-patterns",
"label": "Item Patterns",
"path": "packs/core-item-patterns.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-signature-scrolls",
"label": "Signature Scrolls",
"path": "packs/core-signature-scrolls.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-celestial-implement-boons",
"label": "Celestial Implement Boons",
"path": "packs/core-celestial-implement-boons.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-journal-school-curriculum",
"label": "School Curriculum",
"path": "packs/core-journal-school-curriculum.db",
"type": "JournalEntry",
"system": "l5r5e"
},
{
"name": "core-journal-conditions",
"label": "Conditions",
"path": "packs/core-journal-conditions.db",
"type": "JournalEntry",
"system": "l5r5e"
},
{
"name": "core-journal-terrain-qualities",
"label": "Terrain Qualities",
"path": "packs/core-journal-terrain-qualities.db",
"type": "JournalEntry",
"system": "l5r5e"
},
{
"name": "core-journal-great-clans-presentation",
"label": "Great Clans Presentation",
"path": "packs/core-journal-great-clans-presentation.db",
"type": "JournalEntry",
"system": "l5r5e"
},
{
"name": "core-journal-opportunities",
"label": "Opportunities",
"path": "packs/core-journal-opportunities.db",
"type": "JournalEntry",
"system": "l5r5e"
},
{
"name": "core-name-tables",
"label": "Name Tables",
"path": "packs/core-name-tables.db",
"type": "RollTable",
"system": "l5r5e"
},
{
"name": "core-macros",
"label": "L5R5E Macros",
"path": "packs/core-macros.db",
"type": "Macro",
"system": "l5r5e"
}
],
"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": "it",
"name": "Italian (Italy)",
"path": "lang/it-it.json"
}
],
"media": [
{
"type": "screenshot",
"url": "https://gitlab.com/teaml5r/l5r5e/-/raw/master/screenshoots/login.jpg?raw=true",
"caption": "Login screen"
},
{
"type": "screenshot",
"url": "https://gitlab.com/teaml5r/l5r5e/-/raw/master/screenshoots/roll.jpg?raw=true",
"caption": "DicePicker and Roll and Keep"
},
{
"type": "screenshot",
"url": "https://gitlab.com/teaml5r/l5r5e/-/raw/master/screenshoots/school.jpg?raw=true",
"caption": "Experience and School"
},
{
"type": "screenshot",
"url": "https://gitlab.com/teaml5r/l5r5e/-/raw/master/screenshoots/sheet_pc.jpg?raw=true",
"caption": "PC sheet"
},
{
"type": "screenshot",
"url": "https://gitlab.com/teaml5r/l5r5e/-/raw/master/screenshoots/sheet_npc_army.jpg?raw=true",
"caption": "NPC and Army sheets"
},
{
"type": "screenshot",
"url": "https://gitlab.com/teaml5r/l5r5e/-/raw/master/screenshoots/compendiums.jpg?raw=true",
"caption": "Compendiums"
}
]
}

View File

@@ -1,393 +0,0 @@
{
"id": "l5rx-chiaroscuro",
"title": "chiaroscuro - Legend of the Five Rings (5th Edition)",
"description": "This is an authorised multilingual game system En|Fr|Es, for Legend of the Five Rings (5th Edition) by <a href='https://edge-studio.net/'>Edge Studio</a> <p> - Join the official Discord server: <a href='https://discord.gg/foundryvtt'> Official Discord</a></p><p> - Rejoignez la communauté Francophone: <a href='https://discord.gg/pPSDNJk'>Francophone Discord</a></p>",
"url": "https://gitlab.com/teaml5r/l5r5e",
"readme": "https://gitlab.com/teaml5r/l5r5e/-/blob/master/README.md",
"changelog": "https://gitlab.com/teaml5r/l5r5e/-/blob/master/CHANGELOG.md",
"license": "https://gitlab.com/teaml5r/l5r5e/-/blob/master/LICENSE.md",
"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",
"version": "14.0.0",
"compatibility": {
"minimum": "13",
"verified": "14"
},
"socket": true,
"authors": [
{
"name": "Vlyan",
"discord": "Vlyan#6771",
"url": "https://ko-fi.com/vlyan"
},
{
"name": "Mandar",
"discord": "Mandar#3440"
},
{
"name": "Carter",
"discord": "Carter#2703",
"url": "https://fr.tipeee.com/carter-foundryvtt"
},
{
"name": "Litasa",
"discord": "Litasa#3139"
}
],
"background": "systems/l5r5e/assets/l5r-header.webp",
"scripts": [],
"esmodules": [
"./scripts/main-l5r5e.js"
],
"styles": [
"./styles/l5r5e.css"
],
"packFolders": [
{
"name": "L5R5e System",
"color": "#9a0909",
"sorting": "m",
"folders": [
{
"name": "Character related",
"color": "#019806",
"sorting": "m",
"packs": [
"core-peculiarities-distinctions",
"core-peculiarities-passions",
"core-peculiarities-adversities",
"core-peculiarities-anxieties",
"core-bonds",
"core-titles",
"core-journal-school-curriculum",
"core-journal-great-clans-presentation"
]
},
{
"name": "Techniques",
"color": "#4b1eb3",
"sorting": "m",
"packs": [
"core-techniques-kata",
"core-techniques-kiho",
"core-techniques-inversions",
"core-techniques-invocations",
"core-techniques-rituals",
"core-techniques-shuji",
"core-techniques-maho",
"core-techniques-ninjutsu",
"core-techniques-mantra",
"core-techniques-school",
"core-techniques-mastery"
]
},
{
"name": "Objects related",
"color": "#0985ae",
"sorting": "m",
"packs": [
"core-properties",
"core-item-patterns",
"core-items",
"core-armors",
"core-weapons",
"core-signature-scrolls",
"core-celestial-implement-boons"
]
},
{
"name": "Helpers",
"color": "#6b3d1f",
"sorting": "m",
"packs": [
"core-journal-conditions",
"core-journal-terrain-qualities",
"core-journal-opportunities"
]
},
{
"name": "Tools",
"color": "#834949",
"sorting": "m",
"packs": [
"core-name-tables",
"core-macros"
]
}
]
}
],
"packs": [
{
"name": "core-properties",
"label": "Properties",
"path": "packs/core-properties.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-techniques-kata",
"label": "Techniques Kata",
"path": "packs/core-techniques-kata.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-techniques-kiho",
"label": "Techniques Kihõ",
"path": "packs/core-techniques-kiho.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-techniques-inversions",
"label": "Techniques Inversions",
"path": "packs/core-techniques-inversions.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-techniques-invocations",
"label": "Techniques Invocations",
"path": "packs/core-techniques-invocations.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-techniques-rituals",
"label": "Techniques Rituals",
"path": "packs/core-techniques-rituals.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-techniques-shuji",
"label": "Techniques Shuji",
"path": "packs/core-techniques-shuji.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-techniques-maho",
"label": "Techniques Mahõ",
"path": "packs/core-techniques-maho.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-techniques-ninjutsu",
"label": "Techniques Ninjutsu",
"path": "packs/core-techniques-ninjutsu.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-techniques-mantra",
"label": "Techniques Mantra",
"path": "packs/core-techniques-mantra.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-techniques-school",
"label": "School Abilities",
"path": "packs/core-techniques-school.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-techniques-mastery",
"label": "Mastery Abilities",
"path": "packs/core-techniques-mastery.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-items",
"label": "Items",
"path": "packs/core-items.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-armors",
"label": "Armors",
"path": "packs/core-armors.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-weapons",
"label": "Weapons",
"path": "packs/core-weapons.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-peculiarities-distinctions",
"label": "Distinctions",
"path": "packs/core-peculiarities-distinctions.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-peculiarities-passions",
"label": "Passions",
"path": "packs/core-peculiarities-passions.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-peculiarities-adversities",
"label": "Adversities",
"path": "packs/core-peculiarities-adversities.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-peculiarities-anxieties",
"label": "Anxieties",
"path": "packs/core-peculiarities-anxieties.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-bonds",
"label": "Bonds",
"path": "packs/core-bonds.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-titles",
"label": "Titles",
"path": "packs/core-titles.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-item-patterns",
"label": "Item Patterns",
"path": "packs/core-item-patterns.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-signature-scrolls",
"label": "Signature Scrolls",
"path": "packs/core-signature-scrolls.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-celestial-implement-boons",
"label": "Celestial Implement Boons",
"path": "packs/core-celestial-implement-boons.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-journal-school-curriculum",
"label": "School Curriculum",
"path": "packs/core-journal-school-curriculum.db",
"type": "JournalEntry",
"system": "l5r5e"
},
{
"name": "core-journal-conditions",
"label": "Conditions",
"path": "packs/core-journal-conditions.db",
"type": "JournalEntry",
"system": "l5r5e"
},
{
"name": "core-journal-terrain-qualities",
"label": "Terrain Qualities",
"path": "packs/core-journal-terrain-qualities.db",
"type": "JournalEntry",
"system": "l5r5e"
},
{
"name": "core-journal-great-clans-presentation",
"label": "Great Clans Presentation",
"path": "packs/core-journal-great-clans-presentation.db",
"type": "JournalEntry",
"system": "l5r5e"
},
{
"name": "core-journal-opportunities",
"label": "Opportunities",
"path": "packs/core-journal-opportunities.db",
"type": "JournalEntry",
"system": "l5r5e"
},
{
"name": "core-name-tables",
"label": "Name Tables",
"path": "packs/core-name-tables.db",
"type": "RollTable",
"system": "l5r5e"
},
{
"name": "core-macros",
"label": "L5R5E Macros",
"path": "packs/core-macros.db",
"type": "Macro",
"system": "l5r5e"
}
],
"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": "it",
"name": "Italian (Italy)",
"path": "lang/it-it.json"
}
],
"media": [
{
"type": "screenshot",
"url": "https://gitlab.com/teaml5r/l5r5e/-/raw/master/screenshoots/login.jpg?raw=true",
"caption": "Login screen"
},
{
"type": "screenshot",
"url": "https://gitlab.com/teaml5r/l5r5e/-/raw/master/screenshoots/roll.jpg?raw=true",
"caption": "DicePicker and Roll and Keep"
},
{
"type": "screenshot",
"url": "https://gitlab.com/teaml5r/l5r5e/-/raw/master/screenshoots/school.jpg?raw=true",
"caption": "Experience and School"
},
{
"type": "screenshot",
"url": "https://gitlab.com/teaml5r/l5r5e/-/raw/master/screenshoots/sheet_pc.jpg?raw=true",
"caption": "PC sheet"
},
{
"type": "screenshot",
"url": "https://gitlab.com/teaml5r/l5r5e/-/raw/master/screenshoots/sheet_npc_army.jpg?raw=true",
"caption": "NPC and Army sheets"
},
{
"type": "screenshot",
"url": "https://gitlab.com/teaml5r/l5r5e/-/raw/master/screenshoots/compendiums.jpg?raw=true",
"caption": "Compendiums"
}
]
}

View File

@@ -1,393 +0,0 @@
{
"id": "l5rx-chiaroscuro",
"title": "Chiaroscuro - Legend of the Five Rings (5th Edition)",
"description": "This is an authorised multilingual game system En|Fr|Es, for Legend of the Five Rings (5th Edition) by <a href='https://edge-studio.net/'>Edge Studio</a> <p> - Join the official Discord server: <a href='https://discord.gg/foundryvtt'> Official Discord</a></p><p> - Rejoignez la communauté Francophone: <a href='https://discord.gg/pPSDNJk'>Francophone Discord</a></p>",
"url": "https://gitlab.com/teaml5r/l5r5e",
"readme": "https://gitlab.com/teaml5r/l5r5e/-/blob/master/README.md",
"changelog": "https://gitlab.com/teaml5r/l5r5e/-/blob/master/CHANGELOG.md",
"license": "https://gitlab.com/teaml5r/l5r5e/-/blob/master/LICENSE.md",
"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",
"version": "14.0.0",
"compatibility": {
"minimum": "13",
"verified": "14"
},
"socket": true,
"authors": [
{
"name": "Vlyan",
"discord": "Vlyan#6771",
"url": "https://ko-fi.com/vlyan"
},
{
"name": "Mandar",
"discord": "Mandar#3440"
},
{
"name": "Carter",
"discord": "Carter#2703",
"url": "https://fr.tipeee.com/carter-foundryvtt"
},
{
"name": "Litasa",
"discord": "Litasa#3139"
}
],
"background": "systems/l5r5e/assets/l5r-header.webp",
"scripts": [],
"esmodules": [
"./scripts/main-l5r5e.js"
],
"styles": [
"./styles/l5r5e.css"
],
"packFolders": [
{
"name": "L5R5e System",
"color": "#9a0909",
"sorting": "m",
"folders": [
{
"name": "Character related",
"color": "#019806",
"sorting": "m",
"packs": [
"core-peculiarities-distinctions",
"core-peculiarities-passions",
"core-peculiarities-adversities",
"core-peculiarities-anxieties",
"core-bonds",
"core-titles",
"core-journal-school-curriculum",
"core-journal-great-clans-presentation"
]
},
{
"name": "Techniques",
"color": "#4b1eb3",
"sorting": "m",
"packs": [
"core-techniques-kata",
"core-techniques-kiho",
"core-techniques-inversions",
"core-techniques-invocations",
"core-techniques-rituals",
"core-techniques-shuji",
"core-techniques-maho",
"core-techniques-ninjutsu",
"core-techniques-mantra",
"core-techniques-school",
"core-techniques-mastery"
]
},
{
"name": "Objects related",
"color": "#0985ae",
"sorting": "m",
"packs": [
"core-properties",
"core-item-patterns",
"core-items",
"core-armors",
"core-weapons",
"core-signature-scrolls",
"core-celestial-implement-boons"
]
},
{
"name": "Helpers",
"color": "#6b3d1f",
"sorting": "m",
"packs": [
"core-journal-conditions",
"core-journal-terrain-qualities",
"core-journal-opportunities"
]
},
{
"name": "Tools",
"color": "#834949",
"sorting": "m",
"packs": [
"core-name-tables",
"core-macros"
]
}
]
}
],
"packs": [
{
"name": "core-properties",
"label": "Properties",
"path": "packs/core-properties.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-techniques-kata",
"label": "Techniques Kata",
"path": "packs/core-techniques-kata.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-techniques-kiho",
"label": "Techniques Kihõ",
"path": "packs/core-techniques-kiho.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-techniques-inversions",
"label": "Techniques Inversions",
"path": "packs/core-techniques-inversions.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-techniques-invocations",
"label": "Techniques Invocations",
"path": "packs/core-techniques-invocations.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-techniques-rituals",
"label": "Techniques Rituals",
"path": "packs/core-techniques-rituals.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-techniques-shuji",
"label": "Techniques Shuji",
"path": "packs/core-techniques-shuji.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-techniques-maho",
"label": "Techniques Mahõ",
"path": "packs/core-techniques-maho.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-techniques-ninjutsu",
"label": "Techniques Ninjutsu",
"path": "packs/core-techniques-ninjutsu.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-techniques-mantra",
"label": "Techniques Mantra",
"path": "packs/core-techniques-mantra.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-techniques-school",
"label": "School Abilities",
"path": "packs/core-techniques-school.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-techniques-mastery",
"label": "Mastery Abilities",
"path": "packs/core-techniques-mastery.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-items",
"label": "Items",
"path": "packs/core-items.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-armors",
"label": "Armors",
"path": "packs/core-armors.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-weapons",
"label": "Weapons",
"path": "packs/core-weapons.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-peculiarities-distinctions",
"label": "Distinctions",
"path": "packs/core-peculiarities-distinctions.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-peculiarities-passions",
"label": "Passions",
"path": "packs/core-peculiarities-passions.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-peculiarities-adversities",
"label": "Adversities",
"path": "packs/core-peculiarities-adversities.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-peculiarities-anxieties",
"label": "Anxieties",
"path": "packs/core-peculiarities-anxieties.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-bonds",
"label": "Bonds",
"path": "packs/core-bonds.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-titles",
"label": "Titles",
"path": "packs/core-titles.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-item-patterns",
"label": "Item Patterns",
"path": "packs/core-item-patterns.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-signature-scrolls",
"label": "Signature Scrolls",
"path": "packs/core-signature-scrolls.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-celestial-implement-boons",
"label": "Celestial Implement Boons",
"path": "packs/core-celestial-implement-boons.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-journal-school-curriculum",
"label": "School Curriculum",
"path": "packs/core-journal-school-curriculum.db",
"type": "JournalEntry",
"system": "l5r5e"
},
{
"name": "core-journal-conditions",
"label": "Conditions",
"path": "packs/core-journal-conditions.db",
"type": "JournalEntry",
"system": "l5r5e"
},
{
"name": "core-journal-terrain-qualities",
"label": "Terrain Qualities",
"path": "packs/core-journal-terrain-qualities.db",
"type": "JournalEntry",
"system": "l5r5e"
},
{
"name": "core-journal-great-clans-presentation",
"label": "Great Clans Presentation",
"path": "packs/core-journal-great-clans-presentation.db",
"type": "JournalEntry",
"system": "l5r5e"
},
{
"name": "core-journal-opportunities",
"label": "Opportunities",
"path": "packs/core-journal-opportunities.db",
"type": "JournalEntry",
"system": "l5r5e"
},
{
"name": "core-name-tables",
"label": "Name Tables",
"path": "packs/core-name-tables.db",
"type": "RollTable",
"system": "l5r5e"
},
{
"name": "core-macros",
"label": "L5R5E Macros",
"path": "packs/core-macros.db",
"type": "Macro",
"system": "l5r5e"
}
],
"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": "it",
"name": "Italian (Italy)",
"path": "lang/it-it.json"
}
],
"media": [
{
"type": "screenshot",
"url": "https://gitlab.com/teaml5r/l5r5e/-/raw/master/screenshoots/login.jpg?raw=true",
"caption": "Login screen"
},
{
"type": "screenshot",
"url": "https://gitlab.com/teaml5r/l5r5e/-/raw/master/screenshoots/roll.jpg?raw=true",
"caption": "DicePicker and Roll and Keep"
},
{
"type": "screenshot",
"url": "https://gitlab.com/teaml5r/l5r5e/-/raw/master/screenshoots/school.jpg?raw=true",
"caption": "Experience and School"
},
{
"type": "screenshot",
"url": "https://gitlab.com/teaml5r/l5r5e/-/raw/master/screenshoots/sheet_pc.jpg?raw=true",
"caption": "PC sheet"
},
{
"type": "screenshot",
"url": "https://gitlab.com/teaml5r/l5r5e/-/raw/master/screenshoots/sheet_npc_army.jpg?raw=true",
"caption": "NPC and Army sheets"
},
{
"type": "screenshot",
"url": "https://gitlab.com/teaml5r/l5r5e/-/raw/master/screenshoots/compendiums.jpg?raw=true",
"caption": "Compendiums"
}
]
}

View File

@@ -1,393 +0,0 @@
{
"id": "l5rx-chiaroscuro",
"title": "Chiaroscuro - L5R",
"description": "This is an authorised multilingual game system En|Fr|Es, for Legend of the Five Rings (5th Edition) by <a href='https://edge-studio.net/'>Edge Studio</a> <p> - Join the official Discord server: <a href='https://discord.gg/foundryvtt'> Official Discord</a></p><p> - Rejoignez la communauté Francophone: <a href='https://discord.gg/pPSDNJk'>Francophone Discord</a></p>",
"url": "https://gitlab.com/teaml5r/l5r5e",
"readme": "https://gitlab.com/teaml5r/l5r5e/-/blob/master/README.md",
"changelog": "https://gitlab.com/teaml5r/l5r5e/-/blob/master/CHANGELOG.md",
"license": "https://gitlab.com/teaml5r/l5r5e/-/blob/master/LICENSE.md",
"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",
"version": "14.0.0",
"compatibility": {
"minimum": "13",
"verified": "14"
},
"socket": true,
"authors": [
{
"name": "Vlyan",
"discord": "Vlyan#6771",
"url": "https://ko-fi.com/vlyan"
},
{
"name": "Mandar",
"discord": "Mandar#3440"
},
{
"name": "Carter",
"discord": "Carter#2703",
"url": "https://fr.tipeee.com/carter-foundryvtt"
},
{
"name": "Litasa",
"discord": "Litasa#3139"
}
],
"background": "systems/l5r5e/assets/l5r-header.webp",
"scripts": [],
"esmodules": [
"./scripts/main-l5r5e.js"
],
"styles": [
"./styles/l5r5e.css"
],
"packFolders": [
{
"name": "L5R5e System",
"color": "#9a0909",
"sorting": "m",
"folders": [
{
"name": "Character related",
"color": "#019806",
"sorting": "m",
"packs": [
"core-peculiarities-distinctions",
"core-peculiarities-passions",
"core-peculiarities-adversities",
"core-peculiarities-anxieties",
"core-bonds",
"core-titles",
"core-journal-school-curriculum",
"core-journal-great-clans-presentation"
]
},
{
"name": "Techniques",
"color": "#4b1eb3",
"sorting": "m",
"packs": [
"core-techniques-kata",
"core-techniques-kiho",
"core-techniques-inversions",
"core-techniques-invocations",
"core-techniques-rituals",
"core-techniques-shuji",
"core-techniques-maho",
"core-techniques-ninjutsu",
"core-techniques-mantra",
"core-techniques-school",
"core-techniques-mastery"
]
},
{
"name": "Objects related",
"color": "#0985ae",
"sorting": "m",
"packs": [
"core-properties",
"core-item-patterns",
"core-items",
"core-armors",
"core-weapons",
"core-signature-scrolls",
"core-celestial-implement-boons"
]
},
{
"name": "Helpers",
"color": "#6b3d1f",
"sorting": "m",
"packs": [
"core-journal-conditions",
"core-journal-terrain-qualities",
"core-journal-opportunities"
]
},
{
"name": "Tools",
"color": "#834949",
"sorting": "m",
"packs": [
"core-name-tables",
"core-macros"
]
}
]
}
],
"packs": [
{
"name": "core-properties",
"label": "Properties",
"path": "packs/core-properties.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-techniques-kata",
"label": "Techniques Kata",
"path": "packs/core-techniques-kata.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-techniques-kiho",
"label": "Techniques Kihõ",
"path": "packs/core-techniques-kiho.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-techniques-inversions",
"label": "Techniques Inversions",
"path": "packs/core-techniques-inversions.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-techniques-invocations",
"label": "Techniques Invocations",
"path": "packs/core-techniques-invocations.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-techniques-rituals",
"label": "Techniques Rituals",
"path": "packs/core-techniques-rituals.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-techniques-shuji",
"label": "Techniques Shuji",
"path": "packs/core-techniques-shuji.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-techniques-maho",
"label": "Techniques Mahõ",
"path": "packs/core-techniques-maho.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-techniques-ninjutsu",
"label": "Techniques Ninjutsu",
"path": "packs/core-techniques-ninjutsu.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-techniques-mantra",
"label": "Techniques Mantra",
"path": "packs/core-techniques-mantra.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-techniques-school",
"label": "School Abilities",
"path": "packs/core-techniques-school.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-techniques-mastery",
"label": "Mastery Abilities",
"path": "packs/core-techniques-mastery.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-items",
"label": "Items",
"path": "packs/core-items.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-armors",
"label": "Armors",
"path": "packs/core-armors.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-weapons",
"label": "Weapons",
"path": "packs/core-weapons.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-peculiarities-distinctions",
"label": "Distinctions",
"path": "packs/core-peculiarities-distinctions.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-peculiarities-passions",
"label": "Passions",
"path": "packs/core-peculiarities-passions.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-peculiarities-adversities",
"label": "Adversities",
"path": "packs/core-peculiarities-adversities.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-peculiarities-anxieties",
"label": "Anxieties",
"path": "packs/core-peculiarities-anxieties.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-bonds",
"label": "Bonds",
"path": "packs/core-bonds.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-titles",
"label": "Titles",
"path": "packs/core-titles.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-item-patterns",
"label": "Item Patterns",
"path": "packs/core-item-patterns.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-signature-scrolls",
"label": "Signature Scrolls",
"path": "packs/core-signature-scrolls.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-celestial-implement-boons",
"label": "Celestial Implement Boons",
"path": "packs/core-celestial-implement-boons.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-journal-school-curriculum",
"label": "School Curriculum",
"path": "packs/core-journal-school-curriculum.db",
"type": "JournalEntry",
"system": "l5r5e"
},
{
"name": "core-journal-conditions",
"label": "Conditions",
"path": "packs/core-journal-conditions.db",
"type": "JournalEntry",
"system": "l5r5e"
},
{
"name": "core-journal-terrain-qualities",
"label": "Terrain Qualities",
"path": "packs/core-journal-terrain-qualities.db",
"type": "JournalEntry",
"system": "l5r5e"
},
{
"name": "core-journal-great-clans-presentation",
"label": "Great Clans Presentation",
"path": "packs/core-journal-great-clans-presentation.db",
"type": "JournalEntry",
"system": "l5r5e"
},
{
"name": "core-journal-opportunities",
"label": "Opportunities",
"path": "packs/core-journal-opportunities.db",
"type": "JournalEntry",
"system": "l5r5e"
},
{
"name": "core-name-tables",
"label": "Name Tables",
"path": "packs/core-name-tables.db",
"type": "RollTable",
"system": "l5r5e"
},
{
"name": "core-macros",
"label": "L5R5E Macros",
"path": "packs/core-macros.db",
"type": "Macro",
"system": "l5r5e"
}
],
"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": "it",
"name": "Italian (Italy)",
"path": "lang/it-it.json"
}
],
"media": [
{
"type": "screenshot",
"url": "https://gitlab.com/teaml5r/l5r5e/-/raw/master/screenshoots/login.jpg?raw=true",
"caption": "Login screen"
},
{
"type": "screenshot",
"url": "https://gitlab.com/teaml5r/l5r5e/-/raw/master/screenshoots/roll.jpg?raw=true",
"caption": "DicePicker and Roll and Keep"
},
{
"type": "screenshot",
"url": "https://gitlab.com/teaml5r/l5r5e/-/raw/master/screenshoots/school.jpg?raw=true",
"caption": "Experience and School"
},
{
"type": "screenshot",
"url": "https://gitlab.com/teaml5r/l5r5e/-/raw/master/screenshoots/sheet_pc.jpg?raw=true",
"caption": "PC sheet"
},
{
"type": "screenshot",
"url": "https://gitlab.com/teaml5r/l5r5e/-/raw/master/screenshoots/sheet_npc_army.jpg?raw=true",
"caption": "NPC and Army sheets"
},
{
"type": "screenshot",
"url": "https://gitlab.com/teaml5r/l5r5e/-/raw/master/screenshoots/compendiums.jpg?raw=true",
"caption": "Compendiums"
}
]
}

View File

@@ -1,393 +0,0 @@
{
"id": "l5rx-chiaroscuro",
"title": "Chiaroscuro - L5R",
"description": "This is an authorised multilingual game system En|Fr|Es, for Legend of the Five Rings (5th Edition) by <a href='https://edge-studio.net/'>Edge Studio</a> <p> - Join the official Discord server: <a href='https://discord.gg/foundryvtt'> Official Discord</a></p><p> - Rejoignez la communauté Francophone: <a href='https://discord.gg/pPSDNJk'>Francophone Discord</a></p>",
"url": "https://gitlab.com/teaml5r/l5r5e",
"readme": "https://gitlab.com/teaml5r/l5r5e/-/blob/master/README.md",
"changelog": "https://gitlab.com/teaml5r/l5r5e/-/blob/master/CHANGELOG.md",
"license": "https://gitlab.com/teaml5r/l5r5e/-/blob/master/LICENSE.md",
"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",
"version": "14.0.0",
"compatibility": {
"minimum": "13",
"verified": "14"
},
"socket": true,
"authors": [
{
"name": "Vlyan",
"discord": "Vlyan#6771",
"url": "https://ko-fi.com/vlyan"
},
{
"name": "Mandar",
"discord": "Mandar#3440"
},
{
"name": "Carter",
"discord": "Carter#2703",
"url": "https://fr.tipeee.com/carter-foundryvtt"
},
{
"name": "Litasa",
"discord": "Litasa#3139"
}
],
"background": "systems/l5r5e/assets/l5r-header.webp",
"scripts": [],
"esmodules": [
"./scripts/main-l5r5e.js"
],
"styles": [
"./styles/l5r5e.css"
],
"packFolders": [
{
"name": "L5R5e System",
"color": "#9a0909",
"sorting": "m",
"folders": [
{
"name": "Character related",
"color": "#019806",
"sorting": "m",
"packs": [
"core-peculiarities-distinctions",
"core-peculiarities-passions",
"core-peculiarities-adversities",
"core-peculiarities-anxieties",
"core-bonds",
"core-titles",
"core-journal-school-curriculum",
"core-journal-great-clans-presentation"
]
},
{
"name": "Techniques",
"color": "#4b1eb3",
"sorting": "m",
"packs": [
"core-techniques-kata",
"core-techniques-kiho",
"core-techniques-inversions",
"core-techniques-invocations",
"core-techniques-rituals",
"core-techniques-shuji",
"core-techniques-maho",
"core-techniques-ninjutsu",
"core-techniques-mantra",
"core-techniques-school",
"core-techniques-mastery"
]
},
{
"name": "Objects related",
"color": "#0985ae",
"sorting": "m",
"packs": [
"core-properties",
"core-item-patterns",
"core-items",
"core-armors",
"core-weapons",
"core-signature-scrolls",
"core-celestial-implement-boons"
]
},
{
"name": "Helpers",
"color": "#6b3d1f",
"sorting": "m",
"packs": [
"core-journal-conditions",
"core-journal-terrain-qualities",
"core-journal-opportunities"
]
},
{
"name": "Tools",
"color": "#834949",
"sorting": "m",
"packs": [
"core-name-tables",
"core-macros"
]
}
]
}
],
"packs": [
{
"name": "core-properties",
"label": "Properties",
"path": "packs/core-properties.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-techniques-kata",
"label": "Techniques Kata",
"path": "packs/core-techniques-kata.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-techniques-kiho",
"label": "Techniques Kihõ",
"path": "packs/core-techniques-kiho.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-techniques-inversions",
"label": "Techniques Inversions",
"path": "packs/core-techniques-inversions.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-techniques-invocations",
"label": "Techniques Invocations",
"path": "packs/core-techniques-invocations.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-techniques-rituals",
"label": "Techniques Rituals",
"path": "packs/core-techniques-rituals.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-techniques-shuji",
"label": "Techniques Shuji",
"path": "packs/core-techniques-shuji.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-techniques-maho",
"label": "Techniques Mahõ",
"path": "packs/core-techniques-maho.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-techniques-ninjutsu",
"label": "Techniques Ninjutsu",
"path": "packs/core-techniques-ninjutsu.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-techniques-mantra",
"label": "Techniques Mantra",
"path": "packs/core-techniques-mantra.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-techniques-school",
"label": "School Abilities",
"path": "packs/core-techniques-school.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-techniques-mastery",
"label": "Mastery Abilities",
"path": "packs/core-techniques-mastery.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-items",
"label": "Items",
"path": "packs/core-items.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-armors",
"label": "Armors",
"path": "packs/core-armors.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-weapons",
"label": "Weapons",
"path": "packs/core-weapons.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-peculiarities-distinctions",
"label": "Distinctions",
"path": "packs/core-peculiarities-distinctions.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-peculiarities-passions",
"label": "Passions",
"path": "packs/core-peculiarities-passions.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-peculiarities-adversities",
"label": "Adversities",
"path": "packs/core-peculiarities-adversities.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-peculiarities-anxieties",
"label": "Anxieties",
"path": "packs/core-peculiarities-anxieties.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-bonds",
"label": "Bonds",
"path": "packs/core-bonds.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-titles",
"label": "Titles",
"path": "packs/core-titles.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-item-patterns",
"label": "Item Patterns",
"path": "packs/core-item-patterns.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-signature-scrolls",
"label": "Signature Scrolls",
"path": "packs/core-signature-scrolls.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-celestial-implement-boons",
"label": "Celestial Implement Boons",
"path": "packs/core-celestial-implement-boons.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-journal-school-curriculum",
"label": "School Curriculum",
"path": "packs/core-journal-school-curriculum.db",
"type": "JournalEntry",
"system": "l5r5e"
},
{
"name": "core-journal-conditions",
"label": "Conditions",
"path": "packs/core-journal-conditions.db",
"type": "JournalEntry",
"system": "l5r5e"
},
{
"name": "core-journal-terrain-qualities",
"label": "Terrain Qualities",
"path": "packs/core-journal-terrain-qualities.db",
"type": "JournalEntry",
"system": "l5r5e"
},
{
"name": "core-journal-great-clans-presentation",
"label": "Great Clans Presentation",
"path": "packs/core-journal-great-clans-presentation.db",
"type": "JournalEntry",
"system": "l5r5e"
},
{
"name": "core-journal-opportunities",
"label": "Opportunities",
"path": "packs/core-journal-opportunities.db",
"type": "JournalEntry",
"system": "l5r5e"
},
{
"name": "core-name-tables",
"label": "Name Tables",
"path": "packs/core-name-tables.db",
"type": "RollTable",
"system": "l5r5e"
},
{
"name": "core-macros",
"label": "L5R5E Macros",
"path": "packs/core-macros.db",
"type": "Macro",
"system": "l5r5e"
}
],
"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": "it",
"name": "Italian (Italy)",
"path": "lang/it-it.json"
}
],
"media": [
{
"type": "screenshot",
"url": "https://gitlab.com/teaml5r/l5r5e/-/raw/master/screenshoots/login.jpg?raw=true",
"caption": "Login screen"
},
{
"type": "screenshot",
"url": "https://gitlab.com/teaml5r/l5r5e/-/raw/master/screenshoots/roll.jpg?raw=true",
"caption": "DicePicker and Roll and Keep"
},
{
"type": "screenshot",
"url": "https://gitlab.com/teaml5r/l5r5e/-/raw/master/screenshoots/school.jpg?raw=true",
"caption": "Experience and School"
},
{
"type": "screenshot",
"url": "https://gitlab.com/teaml5r/l5r5e/-/raw/master/screenshoots/sheet_pc.jpg?raw=true",
"caption": "PC sheet"
},
{
"type": "screenshot",
"url": "https://gitlab.com/teaml5r/l5r5e/-/raw/master/screenshoots/sheet_npc_army.jpg?raw=true",
"caption": "NPC and Army sheets"
},
{
"type": "screenshot",
"url": "https://gitlab.com/teaml5r/l5r5e/-/raw/master/screenshoots/compendiums.jpg?raw=true",
"caption": "Compendiums"
}
]
}

View File

@@ -1,393 +0,0 @@
{
"id": "l5rx-chiaroscuro",
"title": "Chiaroscuro - L5R",
"description": "This is an authorised multilingual game system En|Fr|Es, for Legend of the Five Rings (5th Edition) by <a href='https://edge-studio.net/'>Edge Studio</a> <p> - Join the official Discord server: <a href='https://discord.gg/foundryvtt'> Official Discord</a></p><p> - Rejoignez la communauté Francophone: <a href='https://discord.gg/pPSDNJk'>Francophone Discord</a></p>",
"url": "https://gitlab.com/teaml5r/l5r5e",
"readme": "https://gitlab.com/teaml5r/l5r5e/-/blob/master/README.md",
"changelog": "https://gitlab.com/teaml5r/l5r5e/-/blob/master/CHANGELOG.md",
"license": "https://gitlab.com/teaml5r/l5r5e/-/blob/master/LICENSE.md",
"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",
"version": "14.0.0",
"compatibility": {
"minimum": "13",
"verified": "14"
},
"socket": true,
"authors": [
{
"name": "Vlyan",
"discord": "Vlyan#6771",
"url": "https://ko-fi.com/vlyan"
},
{
"name": "Mandar",
"discord": "Mandar#3440"
},
{
"name": "Carter",
"discord": "Carter#2703",
"url": "https://fr.tipeee.com/carter-foundryvtt"
},
{
"name": "Litasa",
"discord": "Litasa#3139"
}
],
"background": "systems/l5r5e/assets/l5r-header.webp",
"scripts": [],
"esmodules": [
"./scripts/main-l5r5e.js"
],
"styles": [
"./styles/l5r5e.css"
],
"packFolders": [
{
"name": "L5R5e System",
"color": "#9a0909",
"sorting": "m",
"folders": [
{
"name": "Character related",
"color": "#019806",
"sorting": "m",
"packs": [
"core-peculiarities-distinctions",
"core-peculiarities-passions",
"core-peculiarities-adversities",
"core-peculiarities-anxieties",
"core-bonds",
"core-titles",
"core-journal-school-curriculum",
"core-journal-great-clans-presentation"
]
},
{
"name": "Techniques",
"color": "#4b1eb3",
"sorting": "m",
"packs": [
"core-techniques-kata",
"core-techniques-kiho",
"core-techniques-inversions",
"core-techniques-invocations",
"core-techniques-rituals",
"core-techniques-shuji",
"core-techniques-maho",
"core-techniques-ninjutsu",
"core-techniques-mantra",
"core-techniques-school",
"core-techniques-mastery"
]
},
{
"name": "Objects related",
"color": "#0985ae",
"sorting": "m",
"packs": [
"core-properties",
"core-item-patterns",
"core-items",
"core-armors",
"core-weapons",
"core-signature-scrolls",
"core-celestial-implement-boons"
]
},
{
"name": "Helpers",
"color": "#6b3d1f",
"sorting": "m",
"packs": [
"core-journal-conditions",
"core-journal-terrain-qualities",
"core-journal-opportunities"
]
},
{
"name": "Tools",
"color": "#834949",
"sorting": "m",
"packs": [
"core-name-tables",
"core-macros"
]
}
]
}
],
"packs": [
{
"name": "core-properties",
"label": "Properties",
"path": "packs/core-properties.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-techniques-kata",
"label": "Techniques Kata",
"path": "packs/core-techniques-kata.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-techniques-kiho",
"label": "Techniques Kihõ",
"path": "packs/core-techniques-kiho.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-techniques-inversions",
"label": "Techniques Inversions",
"path": "packs/core-techniques-inversions.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-techniques-invocations",
"label": "Techniques Invocations",
"path": "packs/core-techniques-invocations.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-techniques-rituals",
"label": "Techniques Rituals",
"path": "packs/core-techniques-rituals.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-techniques-shuji",
"label": "Techniques Shuji",
"path": "packs/core-techniques-shuji.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-techniques-maho",
"label": "Techniques Mahõ",
"path": "packs/core-techniques-maho.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-techniques-ninjutsu",
"label": "Techniques Ninjutsu",
"path": "packs/core-techniques-ninjutsu.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-techniques-mantra",
"label": "Techniques Mantra",
"path": "packs/core-techniques-mantra.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-techniques-school",
"label": "School Abilities",
"path": "packs/core-techniques-school.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-techniques-mastery",
"label": "Mastery Abilities",
"path": "packs/core-techniques-mastery.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-items",
"label": "Items",
"path": "packs/core-items.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-armors",
"label": "Armors",
"path": "packs/core-armors.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-weapons",
"label": "Weapons",
"path": "packs/core-weapons.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-peculiarities-distinctions",
"label": "Distinctions",
"path": "packs/core-peculiarities-distinctions.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-peculiarities-passions",
"label": "Passions",
"path": "packs/core-peculiarities-passions.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-peculiarities-adversities",
"label": "Adversities",
"path": "packs/core-peculiarities-adversities.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-peculiarities-anxieties",
"label": "Anxieties",
"path": "packs/core-peculiarities-anxieties.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-bonds",
"label": "Bonds",
"path": "packs/core-bonds.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-titles",
"label": "Titles",
"path": "packs/core-titles.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-item-patterns",
"label": "Item Patterns",
"path": "packs/core-item-patterns.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-signature-scrolls",
"label": "Signature Scrolls",
"path": "packs/core-signature-scrolls.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-celestial-implement-boons",
"label": "Celestial Implement Boons",
"path": "packs/core-celestial-implement-boons.db",
"type": "Item",
"system": "l5r5e"
},
{
"name": "core-journal-school-curriculum",
"label": "School Curriculum",
"path": "packs/core-journal-school-curriculum.db",
"type": "JournalEntry",
"system": "l5r5e"
},
{
"name": "core-journal-conditions",
"label": "Conditions",
"path": "packs/core-journal-conditions.db",
"type": "JournalEntry",
"system": "l5r5e"
},
{
"name": "core-journal-terrain-qualities",
"label": "Terrain Qualities",
"path": "packs/core-journal-terrain-qualities.db",
"type": "JournalEntry",
"system": "l5r5e"
},
{
"name": "core-journal-great-clans-presentation",
"label": "Great Clans Presentation",
"path": "packs/core-journal-great-clans-presentation.db",
"type": "JournalEntry",
"system": "l5r5e"
},
{
"name": "core-journal-opportunities",
"label": "Opportunities",
"path": "packs/core-journal-opportunities.db",
"type": "JournalEntry",
"system": "l5r5e"
},
{
"name": "core-name-tables",
"label": "Name Tables",
"path": "packs/core-name-tables.db",
"type": "RollTable",
"system": "l5r5e"
},
{
"name": "core-macros",
"label": "L5R5E Macros",
"path": "packs/core-macros.db",
"type": "Macro",
"system": "l5r5e"
}
],
"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": "it",
"name": "Italian (Italy)",
"path": "lang/it-it.json"
}
],
"media": [
{
"type": "screenshot",
"url": "https://gitlab.com/teaml5r/l5r5e/-/raw/master/screenshoots/login.jpg?raw=true",
"caption": "Login screen"
},
{
"type": "screenshot",
"url": "https://gitlab.com/teaml5r/l5r5e/-/raw/master/screenshoots/roll.jpg?raw=true",
"caption": "DicePicker and Roll and Keep"
},
{
"type": "screenshot",
"url": "https://gitlab.com/teaml5r/l5r5e/-/raw/master/screenshoots/school.jpg?raw=true",
"caption": "Experience and School"
},
{
"type": "screenshot",
"url": "https://gitlab.com/teaml5r/l5r5e/-/raw/master/screenshoots/sheet_pc.jpg?raw=true",
"caption": "PC sheet"
},
{
"type": "screenshot",
"url": "https://gitlab.com/teaml5r/l5r5e/-/raw/master/screenshoots/sheet_npc_army.jpg?raw=true",
"caption": "NPC and Army sheets"
},
{
"type": "screenshot",
"url": "https://gitlab.com/teaml5r/l5r5e/-/raw/master/screenshoots/compendiums.jpg?raw=true",
"caption": "Compendiums"
}
]
}

View File

@@ -76,10 +76,7 @@
"signature_scroll": "Signature Scroll",
"item_pattern": "Item Pattern",
"army_fortification": "Fortification",
"army_cohort": "Cohort",
"arcane": "Arcane",
"etat": "State",
"mystere": "Mystery"
"army_cohort": "Cohort"
},
"Journal": {
"journal": "Journal"
@@ -321,8 +318,7 @@
"school_ability": "School Ability",
"mastery_ability": "Mastery Ability",
"title_ability": "Title Ability",
"specificity": "Specificity",
"mot_invocation": "Invocation Word"
"specificity": "Specificity"
},
"peculiarities": {
"types": {
@@ -873,142 +869,5 @@
"range_band": "Range Band {band}",
"range_abbreviation": "RB {range}"
}
},
"chiaroscuro": {
"skill_ranks": {
"0": "—",
"initie": "Initiate",
"expert": "Expert",
"maitre": "Master",
"parangon1": "Paragon I",
"parangon2": "Paragon II",
"parangon3": "Paragon III"
},
"difficulties": {
"simple": "Simple (7)",
"moyenne": "Average (10)",
"assez_difficile": "Somewhat Difficult (13)",
"difficile": "Difficult (16)",
"tres_difficile": "Very Difficult (22)",
"heroique": "Heroic (28)",
"improbable": "Improbable (32)"
},
"aspects": {
"solar": "Solar Aspect",
"lunar": "Lunar Aspect",
"gauge": "Aspect Gauge",
"desequilibre_solaire": "Solar Imbalance",
"desequilibre_lunaire": "Lunar Imbalance"
},
"danger": {
"simple": "Simple",
"moyenne": "Average",
"assez_difficile": "Somewhat Difficult",
"difficile": "Difficult"
},
"arcane": {
"title": "Arcanes",
"label": "Arcane",
"arcane_type": "Type",
"application": "Skills",
"bonus": "Bonus",
"progression": "Progression",
"xp_cost": "XP Cost"
},
"etat": {
"title": "States",
"label": "State",
"application": "Application",
"mod": "Modifier",
"effect": "Effect",
"elimination": "Elimination Condition"
},
"mystere": {
"title": "Mysteries",
"label": "Mystery",
"mystere_type": "Type",
"mineur": "Minor",
"majeur": "Major",
"prerequisite_skill": "Prerequisite Skill",
"prerequisite_condition": "Prerequisite Condition"
},
"character": {
"is_samurai": "Samurai",
"quick_info": "Quick Info",
"default_ring": "Default Ring",
"region": "Region",
"education": "Education",
"past_problems": "Problematic Past",
"koku": "Koku",
"bu": "Bu",
"zeni": "Zeni"
},
"weapon": {
"bonus": "Bonus",
"categories": {
"arbalete": "Crossbow",
"arc": "Bow",
"contondante": "Bludgeoning Weapon",
"poing": "Hand Weapon",
"hast": "Polearm",
"improvisee": "Improvised Weapon",
"shinobi": "Shinobi Weapon",
"specialisee": "Specialized Weapon",
"bouclier": "Shield",
"hache": "Axe",
"naturel": "Natural",
"sabre": "Sword",
"nemuranai": "Nemuranai"
}
},
"armor": {
"categories": {
"vetement": "Clothing",
"leger": "Light",
"moyen": "Medium",
"lourd": "Heavy",
"nemuranai": "Nemuranai"
}
},
"item": {
"types": {
"ordinaire": "Ordinary",
"shinobi": "Shinobi",
"interdit": "Forbidden",
"gaijin": "Gaijin",
"nemuranai": "Nemuranai"
}
},
"technique": {
"mot_invocation": "Invocation Word",
"invocation_type": "Invocation Type",
"invocation_types": {
"general": "General",
"neutre": "Neutral",
"precis": "Precise"
},
"mode_invocation": "Invocation Mode"
},
"tabs": {
"invocations": "Invocations",
"identity": "Identity",
"identity_text1": "Appearance",
"identity_text2": "Biography"
},
"dice": {
"title": "Chiaroscuro Roll",
"difficulty_label": "Difficulty",
"modifier_label": "Modifier",
"options": "Options",
"aspect_point": "Aspect Point",
"assistance": "Assistance",
"total_dice": "Dice to roll",
"bonus": "Rank bonus",
"roll": "Roll",
"dice_result": "Dice total",
"adjusted": "Adjusted (Parangon)",
"success": "Success",
"failure": "Failure"
}
}
}

View File

@@ -76,10 +76,7 @@
"signature_scroll": "Rouleau de marque",
"item_pattern": "Procédé de fabrication",
"army_fortification": "Fortification",
"army_cohort": "Régiment",
"arcane": "Arcane",
"etat": "État",
"mystere": "Mystère"
"army_cohort": "Régiment"
},
"Journal": {
"journal": "Journal"
@@ -321,8 +318,7 @@
"school_ability": "Capacité d'école",
"mastery_ability": "Capacité de maîtrise",
"title_ability": "Capacité de Titre",
"specificity": "Particularité",
"mot_invocation": "Mot d'Invocation"
"specificity": "Particularité"
},
"peculiarities": {
"types": {
@@ -873,142 +869,5 @@
"range_band": "Portée {band}",
"range_abbreviation": "NP {range}"
}
},
"chiaroscuro": {
"skill_ranks": {
"0": "—",
"initie": "Initié",
"expert": "Expert",
"maitre": "Maître",
"parangon1": "Parangon I",
"parangon2": "Parangon II",
"parangon3": "Parangon III"
},
"difficulties": {
"simple": "Simple (7)",
"moyenne": "Moyenne (10)",
"assez_difficile": "Assez difficile (13)",
"difficile": "Difficile (16)",
"tres_difficile": "Très difficile (22)",
"heroique": "Héroïque (28)",
"improbable": "Improbable (32)"
},
"aspects": {
"solar": "Aspect Solaire",
"lunar": "Aspect Lunaire",
"gauge": "Jauge d'Aspect",
"desequilibre_solaire": "Déséquilibre Solaire",
"desequilibre_lunaire": "Déséquilibre Lunaire"
},
"danger": {
"simple": "Simple",
"moyenne": "Moyenne",
"assez_difficile": "Assez Difficile",
"difficile": "Difficile"
},
"arcane": {
"title": "Arcanes",
"label": "Arcane",
"arcane_type": "Type",
"application": "Compétences",
"bonus": "Bonus",
"progression": "Progression",
"xp_cost": "Coût XP"
},
"etat": {
"title": "États",
"label": "État",
"application": "Application",
"mod": "Modificateur",
"effect": "Effet",
"elimination": "Condition d'élimination"
},
"mystere": {
"title": "Mystères",
"label": "Mystère",
"mystere_type": "Type",
"mineur": "Mineur",
"majeur": "Majeur",
"prerequisite_skill": "Compétence prérequis",
"prerequisite_condition": "Condition prérequis"
},
"character": {
"is_samurai": "Samouraï",
"quick_info": "Info rapide",
"default_ring": "Anneau par défaut",
"region": "Région",
"education": "Éducation",
"past_problems": "Passé problématique",
"koku": "Koku",
"bu": "Bu",
"zeni": "Zeni"
},
"weapon": {
"bonus": "Bonus",
"categories": {
"arbalete": "Arbalète",
"arc": "Arc",
"contondante": "Arme Contondante",
"poing": "Arme de Poing",
"hast": "Arme Hast",
"improvisee": "Arme Improvisée",
"shinobi": "Arme Shinobi",
"specialisee": "Arme Spécialisée",
"bouclier": "Bouclier",
"hache": "Hache",
"naturel": "Naturel",
"sabre": "Sabre",
"nemuranai": "Nemuranai"
}
},
"armor": {
"categories": {
"vetement": "Vêtement",
"leger": "Léger",
"moyen": "Moyen",
"lourd": "Lourd",
"nemuranai": "Nemuranai"
}
},
"item": {
"types": {
"ordinaire": "Ordinaire",
"shinobi": "Shinobi",
"interdit": "Interdit",
"gaijin": "Gaijin",
"nemuranai": "Nemuranai"
}
},
"technique": {
"mot_invocation": "Mot d'Invocation",
"invocation_type": "Type d'invocation",
"invocation_types": {
"general": "Général",
"neutre": "Neutre",
"precis": "Précis"
},
"mode_invocation": "Mode d'Invocation"
},
"tabs": {
"invocations": "Invocations",
"identity": "Identité",
"identity_text1": "Apparence",
"identity_text2": "Biographie"
},
"dice": {
"title": "Jet Chiaroscuro",
"difficulty_label": "Difficulté",
"modifier_label": "Modificateur",
"options": "Options",
"aspect_point": "Point d'Aspect",
"assistance": "Assistance",
"total_dice": "Dés à lancer",
"bonus": "Bonus rang",
"roll": "Lancer les dés",
"dice_result": "Somme des dés",
"adjusted": "Ajusté (Parangon)",
"success": "Réussite",
"failure": "Échec"
}
}
}

View File

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

View File

@@ -320,7 +320,7 @@ export class CharacterGenerator {
}
// Img (only if system defaults)
const folder = "systems/l5rx-chiaroscuro/assets/icons/actors";
const folder = "systems/l5r5e/assets/icons/actors";
const newImg = [
`${folder}/npc.svg`,
`${folder}/traditional-japanese-man.svg`,

View File

@@ -64,52 +64,6 @@ export class CharacterSheetL5r5e extends BaseCharacterSheetL5r5e {
parseInt(sheetData.data.system.xp_total) - parseInt(sheetData.data.system.xp_spent)
);
// Chiaroscuro: Skill ranks list for <select>
sheetData.data.skillRanksList = Object.keys(CONFIG.l5r5e.skillRanks).map((id) => ({
id,
label: game.i18n.localize(`chiaroscuro.skill_ranks.${id}`),
}));
// Chiaroscuro: Normalize skill values 0 (number) → "0" (string) for selectOptions matching
for (const category of Object.values(sheetData.data.system.skills)) {
for (const [key, value] of Object.entries(category)) {
if (value === 0) category[key] = "0";
}
}
// Chiaroscuro: Aspects gauge data
const aspectsData = sheetData.data.system.aspects?.aspects ?? {};
const gauge = aspectsData.gauge ?? 0;
sheetData.data.aspectsData = {
solar: aspectsData.solar ?? 0,
lunar: aspectsData.lunar ?? 0,
gauge,
gaugePercent: ((gauge + 10) / 20) * 100,
gaugeColor: gauge > 0 ? "#d4a855" : gauge < 0 ? "#5588aa" : "#888888",
};
// Chiaroscuro: État items active on the character
sheetData.data.etatItems = sheetData.items.filter((i) => i.type === "etat");
// Chiaroscuro: Invocations split by type (from splitTechniquesList)
const invocations = sheetData.data.splitTechniquesList["mot_invocation"] ?? [];
sheetData.data.splitInvocationsList = {
general: invocations.filter((t) => !t.system.invocation_type || t.system.invocation_type === "general"),
neutre: invocations.filter((t) => t.system.invocation_type === "neutre"),
precis: invocations.filter((t) => t.system.invocation_type === "precis"),
};
// Chiaroscuro: Arcane items
sheetData.data.arcaneItems = sheetData.items.filter((i) => i.type === "arcane");
// Chiaroscuro: Identity tabs enriched HTML
sheetData.data.enrichedHtml.identity_text1 = await foundry.applications.ux.TextEditor.implementation.enrichHTML(
this.actor.system.identity_text1 ?? "", { async: true }
);
sheetData.data.enrichedHtml.identity_text2 = await foundry.applications.ux.TextEditor.implementation.enrichHTML(
this.actor.system.identity_text2 ?? "", { async: true }
);
return sheetData;
}
@@ -166,14 +120,6 @@ export class CharacterSheetL5r5e extends BaseCharacterSheetL5r5e {
// XP +/-
html.find(".xp-control").on("click", this._modifyXP.bind(this));
// Chiaroscuro: set default ring on ring-name click
html.find(".ring-set-default").on("click", (event) => {
event.preventDefault();
const ring = $(event.currentTarget).data("ring");
this.actor.update({ "system.default_ring": ring });
});
// Advancements Tab to current rank onload
// TODO class "Active" Bug on load, dunno why :/
this._tabs
@@ -181,18 +127,6 @@ export class CharacterSheetL5r5e extends BaseCharacterSheetL5r5e {
.activate("advancement_rank_" + (this.actor.system.identity.school_rank || 0));
}
/**
* Override base dice picker to open Chiaroscuro d6 dialog.
* @param {Event} event
*/
_openDicePickerForSkill(event) {
event.preventDefault();
const el = $(event.currentTarget);
const skillId = el.data("skill");
const ringId = el.data("ring") || this.actor.system?.default_ring || "void";
new game.l5r5e.ChiaroscuroDiceDialog({ actor: this.actor, ringId, skillId }).render(true);
}
/**
* Split the school advancement, calculate the total xp spent and the current total xp spent by rank
*/
@@ -284,13 +218,6 @@ export class CharacterSheetL5r5e extends BaseCharacterSheetL5r5e {
delete formData["system.money.zeni"];
}
// Chiaroscuro: convert skill rank "0" (string from <select>) back to 0 (number)
for (const [key, value] of Object.entries(formData)) {
if (key.startsWith("system.skills.") && value === "0") {
formData[key] = 0;
}
}
// Save computed values
const currentData = this.object.system;
formData["system.focus"] = currentData.focus;

View File

@@ -50,21 +50,6 @@ export class NpcSheetL5r5e extends BaseCharacterSheetL5r5e {
label: game.i18n.localize("l5r5e.character_types." + e),
}));
// Danger levels for martial/social danger selects
const dangerLevels = ["simple", "moyenne", "assez_difficile", "difficile"];
sheetData.data.dangerList = dangerLevels.map((id) => ({
id,
label: game.i18n.localize(`chiaroscuro.danger.${id}`),
}));
// Invocations list (mot_invocation techniques, split by type like character sheet)
const invocations = sheetData.data.splitTechniquesList?.["mot_invocation"] ?? [];
sheetData.data.splitInvocationsList = {
general: invocations.filter((t) => !t.system.invocation_type || t.system.invocation_type === "general"),
neutre: invocations.filter((t) => t.system.invocation_type === "neutre"),
precis: invocations.filter((t) => t.system.invocation_type === "precis"),
};
return sheetData;
}
@@ -116,16 +101,4 @@ export class NpcSheetL5r5e extends BaseCharacterSheetL5r5e {
return super._updateObject(event, formData);
}
/**
* Override base dice picker to open Chiaroscuro d6 dialog.
* @param {Event} event
*/
_openDicePickerForSkill(event) {
event.preventDefault();
const el = $(event.currentTarget);
const skillId = el.data("skill");
const ringId = el.data("ring") || this.actor.system?.default_ring || "void";
new game.l5r5e.ChiaroscuroDiceDialog({ actor: this.actor, ringId, skillId }).render(true);
}
}

View File

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

View File

@@ -28,7 +28,7 @@ export class ItemCompendiumL5r5e extends Compendium {
* changes their index-partial.hbs, this file will need updating to match.
* @override
*/
static _entryPartial = "systems/l5rx-chiaroscuro/templates/" + "compendium/l5r5e-index-partial.html";
static _entryPartial = "systems/l5r5e/templates/" + "compendium/l5r5e-index-partial.html";
/**
* Sources present in this specific compendium, populated during _prepareContext.

View File

@@ -1,8 +1,8 @@
export const L5R5E = {
namespace: "l5r5e",
paths: {
assets: "systems/l5rx-chiaroscuro/assets/",
templates: "systems/l5rx-chiaroscuro/templates/",
assets: "systems/l5r5e/assets/",
templates: "systems/l5r5e/templates/",
},
money: [50, 10],
stances: ["earth", "air", "water", "fire", "void"],
@@ -14,226 +14,176 @@ export const L5R5E = {
skillCostMultiplier: 2,
techniqueCost: 3,
},
// --- Chiaroscuro additions ---
/** Skill rank enum values and associated flat bonus */
skillRanks: {
0: { bonus: 0 },
initie: { bonus: 1 },
expert: { bonus: 2 },
maitre: { bonus: 3 },
parangon1: { bonus: 3, passive: 1 }, // dice results of 1 count as 2
parangon2: { bonus: 3, passive: 2 }, // dice results of 1-2 count as 3
parangon3: { bonus: 3, passive: 3 }, // dice results of 1-3 count as 4
},
/** Difficulty thresholds (Chiaroscuro scale) */
difficulties: {
simple: 7,
moyenne: 10,
assez_difficile: 13,
difficile: 16,
tres_difficile: 22,
heroique: 28,
improbable: 32,
},
/** Ring colors for Chiaroscuro visual style */
ringColors: {
air: "rgb(145, 120, 150)",
water: "rgb(95, 145, 155)",
fire: "rgb(155, 115, 80)",
earth: "rgb(105, 150, 120)",
void: "rgb(75, 70, 65)",
},
/** Aspect gauge configuration */
aspects: {
solarConditionId: "desequilibre_lunaire",
lunarConditionId: "desequilibre_solaire",
imbalanceThreshold: 5,
resetThreshold: 10,
},
// --- End Chiaroscuro additions ---
// For rings wound to be aligned, add them first
conditions: [{
id: "lightly_wounded_fire",
name: "l5r5e.conditions.lightly_wounded_fire",
img: "systems/l5rx-chiaroscuro/assets/icons/conditions/lightly_wounded_fire.webp",
img: "systems/l5r5e/assets/icons/conditions/lightly_wounded_fire.webp",
system: { id: "L5RCoreCon000016" }
},{
id: "lightly_wounded_water",
name: "l5r5e.conditions.lightly_wounded_water",
img: "systems/l5rx-chiaroscuro/assets/icons/conditions/lightly_wounded_water.webp",
img: "systems/l5r5e/assets/icons/conditions/lightly_wounded_water.webp",
system: { id: "L5RCoreCon000016" }
},{
id: "lightly_wounded_air",
name: "l5r5e.conditions.lightly_wounded_air",
img: "systems/l5rx-chiaroscuro/assets/icons/conditions/lightly_wounded_air.webp",
img: "systems/l5r5e/assets/icons/conditions/lightly_wounded_air.webp",
system: { id: "L5RCoreCon000016" }
},{
id: "lightly_wounded_earth",
name: "l5r5e.conditions.lightly_wounded_earth",
img: "systems/l5rx-chiaroscuro/assets/icons/conditions/lightly_wounded_earth.webp",
img: "systems/l5r5e/assets/icons/conditions/lightly_wounded_earth.webp",
system: { id: "L5RCoreCon000016" }
},{
id: "lightly_wounded_void",
name: "l5r5e.conditions.lightly_wounded_void",
img: "systems/l5rx-chiaroscuro/assets/icons/conditions/lightly_wounded_void.webp",
img: "systems/l5r5e/assets/icons/conditions/lightly_wounded_void.webp",
system: { id: "L5RCoreCon000016" }
},{
id: "severely_wounded_fire",
name: "l5r5e.conditions.severely_wounded_fire",
img: "systems/l5rx-chiaroscuro/assets/icons/conditions/heavily_wounded_fire.webp",
img: "systems/l5r5e/assets/icons/conditions/heavily_wounded_fire.webp",
system: { id: "L5RCoreCon000016" }
},{
id: "severely_wounded_water",
name: "l5r5e.conditions.severely_wounded_water",
img: "systems/l5rx-chiaroscuro/assets/icons/conditions/heavily_wounded_water.webp",
img: "systems/l5r5e/assets/icons/conditions/heavily_wounded_water.webp",
system: { id: "L5RCoreCon000016" }
},{
id: "severely_wounded_air",
name: "l5r5e.conditions.severely_wounded_air",
img: "systems/l5rx-chiaroscuro/assets/icons/conditions/heavily_wounded_air.webp",
img: "systems/l5r5e/assets/icons/conditions/heavily_wounded_air.webp",
system: { id: "L5RCoreCon000016" }
},{
id: "severely_wounded_earth",
name: "l5r5e.conditions.severely_wounded_earth",
img: "systems/l5rx-chiaroscuro/assets/icons/conditions/heavily_wounded_earth.webp",
img: "systems/l5r5e/assets/icons/conditions/heavily_wounded_earth.webp",
system: { id: "L5RCoreCon000016" }
},{
id: "severely_wounded_void",
name: "l5r5e.conditions.severely_wounded_void",
img: "systems/l5rx-chiaroscuro/assets/icons/conditions/heavily_wounded_void.webp",
img: "systems/l5r5e/assets/icons/conditions/heavily_wounded_void.webp",
system: { id: "L5RCoreCon000016" }
},{
id: "afflicted",
name: "l5r5e.conditions.afflicted",
img: "systems/l5rx-chiaroscuro/assets/icons/conditions/afflicted.webp",
img: "systems/l5r5e/assets/icons/conditions/afflicted.webp",
system: { id: "L5RCoreCon000001" }
},{
id: "bleeding",
name: "l5r5e.conditions.bleeding",
img: "systems/l5rx-chiaroscuro/assets/icons/conditions/bleeding.webp",
img: "systems/l5r5e/assets/icons/conditions/bleeding.webp",
system: { id: "L5RCoreCon000002" }
},{
id: "burning",
name: "l5r5e.conditions.burning",
img: "systems/l5rx-chiaroscuro/assets/icons/conditions/burning.webp",
img: "systems/l5r5e/assets/icons/conditions/burning.webp",
system: { id: "L5RCoreCon000003" }
},{
id: "centered",
name: "l5r5e.conditions.centered",
img: "systems/l5rx-chiaroscuro/assets/icons/conditions/centered.webp",
img: "systems/l5r5e/assets/icons/conditions/centered.webp",
system: { id: "L5RCoreCon000022" }
},{
id: "compromised",
name: "l5r5e.conditions.compromised",
img: "systems/l5rx-chiaroscuro/assets/icons/conditions/compromised.webp",
img: "systems/l5r5e/assets/icons/conditions/compromised.webp",
system: { id: "L5RCoreCon000004" }
},{
id: "dazed",
name: "l5r5e.conditions.dazed",
img: "systems/l5rx-chiaroscuro/assets/icons/conditions/dazed.webp",
img: "systems/l5r5e/assets/icons/conditions/dazed.webp",
system: { id: "L5RCoreCon000005" }
},{
id: "disoriented",
name: "l5r5e.conditions.disoriented",
img: "systems/l5rx-chiaroscuro/assets/icons/conditions/disoriented.webp",
img: "systems/l5r5e/assets/icons/conditions/disoriented.webp",
system: { id: "L5RCoreCon000006" }
},{
id: "dying",
name: "l5r5e.conditions.dying",
img: "systems/l5rx-chiaroscuro/assets/icons/conditions/dying_1.webp",
img: "systems/l5r5e/assets/icons/conditions/dying_1.webp",
system: { id: "L5RCoreCon000007" }
},{
id: "emboldened",
name: "l5r5e.conditions.emboldened",
img: "systems/l5rx-chiaroscuro/assets/icons/conditions/emboldened.webp",
img: "systems/l5r5e/assets/icons/conditions/emboldened.webp",
system: { id: "L5RCoreCon000023" }
},{
id: "enraged",
name: "l5r5e.conditions.enraged",
img: "systems/l5rx-chiaroscuro/assets/icons/conditions/enraged.webp",
img: "systems/l5r5e/assets/icons/conditions/enraged.webp",
system: { id: "L5RCoreCon000008" }
},{
id: "exhausted",
name: "l5r5e.conditions.exhausted",
img: "systems/l5rx-chiaroscuro/assets/icons/conditions/exhausted.webp",
img: "systems/l5r5e/assets/icons/conditions/exhausted.webp",
system: { id: "L5RCoreCon000009" }
},{
id: "illness_coughing_illness",
name: "l5r5e.conditions.illness_coughing_illness",
img: "systems/l5rx-chiaroscuro/assets/icons/conditions/illness_coughing_illness.webp",
img: "systems/l5r5e/assets/icons/conditions/illness_coughing_illness.webp",
system: { id: "L5RCoreCon000019" }
},{
id: "illness_fire_rash",
name: "l5r5e.conditions.illness_fire_rash",
img: "systems/l5rx-chiaroscuro/assets/icons/conditions/illness_fire_rash.webp",
img: "systems/l5r5e/assets/icons/conditions/illness_fire_rash.webp",
system: { id: "L5RCoreCon000021" }
},{
id: "illness_gut_sickness",
name: "l5r5e.conditions.illness_gut_sickness",
img: "systems/l5rx-chiaroscuro/assets/icons/conditions/illness_gut_sickness.webp",
img: "systems/l5r5e/assets/icons/conditions/illness_gut_sickness.webp",
system: { id: "L5RCoreCon000018" }
},{
id: "illness_oozing_sore_disease",
name: "l5r5e.conditions.illness_oozing_sore_disease",
img: "systems/l5rx-chiaroscuro/assets/icons/conditions/illness_oozing_sore_disease.webp",
img: "systems/l5r5e/assets/icons/conditions/illness_oozing_sore_disease.webp",
system: { id: "L5RCoreCon000017" }
},{
id: "illness_unsteady_illness",
name: "l5r5e.conditions.illness_unsteady_illness",
img: "systems/l5rx-chiaroscuro/assets/icons/conditions/illness_unsteady_illness.webp",
img: "systems/l5r5e/assets/icons/conditions/illness_unsteady_illness.webp",
system: { id: "L5RCoreCon000020" }
},{
id: "immobilized",
name: "l5r5e.conditions.immobilized",
img: "systems/l5rx-chiaroscuro/assets/icons/conditions/immobilized.webp",
img: "systems/l5r5e/assets/icons/conditions/immobilized.webp",
system: { id: "L5RCoreCon000010" }
},{
id: "incapacitated",
name: "l5r5e.conditions.incapacitated",
img: "systems/l5rx-chiaroscuro/assets/icons/conditions/incapacitated.webp",
img: "systems/l5r5e/assets/icons/conditions/incapacitated.webp",
system: { id: "L5RCoreCon000011" }
},{
id: "intoxicated",
name: "l5r5e.conditions.intoxicated",
img: "systems/l5rx-chiaroscuro/assets/icons/conditions/intoxicated.webp",
img: "systems/l5r5e/assets/icons/conditions/intoxicated.webp",
system: { id: "L5RCoreCon000012" }
},{
id: "possessed",
name: "l5r5e.conditions.possessed",
img: "systems/l5rx-chiaroscuro/assets/icons/conditions/possesed.webp",
img: "systems/l5r5e/assets/icons/conditions/possesed.webp",
system: { id: "L5RCoreCon000024" }
},{
id: "prone",
name: "l5r5e.conditions.prone",
img: "systems/l5rx-chiaroscuro/assets/icons/conditions/prone.webp",
img: "systems/l5r5e/assets/icons/conditions/prone.webp",
system: { id: "L5RCoreCon000013" }
},{
id: "silenced",
name: "l5r5e.conditions.silenced",
img: "systems/l5rx-chiaroscuro/assets/icons/conditions/silenced.webp",
img: "systems/l5r5e/assets/icons/conditions/silenced.webp",
system: { id: "L5RCoreCon000014" }
},{
id: "unconscious",
name: "l5r5e.conditions.unconscious",
img: "systems/l5rx-chiaroscuro/assets/icons/conditions/unconscious.webp",
img: "systems/l5r5e/assets/icons/conditions/unconscious.webp",
system: { id: "L5RCoreCon000015" }
},{
id: "desequilibre_solaire",
name: "chiaroscuro.aspects.desequilibre_solaire",
img: "systems/l5rx-chiaroscuro/assets/icons/conditions/desequilibre_solaire.webp",
system: { id: "ChiaCon000001" }
},{
id: "desequilibre_lunaire",
name: "chiaroscuro.aspects.desequilibre_lunaire",
img: "systems/l5rx-chiaroscuro/assets/icons/conditions/desequilibre_lunaire.webp",
system: { id: "ChiaCon000002" }
id: "dead",
name: "EFFECT.StatusDead",
img: "icons/svg/skull.svg"
}],
regex: {
techniqueDifficulty: /^@([TS]):([^|]+?)(?:\|(min|max)(?:\(([^)]+?)\))?)?$/,
@@ -398,8 +348,6 @@ L5R5E.techniques.set("mastery_ability", { type: "school", displayInTypes: false
L5R5E.techniques.set("title_ability", { type: "title", displayInTypes: false });
// Custom
L5R5E.techniques.set("specificity", { type: "custom", displayInTypes: false });
// Chiaroscuro
L5R5E.techniques.set("mot_invocation", { type: "chiaroscuro", displayInTypes: true });
// *** SkillId - CategoryId ***
L5R5E.skills = new Map();

View File

@@ -1,334 +0,0 @@
/**
* Chiaroscuro Dice Dialog
*
* d6 pool system: ring value × multiplier d6, sum vs difficulty.
* Multiplier: ×1 base, ×2 if aspect or assistance, ×3 if both.
* Parangon passives adjust individual die results before summing.
*/
export class ChiaroscuroDiceDialog extends FormApplication {
/**
* Current Actor
* @type {ActorL5r5e}
* @private
*/
_actor = null;
/**
* Payload Object
*/
object = {
ring: { id: "void", value: 1 },
skill: { id: "", name: "", bonus: 0, rank: "0" },
difficulty: { id: "moyenne", value: 10 },
modifier: 0,
useAspectPoint: false,
aspectType: "solar",
useAssistance: false,
};
static get defaultOptions() {
return foundry.utils.mergeObject(super.defaultOptions, {
id: "l5r5e-chiaroscuro-dice-dialog",
classes: ["l5r5e", "chiaroscuro-dice-dialog"],
template: CONFIG.l5r5e.paths.templates + "dice/chiaroscuro-dice-dialog.html",
title: game.i18n.localize("chiaroscuro.dice.title"),
width: 440,
height: "auto",
});
}
get id() {
return `l5r5e-chiaroscuro-dice-dialog-${this._actor?.id ?? "no-actor"}`;
}
get title() {
return game.i18n.localize("chiaroscuro.dice.title") + (this._actor ? " — " + this._actor.name : "");
}
/**
* Total dice to roll (ring value × multiplier)
* @return {number}
*/
get totalDice() {
const base = this.object.ring.value;
const both = this.object.useAspectPoint && this.object.useAssistance;
const either = this.object.useAspectPoint || this.object.useAssistance;
return base * (both ? 3 : either ? 2 : 1);
}
/**
* @param options actor, actorId, ringId, skillId
*/
constructor(options = {}) {
super({}, options);
// Resolve actor
[
options?.actor,
game.actors.get(options?.actorId),
canvas.tokens.controlled[0]?.actor,
game.user.character,
].forEach((actor) => {
if (!this._actor && actor instanceof Actor && actor.isOwner) {
this._actor = actor;
}
});
// Default ring: options > actor default_ring > void
const ringId = options.ringId ?? this._actor?.system?.default_ring ?? "void";
this.ringId = ringId;
// Skill
if (options.skillId) {
this.skillId = options.skillId;
}
}
/**
* Set ring (id + value from actor)
* @param {string} ringId
*/
set ringId(ringId) {
this.object.ring.id = CONFIG.l5r5e.stances.includes(ringId) ? ringId : "void";
this.object.ring.value = this._actor?.system?.rings?.[this.object.ring.id] || 1;
// Auto-derive aspect type from ring (fire/earth → solar, air/water → lunar; void = manual)
if (this.object.ring.id !== "void") {
this.object.aspectType = ["fire", "earth"].includes(this.object.ring.id) ? "solar" : "lunar";
}
}
/**
* Set skill (id, name, rank, bonus)
* @param {string} skillId
*/
set skillId(skillId) {
if (!skillId) return;
const catId = CONFIG.l5r5e.skills.get(skillId.toLowerCase().trim());
const rank = this._actor?.system?.skills?.[catId]?.[skillId] ?? "0";
this.object.skill = {
...this.object.skill,
id: skillId,
name: catId ? game.i18n.localize(`l5r5e.skills.${catId}.${skillId}`) : skillId,
rank,
bonus: CONFIG.l5r5e.skillRanks?.[rank]?.bonus ?? 0,
};
}
async getData(options = null) {
const difficultiesList = Object.entries(CONFIG.l5r5e.difficulties).map(([id, value]) => ({
id,
label: game.i18n.localize(`chiaroscuro.difficulties.${id}`),
value,
}));
const aspectsList = [
{ id: "solar", label: game.i18n.localize("chiaroscuro.aspects.solar") },
{ id: "lunar", label: game.i18n.localize("chiaroscuro.aspects.lunar") },
];
return {
...(await super.getData(options)),
actor: this._actor,
data: this.object,
totalDice: this.totalDice,
ringsList: game.l5r5e.HelpersL5r5e.getRingsList(this._actor),
difficultiesList,
aspectsList,
isVoidRing: this.object.ring.id === "void",
quickInfo: this._actor?.system?.quick_info ?? "",
};
}
activateListeners(html) {
super.activateListeners(html);
// Ring selector
html.find(".ring-selection-chi").on("click", async (event) => {
event.preventDefault();
event.stopPropagation();
this.ringId = event.currentTarget.dataset.ringid;
this.render(false);
});
// Difficulty select
html.find("select[name='difficulty.id']").on("change", (event) => {
this.object.difficulty.id = event.target.value;
this.object.difficulty.value = CONFIG.l5r5e.difficulties[this.object.difficulty.id];
this.render(false);
});
// Flat modifier
html.find("input[name='modifier']").on("change", (event) => {
this.object.modifier = parseInt(event.target.value) || 0;
});
// Aspect point checkbox
html.find("#use_aspect_point").on("change", (event) => {
this.object.useAspectPoint = event.target.checked;
this.render(false);
});
// Aspect type select (solar / lunar)
html.find("select[name='aspectType']").on("change", (event) => {
this.object.aspectType = event.target.value;
});
// Assistance checkbox
html.find("#use_assistance").on("change", (event) => {
this.object.useAssistance = event.target.checked;
this.render(false);
});
// Roll button — explicit submit trigger
html.find("button[name='roll']").on("click", (event) => {
event.preventDefault();
this._onSubmit(event);
});
}
async _updateObject(event, formData) {
const nbDice = this.totalDice;
const skillRank = this.object.skill.rank;
const skillBonus = this.object.skill.bonus;
const flatModifier = this.object.modifier;
const difficultyObj = this.object.difficulty;
const difficultyValue = difficultyObj.value;
// Roll the dice using FoundryVTT Roll API
const roll = await new Roll(`${nbDice}d6`).evaluate();
const rawResults = roll.dice[0].results.map((r) => r.result);
// Apply parangon passive adjustments
const adjustedResults = rawResults.map((r) => this._applyParangon(r, skillRank));
const diceAdjustedFlags = rawResults.map((r, i) => adjustedResults[i] !== r);
const wasAdjusted = diceAdjustedFlags.some(Boolean);
// Compute total
const rawSum = adjustedResults.reduce((a, b) => a + b, 0);
const total = rawSum + skillBonus + flatModifier;
const success = total >= difficultyValue;
const bonus = success ? total - difficultyValue : 0;
// Update aspect gauge after roll
if (this._actor && this.object.useAspectPoint) {
await this._updateAspectGauge();
}
// Post chat message
await this._sendChatMessage({
nbDice,
rawResults,
adjustedResults,
diceAdjustedFlags,
wasAdjusted,
rawSum,
total,
skillBonus,
flatModifier,
difficulty: difficultyObj,
success,
bonus,
});
return this.close();
}
/**
* Apply parangon rank passive: replace low die results with higher value.
* parangon1: 1 → 2
* parangon2: 12 → 3
* parangon3: 13 → 4
* @param {number} result
* @param {string} rank
* @return {number}
*/
_applyParangon(result, rank) {
if (rank === "parangon3" && result <= 3) return 4;
if (rank === "parangon2" && result <= 2) return 3;
if (rank === "parangon1" && result <= 1) return 2;
return result;
}
/**
* Update the aspect gauge on the actor after an aspect point roll.
* Gauge positive = solar side, negative = lunar side.
* ±5 → apply Déséquilibre. ±10 → full reset.
*/
async _updateAspectGauge() {
// Support both single-nested (system.aspects) and double-nested (system.aspects.aspects)
const aspectsPath = this._actor.system.aspects?.aspects !== undefined
? "system.aspects.aspects"
: "system.aspects";
const aspects = foundry.utils.getProperty(this._actor, aspectsPath) ?? {};
const gaugeDirection = this.object.aspectType === "solar" ? 1 : -1;
const newGauge = (aspects.gauge ?? 0) + gaugeDirection;
if (Math.abs(newGauge) >= 10) {
// Full reset
await this._actor.update({
[`${aspectsPath}.gauge`]: 0,
[`${aspectsPath}.solar`]: 0,
[`${aspectsPath}.lunar`]: 0,
});
// Remove all desequilibre conditions
const toRemove = this._actor.items
.filter((i) => i.type === "etat" && ["desequilibre_solaire", "desequilibre_lunaire"].includes(i.system?.condition_type))
.map((i) => i.id);
if (toRemove.length) {
await this._actor.deleteEmbeddedDocuments("Item", toRemove);
}
} else {
await this._actor.update({ [`${aspectsPath}.gauge`]: newGauge });
if (Math.abs(newGauge) >= 5) {
// Apply opposing desequilibre
const condType = this.object.aspectType === "solar" ? "desequilibre_lunaire" : "desequilibre_solaire";
const existing = this._actor.items.find(
(i) => i.type === "etat" && i.system?.condition_type === condType
);
if (!existing) {
await this._actor.createEmbeddedDocuments("Item", [
{
type: "etat",
name: game.i18n.localize(`chiaroscuro.aspects.${condType}`),
system: { condition_type: condType },
},
]);
}
}
}
}
/**
* Create and send the chat message.
*/
async _sendChatMessage(rollData) {
const content = await foundry.applications.handlebars.renderTemplate(
CONFIG.l5r5e.paths.templates + "dice/chiaroscuro-chat-roll.html",
{
actor: this._actor,
profileImg: this._actor?.img ?? "icons/svg/mystery-man.svg",
ring: this.object.ring,
skill: this.object.skill,
difficulty: this.object.difficulty,
useAspectPoint: this.object.useAspectPoint,
aspectType: this.object.aspectType,
useAssistance: this.object.useAssistance,
modifier: this.object.modifier,
quickInfo: this._actor?.system?.quick_info ?? "",
...rollData,
}
);
return ChatMessage.implementation.create({
user: game.user.id,
speaker: {
actor: this._actor?.id ?? null,
alias: this._actor?.name ?? null,
},
content,
sound: CONFIG.sounds.dice,
});
}
}

View File

@@ -690,7 +690,7 @@ export class DicePickerDialog extends FormApplication {
type: "script",
scope: "actor",
command,
img: this._actor?.img || "systems/l5rx-chiaroscuro/assets/dices/default/ring_et.svg",
img: this._actor?.img || "systems/l5r5e/assets/dices/default/ring_et.svg",
});
}

View File

@@ -1,3 +1,5 @@
import { HelpersL5r5e } from "../helpers.js";
/**
* L5R Dice Roll n Keep dialog
* @extends {FormApplication}
@@ -651,7 +653,7 @@ export class RollnKeepDialog extends FormApplication {
if (this.roll.l5r5e.isInitiativeRoll) {
let msgOptions = {
rnkRoll: this.roll,
rollMode: game.l5r5e.HelpersL5r5e.getRollMode(this._message),
messageMode: HelpersL5r5e.getMessageMode(this._message),
};
await this.roll.l5r5e.actor.rollInitiative({
@@ -667,7 +669,7 @@ export class RollnKeepDialog extends FormApplication {
// Send it to chat, switch to new message
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.
* @override
*/
async toMessage(messageData = {}, { rollMode = null } = {}) {
async toMessage(messageData = {}, { messageMode = null } = {}) {
// Perform the roll, if it has not yet been rolled
if (!this._evaluated) {
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
const content = this.l5r5e.dicesTypes.l5r ? await this.render({}) : this.total;
@@ -358,9 +352,15 @@ export class RollL5r5e extends Roll {
);
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
return ChatMessage.implementation.create(messageData, {
rollMode: rMode,
messageMode: mMode,
});
}

View File

@@ -73,11 +73,11 @@ export class GmMonitor extends HandlebarsApplicationMixin(ApplicationV2) {
},
character: {
id: "character",
template: "systems/l5rx-chiaroscuro/templates/" + "gm/monitor/character-view.html"
template: "systems/l5r5e/templates/" + "gm/monitor/character-view.html"
},
army: {
if: "army",
template: "systems/l5rx-chiaroscuro/templates/" + "gm/monitor/army-view.html"
template: "systems/l5r5e/templates/" + "gm/monitor/army-view.html"
}
};

View File

@@ -44,7 +44,7 @@ export class GmToolbox extends HandlebarsApplicationMixin(ApplicationV2) {
static PARTS = {
main: {
id: "gm-tool-content",
template: "systems/l5rx-chiaroscuro/templates/" + "gm/gm-toolbox.html"
template: "systems/l5r5e/templates/" + "gm/gm-toolbox.html"
}
};

View File

@@ -37,6 +37,14 @@ export const RegisterHandlebars = function () {
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 */
/* ------------------------------------ */
@@ -64,11 +72,6 @@ export const RegisterHandlebars = function () {
return objects.join("");
});
// Chiaroscuro: return the flat bonus for a given skill rank id
Handlebars.registerHelper("skillRankBonus", (rankId) => {
return CONFIG.l5r5e.skillRanks?.[rankId]?.bonus ?? 0;
});
// Add a setter
Handlebars.registerHelper("setVar", function (varName, varValue, options) {
options.data.root[varName] = varValue;

View File

@@ -629,21 +629,21 @@ export class HelpersL5r5e {
}
/**
* Return the RollMode for this ChatData
* Return the MessageMode for this ChatData
* @param {object} chatData
* @return {string}
*/
static getRollMode(chatData) {
static getMessageMode(chatData) {
if (chatData.whisper.length === 1 && chatData.whisper[0] === game.user.id) {
return "selfroll";
return "self";
}
if (chatData.blind) {
return "blindroll";
return "blind";
}
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
* @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);
if (!comp) {
console.log(`L5R5E | Helpers | Pack not found[${pack}]`);

View File

@@ -90,12 +90,12 @@ export class AdvancementSheetL5r5e extends ItemSheetL5r5e {
// Modify image to reflect choice
if (newChoice.ring) {
name = game.i18n.localize(`l5r5e.rings.${newChoice.ring}`) + "+1";
img = `systems/l5rx-chiaroscuro/assets/icons/rings/${newChoice.ring}.svg`;
img = `systems/l5r5e/assets/icons/rings/${newChoice.ring}.svg`;
} else if (newChoice.skill) {
name =
game.i18n.localize(`l5r5e.skills.${CONFIG.l5r5e.skills.get(newChoice.skill)}.${newChoice.skill}`) +
"+1";
img = `systems/l5rx-chiaroscuro/assets/dices/default/skill_blank.svg`;
img = `systems/l5r5e/assets/dices/default/skill_blank.svg`;
}
// Object embed in actor ?

View File

@@ -1,44 +0,0 @@
import { BaseItemSheetL5r5e } from "./base-item-sheet.js";
/**
* Sheet for Arcane items (Chiaroscuro).
* @extends {BaseItemSheetL5r5e}
*/
export class ArcaneSheetL5r5e extends BaseItemSheetL5r5e {
/** @override */
static get defaultOptions() {
return foundry.utils.mergeObject(super.defaultOptions, {
classes: ["l5r5e", "sheet", "arcane"],
template: CONFIG.l5r5e.paths.templates + "items/arcane/arcane-sheet.html",
tabs: [{ navSelector: ".sheet-tabs", contentSelector: ".sheet-body", initial: "attributes" }],
});
}
/** @override */
async getData(options = {}) {
const sheetData = await super.getData(options);
// Convert application array to comma-separated string for display
const app = sheetData.data.system.application;
sheetData.data.system.applicationDisplay = Array.isArray(app) ? app.join(", ") : (app ?? "");
sheetData.data.enrichedHtml = {
description: await foundry.applications.ux.TextEditor.implementation.enrichHTML(
sheetData.data.system.description ?? "",
{ async: true }
),
};
return sheetData;
}
/** @override */
async _updateObject(event, formData) {
// Convert comma-separated application string back to array
const raw = formData["system.applicationDisplay"] ?? "";
formData["system.application"] = raw.split(",").map((s) => s.trim()).filter(Boolean);
delete formData["system.applicationDisplay"];
return super._updateObject(event, formData);
}
}

View File

@@ -11,16 +11,4 @@ export class ArmorSheetL5r5e extends ItemSheetL5r5e {
template: CONFIG.l5r5e.paths.templates + "items/armor/armor-sheet.html",
});
}
/** @override */
async getData(options = {}) {
const sheetData = await super.getData(options);
const catObj = game.l5r5e.HelpersL5r5e.getLocalizedRawObject("chiaroscuro.armor.categories") ?? {};
sheetData.data.armorCategories = Object.entries(catObj)
.filter(([k]) => k !== "label")
.map(([id, label]) => ({ id, label }));
return sheetData;
}
}

View File

@@ -1,30 +0,0 @@
import { BaseItemSheetL5r5e } from "./base-item-sheet.js";
/**
* Sheet for État items (Chiaroscuro).
* @extends {BaseItemSheetL5r5e}
*/
export class EtatSheetL5r5e extends BaseItemSheetL5r5e {
/** @override */
static get defaultOptions() {
return foundry.utils.mergeObject(super.defaultOptions, {
classes: ["l5r5e", "sheet", "etat"],
template: CONFIG.l5r5e.paths.templates + "items/etat/etat-sheet.html",
tabs: [{ navSelector: ".sheet-tabs", contentSelector: ".sheet-body", initial: "attributes" }],
});
}
/** @override */
async getData(options = {}) {
const sheetData = await super.getData(options);
sheetData.data.enrichedHtml = {
description: await foundry.applications.ux.TextEditor.implementation.enrichHTML(
sheetData.data.system.description ?? "",
{ async: true }
),
};
return sheetData;
}
}

View File

@@ -50,7 +50,7 @@ export class ItemSheetL5r5e extends BaseItemSheetL5r5e {
id: property.id,
name: property.name,
type: "property",
img: "systems/l5rx-chiaroscuro/assets/icons/items/property.svg",
img: "systems/l5r5e/assets/icons/items/property.svg",
removed: true,
};
}));

View File

@@ -1,35 +0,0 @@
import { BaseItemSheetL5r5e } from "./base-item-sheet.js";
/**
* Sheet for Mystère items (Chiaroscuro).
* @extends {BaseItemSheetL5r5e}
*/
export class MystereSheetL5r5e extends BaseItemSheetL5r5e {
/** @override */
static get defaultOptions() {
return foundry.utils.mergeObject(super.defaultOptions, {
classes: ["l5r5e", "sheet", "mystere"],
template: CONFIG.l5r5e.paths.templates + "items/mystere/mystere-sheet.html",
tabs: [{ navSelector: ".sheet-tabs", contentSelector: ".sheet-body", initial: "attributes" }],
});
}
/** @override */
async getData(options = {}) {
const sheetData = await super.getData(options);
sheetData.data.mystereTypes = [
{ id: "mineur", label: game.i18n.localize("chiaroscuro.mystere.mineur") },
{ id: "majeur", label: game.i18n.localize("chiaroscuro.mystere.majeur") },
];
sheetData.data.enrichedHtml = {
description: await foundry.applications.ux.TextEditor.implementation.enrichHTML(
sheetData.data.system.description ?? "",
{ async: true }
),
};
return sheetData;
}
}

View File

@@ -17,27 +17,12 @@ export class TechniqueSheetL5r5e extends ItemSheetL5r5e {
const sheetData = await super.getData(options);
// List all available techniques type
const types = ["core", "school", "title", "chiaroscuro"];
const types = ["core", "school", "title"];
if (game.settings.get(CONFIG.l5r5e.namespace, "techniques-customs")) {
types.push("custom");
}
sheetData.data.techniquesList = game.l5r5e.HelpersL5r5e.getTechniquesList({ types });
// Invocation sub-type fields (visible only for mot_invocation)
sheetData.data.isMotInvocation = sheetData.data.system.technique_type === "mot_invocation";
sheetData.data.invocationTypes = [
{ id: "general", label: game.i18n.localize("chiaroscuro.technique.invocation_types.general") },
{ id: "neutre", label: game.i18n.localize("chiaroscuro.technique.invocation_types.neutre") },
{ id: "precis", label: game.i18n.localize("chiaroscuro.technique.invocation_types.precis") },
];
sheetData.data.modeInvocationValues = [
{ id: "-3", label: "-3" },
{ id: "0", label: "0" },
{ id: "3", label: "+3" },
];
// Convert mode_invocation to string for selectOptions matching
sheetData.data.system.mode_invocation_str = String(sheetData.data.system.mode_invocation ?? 0);
// Sanitize Difficulty and Skill list
sheetData.data.system.difficulty = TechniqueSheetL5r5e.formatDifficulty(sheetData.data.system.difficulty);
sheetData.data.system.skill = TechniqueSheetL5r5e.translateSkillsList(
@@ -70,12 +55,6 @@ export class TechniqueSheetL5r5e extends ItemSheetL5r5e {
TechniqueSheetL5r5e.translateSkillsList(formData["system.skill"].split(","), true)
).join(",");
// Convert mode_invocation_str back to number
if ("system.mode_invocation_str" in formData) {
formData["system.mode_invocation"] = parseInt(formData["system.mode_invocation_str"] ?? "0", 10);
delete formData["system.mode_invocation_str"];
}
return super._updateObject(event, formData);
}

View File

@@ -23,12 +23,6 @@ export class WeaponSheetL5r5e extends ItemSheetL5r5e {
label: "l5r5e.skills." + cat.toLowerCase() + "." + id.toLowerCase(),
}));
// Weapon categories (Chiaroscuro)
const catObj = game.l5r5e.HelpersL5r5e.getLocalizedRawObject("chiaroscuro.weapon.categories") ?? {};
sheetData.data.weaponCategories = [{ id: "", label: "—" }].concat(
Object.entries(catObj).map(([id, label]) => ({ id, label }))
);
return sheetData;
}
}

View File

@@ -19,7 +19,6 @@ import { RingDie } from "./dice/dietype/ring-die.js";
import { RollL5r5e } from "./dice/roll.js";
import { DicePickerDialog } from "./dice/dice-picker-dialog.js";
import { RollnKeepDialog } from "./dice/roll-n-keep-dialog.js";
import { ChiaroscuroDiceDialog } from "./dice/chiaroscuro-dice-dialog.js";
import { CombatL5r5e } from "./combat.js";
// Items
import { ItemL5r5e } from "./item.js";
@@ -34,9 +33,6 @@ import { TitleSheetL5r5e } from "./items/title-sheet.js";
import { BondSheetL5r5e } from "./items/bond-sheet.js";
import { SignatureScrollSheetL5r5e } from "./items/signature-scroll-sheet.js";
import { ItemPatternSheetL5r5e } from "./items/item-pattern-sheet.js";
import { ArcaneSheetL5r5e } from "./items/arcane-sheet.js";
import { EtatSheetL5r5e } from "./items/etat-sheet.js";
import { MystereSheetL5r5e } from "./items/mystere-sheet.js";
import { ArmyCohortSheetL5r5e } from "./items/army-cohort-sheet.js";
import { ArmyFortificationSheetL5r5e } from "./items/army-fortification-sheet.js";
// JournalEntry
@@ -122,7 +118,6 @@ Hooks.once("init", async () => {
ActorL5r5e,
DicePickerDialog,
RollnKeepDialog,
ChiaroscuroDiceDialog,
GmToolbox,
GmMonitor,
storage: new Storage(),
@@ -228,21 +223,6 @@ Hooks.once("init", async () => {
label: "TYPES.Item.army_fortification",
makeDefault: true,
});
fdc.Items.registerSheet(L5R5E.namespace, ArcaneSheetL5r5e, {
types: ["arcane"],
label: "TYPES.Item.arcane",
makeDefault: true,
});
fdc.Items.registerSheet(L5R5E.namespace, EtatSheetL5r5e, {
types: ["etat"],
label: "TYPES.Item.etat",
makeDefault: true,
});
fdc.Items.registerSheet(L5R5E.namespace, MystereSheetL5r5e, {
types: ["mystere"],
label: "TYPES.Item.mystere",
makeDefault: true,
});
// Journal
fdc.Journal.unregisterSheet("core", fav1s.JournalSheet);

View File

@@ -309,29 +309,6 @@ export class MigrationL5r5e {
}
// ***** End of 1.3.0 *****
// ***** Start of 2.0.0 (Chiaroscuro) *****
if (options?.force || MigrationL5r5e.needUpdate("2.0.0")) {
// Migrate character skill ranks from numeric (1-5) to Chiaroscuro string enum.
// Rank 0 (unranked) stays as the number 0 — this is intentional: the template
// defaults to 0 (number) and JS coerces it correctly when keying into skillRanks.
if (actor.type === "character" && system.skills) {
const rankMap = { 1: "initie", 2: "expert", 3: "maitre", 4: "parangon1", 5: "parangon2" };
const groups = ["artisan", "martial", "scholar", "social", "trade"];
for (const group of groups) {
const groupSkills = system.skills[group];
if (!groupSkills) continue;
for (const [skillName, rank] of Object.entries(groupSkills)) {
const numRank = Number(rank);
// Only migrate non-zero numeric ranks; 0 is already valid as-is
if (numRank > 0 && rankMap[numRank]) {
updateData[`system.skills.${group}.${skillName}`] = rankMap[numRank];
}
}
}
}
}
// ***** End of 2.0.0 (Chiaroscuro) *****
return updateData;
}

View File

@@ -1,19 +1,16 @@
export const PreloadTemplates = async function () {
const tpl = CONFIG.l5r5e.paths.templates;
return foundry.applications.handlebars.loadTemplates([
// Add paths to "systems/l5rx-chiaroscuro/templates"
// Add paths to "systems/l5r5e/templates"
// *** Actors : PC ***
`${tpl}actors/character/advancement-school.html`,
`${tpl}actors/character/advancement-others.html`,
`${tpl}actors/character/aspects.html`,
`${tpl}actors/character/attributes.html`,
`${tpl}actors/character/category.html`,
`${tpl}actors/character/conflict.html`,
`${tpl}actors/character/experience.html`,
`${tpl}actors/character/identity.html`,
`${tpl}actors/character/identity-text.html`,
`${tpl}actors/character/inventory.html`,
`${tpl}actors/character/invocations.html`,
`${tpl}actors/character/narrative.html`,
`${tpl}actors/character/rings.html`,
`${tpl}actors/character/effects.html`,
@@ -77,6 +74,5 @@ export const PreloadTemplates = async function () {
`${tpl}items/weapon/weapon-sheet.html`,
`${tpl}items/army-cohort/army-cohort-entry.html`,
`${tpl}items/army-fortification/army-fortification-entry.html`,
`${tpl}dice/chiaroscuro-chat-roll.html`,
]);
};

View File

@@ -43,7 +43,7 @@ export class TacticalGridSettingsL5R5E extends HandlebarsApplicationMixin(Applic
/** @override */
static PARTS = {
form: {
template: "systems/l5rx-chiaroscuro/templates/" + "settings/tactical-grid-settings.html",
template: "systems/l5r5e/templates/" + "settings/tactical-grid-settings.html",
scrollable: [""],
},
footer: {

View File

@@ -11,7 +11,7 @@ function getRangeband(gridSettings, distance) {
export class RulerL5r5e extends foundry.canvas.interaction.Ruler {
static WAYPOINT_LABEL_TEMPLATE = "systems/l5rx-chiaroscuro/templates/" + "hud/tactical-grid-ruler.html"
static WAYPOINT_LABEL_TEMPLATE = "systems/l5r5e/templates/" + "hud/tactical-grid-ruler.html"
/** @override */
_getWaypointLabelContext(waypoint, state) {
@@ -44,7 +44,7 @@ export class RulerL5r5e extends foundry.canvas.interaction.Ruler {
}
export class TokenRulerL5r5e extends foundry.canvas.placeables.tokens.TokenRuler {
static WAYPOINT_LABEL_TEMPLATE = "systems/l5rx-chiaroscuro/templates/" + "hud/tactical-grid-ruler.html"
static WAYPOINT_LABEL_TEMPLATE = "systems/l5r5e/templates/" + "hud/tactical-grid-ruler.html"
/** @override */
_getWaypointLabelContext(waypoint, state) {

View File

@@ -21,6 +21,5 @@
@import "../scss/items";
@import "../scss/twenty-questions";
@import "../scss/tactical-grid";
@import "../scss/chiaroscuro";
}
}

File diff suppressed because one or more lines are too long

View File

@@ -1,376 +0,0 @@
// ── Chiaroscuro UI Styles ──────────────────────────────────────────────────
// ── Aspects (header block on character sheet) ─────────────────────────────
.aspects-section {
display: flex;
flex-wrap: wrap;
align-items: center;
gap: 0.25rem 0.5rem;
padding: 0.25rem 0.5rem;
border: 1px solid rgba($chi-title, 0.3);
border-radius: 0.25rem;
font-size: 0.85rem;
.aspect-fields {
display: flex;
flex-wrap: wrap;
align-items: center;
gap: 0.25rem;
flex: 1;
.attribute-label {
display: flex;
align-items: center;
gap: 0.25rem;
&:nth-child(1) { color: $chi-solar; } // solar
&:nth-child(2) { color: $chi-lunar; } // lunar
input[type="number"] {
width: 3rem;
text-align: center;
}
}
.gauge-bar-wrapper {
flex: 0 0 100%;
height: 0.4rem;
background: linear-gradient(to right, $chi-lunar, rgba(128,128,128,0.3) 50%, $chi-solar);
border-radius: 0.25rem;
position: relative;
overflow: hidden;
.gauge-bar {
position: absolute;
top: 0;
height: 100%;
border-radius: 0.25rem;
opacity: 0.8;
}
}
}
}
// ── État badges (character sheet header) ─────────────────────────────────
.etat-summary {
flex: 0 0 100%;
display: flex;
flex-wrap: wrap;
align-items: center;
gap: 0.2rem;
padding: 0.1rem 0;
font-size: 0.8rem;
.etat-summary-label {
color: $l5r5e-label;
font-style: italic;
margin-right: 0.2rem;
}
.etat-badge {
display: inline-flex;
align-items: center;
gap: 0.2rem;
padding: 0.1rem 0.35rem;
border-radius: 0.2rem;
background: rgba($chi-title, 0.18);
border: 1px solid rgba($chi-title, 0.4);
color: $chi-title;
cursor: default;
&:hover { background: rgba($chi-title, 0.32); }
}
}
// ── NPC Danger levels (identity.html) ────────────────────────────────────
.danger-row {
display: flex;
align-items: center;
gap: 0.4rem;
margin: 0.2rem 0;
}
.danger-wrapper {
display: flex;
align-items: center;
gap: 0.3rem;
.danger-select {
font-size: 0.85rem;
background: $l5r5e-white;
border: 0 none;
color: $l5r5e-bold;
font-family: $font-primary;
}
}
.danger-icons {
display: flex;
gap: 0.15rem;
.danger-icon {
font-size: 0.9rem;
&.fa-skull { color: $l5r5e-red; }
&.fa-star { color: $l5r5e-shuji; }
}
}
// ── Chiaroscuro Dice Dialog ───────────────────────────────────────────────
&.chiaroscuro-dice-dialog {
// Header: portrait + actor name
.chi-dice-header {
display: flex;
align-items: center;
gap: 0.5rem;
padding: 0.5rem;
border-bottom: 1px solid rgba($chi-title, 0.3);
.profile-img {
width: 3rem;
height: 3rem;
object-fit: cover;
border-radius: 50%;
border: 2px solid rgba($chi-title, 0.5);
}
.chi-dice-actor-info {
display: flex;
flex-direction: column;
strong { font-family: $font-secondary; font-size: 1.1rem; color: $chi-title; }
.chi-dice-quick-info { font-size: 0.8rem; color: $l5r5e-label; font-style: italic; }
}
}
// Section fieldsets
.chi-dice-section {
flex: 0 0 100%;
border: 1px solid rgba($chi-subtitle, 0.35);
border-radius: 0.25rem;
margin: 0.35rem 0.5rem 0;
padding: 0.25rem 0.5rem 0.4rem;
legend {
font-family: $font-tertiary;
font-size: 0.8rem;
color: $chi-subtitle;
padding: 0 0.25rem;
}
}
// Ring selector
.chi-rings {
display: flex;
flex-wrap: wrap;
gap: 0.2rem;
list-style: none;
padding: 0;
margin: 0;
li { flex: 1; }
.ring-selection-chi {
display: flex;
flex-direction: column;
align-items: center;
padding: 0.2rem;
border-radius: 0.2rem;
border: 1px solid rgba($l5r5e-title, 0.2);
cursor: pointer;
font-size: 0.75rem;
&:hover { border-color: rgba($chi-title, 0.6); background: rgba($chi-title, 0.08); }
&.ring-selected {
border-color: $chi-title;
background: rgba($chi-title, 0.15);
strong { text-decoration: underline; }
}
i { font-size: 1.5rem; }
.ring-value { font-weight: bold; font-size: 0.9rem; }
}
.earth.ring-selection-chi { color: $l5r5e-earth; }
.air.ring-selection-chi { color: $l5r5e-air; }
.water.ring-selection-chi { color: $l5r5e-water; }
.fire.ring-selection-chi { color: $l5r5e-fire; }
.void.ring-selection-chi { color: $l5r5e-void-light; }
}
// Skill info row
.chi-skill-row {
display: flex;
align-items: baseline;
gap: 0.4rem;
.chi-skill-name { font-weight: bold; flex: 1; }
.chi-skill-rank { font-size: 0.8rem; color: $l5r5e-label; }
.chi-skill-bonus { font-size: 0.85rem; color: $chi-solar; font-weight: bold; }
}
// Difficulty + modifier row
.chi-difficulty-row {
display: flex;
align-items: center;
gap: 0.5rem;
select { flex: 1; }
.chi-modifier-label {
display: flex;
align-items: center;
gap: 0.25rem;
font-size: 0.85rem;
white-space: nowrap;
}
}
// Options checkboxes
.chi-options-row {
display: flex;
align-items: center;
gap: 0.5rem;
padding: 0.15rem 0;
label {
display: flex;
align-items: center;
gap: 0.35rem;
font-size: 0.9rem;
}
.chi-auto-aspect { font-size: 0.8rem; color: $l5r5e-label; }
}
// Dice total summary
.chi-dice-total-summary {
flex: 0 0 100%;
text-align: center;
padding: 0.4rem;
font-size: 0.9rem;
.chi-total-dice { font-size: 1.3rem; color: $chi-title; margin: 0 0.2rem; }
}
// Submit button
.chi-dice-submit {
flex: 0 0 100%;
padding: 0.4rem 0.5rem;
button[type="submit"] {
width: 100%;
background: rgba($chi-title, 0.85);
border: 1px solid $chi-title;
color: $white;
font-family: $font-tertiary;
font-size: 1rem;
padding: 0.4rem;
cursor: pointer;
border-radius: 0.2rem;
&:hover { background: $chi-title; }
}
}
}
// ── Chiaroscuro Chat Roll ─────────────────────────────────────────────────
.chiaroscuro-chat-roll {
padding: 0.35rem;
font-size: 0.9rem;
// Header: portrait + actor + badges
.chi-chat-header {
display: flex;
align-items: center;
gap: 0.4rem;
margin-bottom: 0.3rem;
.profile-img {
width: 2.5rem;
height: 2.5rem;
object-fit: cover;
border-radius: 50%;
border: 2px solid rgba($chi-title, 0.5);
}
.chi-chat-actor {
flex: 1;
strong { font-family: $font-secondary; color: $chi-title; }
.chi-chat-quick-info { font-size: 0.75rem; color: $l5r5e-label; font-style: italic; }
}
.chi-chat-badges {
display: flex;
gap: 0.2rem;
align-items: center;
.chi-aspect-badge {
font-size: 1rem;
&.solar { color: $chi-solar; }
&.lunar { color: $chi-lunar; }
}
.chi-assistance-badge { color: $l5r5e-label; font-size: 1rem; }
}
}
// Description line
.chi-chat-desc {
display: flex;
align-items: center;
gap: 0.3rem;
margin-bottom: 0.3rem;
font-size: 0.85rem;
.chi-chat-skill { font-weight: bold; color: $chi-title; }
.chi-chat-vs { color: $l5r5e-label; }
.chi-chat-diff { color: $chi-subtitle; font-style: italic; }
}
// Dice pool
.chi-chat-dice-pool {
display: flex;
flex-wrap: wrap;
gap: 0.25rem;
margin-bottom: 0.35rem;
.chi-die {
display: inline-flex;
align-items: center;
justify-content: center;
width: 1.8rem;
height: 1.8rem;
border-radius: 0.25rem;
font-weight: bold;
font-size: 1rem;
background: rgba($l5r5e-black, 0.35);
border: 1px solid rgba($l5r5e-title, 0.4);
position: relative;
&.die-low { color: $l5r5e-red; border-color: rgba($l5r5e-red, 0.5); }
&.die-high { color: $chi-solar; border-color: rgba($chi-solar, 0.5); }
.die-adj-icon {
position: absolute;
top: -0.3rem;
right: -0.2rem;
font-size: 0.6rem;
color: $chi-solar;
}
}
}
// Breakdown
.chi-chat-breakdown {
font-size: 0.85rem;
margin-bottom: 0.25rem;
color: $l5r5e-label;
strong { color: $white; }
}
// Result banner
.chi-chat-result {
display: flex;
align-items: center;
gap: 0.3rem;
font-family: $font-tertiary;
font-size: 1rem;
padding: 0.25rem 0.5rem;
border-radius: 0.2rem;
&.chi-success {
background: rgba($chi-subtitle, 0.25);
border: 1px solid rgba($chi-subtitle, 0.5);
color: $chi-subtitle;
}
&.chi-failure {
background: rgba($l5r5e-red, 0.12);
border: 1px solid rgba($l5r5e-red, 0.35);
color: $l5r5e-red;
}
.chi-bonus-successes {
font-size: 0.85rem;
opacity: 0.85;
}
}
}
// ── Skill rank: bonus display ──────────────────────────────────────────────
.skill-bonus {
color: $chi-solar;
font-size: 0.8rem;
font-weight: bold;
margin-left: 0.2rem;
}
// ── Default ring indicator ────────────────────────────────────────────────
.rings .default-ring {
text-decoration: underline 2px $chi-title;
text-underline-offset: 2px;
cursor: pointer;
}

View File

@@ -56,20 +56,7 @@ $l5r5e-chat-color-whisper: rgba(225, 200, 225, 0.75);
// Misc
$l5r5e-selection-circle-color: #8a1a00;
// -- Chiaroscuro Colors
// Title (was: rgba(186, 187, 177, 0.5) → spec: rgb(158, 65, 76))
$chi-title: rgb(158, 65, 76);
// Subtitle (spec: rgb(103, 128, 119))
$chi-subtitle: rgb(103, 128, 119);
// Solar aspect (spec: rgb(150, 119, 116))
$chi-solar: rgb(150, 119, 116);
// Lunar aspect (spec: rgb(100, 147, 137))
$chi-lunar: rgb(100, 147, 137);
// Active tab accent
$chi-tab-active: rgb(158, 65, 76);
// Tab hover accent
$chi-tab-hover: rgb(103, 128, 119);
// -- Rings
// Earth
$l5r5e-earth: rgb(105, 150, 120);

View File

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

View File

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

View File

@@ -65,7 +65,8 @@ $l5r5e-custom-icons: (
$selectors: (
"#sidebar-tabs button.l5r5e",
"#sidebar-content .create-button.l5r5e",
"#sidebar-content i.l5r5e"
"#sidebar-content i.l5r5e",
"#context-menu i.l5r5e"
);
@each $selector in $selectors {
@@ -90,8 +91,8 @@ $selectors: (
&.#{$name}::before {
content: "";
position: absolute;
width: 95%;
height: 95%;
width: 85%;
height: 85%;
background-color: currentColor;
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;
}
// Remove icon on link (bc specificity)
#sidebar-content .content-link i.l5r5e {
display: none;
}
button:hover {
box-shadow: 0 0 10px $red;
}
@@ -182,13 +187,13 @@ fieldset {
}
.editor {
height: 100%;
flex: 1;
}
}
// Editors
.editor,
.editor-container {
flex: 1;
height: 100%;
}
@@ -227,6 +232,7 @@ sup {
}
.editor-container,
.editor-content,
.item-description {
ul {
margin: 0.5rem 0;

View File

@@ -28,7 +28,7 @@ nav {
.item {
flex: 1;
&:hover {
background-color: $chi-tab-hover;
background-color: $l5r5e-label;
color: $white-light;
text-shadow: none;
clip-path: polygon(
@@ -44,7 +44,7 @@ nav {
}
}
.item.active {
background-color: $chi-tab-active;
background-color: rgba(73, 12, 11, 0.85);
color: rgba(255, 255, 255, 1);
clip-path: polygon(
0% var(--notchSize),
@@ -58,7 +58,7 @@ nav {
);
&:hover {
background-color: $chi-tab-active;
background-color: rgba(73, 12, 11, 0.85);
cursor: default;
}
}

View File

@@ -111,14 +111,6 @@ button {
}
}
.chat-message {
ul, li {
list-style: none;
margin: unset;
padding: unset;
}
}
#logo {
content: url("../assets/l5r-logo.webp");
height: 80px;
@@ -411,18 +403,25 @@ button {
top: -1px;
left: -1px;
}
.goodvalue {
color: #4e8c69;
}
.badvalue {
color: #ab2a00;
}
.reference {
display: flex;
.page {
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-combo-box {
display: block;

View File

@@ -1,17 +1,18 @@
{
"id": "l5rx-chiaroscuro",
"title": "Chiaroscuro - L5R",
"id": "l5r5e",
"title": "Legend of the Five Rings (5th Edition)",
"description": "This is an authorised multilingual game system En|Fr|Es, for Legend of the Five Rings (5th Edition) by <a href='https://edge-studio.net/'>Edge Studio</a> <p> - Join the official Discord server: <a href='https://discord.gg/foundryvtt'> Official Discord</a></p><p> - Rejoignez la communauté Francophone: <a href='https://discord.gg/pPSDNJk'>Francophone Discord</a></p>",
"url": "https://gitlab.com/teaml5r/l5r5e",
"readme": "https://gitlab.com/teaml5r/l5r5e/-/blob/master/README.md",
"changelog": "https://gitlab.com/teaml5r/l5r5e/-/blob/master/CHANGELOG.md",
"license": "https://gitlab.com/teaml5r/l5r5e/-/blob/master/LICENSE.md",
"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",
"version": "14.0.0",
"download": "https://gitlab.com/teaml5r/l5r5e/-/jobs/artifacts/v1.14.0/raw/l5r5e.zip?job=build",
"version": "1.14.0",
"compatibility": {
"minimum": "13",
"verified": "14"
"verified": "13",
"maximum": "14"
},
"socket": true,
"authors": [

View File

@@ -10,8 +10,6 @@
"age": "",
"clan": "",
"family": "",
"region": "",
"education": "",
"female": null,
"marital_status": "",
"roles": "",
@@ -38,7 +36,6 @@
"status": 0,
"ninjo": "",
"giri": "",
"past_problems": "",
"bushido_tenets": {
"paramount": "",
"less_significant": ""
@@ -121,34 +118,18 @@
"mantra": false,
"specificity": true
}
},
"aspects": {
"aspects": {
"solar": 0,
"lunar": 0,
"gauge": 0
}
}
},
"character": {
"templates": ["softlock", "identity", "rings", "social", "skills", "techniques", "conflict", "advancement", "aspects"],
"templates": ["softlock", "identity", "rings", "social", "skills", "techniques", "conflict", "advancement"],
"template": "core",
"is_samurai": true,
"quick_info": "",
"default_ring": "void",
"koku": 0,
"bu": 0,
"zeni": 0,
"identity_text1": "",
"identity_text2": "",
"twenty_questions": {}
"twenty_questions": {},
"zeni": 0
},
"npc": {
"templates": ["softlock", "identity", "rings", "social", "techniques", "conflict"],
"type": "adversary",
"attitude": "",
"martial_danger": "simple",
"social_danger": "simple",
"conflict_rank": {
"martial": 0,
"social": 0
@@ -213,10 +194,7 @@
"signature_scroll",
"item_pattern",
"army_cohort",
"army_fortification",
"arcane",
"etat",
"mystere"
"army_fortification"
],
"templates": {
"basics": {
@@ -246,12 +224,10 @@
}
},
"item": {
"templates": ["basics", "item"],
"item_type": ""
"templates": ["basics", "item"]
},
"armor": {
"templates": ["basics", "item"],
"armor_category": "",
"armor": {
"physical": 0,
"supernatural": 0
@@ -260,7 +236,6 @@
"weapon": {
"templates": ["basics", "item"],
"category": "",
"bonus": 0,
"skill": "melee",
"readied": false,
"range": "0",
@@ -273,9 +248,7 @@
"templates": ["basics", "advancement"],
"skill": "",
"difficulty": "",
"technique_type": "kata",
"invocation_type": "",
"mode_invocation": 0
"technique_type": "kata"
},
"property": {
"templates": ["basics"],
@@ -330,27 +303,6 @@
"difficulty": 0,
"attrition_reduction": 0,
"notes": ""
},
"arcane": {
"templates": ["basics"],
"arcane_type": "",
"application": [],
"bonus": 2,
"progression": "",
"xp_cost": 1
},
"etat": {
"templates": ["basics"],
"application": "",
"mod": 0,
"effect": "",
"elimination": ""
},
"mystere": {
"templates": ["basics"],
"mystere_type": "mineur",
"prerequisite_skill": "",
"prerequisite_condition": ""
}
}
}

View File

@@ -65,14 +65,14 @@
<ul>
{{#each data.splitTechniquesList as |list techName|}}
<li>
<strong>{{localize (localize 'l5r5e.techniques.{techName}' techName=techName) }}</strong>
<strong>{{localizeEmbedded 'l5r5e.techniques.{techName}' techName=techName}}</strong>
<ul>
{{#each list as |technique|}}
<li>
{{#ifCond techName '==' 'title_ability'}}
{{> 'systems/l5rx-chiaroscuro/templates/items/title/title-text.html' data=technique editable=../../options.editable}}
{{> 'systems/l5r5e/templates/items/title/title-text.html' data=technique editable=../../options.editable}}
{{else}}
{{> 'systems/l5rx-chiaroscuro/templates/items/technique/technique-text.html' data=technique editable=../../options.editable}}
{{> 'systems/l5r5e/templates/items/technique/technique-text.html' data=technique editable=../../options.editable}}
{{/ifCond}}
</li>
{{/each}}
@@ -86,7 +86,7 @@
<ul>
{{#each actor.items as |scroll|}}
{{#ifCond scroll.type '==' 'signature_scroll'}}
<li>{{> 'systems/l5rx-chiaroscuro/templates/items/signature-scroll/signature-scroll-text.html' data=scroll editable=../options.editable}}</li>
<li>{{> 'systems/l5r5e/templates/items/signature-scroll/signature-scroll-text.html' data=scroll editable=../options.editable}}</li>
{{/ifCond}}
{{/each}}
</ul>
@@ -97,7 +97,7 @@
<ul>
{{#each data.items as |item|}}
{{#ifCond '["distinction","passion"]' 'includes' item.system.peculiarity_type}}
<li>{{> 'systems/l5rx-chiaroscuro/templates/items/peculiarity/peculiarity-text.html' data=item editable=../options.editable}}</li>
<li>{{> 'systems/l5r5e/templates/items/peculiarity/peculiarity-text.html' data=item editable=../options.editable}}</li>
{{/ifCond}}
{{/each}}
</ul>
@@ -107,7 +107,7 @@
<ul>
{{#each data.items as |item|}}
{{#ifCond '["adversity","anxiety"]' 'includes' item.system.peculiarity_type}}
<li>{{> 'systems/l5rx-chiaroscuro/templates/items/peculiarity/peculiarity-text.html' data=item editable=../options.editable}}</li>
<li>{{> 'systems/l5r5e/templates/items/peculiarity/peculiarity-text.html' data=item editable=../options.editable}}</li>
{{/ifCond}}
{{/each}}
</ul>
@@ -117,7 +117,7 @@
<ul>
{{#each data.items as |bond|}}
{{#ifCond bond.type '==' 'bond'}}
<li>{{> 'systems/l5rx-chiaroscuro/templates/items/bond/bond-text.html' data=bond editable=../options.editable}}</li>
<li>{{> 'systems/l5r5e/templates/items/bond/bond-text.html' data=bond editable=../options.editable}}</li>
{{/ifCond}}
{{/each}}
</ul>
@@ -130,10 +130,10 @@
<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|}}
<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>
{{#each cat as |item|}}
<li>{{> 'systems/l5rx-chiaroscuro/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>
{{/each}}
</ul>
</li>
@@ -145,7 +145,7 @@
<ul>
{{#each actor.items as |pattern|}}
{{#ifCond pattern.type '==' 'item_pattern'}}
<li>{{> 'systems/l5rx-chiaroscuro/templates/items/item-pattern/item-pattern-text.html' data=pattern editable=../options.editable}}</li>
<li>{{> 'systems/l5r5e/templates/items/item-pattern/item-pattern-text.html' data=pattern editable=../options.editable}}</li>
{{/ifCond}}
{{/each}}
</ul>
@@ -209,20 +209,20 @@
{{/ifCond}}
<h2>{{localize 'l5r5e.twenty_questions.title'}}</h2>
<ul>
<li>{{localize (localize 'l5r5e.twenty_questions.part2.q4{suffix}' 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>{{localize (localize 'l5r5e.twenty_questions.part3.q8{suffix}' 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>{{localize (localize 'l5r5e.twenty_questions.part4.q10{suffix}' 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>{{localize (localize 'l5r5e.twenty_questions.part4.q12{suffix}' 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>{{localize (localize 'l5r5e.twenty_questions.part5.q14{suffix}' 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>{{localize (localize 'l5r5e.twenty_questions.part5.q16{suffix}' 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>{{localize (localize 'l5r5e.twenty_questions.part6.q18{suffix}' 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.part2.q4{suffix}' suffix}} : {{data.system.twenty_questions.step4.stand_out}}</li>
<li>{{localizeEmbedded 'l5r5e.twenty_questions.part3.q7{suffix}' suffix}} : {{data.system.twenty_questions.step7.clan_relations}}</li>
<li>{{localizeEmbedded 'l5r5e.twenty_questions.part3.q8{suffix}' suffix}} : {{data.system.twenty_questions.step8.bushido}}</li>
<li>{{localizeEmbedded 'l5r5e.twenty_questions.part4.q9{suffix}' suffix}} : {{data.system.twenty_questions.step9.success}}</li>
<li>{{localizeEmbedded 'l5r5e.twenty_questions.part4.q10{suffix}' suffix}} : {{data.system.twenty_questions.step10.difficulty}}</li>
<li>{{localizeEmbedded 'l5r5e.twenty_questions.part4.q11{suffix}' suffix}} : {{data.system.twenty_questions.step11.calms}}</li>
<li>{{localizeEmbedded 'l5r5e.twenty_questions.part4.q12{suffix}' suffix}} : {{data.system.twenty_questions.step12.worries}}</li>
<li>{{localizeEmbedded 'l5r5e.twenty_questions.part4.q13{suffix}' suffix}} : {{data.system.twenty_questions.step13.most_learn}}</li>
<li>{{localizeEmbedded 'l5r5e.twenty_questions.part5.q14{suffix}' suffix}} : {{data.system.twenty_questions.step14.first_sight}}</li>
<li>{{localizeEmbedded 'l5r5e.twenty_questions.part5.q15{suffix}' suffix}} : {{data.system.twenty_questions.step15.stress}}</li>
<li>{{localizeEmbedded 'l5r5e.twenty_questions.part5.q16{suffix}' suffix}} : {{data.system.twenty_questions.step16.relations}}</li>
<li>{{localizeEmbedded 'l5r5e.twenty_questions.part6.q17{suffix}' suffix}} : {{data.system.twenty_questions.step17.parents_pov}}</li>
<li>{{localizeEmbedded 'l5r5e.twenty_questions.part6.q18{suffix}' suffix}} : {{data.system.twenty_questions.step18.heritage_name}}</li>
<li>{{localizeEmbedded 'l5r5e.twenty_questions.part7.q20{suffix}' suffix}} : {{data.system.twenty_questions.step20.death}}</li>
</ul>
</section>

View File

@@ -60,22 +60,22 @@
{{!-- Army Tab --}}
<article class="tab army" data-group="primary" data-tab="army">
{{> 'systems/l5rx-chiaroscuro/templates/actors/army/army.html'}}
{{> 'systems/l5r5e/templates/actors/army/army.html'}}
</article>
{{!-- Cohort Tab --}}
<article class="tab cohort" data-group="primary" data-tab="cohort">
{{> 'systems/l5rx-chiaroscuro/templates/actors/army/cohort.html'}}
{{> 'systems/l5r5e/templates/actors/army/cohort.html'}}
</article>
{{!-- Fortification Tab --}}
<article class="tab fortification" data-group="primary" data-tab="fortification">
{{> 'systems/l5rx-chiaroscuro/templates/actors/army/fortification.html'}}
{{> 'systems/l5r5e/templates/actors/army/fortification.html'}}
</article>
{{!-- Others Tab --}}
<article class="tab others" data-group="primary" data-tab="others">
{{> 'systems/l5rx-chiaroscuro/templates/actors/army/others.html'}}
{{> 'systems/l5r5e/templates/actors/army/others.html'}}
</article>
</section>
</form>

View File

@@ -7,7 +7,7 @@
</legend>
<ul class="item-list">
{{#each data.splitItemsList.army_cohort as |item|}}
{{> 'systems/l5rx-chiaroscuro/templates/items/army-cohort/army-cohort-entry.html' cohort=item editable=../data.editable_not_soft_locked}}
{{> 'systems/l5r5e/templates/items/army-cohort/army-cohort-entry.html' cohort=item editable=../data.editable_not_soft_locked}}
{{/each}}
</ul>
</fieldset>

View File

@@ -7,7 +7,7 @@
</legend>
<ul class="item-list">
{{#each data.splitItemsList.army_fortification as |item|}}
{{> 'systems/l5rx-chiaroscuro/templates/items/army-fortification/army-fortification-entry.html' fortification=item editable=../data.editable_not_soft_locked}}
{{> 'systems/l5r5e/templates/items/army-fortification/army-fortification-entry.html' fortification=item editable=../data.editable_not_soft_locked}}
{{/each}}
</ul>
</fieldset>

View File

@@ -15,77 +15,62 @@
<input name="name" type="text" value="{{data.name}}" placeholder="Name" {{^if
data.editable_not_soft_locked}}disabled{{/if}} />
</h1>
{{> 'systems/l5rx-chiaroscuro/templates/actors/character/identity.html'}}
{{> 'systems/l5r5e/templates/actors/character/identity.html'}}
</div>
<div class="header-fields mid-wrapper">
<div class="side-col">
<h2>{{localize 'l5r5e.social.title'}}</h2>
{{> 'systems/l5rx-chiaroscuro/templates/actors/character/social.html'}}
{{> 'systems/l5r5e/templates/actors/character/social.html'}}
</div>
<div class="central-col">{{> 'systems/l5rx-chiaroscuro/templates/actors/character/rings.html'}}</div>
<div class="central-col">{{> 'systems/l5r5e/templates/actors/character/rings.html'}}</div>
<div class="side-col">
<h2 class="right">{{localize 'l5r5e.attributes.title'}}</h2>
{{> 'systems/l5rx-chiaroscuro/templates/actors/character/attributes.html'}}
{{> 'systems/l5r5e/templates/actors/character/attributes.html'}}
</div>
</div>
<div class="header-fields chiaroscuro-aspects-wrapper">
{{> 'systems/l5rx-chiaroscuro/templates/actors/character/aspects.html'}}
</div>
</header>
{{!-- Sheet Body --}}
<section class="sheet-body">
{{!-- Active effects --}}
{{> 'systems/l5rx-chiaroscuro/templates/actors/character/effects.html'}}
{{> 'systems/l5r5e/templates/actors/character/effects.html'}}
{{!-- Sheet Tab Navigation --}}
<nav class="sheet-tabs tabs" data-group="primary">
<a class="item" data-tab="skills">{{localize 'l5r5e.skills.title'}}</a>
<a class="item" data-tab="narrative">{{localize 'l5r5e.sheets.narrative'}}</a>
<a class="item" data-tab="invocations">{{localize 'chiaroscuro.tabs.invocations'}}</a>
<a class="item" data-tab="conflict">{{localize 'l5r5e.conflict.title'}}</a>
<a class="item" data-tab="inventory">{{localize 'l5r5e.sheets.inventory'}}</a>
<a class="item" data-tab="experience">{{localize 'l5r5e.sheets.experience'}}</a>
<a class="item" data-tab="identity">{{localize 'chiaroscuro.tabs.identity'}}</a>
</nav>
{{!-- Skills Tab --}}
<article class="tab skills" data-group="primary" data-tab="skills">
<ul class="skills-wrapper">
{{#each data.system.skills as |category id|}} {{>
'systems/l5rx-chiaroscuro/templates/actors/character/category.html' category=category categoryId=id data=../data}}
'systems/l5r5e/templates/actors/character/category.html' category=category categoryId=id data=../data}}
{{/each}}
</ul>
{{> 'systems/l5rx-chiaroscuro/templates/actors/character/techniques.html'}}
{{> 'systems/l5r5e/templates/actors/character/techniques.html'}}
</article>
{{!-- Narrative Tab --}}
<article class="tab narrative" data-group="primary" data-tab="narrative">
{{> 'systems/l5rx-chiaroscuro/templates/actors/character/narrative.html'}}
{{> 'systems/l5r5e/templates/actors/character/narrative.html'}}
</article>
{{!-- Conflict Tab --}}
<article class="tab conflict" data-group="primary" data-tab="conflict">
{{> 'systems/l5rx-chiaroscuro/templates/actors/character/conflict.html'}}
{{> 'systems/l5r5e/templates/actors/character/conflict.html'}}
</article>
{{!-- Inventory Tab --}}
<article class="tab inventory" data-group="primary" data-tab="inventory">
{{> 'systems/l5rx-chiaroscuro/templates/actors/character/inventory.html'}}
{{> 'systems/l5r5e/templates/actors/character/inventory.html'}}
</article>
{{!-- Experience Tab --}}
<article class="tab experience" data-group="primary" data-tab="experience">
{{> 'systems/l5rx-chiaroscuro/templates/actors/character/experience.html'}}
</article>
{{!-- Invocations Tab --}}
<article class="tab invocations" data-group="primary" data-tab="invocations">
{{> 'systems/l5rx-chiaroscuro/templates/actors/character/invocations.html'}}
</article>
{{!-- Identity Tab --}}
<article class="tab identity" data-group="primary" data-tab="identity">
{{> 'systems/l5rx-chiaroscuro/templates/actors/character/identity-text.html'}}
{{> 'systems/l5r5e/templates/actors/character/experience.html'}}
</article>
</section>
</form>

View File

@@ -1,30 +0,0 @@
<div class="aspects-section">
<div class="aspect-fields">
<label class="attribute-label">
{{localize 'chiaroscuro.aspects.solar'}}
<input type="number" name="system.aspects.aspects.solar" value="{{data.system.aspects.aspects.solar}}" class="select-on-focus" data-dtype="Number" min="0" max="100" {{^if data.editable_not_soft_locked}}disabled{{/if}}/>
</label>
<label class="attribute-label">
{{localize 'chiaroscuro.aspects.lunar'}}
<input type="number" name="system.aspects.aspects.lunar" value="{{data.system.aspects.aspects.lunar}}" class="select-on-focus" data-dtype="Number" min="0" max="100" {{^if data.editable_not_soft_locked}}disabled{{/if}}/>
</label>
<label class="attribute-label">
{{localize 'chiaroscuro.aspects.gauge'}}
<input type="number" name="system.aspects.aspects.gauge" value="{{data.system.aspects.aspects.gauge}}" class="select-on-focus" data-dtype="Number" min="-10" max="10" {{^if data.editable_not_soft_locked}}disabled{{/if}}/>
</label>
<div class="gauge-bar-wrapper">
<div class="gauge-bar" style="width: {{data.aspectsData.gaugePercent}}%; background-color: {{data.aspectsData.gaugeColor}};"></div>
</div>
</div>
{{#if data.etatItems.length}}
<div class="etat-summary">
<span class="etat-summary-label">{{localize 'chiaroscuro.etat.title'}}</span>
{{#each data.etatItems as |etat|}}
<span class="etat-badge l5r5e-tooltip" title="{{etat.system.effect}}">
<img src="{{etat.img}}" width="16" height="16" />
{{etat.name}}
</span>
{{/each}}
</div>
{{/if}}
</div>

View File

@@ -2,7 +2,7 @@
<h4 class="section-header toggle-on-click" data-toggle="toggle-skill-category-{{categoryId}}">{{localizeSkill categoryId 'title'}}</h4>
<ul class="skill-category-skills-list toggle-skill-category-{{categoryId}} {{#ifCond data.storeInfos 'includes' (concat 'toggle-skill-category-' categoryId)}}toggle-hidden{{/ifCond}}">
{{#each category as |skill id|}}
{{> 'systems/l5rx-chiaroscuro/templates/actors/character/skill.html' categoryId=../categoryId skill=skill skillId=id data=../data}}
{{> 'systems/l5r5e/templates/actors/character/skill.html' categoryId=../categoryId skill=skill skillId=id data=../data}}
{{/each}}
</ul>
<ul class="skill-category-ring-actions toggle-skill-category-{{categoryId}} {{#ifCond data.storeInfos 'includes' (concat 'toggle-skill-category-' categoryId)}}toggle-hidden{{/ifCond}}">

View File

@@ -2,7 +2,7 @@
<legend class="section-header">
{{localize 'l5r5e.conflict.initiative.title'}}
<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>
</legend>
<button class="initiative dice-picker" data-initiative="true" data-skill="sentiment">{{localize 'l5r5e.conflict.initiative.intrigue'}}</button>
@@ -14,9 +14,9 @@
<legend class="section-header">{{localize 'l5r5e.conflict.stance'}}</legend>
<ul class="item-list">
{{#each data.system.rings as |ringValue ringId|}}
{{> 'systems/l5rx-chiaroscuro/templates/actors/character/stance.html' stance=../data.system.stance ringId=ringId}}
{{> 'systems/l5r5e/templates/actors/character/stance.html' stance=../data.system.stance ringId=ringId}}
{{/each}}
</ul>
</fieldset>
{{> 'systems/l5rx-chiaroscuro/templates/items/weapon/weapons.html' }}
{{> 'systems/l5rx-chiaroscuro/templates/items/armor/armors.html' }}
{{> 'systems/l5r5e/templates/items/weapon/weapons.html' }}
{{> 'systems/l5r5e/templates/items/armor/armors.html' }}

View File

@@ -52,7 +52,7 @@
<tbody class="flex">
{{#each data.advancementsListByRank as |rankObject|}}
{{#each rankObject.list as |advancement advancementId|}}
{{> 'systems/l5rx-chiaroscuro/templates/actors/character/advancement-school.html' advancement=advancement rank=rankObject.rank editable=../../data.editable_not_soft_locked}}
{{> 'systems/l5r5e/templates/actors/character/advancement-school.html' advancement=advancement rank=rankObject.rank editable=../../data.editable_not_soft_locked}}
{{/each}}
{{#ifCond rankObject.rank '>' 0}}
<tr class="tfoot flexrow row tab" data-group="advancements" data-tab="advancement_rank_{{rankObject.rank}}">
@@ -98,7 +98,7 @@
</thead>
<tbody class="flex">
{{#each data.advancementsOthers as |advancement advancementId|}}
{{> 'systems/l5rx-chiaroscuro/templates/actors/character/advancement-others.html' advancement=advancement show_curriculum_toggle=false editable=../data.editable_not_soft_locked}}
{{> 'systems/l5r5e/templates/actors/character/advancement-others.html' advancement=advancement show_curriculum_toggle=false editable=../data.editable_not_soft_locked}}
{{/each}}
</tbody>
<tfoot class="flex">

View File

@@ -1,10 +0,0 @@
<div class="identity-text-wrapper flexrow">
<fieldset class="identity-text-block">
<legend class="text-block-header">{{localize 'chiaroscuro.tabs.identity_text1'}}</legend>
{{editor data.enrichedHtml.identity_text1 target="system.identity_text1" button=true editable=options.editable engine="prosemirror" collaborate=false}}
</fieldset>
<fieldset class="identity-text-block">
<legend class="text-block-header">{{localize 'chiaroscuro.tabs.identity_text2'}}</legend>
{{editor data.enrichedHtml.identity_text2 target="system.identity_text2" button=true editable=options.editable engine="prosemirror" collaborate=false}}
</fieldset>
</div>

View File

@@ -1,27 +1,21 @@
<ul class="identity-content">
<li>
<label class="attribute-label is-samurai-label">
{{localize 'chiaroscuro.character.is_samurai'}}
<input type="checkbox" name="system.is_samurai" {{checked data.system.is_samurai}} {{^if data.editable_not_soft_locked}}disabled{{/if}}/>
</label>
</li>
<li>
<label class="attribute-label">
{{#if data.system.is_samurai}}
{{localize 'l5r5e.clans.label'}}
{{#ifCond data.system.template '==' 'pow'}}
{{localize 'l5r5e.sheets.region'}}
{{else}}
{{localize 'chiaroscuro.character.region'}}
{{/if}}
{{localize 'l5r5e.clans.label'}}
{{/ifCond}}
<input type="text" name="system.identity.clan" value="{{data.system.identity.clan}}" {{^if data.editable_not_soft_locked}}disabled{{/if}}/>
</label>
</li>
<li>
<label class="attribute-label">
{{#if data.system.is_samurai}}
{{localize 'l5r5e.sheets.family'}}
{{#ifCond data.system.template '==' 'pow'}}
{{localize 'l5r5e.sheets.upbringing'}}
{{else}}
{{localize 'chiaroscuro.character.education'}}
{{/if}}
{{localize 'l5r5e.sheets.family'}}
{{/ifCond}}
<input type="text" name="system.identity.family" value="{{data.system.identity.family}}" {{^if data.editable_not_soft_locked}}disabled{{/if}}/>
</label>
</li>
@@ -43,10 +37,4 @@
<input type="text" name="system.identity.roles" value="{{data.system.identity.roles}}" {{^if data.editable_not_soft_locked}}disabled{{/if}}/>
</label>
</li>
<li>
<label class="attribute-label quick-info-label">
{{localize 'chiaroscuro.character.quick_info'}}
<input type="text" name="system.quick_info" value="{{data.system.quick_info}}" {{^if data.editable_not_soft_locked}}disabled{{/if}}/>
</label>
</li>
</ul>

View File

@@ -28,7 +28,7 @@
{{!-- items list --}}
<fieldset class="items-wrapper">
<legend>{{localize 'l5r5e.sheets.equipment'}}</legend>
{{> 'systems/l5rx-chiaroscuro/templates/items/item/items.html'}}
{{> 'systems/l5r5e/templates/items/item/items.html'}}
</fieldset>
{{!-- item patterns list --}}
<fieldset>
@@ -41,7 +41,7 @@
<ul class="item-list">
{{#each actor.items as |pattern id|}}
{{#ifCond pattern.type '==' 'item_pattern'}}
{{> 'systems/l5rx-chiaroscuro/templates/items/item-pattern/item-pattern-entry.html' pattern=pattern id=id editable=../data.editable_not_soft_locked}}
{{> 'systems/l5r5e/templates/items/item-pattern/item-pattern-entry.html' pattern=pattern id=id editable=../data.editable_not_soft_locked}}
{{/ifCond}}
{{/each}}
</ul>

View File

@@ -1,17 +0,0 @@
<div class="invocations-wrapper">
{{#each data.splitInvocationsList as |list type|}}
<fieldset class="section-header flexrow">
<legend class="technique-controls">
<span>{{localize (concat 'chiaroscuro.technique.invocation_types.' type)}}</span>
{{#if ../data.editable_not_soft_locked}}
<a data-item-type="technique" class="technique-control item-add" data-tech-type="mot_invocation" title="{{localize 'l5r5e.global.add'}}"><i class="fas fa-plus"></i></a>
{{/if}}
</legend>
<ul class="item-list">
{{#each list as |item|}}
{{> 'systems/l5rx-chiaroscuro/templates/items/technique/technique-entry.html' technique=item editable=../../data.editable_not_soft_locked}}
{{/each}}
</ul>
</fieldset>
{{/each}}
</div>

View File

@@ -7,16 +7,12 @@
<textarea type="text" name="system.social.ninjo" {{^if data.editable_not_soft_locked}}disabled{{/if}}>{{data.system.social.ninjo}}</textarea>
</label>
<label class="attribute-label">
{{#if data.system.is_samurai}}
{{#ifCond data.system.template '==' 'pow'}}
{{localize 'l5r5e.social.past'}}
{{else}}
{{localize 'l5r5e.social.giri'}}
{{else}}
{{localize 'chiaroscuro.character.past_problems'}}
{{/if}}
{{#if data.system.is_samurai}}
<textarea type="text" name="system.social.giri" {{^if data.editable_not_soft_locked}}disabled{{/if}}>{{data.system.social.giri}}</textarea>
{{else}}
<textarea type="text" name="system.social.past_problems" {{^if data.editable_not_soft_locked}}disabled{{/if}}>{{data.system.social.past_problems}}</textarea>
{{/if}}
{{/ifCond}}
<textarea type="text" name="system.social.giri" {{^if data.editable_not_soft_locked}}disabled{{/if}}>{{data.system.social.giri}}</textarea>
</label>
</fieldset>
{{!-- Bushido Tenets --}}
@@ -44,7 +40,7 @@
<ul class="item-list">
{{#each actor.items as |item id|}}
{{#ifCond '["distinction","passion"]' 'includes' item.system.peculiarity_type}}
{{> 'systems/l5rx-chiaroscuro/templates/items/peculiarity/peculiarity-entry.html' peculiarity=item id=id editable=../data.editable_not_soft_locked}}
{{> 'systems/l5r5e/templates/items/peculiarity/peculiarity-entry.html' peculiarity=item id=id editable=../data.editable_not_soft_locked}}
{{/ifCond}}
{{/each}}
</ul>
@@ -60,7 +56,7 @@
<ul class="item-list">
{{#each actor.items as |item id|}}
{{#ifCond '["adversity","anxiety"]' 'includes' item.system.peculiarity_type}}
{{> 'systems/l5rx-chiaroscuro/templates/items/peculiarity/peculiarity-entry.html' peculiarity=item id=id editable=../data.editable_not_soft_locked}}
{{> 'systems/l5r5e/templates/items/peculiarity/peculiarity-entry.html' peculiarity=item id=id editable=../data.editable_not_soft_locked}}
{{/ifCond}}
{{/each}}
</ul>
@@ -76,7 +72,7 @@
<ul class="item-list">
{{#each actor.items as |bond id|}}
{{#ifCond bond.type '==' 'bond'}}
{{> 'systems/l5rx-chiaroscuro/templates/items/bond/bond-entry.html' bond=bond id=id editable=../data.editable_not_soft_locked}}
{{> 'systems/l5r5e/templates/items/bond/bond-entry.html' bond=bond id=id editable=../data.editable_not_soft_locked}}
{{/ifCond}}
{{/each}}
</ul>

View File

@@ -2,35 +2,35 @@
<li id="earth">
<label class="earth {{#ifCond 'earth' '==' data.system.stance}}stance-active{{/ifCond}}">
<i class="i_earth dice-picker rollable" data-ring="earth"></i>
<strong class="ring-set-default {{#ifCond 'earth' '==' data.system.default_ring}}default-ring{{/ifCond}}" data-ring="earth" title="{{localize 'chiaroscuro.character.default_ring'}}">{{localizeRing 'earth'}}</strong>
<strong>{{localizeRing 'earth'}}</strong>
<input class="centered-input select-on-focus" type="number" name="system.rings.earth" value="{{data.system.rings.earth}}" data-dtype="Number" min="1" max="9" placeholder="0" {{^if data.editable_not_soft_locked}}disabled{{/if}}/>
</label>
</li>
<li id="air">
<label class="air {{#ifCond 'air' '==' data.system.stance}}stance-active{{/ifCond}}">
<i class="i_air dice-picker rollable" data-ring="air"></i>
<strong class="ring-set-default {{#ifCond 'air' '==' data.system.default_ring}}default-ring{{/ifCond}}" data-ring="air" title="{{localize 'chiaroscuro.character.default_ring'}}">{{localizeRing 'air'}}</strong>
<strong>{{localizeRing 'air'}}</strong>
<input class="centered-input select-on-focus" type="number" name="system.rings.air" value="{{data.system.rings.air}}" data-dtype="Number" min="1" max="9" placeholder="0" {{^if data.editable_not_soft_locked}}disabled{{/if}}/>
</label>
</li>
<li id="water">
<label class="water {{#ifCond 'water' '==' data.system.stance}}stance-active{{/ifCond}}">
<i class="i_water dice-picker rollable" data-ring="water"></i>
<strong class="ring-set-default {{#ifCond 'water' '==' data.system.default_ring}}default-ring{{/ifCond}}" data-ring="water" title="{{localize 'chiaroscuro.character.default_ring'}}">{{localizeRing 'water'}}</strong>
<strong>{{localizeRing 'water'}}</strong>
<input class="centered-input select-on-focus" type="number" name="system.rings.water" value="{{data.system.rings.water}}" data-dtype="Number" min="1" max="9" placeholder="0" {{^if data.editable_not_soft_locked}}disabled{{/if}}/>
</label>
</li>
<li id="fire">
<label class="fire {{#ifCond 'fire' '==' data.system.stance}}stance-active{{/ifCond}}">
<i class="i_fire dice-picker rollable" data-ring="fire"></i>
<strong class="ring-set-default {{#ifCond 'fire' '==' data.system.default_ring}}default-ring{{/ifCond}}" data-ring="fire" title="{{localize 'chiaroscuro.character.default_ring'}}">{{localizeRing 'fire'}}</strong>
<strong>{{localizeRing 'fire'}}</strong>
<input class="centered-input select-on-focus" type="number" name="system.rings.fire" value="{{data.system.rings.fire}}" data-dtype="Number" min="1" max="9" placeholder="0" {{^if data.editable_not_soft_locked}}disabled{{/if}}/>
</label>
</li>
<li id="void">
<label class="void {{#ifCond 'void' '==' data.system.stance}}stance-active{{/ifCond}}">
<i class="i_void dice-picker rollable" data-ring="void"></i>
<strong class="ring-set-default {{#ifCond 'void' '==' data.system.default_ring}}default-ring{{/ifCond}}" data-ring="void" title="{{localize 'chiaroscuro.character.default_ring'}}">{{localizeRing 'void'}}</strong>
<strong>{{localizeRing 'void'}}</strong>
<input class="centered-input select-on-focus" type="number" name="system.rings.void" value="{{data.system.rings.void}}" data-dtype="Number" min="1" max="9" placeholder="0" {{^if data.editable_not_soft_locked}}disabled{{/if}}/>
</label>
</li>

View File

@@ -1,9 +1,16 @@
<li class="skill skill-wrapper">
<label class="skill-content">
<span class="dice-picker attribute-label rollable" data-skill="{{skillId}}">{{localizeSkill categoryId skillId}}</span>
<select name="system.skills.{{categoryId}}.{{skillId}}" {{^if data.editable_not_soft_locked}}disabled{{/if}}>
{{selectOptions data.skillRanksList selected=skill valueAttr='id' labelAttr='label'}}
</select>
{{#ifCond skill '!=' '0'}}<span class="skill-bonus">+{{skillRankBonus skill}}</span>{{/ifCond}}
<input
class="centered-input select-on-focus"
type="number"
name="system.skills.{{categoryId}}.{{skillId}}"
value="{{skill}}"
data-dtype="Number"
min="0"
max="9"
placeholder="0"
{{^if data.editable_not_soft_locked}}disabled{{/if}}
/>
</label>
</li>

View File

@@ -16,7 +16,7 @@
<fieldset class="section-header flexrow">
<legend class="technique-controls">
<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>
{{#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>
@@ -24,7 +24,7 @@
</legend>
<ul class="item-list toggle-technique-category-{{technique}} {{#ifCond ../data.storeInfos 'includes' (concat 'toggle-technique-category-' technique)}}toggle-hidden{{/ifCond}}">
{{#each list as |item id|}}
{{> 'systems/l5rx-chiaroscuro/templates/items/technique/technique-entry.html' technique=item editable=../../data.editable_not_soft_locked}}
{{> 'systems/l5r5e/templates/items/technique/technique-entry.html' technique=item editable=../../data.editable_not_soft_locked}}
{{/each}}
</ul>
</fieldset>
@@ -40,32 +40,9 @@
<ul class="item-list">
{{#each actor.items as |scroll id|}}
{{#ifCond scroll.type '==' 'signature_scroll'}}
{{> 'systems/l5rx-chiaroscuro/templates/items/signature-scroll/signature-scroll-entry.html' scroll=scroll id=id editable=../data.editable_not_soft_locked}}
{{> 'systems/l5r5e/templates/items/signature-scroll/signature-scroll-entry.html' scroll=scroll id=id editable=../data.editable_not_soft_locked}}
{{/ifCond}}
{{/each}}
</ul>
</fieldset>
{{!-- Arcane items list --}}
<fieldset class="section-header flexrow">
<legend class="text-block-header">
{{localize 'chiaroscuro.arcane.title'}}
{{#if data.editable_not_soft_locked}}
<a data-item-type="arcane" class="arcane-control item-add" title="{{localize 'l5r5e.global.add'}}"><i class="fas fa-plus"></i></a>
{{/if}}
</legend>
<ul class="item-list">
{{#each data.arcaneItems as |item|}}
<li class="item technique flexcol" data-item-id="{{item._id}}">
<ul class="item-header technique-controls">
<li class="item-img"><img src="{{item.img}}" title="{{item.name}}" width="32px" height="32px"/></li>
<li class="item-name l5r5e-tooltip" data-item-id="{{item._id}}">{{item.name}}</li>
{{#if ../data.editable_not_soft_locked}}
<li data-item-id="{{item._id}}" class="item-control item-edit" title="{{localize 'l5r5e.global.edit'}}"><i class="fas fa-edit"></i></li>
<li data-item-id="{{item._id}}" class="item-control item-delete" title="{{localize 'Delete'}}"><i class="fas fa-trash"></i></li>
{{/if}}
</ul>
</li>
{{/each}}
</ul>
</fieldset>
</div>

View File

@@ -1,7 +1,7 @@
<fieldset data-step="{{stepName}}" class="tq-drag-n-drop">
<ul class="item-list">
{{#each itemsList as |item id|}}
{{> 'systems/l5rx-chiaroscuro/templates/items/property/property-entry.html' property=item id=id editable=../options.editable}}
{{> 'systems/l5r5e/templates/items/property/property-entry.html' property=item id=id editable=../options.editable}}
{{/each}}
</ul>
</fieldset>

View File

@@ -15,62 +15,56 @@
<input name="name" type="text" value="{{data.name}}" placeholder="Name" {{^if
data.editable_not_soft_locked}}disabled{{/if}} />
</h1>
{{> 'systems/l5rx-chiaroscuro/templates/actors/npc/identity.html'}}
{{> 'systems/l5r5e/templates/actors/npc/identity.html'}}
</div>
<div class="header-fields mid-wrapper">
<div class="side-col">
<h2>{{localize 'l5r5e.social.title'}}</h2>
{{> 'systems/l5rx-chiaroscuro/templates/actors/npc/social.html'}}
{{> 'systems/l5r5e/templates/actors/npc/social.html'}}
</div>
<div class="central-col">{{> 'systems/l5rx-chiaroscuro/templates/actors/npc/rings.html'}}</div>
<div class="central-col">{{> 'systems/l5r5e/templates/actors/npc/rings.html'}}</div>
<div class="side-col">
<h2 class="right">{{localize 'l5r5e.attributes.title'}}</h2>
{{> 'systems/l5rx-chiaroscuro/templates/actors/npc/attributes.html'}}
{{> 'systems/l5r5e/templates/actors/npc/attributes.html'}}
</div>
</div>
</header>
{{!-- Sheet Body --}}
<section class="sheet-body">
{{!-- Active effects --}}
{{> 'systems/l5rx-chiaroscuro/templates/actors/npc/effects.html'}}
{{> 'systems/l5r5e/templates/actors/npc/effects.html'}}
{{!-- Skills No Tab --}}
{{> 'systems/l5rx-chiaroscuro/templates/actors/npc/skill.html'}}
{{> 'systems/l5r5e/templates/actors/npc/skill.html'}}
{{!-- Sheet Tab Navigation --}}
<nav class="sheet-tabs tabs" data-group="primary">
<a class="item" data-tab="skills">{{localize 'l5r5e.skills.title'}}</a>
<a class="item" data-tab="narrative">{{localize 'l5r5e.sheets.narrative'}}</a>
<a class="item" data-tab="invocations">{{localize 'chiaroscuro.tabs.invocations'}}</a>
<a class="item" data-tab="conflict">{{localize 'l5r5e.conflict.title'}}</a>
<a class="item" data-tab="inventory">{{localize 'l5r5e.sheets.inventory'}}</a>
</nav>
{{!-- Techniques Tab --}}
<article class="tab skills" data-group="primary" data-tab="skills">
{{> 'systems/l5rx-chiaroscuro/templates/actors/npc/techniques.html'}}
{{> 'systems/l5r5e/templates/actors/npc/techniques.html'}}
</article>
{{!-- Narrative Tab --}}
<article class="tab narrative" data-group="primary" data-tab="narrative">
{{> 'systems/l5rx-chiaroscuro/templates/actors/npc/narrative.html'}}
</article>
{{!-- Invocations Tab --}}
<article class="tab invocations" data-group="primary" data-tab="invocations">
{{> 'systems/l5rx-chiaroscuro/templates/actors/character/invocations.html'}}
{{> 'systems/l5r5e/templates/actors/npc/narrative.html'}}
</article>
{{!-- Conflict Tab --}}
<article class="tab conflict" data-group="primary" data-tab="conflict">
{{> 'systems/l5rx-chiaroscuro/templates/actors/npc/conflict.html'}} {{>
'systems/l5rx-chiaroscuro/templates/items/weapon/weapons.html'}} {{>
'systems/l5rx-chiaroscuro/templates/items/armor/armors.html'}}
{{> 'systems/l5r5e/templates/actors/npc/conflict.html'}} {{>
'systems/l5r5e/templates/items/weapon/weapons.html'}} {{>
'systems/l5r5e/templates/items/armor/armors.html'}}
</article>
{{!-- Inventory Tab --}}
<article class="tab inventory" data-group="primary" data-tab="inventory">
{{> 'systems/l5rx-chiaroscuro/templates/actors/npc/inventory.html'}}
{{> 'systems/l5r5e/templates/actors/npc/inventory.html'}}
</article>
</section>
</form>

View File

@@ -2,7 +2,7 @@
<legend class="section-header">
{{localize 'l5r5e.conflict.initiative.title'}}
<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>
</legend>
<button class="initiative dice-picker" data-initiative="true" data-skill="sentiment">{{localize 'l5r5e.conflict.initiative.intrigue'}}</button>
@@ -14,7 +14,7 @@
<legend class="section-header">{{localize 'l5r5e.conflict.stance'}}</legend>
<ul class="item-list">
{{#each data.system.rings as |ringValue ringId|}}
{{> 'systems/l5rx-chiaroscuro/templates/actors/character/stance.html' stance=../data.system.stance ringId=ringId}}
{{> 'systems/l5r5e/templates/actors/character/stance.html' stance=../data.system.stance ringId=ringId}}
{{/each}}
</ul>
</fieldset>

View File

@@ -5,34 +5,14 @@
{{selectOptions data.types selected=data.system.type valueAttr='id' labelAttr='label'}}
</select>
</li>
{{!-- Martial Danger --}}
<li class="danger-row">
{{!-- Martial --}}
<li>
<i class="i_bushi" title="{{localize 'l5r5e.social.npc.combat'}}"></i>
<div class="danger-wrapper">
<select name="system.martial_danger" {{^if data.editable_not_soft_locked}}disabled{{/if}}>
{{selectOptions data.dangerList selected=data.system.martial_danger valueAttr='id' labelAttr='label'}}
</select>
<div class="danger-icons">
<i class="fas fa-skull danger-icon"></i>
{{#ifCond '["moyenne","assez_difficile","difficile"]' 'includes' data.system.martial_danger}}<i class="fas fa-skull danger-icon"></i>{{/ifCond}}
{{#ifCond '["assez_difficile","difficile"]' 'includes' data.system.martial_danger}}<i class="fas fa-skull danger-icon"></i>{{/ifCond}}
{{#ifCond data.system.martial_danger '==' 'difficile'}}<i class="fas fa-skull danger-icon"></i>{{/ifCond}}
</div>
</div>
<input class="centered-input select-on-focus" type="number" name="system.conflict_rank.martial" value="{{data.system.conflict_rank.martial}}" data-dtype="Number" min="0" placeholder="0" {{^if data.editable_not_soft_locked}}disabled{{/if}}/>
</li>
{{!-- Social Danger --}}
<li class="danger-row">
{{!-- Social --}}
<li>
<i class="i_courtier" title="{{localize 'l5r5e.social.npc.intrigue'}}"></i>
<div class="danger-wrapper">
<select name="system.social_danger" {{^if data.editable_not_soft_locked}}disabled{{/if}}>
{{selectOptions data.dangerList selected=data.system.social_danger valueAttr='id' labelAttr='label'}}
</select>
<div class="danger-icons">
<i class="fas fa-star danger-icon"></i>
{{#ifCond '["moyenne","assez_difficile","difficile"]' 'includes' data.system.social_danger}}<i class="fas fa-star danger-icon"></i>{{/ifCond}}
{{#ifCond '["assez_difficile","difficile"]' 'includes' data.system.social_danger}}<i class="fas fa-star danger-icon"></i>{{/ifCond}}
{{#ifCond data.system.social_danger '==' 'difficile'}}<i class="fas fa-star danger-icon"></i>{{/ifCond}}
</div>
</div>
<input class="centered-input select-on-focus" type="number" name="system.conflict_rank.social" value="{{data.system.conflict_rank.social}}" data-dtype="Number" min="0" placeholder="0" {{^if data.editable_not_soft_locked}}disabled{{/if}}/>
</li>
</ul>

View File

@@ -1,6 +1,6 @@
<fieldset class="items-wrapper">
<legend>{{localize 'l5r5e.sheets.equipment'}}</legend>
{{> 'systems/l5rx-chiaroscuro/templates/items/item/items.html'}}
{{> 'systems/l5r5e/templates/items/item/items.html'}}
</fieldset>
{{!-- item patterns list --}}
<fieldset>
@@ -13,7 +13,7 @@
<ul class="item-list">
{{#each actor.items as |pattern id|}}
{{#ifCond pattern.type '==' 'item_pattern'}}
{{> 'systems/l5rx-chiaroscuro/templates/items/item-pattern/item-pattern-entry.html' pattern=pattern id=id editable=../data.editable_not_soft_locked}}
{{> 'systems/l5r5e/templates/items/item-pattern/item-pattern-entry.html' pattern=pattern id=id editable=../data.editable_not_soft_locked}}
{{/ifCond}}
{{/each}}
</ul>

View File

@@ -36,7 +36,7 @@
<ul class="item-list">
{{#each actor.items as |item id|}}
{{#ifCond '["distinction","passion"]' 'includes' item.system.peculiarity_type}}
{{> 'systems/l5rx-chiaroscuro/templates/items/peculiarity/peculiarity-entry.html' peculiarity=item id=id editable=../data.editable_not_soft_locked}}
{{> 'systems/l5r5e/templates/items/peculiarity/peculiarity-entry.html' peculiarity=item id=id editable=../data.editable_not_soft_locked}}
{{/ifCond}}
{{/each}}
</ul>
@@ -52,7 +52,7 @@
<ul class="item-list">
{{#each actor.items as |item id|}}
{{#ifCond '["adversity","anxiety"]' 'includes' item.system.peculiarity_type}}
{{> 'systems/l5rx-chiaroscuro/templates/items/peculiarity/peculiarity-entry.html' peculiarity=item id=id editable=../data.editable_not_soft_locked}}
{{> 'systems/l5r5e/templates/items/peculiarity/peculiarity-entry.html' peculiarity=item id=id editable=../data.editable_not_soft_locked}}
{{/ifCond}}
{{/each}}
</ul>
@@ -68,7 +68,7 @@
<ul class="item-list">
{{#each actor.items as |bond id|}}
{{#ifCond bond.type '==' 'bond'}}
{{> 'systems/l5rx-chiaroscuro/templates/items/bond/bond-entry.html' bond=bond id=id editable=../data.editable_not_soft_locked}}
{{> 'systems/l5r5e/templates/items/bond/bond-entry.html' bond=bond id=id editable=../data.editable_not_soft_locked}}
{{/ifCond}}
{{/each}}
</ul>

View File

@@ -19,7 +19,7 @@
<fieldset class="section-header flexrow">
<legend class="technique-controls">
<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>
{{#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>
@@ -27,7 +27,7 @@
</legend>
<ul class="item-list toggle-technique-category-{{technique}} {{#ifCond ../data.storeInfos 'includes' (concat 'toggle-technique-category-' technique)}}toggle-hidden{{/ifCond}}">
{{#each list as |item id|}}
{{> 'systems/l5rx-chiaroscuro/templates/items/technique/technique-entry.html' technique=item editable=../../data.editable_not_soft_locked}}
{{> 'systems/l5r5e/templates/items/technique/technique-entry.html' technique=item editable=../../data.editable_not_soft_locked}}
{{/each}}
</ul>
</fieldset>
@@ -43,7 +43,7 @@
<ul class="item-list">
{{#each actor.items as |scroll id|}}
{{#ifCond scroll.type '==' 'signature_scroll'}}
{{> 'systems/l5rx-chiaroscuro/templates/items/signature-scroll/signature-scroll-entry.html' scroll=scroll id=id editable=../data.editable_not_soft_locked}}
{{> 'systems/l5r5e/templates/items/signature-scroll/signature-scroll-entry.html' scroll=scroll id=id editable=../data.editable_not_soft_locked}}
{{/ifCond}}
{{/each}}
</ul>

View File

@@ -27,12 +27,12 @@
</label>
<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>
</article>
<article class="tab parts part1" data-group="primary" data-tab="part1">
<h2>{{localize (localize 'l5r5e.twenty_questions.part1.title{suffix}' suffix=suffix)}}</h2>
<h3>{{localize (localize 'l5r5e.twenty_questions.part1.q1{suffix}' suffix=suffix)}}</h3>
<h2>{{localizeEmbedded 'l5r5e.twenty_questions.part1.title{suffix}' suffix=suffix}}</h2>
<h3>{{localizeEmbedded 'l5r5e.twenty_questions.part1.q1{suffix}' suffix=suffix}}</h3>
<div>
<input type="text" name="step1.clan" value="{{data.step1.clan}}">
</div>
@@ -73,7 +73,7 @@
</td>
</tr>
</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>
<input type="text" name="step2.family" value="{{data.step2.family}}">
</div>
@@ -122,7 +122,7 @@
</article>
<article class="tab parts part2" data-group="primary" data-tab="part2">
<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">
{{localize 'l5r5e.twenty_questions.part2.school'}}
<input type="text" name="step3.school" value="{{data.step3.school}}">
@@ -204,17 +204,17 @@
<tr>
<td class="fifty">
{{localize 'l5r5e.twenty_questions.part2.school_ability'}}
{{> 'systems/l5rx-chiaroscuro/templates/actors/character/twenty-questions-item.html' itemsList=cache.step3.school_ability stepName='step3.school_ability' itemType='techniques' hideDndAt=1}}
{{> 'systems/l5r5e/templates/actors/character/twenty-questions-item.html' itemsList=cache.step3.school_ability stepName='step3.school_ability' itemType='techniques' hideDndAt=1}}
{{localize 'l5r5e.twenty_questions.part2.starting_techniques'}}
{{> 'systems/l5rx-chiaroscuro/templates/actors/character/twenty-questions-item.html' itemsList=cache.step3.techniques stepName='step3.techniques' itemType='techniques' hideDndAt=6}}
{{> 'systems/l5r5e/templates/actors/character/twenty-questions-item.html' itemsList=cache.step3.techniques stepName='step3.techniques' itemType='techniques' hideDndAt=6}}
</td>
<td class="fifty">
{{localize 'l5r5e.twenty_questions.part2.outfit'}}
{{> 'systems/l5rx-chiaroscuro/templates/actors/character/twenty-questions-item.html' itemsList=cache.step3.equipment stepName='step3.equipment' itemType='items' hideDndAt=20}}
{{> 'systems/l5r5e/templates/actors/character/twenty-questions-item.html' itemsList=cache.step3.equipment stepName='step3.equipment' itemType='items' hideDndAt=20}}
</td>
</tr>
</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>
<label>
{{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>
</article>
<article class="tab parts part3" data-group="primary" data-tab="part3">
<h2>{{localize (localize 'l5r5e.twenty_questions.part3.title{suffix}' suffix=suffix)}}</h2>
<h3>{{localize (localize 'l5r5e.twenty_questions.part3.q5{suffix}' suffix=suffix)}}</h3>
<h2>{{localizeEmbedded 'l5r5e.twenty_questions.part3.title{suffix}' suffix=suffix}}</h2>
<h3>{{localizeEmbedded 'l5r5e.twenty_questions.part3.q5{suffix}' suffix=suffix}}</h3>
<label>
{{#ifCond data.template '==' 'core'}}
{{localize 'l5r5e.twenty_questions.part3.choose_giri'}}
@@ -236,12 +236,12 @@
{{/ifCond}}
<textarea name="step5.social_giri">{{data.step5.social_giri}}</textarea>
</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>
{{localize 'l5r5e.twenty_questions.part3.choose_ninjo'}}
<textarea name="step6.social_ninjo">{{data.step6.social_ninjo}}</textarea>
</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>
<table>
<tr>
@@ -265,7 +265,7 @@
</td>
</tr>
</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>
<table>
<tr>
@@ -288,7 +288,7 @@
<tr>
<td class="" colspan="3">
{{localize 'l5r5e.twenty_questions.or'}} {{localize 'l5r5e.twenty_questions.part3.object'}}
{{> 'systems/l5rx-chiaroscuro/templates/actors/character/twenty-questions-item.html' itemsList=cache.step8.item stepName='step8.item' itemType='items' hideDndAt=1}}
{{> 'systems/l5r5e/templates/actors/character/twenty-questions-item.html' itemsList=cache.step8.item stepName='step8.item' itemType='items' hideDndAt=1}}
</td>
</tr>
{{/ifCond}}
@@ -315,38 +315,38 @@
</article>
<article class="tab parts part4" data-group="primary" data-tab="part4">
<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>
<label>
{{localize 'l5r5e.twenty_questions.part4.distinction'}}
{{> 'systems/l5rx-chiaroscuro/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>
<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>
<label>
{{localize 'l5r5e.twenty_questions.part4.adversity'}}
{{> 'systems/l5rx-chiaroscuro/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>
<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>
<label>
{{localize 'l5r5e.twenty_questions.part4.passion'}}
{{> 'systems/l5rx-chiaroscuro/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>
<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>
<label>
{{localize 'l5r5e.twenty_questions.part4.anxiety'}}
{{> 'systems/l5rx-chiaroscuro/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>
<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>
<table>
<tr>
<td class="third">
{{localize 'l5r5e.twenty_questions.part4.disadvantage'}}
{{#ifCond data.step13.advantage.length '==' 0}}
{{> 'systems/l5rx-chiaroscuro/templates/actors/character/twenty-questions-item.html' itemsList=cache.step13.disadvantage stepName='step13.disadvantage' itemType='peculiarities' hideDndAt=1 }}
{{> 'systems/l5r5e/templates/actors/character/twenty-questions-item.html' itemsList=cache.step13.disadvantage stepName='step13.disadvantage' itemType='peculiarities' hideDndAt=1 }}
{{/ifCond}}
{{localize 'l5r5e.twenty_questions.and'}}
{{localize 'l5r5e.twenty_questions.increase_skill1'}}
@@ -367,7 +367,7 @@
<td class="">
{{localize 'l5r5e.twenty_questions.part4.advantage'}}
{{#ifCond (ifCond data.step13.disadvantage.length '==' 0) '&&' (ifCond data.step13.skill '==' 'none')}}
{{> 'systems/l5rx-chiaroscuro/templates/actors/character/twenty-questions-item.html' itemsList=cache.step13.advantage stepName='step13.advantage' itemType='peculiarities' hideDndAt=1}}
{{> 'systems/l5r5e/templates/actors/character/twenty-questions-item.html' itemsList=cache.step13.advantage stepName='step13.advantage' itemType='peculiarities' hideDndAt=1}}
{{/ifCond}}
</td>
</tr>
@@ -376,35 +376,35 @@
</article>
<article class="tab parts part5" data-group="primary" data-tab="part5">
<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>
<label>
{{localize 'l5r5e.twenty_questions.part5.accoutrement'}}
{{> 'systems/l5rx-chiaroscuro/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>
<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>
{{#ifCond data.template '==' 'core'}}
<h3>{{localize 'l5r5e.twenty_questions.part5.q16'}}</h3>
<textarea name="step16.relations">{{data.step16.relations}}</textarea>
<label>
{{localize 'l5r5e.twenty_questions.part5.object'}}
{{> 'systems/l5rx-chiaroscuro/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>
{{/ifCond}}
<button class="next" name="next" type="button">{{localize 'l5r5e.twenty_questions.bt_next'}} <i class='fas fa-arrow-right'></i></button>
</article>
<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'}}
<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>
<label>
{{localize 'l5r5e.twenty_questions.part5.object'}}
{{> 'systems/l5rx-chiaroscuro/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>
{{/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>
{{#ifCond data.template '==' 'core'}}
<label>
@@ -421,10 +421,10 @@
{{else}}
<label>
{{localize 'l5r5e.twenty_questions.part6.bond'}}
{{> 'systems/l5rx-chiaroscuro/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>
{{/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>
{{#ifCond data.template '==' 'core'}}
<table>
@@ -474,7 +474,7 @@
{{/each}}
</select>
{{localize 'l5r5e.twenty_questions.part6.d10r2_drop_items'}}
{{> 'systems/l5rx-chiaroscuro/templates/actors/character/twenty-questions-item.html' itemsList=cache.step18.heritage_item stepName='step18.heritage_item' itemType='items' hideDndAt=1}}
{{> 'systems/l5r5e/templates/actors/character/twenty-questions-item.html' itemsList=cache.step18.heritage_item stepName='step18.heritage_item' itemType='items' hideDndAt=1}}
</td>
</tr>
</table>
@@ -491,7 +491,7 @@
</select>
</label>
{{/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>
<button class="next" name="next" type="button">{{localize 'l5r5e.twenty_questions.bt_next'}} <i class='fas fa-arrow-right'></i></button>
</article>
@@ -499,7 +499,7 @@
<h2>{{localize 'l5r5e.twenty_questions.part7.title'}}</h2>
<div>
<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>
</label>
</div>

View File

@@ -1,52 +0,0 @@
<div class="l5r5e chat-roll chiaroscuro-chat-roll">
{{!-- Header --}}
<div class="chi-chat-header">
<img class="profile-img" src="{{profileImg}}" alt="{{actor.name}}" />
<div class="chi-chat-actor">
<strong>{{actor.name}}</strong>
{{#if quickInfo}}<div class="chi-chat-quick-info">{{quickInfo}}</div>{{/if}}
</div>
<div class="chi-chat-badges">
<span class="ring-icon {{ring.id}}" title="{{ring.label}}"><i class="i_{{ring.id}}"></i></span>
{{#if useAspectPoint}}<span class="chi-aspect-badge {{aspectType}}" title="{{localize 'chiaroscuro.dice.aspect_point'}}">
{{#ifCond aspectType '==' 'solar'}}☀{{else}}☽{{/ifCond}}
</span>{{/if}}
{{#if useAssistance}}<span class="chi-assistance-badge" title="{{localize 'chiaroscuro.dice.assistance'}}"></span>{{/if}}
</div>
</div>
{{!-- Roll description line --}}
<div class="chi-chat-desc">
{{#if skill.name}}<span class="chi-chat-skill">{{skill.name}}</span>{{/if}}
<span class="chi-chat-vs"></span>
<span class="chi-chat-diff">{{localize (concat 'chiaroscuro.difficulties.' difficulty.id)}}</span>
</div>
{{!-- Dice results --}}
<div class="chi-chat-dice-pool">
{{#each adjustedResults}}
<span class="chi-die {{#ifCond this '<' 3}}die-low{{else}}{{#ifCond this '>' 4}}die-high{{/ifCond}}{{/ifCond}}">
{{this}}
{{#if (lookup ../diceAdjustedFlags @index)}}<i class="fas fa-caret-up die-adj-icon" title="{{localize 'chiaroscuro.dice.adjusted'}}"></i>{{/if}}
</span>
{{/each}}
</div>
{{!-- Breakdown --}}
<div class="chi-chat-breakdown">
<span>{{localize 'chiaroscuro.dice.dice_result'}} : {{rawSum}}</span>
{{#if skill.bonus}}<span> + {{skill.bonus}} ({{localize 'chiaroscuro.dice.bonus'}})</span>{{/if}}
{{#if modifier}}<span> {{#ifCond modifier '>' 0}}+{{/ifCond}}{{modifier}} ({{localize 'chiaroscuro.dice.modifier_label'}})</span>{{/if}}
<strong> = {{total}}</strong>
</div>
{{!-- Result --}}
<div class="chi-chat-result {{#if success}}chi-success{{else}}chi-failure{{/if}}">
{{#if success}}
<i class="fas fa-check"></i> {{localize 'chiaroscuro.dice.success'}}
{{#if bonus}}<span class="chi-bonus-successes">(+{{bonus}})</span>{{/if}}
{{else}}
<i class="fas fa-times"></i> {{localize 'chiaroscuro.dice.failure'}}
{{/if}}
</div>
</div>

View File

@@ -1,97 +0,0 @@
<form class="l5r5e chiaroscuro-dice-dialog" autocomplete="off">
{{!-- Header: portrait + quick info --}}
<div class="chi-dice-header">
<img class="profile-img" src="{{#if actor.img}}{{actor.img}}{{else}}icons/svg/mystery-man.svg{{/if}}" alt="{{actor.name}}" />
<div class="chi-dice-actor-info">
<strong>{{actor.name}}</strong>
{{#if quickInfo}}<div class="chi-dice-quick-info">{{quickInfo}}</div>{{/if}}
</div>
</div>
{{!-- Ring selector --}}
<fieldset class="chi-dice-section">
<legend>{{localize 'l5r5e.rings.title'}}</legend>
<ul class="rings chi-rings">
{{#each ringsList}}
<li>
<label class="attribute-label {{this.id}} centered-input ring-selection-chi pointer-choice {{#ifCond ../data.ring.id '==' this.id}}ring-selected{{/ifCond}}" data-ringid="{{this.id}}">
<i class="i_{{this.id}}"></i>
<strong>{{this.label}}</strong>
<span class="ring-value">{{this.value}}</span>
</label>
</li>
{{/each}}
</ul>
</fieldset>
{{!-- Skill info --}}
{{#if data.skill.name}}
<fieldset class="chi-dice-section">
<legend>{{localize 'l5r5e.skills.title'}}</legend>
<div class="chi-skill-row">
<span class="chi-skill-name">{{data.skill.name}}</span>
<span class="chi-skill-rank">{{localize (concat 'chiaroscuro.skill_ranks.' data.skill.rank)}}</span>
{{#ifCond data.skill.bonus '>' 0}}<span class="chi-skill-bonus skill-bonus">+{{data.skill.bonus}}</span>{{/ifCond}}
</div>
</fieldset>
{{/if}}
{{!-- Difficulty + Modifier --}}
<fieldset class="chi-dice-section">
<legend>{{localize 'chiaroscuro.dice.difficulty_label'}}</legend>
<div class="chi-difficulty-row">
<select name="difficulty.id">
{{selectOptions difficultiesList selected=data.difficulty.id valueAttr='id' labelAttr='label'}}
</select>
<label class="chi-modifier-label">
{{localize 'chiaroscuro.dice.modifier_label'}}
<input type="number" name="modifier" value="{{data.modifier}}" class="centered-input select-on-focus" style="width: 3em;" />
</label>
</div>
</fieldset>
{{!-- Aspect Point + Assistance --}}
<fieldset class="chi-dice-section">
<legend>{{localize 'chiaroscuro.dice.options'}}</legend>
<div class="chi-options-row">
<label>
<input type="checkbox" id="use_aspect_point" {{checked data.useAspectPoint}} />
{{localize 'chiaroscuro.dice.aspect_point'}}
{{#if isVoidRing}}
<select name="aspectType">
{{selectOptions aspectsList selected=data.aspectType valueAttr='id' labelAttr='label'}}
</select>
{{else}}
<em class="chi-auto-aspect">
{{#ifCond '["fire","earth"]' 'includes' data.ring.id}}
({{localize 'chiaroscuro.aspects.solar'}})
{{else}}
({{localize 'chiaroscuro.aspects.lunar'}})
{{/ifCond}}
</em>
{{/if}}
</label>
</div>
<div class="chi-options-row">
<label>
<input type="checkbox" id="use_assistance" {{checked data.useAssistance}} />
{{localize 'chiaroscuro.dice.assistance'}}
</label>
</div>
</fieldset>
{{!-- Total dice summary --}}
<div class="chi-dice-total-summary">
<span>{{localize 'chiaroscuro.dice.total_dice'}} :</span>
<strong class="chi-total-dice">{{totalDice}}d6</strong>
{{#if data.skill.bonus}}<span> + {{data.skill.bonus}} ({{localize 'chiaroscuro.dice.bonus'}})</span>{{/if}}
{{#if data.modifier}}<span> {{#ifCond data.modifier '>' 0}}+{{/ifCond}}{{data.modifier}} ({{localize 'chiaroscuro.dice.modifier_label'}})</span>{{/if}}
</div>
{{!-- Submit --}}
<div class="chi-dice-submit">
<button name="roll" type="submit">
{{localize 'chiaroscuro.dice.roll'}} <i class="fas fa-dice"></i>
</button>
</div>
</form>

View File

@@ -1,5 +1,5 @@
<form class="l5r5e dice-picker-dialog" autocomplete="off">
{{> 'systems/l5rx-chiaroscuro/templates/actors/character/effects.html'}}
{{> 'systems/l5r5e/templates/actors/character/effects.html'}}
<table>
{{!-- First line--}}
<tr>
@@ -45,14 +45,14 @@
</div>
<div id="skill_default_value" class="pointer-choice">
<div class="dice-container">
<img src="systems/l5rx-chiaroscuro/assets/dices/default/skill_blank.svg" alt="1">
<img src="systems/l5r5e/assets/dices/default/skill_blank.svg" alt="1">
<div class="dice-value">
<span class="dice-skill" type="text" name="skill_{{data.skill.name}}">{{data.skill.defaultValue}}</span>
</div>
</div>
</div>
{{else}}
<img class="profile-img" src="systems/l5rx-chiaroscuro/assets/imgs/noskill.webp" data-edit="img" alt="no skill selected" />
<img class="profile-img" src="systems/l5r5e/assets/imgs/noskill.webp" data-edit="img" alt="no skill selected" />
{{/if}}
</td>
</tr>
@@ -86,7 +86,7 @@
<div class="third">
<div class="dice-container">
<img src="systems/l5rx-chiaroscuro/assets/dices/default/3d/blank.png" alt="1" />
<img src="systems/l5r5e/assets/dices/default/3d/blank.png" alt="1" />
<div class="dice-value">
<input class="input-dice" type="text" name="difficulty.value" value="{{data.difficulty.value}}" readonly="readonly" />
</div>
@@ -107,7 +107,7 @@
<div class="third">
<div class="dice-container">
<img src="systems/l5rx-chiaroscuro/assets/dices/default/ring_blank.svg" alt="1" />
<img src="systems/l5r5e/assets/dices/default/ring_blank.svg" alt="1" />
<div class="dice-value">
<input class="input-dice input-dice-ring" type="text" name="ring.value" value="{{data.ring.value}}" readonly="readonly" />
</div>
@@ -126,7 +126,7 @@
<div class="third">
<div class="dice-container">
<img src="systems/l5rx-chiaroscuro/assets/dices/default/skill_blank.svg" alt="1" />
<img src="systems/l5r5e/assets/dices/default/skill_blank.svg" alt="1" />
<div class="dice-value">
<input class="input-dice input-dice-skill" type="text" name="skill.value" value="{{data.skill.value}}" readonly="readonly" />
</div>
@@ -164,7 +164,7 @@
<div class="assistance dice-container">
<i class="assistance pointer-choice fa fa-minus-square" data-item="assistance" data-value="-1"></i>
<div class="dice-container">
<img src="systems/l5rx-chiaroscuro/assets/dices/default/3d/blank.png" alt="1" />
<img src="systems/l5r5e/assets/dices/default/3d/blank.png" alt="1" />
<div class="dice-value">
<input class="input-dice" type="text" name="skill.assistance" value="{{data.skill.assistance}}" readonly="readonly" />
</div>

View File

@@ -35,7 +35,7 @@
{{/if}}
</li>
</ul>
{{> 'systems/l5rx-chiaroscuro/templates/actors/character/effects.html' actor=l5r5e.actor}}
{{> 'systems/l5r5e/templates/actors/character/effects.html' actor=l5r5e.actor}}
</header>
<section class="rnk-ct">
{{!-- Body --}}

View File

@@ -2,14 +2,14 @@
<ul class="encounter">
{{#each encounterTypeList}}
<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>
{{/each}}
</ul>
<ul class="prepared">
{{#each prepared as |prepared 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>
{{/each}}
</ul>

View File

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

View File

@@ -44,6 +44,6 @@
<input class="select-on-focus" type="number" name="system.bought_at_rank" value="{{data.system.bought_at_rank}}" data-dtype="Number" min="0" placeholder="0"/>
</label>
</article>
{{> 'systems/l5rx-chiaroscuro/templates/items/item/item-infos.html'}}
{{> 'systems/l5r5e/templates/items/item/item-infos.html'}}
</section>
</form>

View File

@@ -17,6 +17,6 @@
<li><strong>{{localize 'l5r5e.sheets.bought_at_rank'}}</strong> : {{data.system.bought_at_rank}}</li>
</ul>
{{> 'systems/l5rx-chiaroscuro/templates/items/item/item-text-partial-reference.html'}}
{{> 'systems/l5r5e/templates/items/item/item-text-partial-reference.html'}}
</section>
</div>

View File

@@ -1,35 +0,0 @@
<form class="{{cssClass}}" autocomplete="off">
<header class="sheet-header">
<img class="profile-img" src="{{data.img}}" data-edit="img" title="{{data.name}}"/>
<h1 class="charname"><input name="name" type="text" value="{{data.name}}" placeholder="Name"/></h1>
</header>
<nav class="sheet-tabs tabs" data-group="primary">
<a class="item active" data-group="primary" data-tab="attributes">{{localize 'l5r5e.sheets.attributes'}}</a>
<a class="item" data-group="primary" data-tab="description">{{localize 'l5r5e.sheets.infos'}}</a>
</nav>
<section class="sheet-body">
<article class="attributes" data-group="primary" data-tab="attributes">
<label class="attribute">
{{localize 'chiaroscuro.arcane.arcane_type'}}
<input type="text" name="system.arcane_type" value="{{data.system.arcane_type}}" />
</label>
<label class="attribute">
{{localize 'chiaroscuro.arcane.application'}}
<input type="text" name="system.applicationDisplay" value="{{data.system.applicationDisplay}}" placeholder="compétence1, compétence2" />
</label>
<label class="attribute">
{{localize 'chiaroscuro.arcane.bonus'}}
<input class="select-on-focus" type="number" name="system.bonus" value="{{data.system.bonus}}" data-dtype="Number" min="0" placeholder="2"/>
</label>
<label class="attribute">
{{localize 'chiaroscuro.arcane.progression'}}
<input type="text" name="system.progression" value="{{data.system.progression}}" />
</label>
<label class="attribute">
{{localize 'chiaroscuro.arcane.xp_cost'}}
<input class="select-on-focus" type="number" name="system.xp_cost" value="{{data.system.xp_cost}}" data-dtype="Number" min="0" placeholder="1"/>
</label>
</article>
{{> 'systems/l5rx-chiaroscuro/templates/items/item/item-infos.html'}}
</section>
</form>

View File

@@ -11,14 +11,7 @@
<input type="checkbox" name="system.equipped" {{checked data.system.equipped}} />
{{ localize 'l5r5e.armors.equipped' }}
</label>
<label class="attribute">
{{localize 'l5r5e.armors.type'}}
<select name="system.armor_category">
<option value=""></option>
{{selectOptions data.armorCategories selected=data.system.armor_category valueAttr='id' labelAttr='label'}}
</select>
</label>
{{> 'systems/l5rx-chiaroscuro/templates/items/item/item-value.html' }}
{{> 'systems/l5r5e/templates/items/item/item-value.html' }}
<fieldset class="attribute type">
<legend class="text-header">{{localize 'l5r5e.armors.type'}}</legend>
<label>
@@ -32,8 +25,8 @@
</fieldset>
</article>
<article class="properties" data-group="primary" data-tab="properties">
{{> 'systems/l5rx-chiaroscuro/templates/items/property/properties.html' properties=data.propertiesList}}
{{> 'systems/l5r5e/templates/items/property/properties.html' properties=data.propertiesList}}
</article>
{{> 'systems/l5rx-chiaroscuro/templates/items/item/item-infos.html'}}
{{> 'systems/l5r5e/templates/items/item/item-infos.html'}}
</section>
</form>

View File

@@ -36,6 +36,6 @@
{{#each data.system.properties as |property idx|}}{{#ifCond idx '>' 0}}, {{/ifCond}}{{property.name}}{{/each}}
</p>
{{> 'systems/l5rx-chiaroscuro/templates/items/item/item-text-partial-reference.html'}}
{{> 'systems/l5r5e/templates/items/item/item-text-partial-reference.html'}}
</section>
</div>

View File

@@ -8,7 +8,7 @@
<ul class="item-list">
{{#each actor.items as |item id|}}
{{#ifCond (ifCond item.type '==' 'armor') '&&' (ifCond item.system.equipped '==' true)}}
{{> 'systems/l5rx-chiaroscuro/templates/items/armor/armor-entry.html' armor=item id=id editable=../data.editable_not_soft_locked }}
{{> 'systems/l5r5e/templates/items/armor/armor-entry.html' armor=item id=id editable=../data.editable_not_soft_locked }}
{{/ifCond}}
{{/each}}
</ul>

View File

@@ -57,6 +57,6 @@
</article>
{{!-- Description --}}
{{> 'systems/l5rx-chiaroscuro/templates/items/item/item-infos.html'}}
{{> 'systems/l5r5e/templates/items/item/item-infos.html'}}
</section>
</form>

View File

@@ -15,6 +15,6 @@
{{!-- abilities --}}
<p><strong>{{localize 'l5r5e.army.cohort.abilities'}}</strong> : {{{data.enrichedHtml.abilities}}}</p>
{{> 'systems/l5rx-chiaroscuro/templates/items/item/item-text-partial-reference.html'}}
{{> 'systems/l5r5e/templates/items/item/item-text-partial-reference.html'}}
</section>
</div>

View File

@@ -17,6 +17,6 @@
<input class="select-on-focus" type="number" name="system.attrition_reduction" value="{{data.system.attrition_reduction}}" data-dtype="Number"/>
</label>
</article>
{{> 'systems/l5rx-chiaroscuro/templates/items/item/item-infos.html'}}
{{> 'systems/l5r5e/templates/items/item/item-infos.html'}}
</section>
</form>

View File

@@ -8,6 +8,6 @@
<li><strong>{{localize 'l5r5e.army.fortification.attrition_reduction'}}</strong> : {{data.system.attrition_reduction}}</li>
</ul>
{{> 'systems/l5rx-chiaroscuro/templates/items/item/item-text-partial-reference.html'}}
{{> 'systems/l5r5e/templates/items/item/item-text-partial-reference.html'}}
</section>
</div>

Some files were not shown because too many files have changed in this diff Show More