added wiki link + updated some wiki pages
This commit is contained in:
11
CHANGELOG.md
11
CHANGELOG.md
@@ -4,11 +4,12 @@ Date format : day/month/year
|
|||||||
## 1.9.0 - ??/??/2022 - Foundry v10 Compatibility
|
## 1.9.0 - ??/??/2022 - Foundry v10 Compatibility
|
||||||
__! Be certain to carefully back up any critical user data before installing this update !__
|
__! Be certain to carefully back up any critical user data before installing this update !__
|
||||||
- Updated the System to FoundryVTT v10.
|
- 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.
|
- 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 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
|
### OpenDicePicker API usage
|
||||||
#### Fitness skill roll for the all combat targets
|
#### Fitness skill roll for the all combat targets
|
||||||
@@ -142,7 +143,7 @@ Technique syntaxe "quick" explanation :
|
|||||||
- `|` separator, optional if no min/max.
|
- `|` 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`).
|
- `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`.
|
- `(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`.
|
- `@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|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.
|
- `@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`...
|
- Skill : `melee`, `fitness`...
|
||||||
- SkillCategory : `scholar`, `martial`...
|
- SkillCategory : `scholar`, `martial`...
|
||||||
- Or both in list, coma separated.
|
- Or both in list, coma separated.
|
||||||
- Exemples :
|
- Examples :
|
||||||
- `theology`
|
- `theology`
|
||||||
- `melee,ranged,unarmed`
|
- `melee,ranged,unarmed`
|
||||||
- `martial,fitness,performance`
|
- `martial,fitness,performance`
|
||||||
|
|||||||
@@ -54,6 +54,12 @@
|
|||||||
"unlocked": "Unlocked",
|
"unlocked": "Unlocked",
|
||||||
"random": "Random"
|
"random": "Random"
|
||||||
},
|
},
|
||||||
|
"settings": {
|
||||||
|
"wiki": {
|
||||||
|
"title": "Wiki",
|
||||||
|
"link": "https://gitlab.com/teaml5r/l5r5e/-/wikis/home"
|
||||||
|
}
|
||||||
|
},
|
||||||
"logo": {
|
"logo": {
|
||||||
"title": "Need help?",
|
"title": "Need help?",
|
||||||
"src": "systems/l5r5e/assets/l5r-logo.webp",
|
"src": "systems/l5r5e/assets/l5r-logo.webp",
|
||||||
|
|||||||
@@ -54,6 +54,12 @@
|
|||||||
"unlocked": "Unlocked",
|
"unlocked": "Unlocked",
|
||||||
"random": "Random"
|
"random": "Random"
|
||||||
},
|
},
|
||||||
|
"settings": {
|
||||||
|
"wiki": {
|
||||||
|
"title": "Wiki",
|
||||||
|
"link": "https://gitlab.com/teaml5r/l5r5e/-/wikis/home"
|
||||||
|
}
|
||||||
|
},
|
||||||
"logo": {
|
"logo": {
|
||||||
"títle": "¿Necesitas ayuda?",
|
"títle": "¿Necesitas ayuda?",
|
||||||
"src": "systems/l5r5e/assets/l5r-logo.webp",
|
"src": "systems/l5r5e/assets/l5r-logo.webp",
|
||||||
|
|||||||
@@ -54,6 +54,12 @@
|
|||||||
"unlocked": "Déverrouillé",
|
"unlocked": "Déverrouillé",
|
||||||
"random": "Aléatoire"
|
"random": "Aléatoire"
|
||||||
},
|
},
|
||||||
|
"settings": {
|
||||||
|
"wiki": {
|
||||||
|
"title": "Wiki",
|
||||||
|
"link": "https://gitlab.com/teaml5r/l5r5e/-/wikis/home"
|
||||||
|
}
|
||||||
|
},
|
||||||
"logo": {
|
"logo": {
|
||||||
"title": "Besoin d'aide ?",
|
"title": "Besoin d'aide ?",
|
||||||
"src": "systems/l5r5e/assets/l5r-logo.webp",
|
"src": "systems/l5r5e/assets/l5r-logo.webp",
|
||||||
|
|||||||
@@ -54,6 +54,12 @@
|
|||||||
"unlocked": "Sbloccato",
|
"unlocked": "Sbloccato",
|
||||||
"random": "Casuale"
|
"random": "Casuale"
|
||||||
},
|
},
|
||||||
|
"settings": {
|
||||||
|
"wiki": {
|
||||||
|
"title": "Wiki",
|
||||||
|
"link": "https://gitlab.com/teaml5r/l5r5e/-/wikis/home"
|
||||||
|
}
|
||||||
|
},
|
||||||
"logo": {
|
"logo": {
|
||||||
"title": "Bisogno di aiuto?",
|
"title": "Bisogno di aiuto?",
|
||||||
"src": "systems/l5r5e/assets/l5r-logo.webp",
|
"src": "systems/l5r5e/assets/l5r-logo.webp",
|
||||||
|
|||||||
@@ -531,7 +531,7 @@ export class CharacterGenerator {
|
|||||||
/**
|
/**
|
||||||
* Techs config
|
* Techs config
|
||||||
*
|
*
|
||||||
* exemple: {
|
* example: {
|
||||||
* probability: .7,
|
* probability: .7,
|
||||||
* skill: {
|
* skill: {
|
||||||
* grp_name: "scholar",
|
* grp_name: "scholar",
|
||||||
|
|||||||
@@ -191,7 +191,7 @@ export class DicePickerDialog extends FormApplication {
|
|||||||
*/
|
*/
|
||||||
set actor(actor) {
|
set actor(actor) {
|
||||||
if (!actor || !(actor instanceof Actor) || !actor.isOwner) {
|
if (!actor || !(actor instanceof Actor) || !actor.isOwner) {
|
||||||
console.log("L5R5E | DP | Actor rejected", actor);
|
console.info("L5R5E | DP | Actor rejected", actor);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
this._actor = actor;
|
this._actor = actor;
|
||||||
@@ -702,7 +702,7 @@ export class DicePickerDialog extends FormApplication {
|
|||||||
/**
|
/**
|
||||||
* Parse the difficulty from technique
|
* Parse the difficulty from technique
|
||||||
*
|
*
|
||||||
* Exemples :
|
* Examples :
|
||||||
* "@S:vigilance"
|
* "@S:vigilance"
|
||||||
* "@T:vigilance"
|
* "@T:vigilance"
|
||||||
* "@T:vigilance|min"
|
* "@T:vigilance|min"
|
||||||
|
|||||||
@@ -65,7 +65,10 @@ export default class HooksL5r5e {
|
|||||||
case "settings":
|
case "settings":
|
||||||
// Add Changelog link
|
// Add Changelog link
|
||||||
html.find("#game-details .system").append(
|
html.find("#game-details .system").append(
|
||||||
`<p><a href="${game.system.changelog}" target="_blank">Changelog</a></p>`
|
`<p><a href="${game.system.changelog}" target="_blank">Changelog</a>` +
|
||||||
|
` <a href="${game.i18n.localize(
|
||||||
|
"l5r5e.settings.wiki.link"
|
||||||
|
)}" target="_blank">${game.i18n.localize("l5r5e.settings.wiki.title")}</a></p>`
|
||||||
);
|
);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
# DicePicker (DP)
|
# DicePicker (DP)
|
||||||
The DicePicker is the entry point to any L5R roll (but chat command).
|
The DicePicker is the entry point to any L5R roll (but chat command).
|
||||||
|
|
||||||
## Usage exemple
|
## Usage example
|
||||||
```js
|
```js
|
||||||
new game.l5r5e.DicePickerDialog({
|
new game.l5r5e.DicePickerDialog({
|
||||||
skillId: 'aesthetics',
|
skillId: 'aesthetics',
|
||||||
@@ -11,19 +11,19 @@ new game.l5r5e.DicePickerDialog({
|
|||||||
```
|
```
|
||||||
|
|
||||||
## Constructor Options
|
## Constructor Options
|
||||||
| Property | Type | Notes / Exemples |
|
| Property | Type | Notes / Examples |
|
||||||
|------------------|----------|-------------------------------------------------------------------------------------------------------------------------------|
|
|------------------|----------|------------------------------------------------------------------------------------------------------------------------------------------|
|
||||||
| actor | Actor | Any `Actor` object instance.<br>ex : `game.user.character`, `canvas.tokens.controlled[0].actor` |
|
| actor | Actor | Any `Actor` object instance.<br>ex : `game.user.character`, `canvas.tokens.controlled[0].actor` |
|
||||||
| actorId | string | This is the `id` not the `uuid` of an actor.<br>ex : "AbYgKrNwWeAxa9jT" |
|
| actorId | string | This is the `id` not the `uuid` of an actor.<br>ex : "AbYgKrNwWeAxa9jT" |
|
||||||
| actorName | string | Careful this is case sensitive.<br>ex : "Isawa Aki" |
|
| actorName | string | Careful this is case sensitive.<br>ex : "Isawa Aki" |
|
||||||
| difficulty | number | `1` to `9` |
|
| difficulty | number | `1` to `9` |
|
||||||
| difficultyHidden | boolean | If `true`, hide the difficulty and lock the view for the player. |
|
| difficultyHidden | boolean | If `true`, hide the difficulty and lock the view for the player. |
|
||||||
| isInitiativeRoll | boolean | `true` if this is an initiative roll |
|
| 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()` |
|
| itemUuid | string | The `uuid` of technique or weapon used for this roll. Can be anything retrieved by `fromUuid()` or `fromUuidSync()`<br>_Added in v1.9.0_ |
|
||||||
| ringId | string | If not provided, take the current stance of the actor if any.<br>ex : "fire", "water" |
|
| ringId | string | If not provided, take the current stance of the actor if any.<br>ex : "fire", "water" |
|
||||||
| skillId | string | Skill `id`<br>ex : "design", "aesthetics", "courtesy" |
|
| skillId | string | Skill `id`<br>ex : "design", "aesthetics", "courtesy" |
|
||||||
| skillCatId | string | Skill category `id`<br>ex : "artisan", "scholar" |
|
| skillCatId | string | Skill category `id`<br>ex : "artisan", "scholar" |
|
||||||
| skillsList | string[] | `skillId`/`skillCatId` list coma separated.<br>Allow the player to select the skill used in a select<br>ex : "artisan,design" |
|
| skillsList | string[] | `skillId`/`skillCatId` list coma separated.<br>Allow the player to select the skill used in a select<br>ex : "artisan,design" |
|
||||||
|
|
||||||
|
|
||||||
All these properties are optional.
|
All these properties are optional.
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ game.l5r5e.sockets.refreshAppId(applicationId);
|
|||||||
|
|
||||||
|
|
||||||
## updateMessageIdAndRefresh
|
## 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 :
|
Usage :
|
||||||
```js
|
```js
|
||||||
@@ -31,18 +31,20 @@ game.l5r5e.sockets.refreshAppId(applicationId, messageId);
|
|||||||
|
|
||||||
|
|
||||||
## openDicePicker
|
## 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 :
|
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.) |
|
| 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.) |
|
| 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) |
|
| dpOptions | Object | Any [DicePickerDialog.options](dicepicker.md#constructor-options) |
|
||||||
|
|
||||||
|
|
||||||
### Exemples
|
### Examples
|
||||||
|
|
||||||
#### Fitness skill roll for the all combat targets
|
#### Fitness skill roll for the all combat targets
|
||||||
```js
|
```js
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ You are free to contribute and propose corrections, modifications after fork. Tr
|
|||||||
2. Use `npm ci` to install the dependence.
|
2. Use `npm ci` to install the dependence.
|
||||||
3. Create a link from `<repo>/system` to your foundry system data (by default `%localappdata%/FoundryVTT/data/systems/l5r5e`).
|
3. Create a link from `<repo>/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
|
```bash
|
||||||
mklink /D /J "%localappdata%/FoundryVTT/data/systems/l5r5e" "D:/Projects/FVTT/l5r5e/system"
|
mklink /D /J "%localappdata%/FoundryVTT/data/systems/l5r5e" "D:/Projects/FVTT/l5r5e/system"
|
||||||
```
|
```
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
Never directly edit the system compendiums.
|
Never directly edit the system compendiums.
|
||||||
They will be erased anytime you update the system.
|
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.
|
This way, the system compendiums will be overridden by this module.
|
||||||
|
|
||||||
You will need to manually download the following module, and edit json files.
|
You will need to manually download the following module, and edit json files.
|
||||||
|
|||||||
@@ -6,14 +6,14 @@ These fields have special constraints, you will find theirs rules below.
|
|||||||
## Difficulty
|
## Difficulty
|
||||||
Can be :
|
Can be :
|
||||||
- A integer number : `1` to `9`.
|
- 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
|
- `@` fixed, trigger the parser
|
||||||
- `T` or `S` : `T`arget or `S`elf, define the actor to get the value.
|
- `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).
|
- `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.
|
- `|` 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`).
|
- `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`.
|
- `(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`.
|
- `@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|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.
|
- `@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 `Skill` id : `melee`, `fitness`...
|
||||||
- Any `SkillCategory` id : `scholar`, `martial`...
|
- Any `SkillCategory` id : `scholar`, `martial`...
|
||||||
- Or both in list, coma separated.
|
- Or both in list, coma separated.
|
||||||
- Exemples :
|
- Examples :
|
||||||
- `theology`
|
- `theology`
|
||||||
- `melee,ranged,unarmed`
|
- `melee,ranged,unarmed`
|
||||||
- `martial,fitness,performance`
|
- `martial,fitness,performance`
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
# Updating - Bests practices
|
# Updating - Bests practices
|
||||||
|
|
||||||
- Anytime you update to a major version make a backup of foundry's data directory (default : `%localappdata%/FoundryVTT/data/`).
|
- 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).<br>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).<br>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).<br>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).<br>If you need some timing windows: let at least 2 weeks to 1 month.
|
||||||
|
|||||||
Reference in New Issue
Block a user