diff --git a/CHANGELOG.md b/CHANGELOG.md index 6f9c1a2..c6f3a07 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,11 +4,12 @@ Date format : day/month/year ## 1.9.0 - ??/??/2022 - Foundry v10 Compatibility __! Be certain to carefully back up any critical user data before installing this update !__ - Updated the System to FoundryVTT v10. -- Removed restriction on technique types when dropping a technique (Sheet and 20Q. #39). -- Added a `game.user.isFirstGM` property for some traitements (socket and migration) to prevent multiple executions with multiple GM connected. -- Added `itemUuid` to Roll/RnK for technique and weapons to be readable in ChatMessage (use `fromUuid()` / `fromUuidSync()` to get the object). - Updated the initiative behaviour, he now open the DicePicker for connected players. +- Added a `game.user.isFirstGM` property for some traitements (socket and migration) to prevent multiple executions with multiple GM connected. - Added socket API `openDicePicker` to remotely open the DicePicker (see usage below). +- Added `itemUuid` to Roll/RnK for technique and weapons to be readable in ChatMessage (use `fromUuid()` / `fromUuidSync()` to get the object). +- Added wiki link in system tab. +- Removed restriction on technique types when dropping a technique (Sheet and 20Q. #39). ### OpenDicePicker API usage #### Fitness skill roll for the all combat targets @@ -142,7 +143,7 @@ Technique syntaxe "quick" explanation : - `|` separator, optional if no min/max. - `min` or `max` : Between the selected targets, search for the min/max of `prop2`. If no `prop2` provided, take `prop1` as `prop2` (irrelevant for `@S`). - `(prop2)` : define the property for the actor selection in multiple target, can be omitted if same as `prop1`. - - Exemples : + - Examples : - `@S:vigilance` : Difficulty will be my own `vigilance`. - `@T:vigilance|min` : Difficulty will be the `vigilance` from the target with the minimum vigilance (implicit) value. it's the same to wrote `@T:vigilance|min(vigilance)`. - `@T:vigilance|max(statusRank)` : Difficulty will be the `vigilance` from the target with the maximum `statusRank` value. @@ -150,7 +151,7 @@ Technique syntaxe "quick" explanation : - Skill : `melee`, `fitness`... - SkillCategory : `scholar`, `martial`... - Or both in list, coma separated. - - Exemples : + - Examples : - `theology` - `melee,ranged,unarmed` - `martial,fitness,performance` diff --git a/system/lang/en-en.json b/system/lang/en-en.json index 8c57d56..2acc4ee 100644 --- a/system/lang/en-en.json +++ b/system/lang/en-en.json @@ -54,6 +54,12 @@ "unlocked": "Unlocked", "random": "Random" }, + "settings": { + "wiki": { + "title": "Wiki", + "link": "https://gitlab.com/teaml5r/l5r5e/-/wikis/home" + } + }, "logo": { "title": "Need help?", "src": "systems/l5r5e/assets/l5r-logo.webp", diff --git a/system/lang/es-es.json b/system/lang/es-es.json index 7b1823c..333d3fa 100644 --- a/system/lang/es-es.json +++ b/system/lang/es-es.json @@ -54,6 +54,12 @@ "unlocked": "Unlocked", "random": "Random" }, + "settings": { + "wiki": { + "title": "Wiki", + "link": "https://gitlab.com/teaml5r/l5r5e/-/wikis/home" + } + }, "logo": { "títle": "¿Necesitas ayuda?", "src": "systems/l5r5e/assets/l5r-logo.webp", diff --git a/system/lang/fr-fr.json b/system/lang/fr-fr.json index c07b438..274e436 100644 --- a/system/lang/fr-fr.json +++ b/system/lang/fr-fr.json @@ -54,6 +54,12 @@ "unlocked": "Déverrouillé", "random": "Aléatoire" }, + "settings": { + "wiki": { + "title": "Wiki", + "link": "https://gitlab.com/teaml5r/l5r5e/-/wikis/home" + } + }, "logo": { "title": "Besoin d'aide ?", "src": "systems/l5r5e/assets/l5r-logo.webp", diff --git a/system/lang/it-it.json b/system/lang/it-it.json index d06d269..1218524 100644 --- a/system/lang/it-it.json +++ b/system/lang/it-it.json @@ -54,6 +54,12 @@ "unlocked": "Sbloccato", "random": "Casuale" }, + "settings": { + "wiki": { + "title": "Wiki", + "link": "https://gitlab.com/teaml5r/l5r5e/-/wikis/home" + } + }, "logo": { "title": "Bisogno di aiuto?", "src": "systems/l5r5e/assets/l5r-logo.webp", diff --git a/system/scripts/actors/character-generator.js b/system/scripts/actors/character-generator.js index 5269dba..97aed6c 100644 --- a/system/scripts/actors/character-generator.js +++ b/system/scripts/actors/character-generator.js @@ -531,7 +531,7 @@ export class CharacterGenerator { /** * Techs config * - * exemple: { + * example: { * probability: .7, * skill: { * grp_name: "scholar", diff --git a/system/scripts/dice/dice-picker-dialog.js b/system/scripts/dice/dice-picker-dialog.js index 4aca5f6..e7a92a3 100644 --- a/system/scripts/dice/dice-picker-dialog.js +++ b/system/scripts/dice/dice-picker-dialog.js @@ -191,7 +191,7 @@ export class DicePickerDialog extends FormApplication { */ set actor(actor) { if (!actor || !(actor instanceof Actor) || !actor.isOwner) { - console.log("L5R5E | DP | Actor rejected", actor); + console.info("L5R5E | DP | Actor rejected", actor); return; } this._actor = actor; @@ -702,7 +702,7 @@ export class DicePickerDialog extends FormApplication { /** * Parse the difficulty from technique * - * Exemples : + * Examples : * "@S:vigilance" * "@T:vigilance" * "@T:vigilance|min" diff --git a/system/scripts/hooks.js b/system/scripts/hooks.js index 0b1dc89..de1ea4b 100644 --- a/system/scripts/hooks.js +++ b/system/scripts/hooks.js @@ -65,7 +65,10 @@ export default class HooksL5r5e { case "settings": // Add Changelog link html.find("#game-details .system").append( - `

Changelog

` + `

Changelog` + + ` ${game.i18n.localize("l5r5e.settings.wiki.title")}

` ); break; } diff --git a/wiki/dev/dicepicker.md b/wiki/dev/dicepicker.md index 454c39d..9239e8e 100644 --- a/wiki/dev/dicepicker.md +++ b/wiki/dev/dicepicker.md @@ -1,7 +1,7 @@ # DicePicker (DP) The DicePicker is the entry point to any L5R roll (but chat command). -## Usage exemple +## Usage example ```js new game.l5r5e.DicePickerDialog({ skillId: 'aesthetics', @@ -11,19 +11,19 @@ new game.l5r5e.DicePickerDialog({ ``` ## Constructor Options -| Property | Type | Notes / Exemples | -|------------------|----------|-------------------------------------------------------------------------------------------------------------------------------| -| actor | Actor | Any `Actor` object instance.
ex : `game.user.character`, `canvas.tokens.controlled[0].actor` | -| actorId | string | This is the `id` not the `uuid` of an actor.
ex : "AbYgKrNwWeAxa9jT" | -| actorName | string | Careful this is case sensitive.
ex : "Isawa Aki" | -| difficulty | number | `1` to `9` | -| difficultyHidden | boolean | If `true`, hide the difficulty and lock the view for the player. | -| isInitiativeRoll | boolean | `true` if this is an initiative roll | -| itemUuid | string | The `uuid` of technique or weapon used for this roll. Can be anything retrieved by `fromUuid()` or `fromUuidSync()` | -| ringId | string | If not provided, take the current stance of the actor if any.
ex : "fire", "water" | -| skillId | string | Skill `id`
ex : "design", "aesthetics", "courtesy" | -| skillCatId | string | Skill category `id`
ex : "artisan", "scholar" | -| skillsList | string[] | `skillId`/`skillCatId` list coma separated.
Allow the player to select the skill used in a select
ex : "artisan,design" | +| Property | Type | Notes / Examples | +|------------------|----------|------------------------------------------------------------------------------------------------------------------------------------------| +| actor | Actor | Any `Actor` object instance.
ex : `game.user.character`, `canvas.tokens.controlled[0].actor` | +| actorId | string | This is the `id` not the `uuid` of an actor.
ex : "AbYgKrNwWeAxa9jT" | +| actorName | string | Careful this is case sensitive.
ex : "Isawa Aki" | +| difficulty | number | `1` to `9` | +| difficultyHidden | boolean | If `true`, hide the difficulty and lock the view for the player. | +| isInitiativeRoll | boolean | `true` if this is an initiative roll | +| itemUuid | string | The `uuid` of technique or weapon used for this roll. Can be anything retrieved by `fromUuid()` or `fromUuidSync()`
_Added in v1.9.0_ | +| ringId | string | If not provided, take the current stance of the actor if any.
ex : "fire", "water" | +| skillId | string | Skill `id`
ex : "design", "aesthetics", "courtesy" | +| skillCatId | string | Skill category `id`
ex : "artisan", "scholar" | +| skillsList | string[] | `skillId`/`skillCatId` list coma separated.
Allow the player to select the skill used in a select
ex : "artisan,design" | All these properties are optional. diff --git a/wiki/dev/sockets.md b/wiki/dev/sockets.md index 8c51691..f933a3d 100644 --- a/wiki/dev/sockets.md +++ b/wiki/dev/sockets.md @@ -22,7 +22,7 @@ game.l5r5e.sockets.refreshAppId(applicationId); ## updateMessageIdAndRefresh -Change the message in the selected application windows, and rerender the application to force the refresh. Used in RnK. +Change the message in the selected application windows, and re-render the application to force the refresh. Used in RnK. Usage : ```js @@ -31,18 +31,20 @@ game.l5r5e.sockets.refreshAppId(applicationId, messageId); ## openDicePicker -Remotely open the DicePicker (DP) on targetted Users/Actors if they are active users. Used in initiative roll. +_Added in v1.9.0_ + +Remotely open the DicePicker (DP) on targeted Users/Actors if they are active users. Used in initiative roll. Arguments : -| Property | Type | Notes / Exemples | +| Property | Type | Notes / Examples | |-----------|---------|----------------------------------------------------------------------------| | users | User[] | Users list to trigger the DP (will be reduce to `id` for network perf.) | | actors | Actor[] | Actors list to trigger the DP (will be reduce to `uuid` for network perf.) | | dpOptions | Object | Any [DicePickerDialog.options](dicepicker.md#constructor-options) | -### Exemples +### Examples #### Fitness skill roll for the all combat targets ```js diff --git a/wiki/dev/system-helping.md b/wiki/dev/system-helping.md index b7560a1..d5fcd06 100644 --- a/wiki/dev/system-helping.md +++ b/wiki/dev/system-helping.md @@ -11,7 +11,7 @@ You are free to contribute and propose corrections, modifications after fork. Tr 2. Use `npm ci` to install the dependence. 3. Create a link from `/system` to your foundry system data (by default `%localappdata%/FoundryVTT/data/systems/l5r5e`). -Windows exemple (modify the target and source directories, and run this in administrator) : +Windows example (modify the target and source directories, and run this in administrator) : ```bash mklink /D /J "%localappdata%/FoundryVTT/data/systems/l5r5e" "D:/Projects/FVTT/l5r5e/system" ``` diff --git a/wiki/users/custom-compendiums.md b/wiki/users/custom-compendiums.md index ccdbd43..a07f43b 100644 --- a/wiki/users/custom-compendiums.md +++ b/wiki/users/custom-compendiums.md @@ -2,7 +2,7 @@ Never directly edit the system compendiums. They will be erased anytime you update the system. -The better options to keep the links between items and properties for exemple, is to fill a custom compendium using babel. +The better options to keep the links between items and properties for example, is to fill a custom compendium using babel. This way, the system compendiums will be overridden by this module. You will need to manually download the following module, and edit json files. diff --git a/wiki/users/techniques-syntaxe.md b/wiki/users/techniques-syntaxe.md index fa1f783..852c872 100644 --- a/wiki/users/techniques-syntaxe.md +++ b/wiki/users/techniques-syntaxe.md @@ -6,14 +6,14 @@ These fields have special constraints, you will find theirs rules below. ## Difficulty Can be : - A integer number : `1` to `9`. - - Or specific syntaxe "@`S`:`prop1`" or "@`T`:`prop1`|`max`" or "@`T`:`prop1`|`max`(`prop2`)" : + - Or specific syntax "@`S`:`prop1`" or "@`T`:`prop1`|`max`" or "@`T`:`prop1`|`max`(`prop2`)" : - `@` fixed, trigger the parser - `T` or `S` : `T`arget or `S`elf, define the actor to get the value. - `prop1` / `prop2` : Can be any property in `actor` or `actor.system`. Limitations: currently no `size`, `distance` (range) or computation (a+b). - `|` separator, optional if no min/max. - `min` or `max` : Between the selected targets, search for the min/max of `prop2`. If no `prop2` provided, take `prop1` as `prop2` (irrelevant for `@S`). - `(prop2)` : define the property for the actor selection in multiple target, can be omitted if same as `prop1`. - - Exemples : + - Examples : - `@S:vigilance` : Difficulty will be my own `vigilance`. - `@T:vigilance|min` : Difficulty will be the `vigilance` from the target with the minimum vigilance (implicit) value. it's the same to wrote `@T:vigilance|min(vigilance)`. - `@T:vigilance|max(statusRank)` : Difficulty will be the `vigilance` from the target with the maximum `statusRank` value. @@ -24,7 +24,7 @@ Can be : - Any `Skill` id : `melee`, `fitness`... - Any `SkillCategory` id : `scholar`, `martial`... - Or both in list, coma separated. - - Exemples : + - Examples : - `theology` - `melee,ranged,unarmed` - `martial,fitness,performance` diff --git a/wiki/users/updating.md b/wiki/users/updating.md index 1708ce8..7f8e030 100644 --- a/wiki/users/updating.md +++ b/wiki/users/updating.md @@ -1,4 +1,4 @@ # Updating - Bests practices - Anytime you update to a major version make a backup of foundry's data directory (default : `%localappdata%/FoundryVTT/data/`). -- Take time to upgrading to a major version (ex FoundryVTT v9->v10).
A lot of bugs can be on firsts patchs, and a lots of systems/modules won't upgrade fast and will be incompatible or not tested (a lot of us do it only on our free time).
If you need some timing windows: let à least 2 weeks to 1 month. +- Take time to upgrading to a major version (ex FoundryVTT v9->v10).
A lot of bugs can be on firsts patchs, and a lots of systems/modules won't upgrade fast and will be incompatible or not tested (a lot of us do it only on our free time).
If you need some timing windows: let at least 2 weeks to 1 month.