added pre version of a wiki
This commit is contained in:
37
wiki/dev/dicepicker.md
Normal file
37
wiki/dev/dicepicker.md
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
# DicePicker (DP)
|
||||||
|
The DicePicker is the entry point to any L5R roll (but chat command).
|
||||||
|
|
||||||
|
## Usage exemple
|
||||||
|
```js
|
||||||
|
new game.l5r5e.DicePickerDialog({
|
||||||
|
skillId: 'aesthetics',
|
||||||
|
ringId: 'water',
|
||||||
|
actor: game.user.character
|
||||||
|
}).render(true);
|
||||||
|
```
|
||||||
|
|
||||||
|
## Constructor Options
|
||||||
|
| Property | Type | Notes / Exemples |
|
||||||
|
|------------------|----------|-------------------------------------------------------------------------------------------------------------------------------|
|
||||||
|
| 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" |
|
||||||
|
| actorName | string | Careful this is case sensitive.<br>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.<br>ex : "fire", "water" |
|
||||||
|
| skillId | string | Skill `id`<br>ex : "design", "aesthetics", "courtesy" |
|
||||||
|
| 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" |
|
||||||
|
|
||||||
|
|
||||||
|
All these properties are optional.
|
||||||
|
|
||||||
|
For `actor*` properties, the resolution is in this order :
|
||||||
|
1. `option.actor`
|
||||||
|
2. `option.actorId`
|
||||||
|
3. `option.actorName`
|
||||||
|
4. Try to find the first controlled token by the player (`canvas.tokens.controlled[0]?.actor`)
|
||||||
|
5. Use the assigned character if any (`game.user.character`)
|
||||||
|
6. If nothing found, then no actor are set
|
||||||
9
wiki/dev/rnk.md
Normal file
9
wiki/dev/rnk.md
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
# Roll n Keep (RnK)
|
||||||
|
The RnK use `ChatMessage` to retrieve the roll, alter it, add the new message and delete the old.
|
||||||
|
|
||||||
|
> If you have any idea how to modify directly the ChatMessage and update it, let me know.
|
||||||
|
|
||||||
|
Usage :
|
||||||
|
```js
|
||||||
|
new RollnKeepDialog(messageId).render(true);
|
||||||
|
```
|
||||||
34
wiki/dev/roll.md
Normal file
34
wiki/dev/roll.md
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
# Roll
|
||||||
|
The roll use the `RollL5r5e` class, who store a lot of additional variables.
|
||||||
|
|
||||||
|
Here is a view of `<roll>.l5r5e` properties :
|
||||||
|
```js
|
||||||
|
actor: null, // actor instance
|
||||||
|
dicesTypes: {
|
||||||
|
std: false, // true if have a standard roll (ex : 1d6)
|
||||||
|
l5r: false, // true if have a l5r roll (we need the RnK)
|
||||||
|
},
|
||||||
|
difficulty: 2,
|
||||||
|
difficultyHidden: false,
|
||||||
|
history: null, // Stored data of the RnK, can be big
|
||||||
|
initialFormula: null, // The initial formula use in DP
|
||||||
|
itemUuid: null, // technique or weapon uuid
|
||||||
|
isInitiativeRoll: false,
|
||||||
|
keepLimit: null, // Max number of dice to keep
|
||||||
|
rnkEnded: false, // false if the player can modify the roll.
|
||||||
|
skillAssistance: 0, // Number of skill assistance, needed to know the number of dice keept
|
||||||
|
skillCatId: "", // Skill category id
|
||||||
|
skillId: "", // Skill id
|
||||||
|
stance: "", // Ring id (fire, void...)
|
||||||
|
strifeApplied: 0, // how many strife point the linked actor have already taken
|
||||||
|
summary: {
|
||||||
|
totalSuccess: 0, // = success + explosive
|
||||||
|
totalBonus: 0, // = totalSuccess - difficulty
|
||||||
|
success: 0,
|
||||||
|
explosive: 0,
|
||||||
|
opportunity: 0,
|
||||||
|
strife: 0,
|
||||||
|
},
|
||||||
|
targetInfos: null, // "img" and "name" of the target if any
|
||||||
|
voidPointUsed: false, // if a void point as been used for this roll
|
||||||
|
```
|
||||||
94
wiki/dev/sockets.md
Normal file
94
wiki/dev/sockets.md
Normal file
@@ -0,0 +1,94 @@
|
|||||||
|
# Sockets API
|
||||||
|
Here is the list of Socket's methods, most of them is design to be use internally by the system, but you can find some useful for your projects.
|
||||||
|
|
||||||
|
|
||||||
|
## deleteChatMessage
|
||||||
|
Delete ChatMessage by his `id`, the GM permission is required, so a GM need to be connected for this to work. Used in RnK.
|
||||||
|
|
||||||
|
Usage :
|
||||||
|
```js
|
||||||
|
game.l5r5e.sockets.deleteChatMessage(messageId);
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
## refreshAppId
|
||||||
|
Refresh a application windows by it's `htmlId` (not `windowsId`). Used in RnK.
|
||||||
|
<br>Ex : `l5r5e-twenty-questions-dialog-kZHczAFghMNYFRWe`, not `65`.
|
||||||
|
|
||||||
|
Usage :
|
||||||
|
```js
|
||||||
|
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.
|
||||||
|
|
||||||
|
Usage :
|
||||||
|
```js
|
||||||
|
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.
|
||||||
|
|
||||||
|
Arguments :
|
||||||
|
|
||||||
|
| Property | Type | Notes / Exemples |
|
||||||
|
|-----------|---------|----------------------------------------------------------------------------|
|
||||||
|
| 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
|
||||||
|
|
||||||
|
#### Fitness skill roll for the all combat targets
|
||||||
|
```js
|
||||||
|
game.l5r5e.sockets.openDicePicker({
|
||||||
|
actors: Array.from(game.user.targets).map(t => t.document.actor),
|
||||||
|
dpOptions: {
|
||||||
|
skillId: 'fitness',
|
||||||
|
difficulty: 3,
|
||||||
|
}
|
||||||
|
});
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Initiative roll (skirmish) for all player's character who are in combat tracker
|
||||||
|
```js
|
||||||
|
game.l5r5e.sockets.openDicePicker({
|
||||||
|
actors: game.combat.combatants.filter(c => c.hasPlayerOwner && !c.isDefeated && !c.initiative).map(c => c.actor),
|
||||||
|
dpOptions: {
|
||||||
|
skillId: 'tactics',
|
||||||
|
difficulty: 1,
|
||||||
|
isInitiativeRoll: true,
|
||||||
|
}
|
||||||
|
});
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Melee skill roll with "fire" ring, pre-selected for all the selected tokens
|
||||||
|
```js
|
||||||
|
game.l5r5e.sockets.openDicePicker({
|
||||||
|
actors: canvas.tokens.controlled.map(t => t.actor),
|
||||||
|
dpOptions: {
|
||||||
|
ringId: 'fire',
|
||||||
|
skillId: 'melee',
|
||||||
|
difficulty: 2,
|
||||||
|
}
|
||||||
|
});
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Skill roll with skill list for all active players (but GM)
|
||||||
|
```js
|
||||||
|
game.l5r5e.sockets.openDicePicker({
|
||||||
|
users: game.users.players.filter(u => u.active && u.hasPlayerOwner),
|
||||||
|
dpOptions: {
|
||||||
|
ringId: 'water',
|
||||||
|
skillId: 'unarmed',
|
||||||
|
skillsList: 'melee,ranged,unarmed',
|
||||||
|
difficulty: 3,
|
||||||
|
difficultyHidden: true,
|
||||||
|
}
|
||||||
|
});
|
||||||
|
```
|
||||||
21
wiki/dev/system-helping.md
Normal file
21
wiki/dev/system-helping.md
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
# System helping (Contribute)
|
||||||
|
## Rules
|
||||||
|
You are free to contribute and propose corrections, modifications after fork. Try to respect theses rules:
|
||||||
|
- Make sure you are up-to-date with the referent branch (most of the time the `dev` branch).
|
||||||
|
- Clear and precise commit messages allow a quick review of the code.
|
||||||
|
- If possible, limit yourself to one Feature per Merge request so as not to block the process.
|
||||||
|
|
||||||
|
|
||||||
|
## Dev install
|
||||||
|
1. Clone the repository.
|
||||||
|
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`).
|
||||||
|
|
||||||
|
Windows exemple (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"
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
## Compiling SCSS
|
||||||
|
1. Run `npm watch` to watch and compile the `scss` files.
|
||||||
17
wiki/index.md
Normal file
17
wiki/index.md
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
# L5R5e System Wiki
|
||||||
|
|
||||||
|
## For users
|
||||||
|
- [Installation and modules](users/install.md)
|
||||||
|
- [Updating - Bests practices](users/updating.md)
|
||||||
|
- [Basic usage and filling sheets](users/basic-usage.md)
|
||||||
|
- [Dice Rolling](users/dice.md)
|
||||||
|
- [Symbols replacement list](users/symbols.md)
|
||||||
|
- [Advanced : Techniques skill and difficulty syntaxe](users/techniques-syntaxe.md)
|
||||||
|
- [Advanced : Custom Compendiums](users/custom-compendiums.md)
|
||||||
|
|
||||||
|
## For developers
|
||||||
|
- [System helping (Contribute)](dev/system-helping.md)
|
||||||
|
- [Sockets API](dev/sockets.md)
|
||||||
|
- [DicePicker (DP)](dev/dicepicker.md)
|
||||||
|
- [Roll n Keep (RnK)](dev/rnk.md)
|
||||||
|
- [Roll](dev/roll.md)
|
||||||
7
wiki/users/basic-usage.md
Normal file
7
wiki/users/basic-usage.md
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
# Basic usage and filling sheets
|
||||||
|
Mostly all the interactions are done with drag-n-drop.
|
||||||
|
|
||||||
|
## Creating a Character (PC)
|
||||||
|
Go in actor tab, and create a new `character`.
|
||||||
|
|
||||||
|
> TODO
|
||||||
10
wiki/users/custom-compendiums.md
Normal file
10
wiki/users/custom-compendiums.md
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
# Custom Compendiums
|
||||||
|
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.
|
||||||
|
This way, the system compendiums will be overridden by this module.
|
||||||
|
|
||||||
|
You will need to manually download the following module, and edit json files.
|
||||||
|
Please follow the instructions on :
|
||||||
|
> https://gitlab.com/teaml5r/l5r5e-custom-compendiums
|
||||||
3
wiki/users/dice.md
Normal file
3
wiki/users/dice.md
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
# Dice Rolling
|
||||||
|
|
||||||
|
> TODO
|
||||||
BIN
wiki/users/img/symbols.png
Normal file
BIN
wiki/users/img/symbols.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 82 KiB |
52
wiki/users/install.md
Normal file
52
wiki/users/install.md
Normal file
@@ -0,0 +1,52 @@
|
|||||||
|
# Installation
|
||||||
|
|
||||||
|
## System Installation
|
||||||
|
### With Search (recommended)
|
||||||
|
1. Open FoundryVTT.
|
||||||
|
2. In the `Game Systems` tab, clic `Install system`.
|
||||||
|
3. Search `L5R`, on the line `Legend of the Five Rings (5th Edition)`, clic `Install`.
|
||||||
|
|
||||||
|
### With the manifest
|
||||||
|
1. Open FoundryVTT.
|
||||||
|
2. In the `Game Systems` tab, clic `Install system`.
|
||||||
|
3. Copy this link and use it in the `Manifest URL`, then clic `Install`.
|
||||||
|
> https://gitlab.com/teaml5r/l5r5e/-/raw/master/system/system.json
|
||||||
|
|
||||||
|
|
||||||
|
## Modules
|
||||||
|
L5R do not required a lot of module, i highly encourage you to start with a small number of it.
|
||||||
|
|
||||||
|
Some modules require others library/module, you need to install them to allow the primary module work.
|
||||||
|
Nothing fancy, just accept when FoundryVTT prompt you to download or activate the dependencies.
|
||||||
|
|
||||||
|
|
||||||
|
### Some recommended modules
|
||||||
|
| Module name | Notes |
|
||||||
|
|------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
||||||
|
| [Babele](https://foundryvtt.com/packages/babele) | Required for non english compendium translation |
|
||||||
|
| [Permission Viewer](https://foundryvtt.com/packages/permission_viewer) | Lets you see instantly who has permissions to see what item |
|
||||||
|
| [Dice So Nice!](https://foundryvtt.com/packages/dice-so-nice) | Add 3D dices that bounce on the screen when you roll dice |
|
||||||
|
| [Small Legend of the 5 Rings Tools](https://foundryvtt.com/packages/l5r-dragruler) | Series of tools for L5R |
|
||||||
|
| [Search Anywhere](https://foundryvtt.com/packages/searchanywhere) | Don't spent too much time searching the right technique |
|
||||||
|
| [FXMaster](https://foundryvtt.com/packages/fxmaster) | More effects |
|
||||||
|
| [Scene Clicker](https://foundryvtt.com/packages/scene-clicker) | Clicking on a Scene or a Scene Link will now "view" the Scene instead of rendering the Scene Config Sheet |
|
||||||
|
| [Universal Battlemap Importer](https://foundryvtt.com/packages/dd-import) | Allows Importing [DungeonDraft](https://dungeondraft.net/), [DungeonFog](https://www.dungeonfog.com/) or [Arkenforge](https://arkenforge.com/) export files into FoundryVTT |
|
||||||
|
| [Compendium Folders](https://foundryvtt.com/packages/compendium-folders) | Add folders to compendiums |
|
||||||
|
| [Chat Images](https://foundryvtt.com/packages/chat-images) | Lets you drag images into the chat, one of the quicker ways to do 'he looks like this' |
|
||||||
|
| [Combat Utility Belt](https://foundryvtt.com/packages/combat-utility-belt) | A totally over-engineered but helpful app that will, among other things, let you set up custom statuses |
|
||||||
|
| [Timer](https://foundryvtt.com/packages/timer) | A simple timer, useful to stress a little your players |
|
||||||
|
|
||||||
|
|
||||||
|
### Map module
|
||||||
|
The official 5e Rokugan map is publish under the module section in FoundryVTT.
|
||||||
|
- [L5R5e - Rokugan map for Legend of the Five Rings (5th edition)](https://foundryvtt.com/packages/l5r5e-map)
|
||||||
|
|
||||||
|
|
||||||
|
## Worlds
|
||||||
|
We have published the official free content in form of worlds ready to play :
|
||||||
|
- [L5R5E - Cresting Waves](https://foundryvtt.com/packages/l5r5e-world-waves)
|
||||||
|
- [L5R5E - In the Palace of the Emerald Champion](https://foundryvtt.com/packages/l5r5e-world-palace)
|
||||||
|
- [L5R5E - The Highwayman](https://foundryvtt.com/packages/l5r5e-world-highwayman)
|
||||||
|
- [L5R5E - The Scroll or the Blade](https://foundryvtt.com/packages/l5r5e-world-scroll)
|
||||||
|
- [L5R5E - The Knotted Tails](https://foundryvtt.com/packages/l5r5e-world-tails)
|
||||||
|
- [L5R5E - Wedding at Kyotei castle](https://foundryvtt.com/packages/l5r_mariage)
|
||||||
13
wiki/users/symbols.md
Normal file
13
wiki/users/symbols.md
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
# Symbols replacement list
|
||||||
|
In sheets or journals, you can use these tags to use symbols :
|
||||||
|
```
|
||||||
|
Dice symbols : (op) (su) (ex) (st) (skill) (ring)
|
||||||
|
Rings : (earth) (water) (fire) (air) (void)
|
||||||
|
Tech: (kiho) (maho) (ninjutsu) (ritual) (shuji) (invocation) (kata) (prereq) (inversion) (mantra)
|
||||||
|
Clans: (imperial) (crab) (crane) (dragon) (lion) (mantis) (phoenix) (scorpion) (tortoise) (unicorn) (ronin)
|
||||||
|
Others : (courtier) (bushi) (shugenja)
|
||||||
|
```
|
||||||
|
|
||||||
|
Result :
|
||||||
|
|
||||||
|

|
||||||
30
wiki/users/techniques-syntaxe.md
Normal file
30
wiki/users/techniques-syntaxe.md
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
# Techniques skill and difficulty syntaxe
|
||||||
|
On the Technique sheets, you will find two fields `Difficulty` and `Skill`.
|
||||||
|
|
||||||
|
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`)" :
|
||||||
|
- `@` 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 :
|
||||||
|
- `@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.
|
||||||
|
|
||||||
|
|
||||||
|
## Skill
|
||||||
|
Can be :
|
||||||
|
- Any `Skill` id : `melee`, `fitness`...
|
||||||
|
- Any `SkillCategory` id : `scholar`, `martial`...
|
||||||
|
- Or both in list, coma separated.
|
||||||
|
- Exemples :
|
||||||
|
- `theology`
|
||||||
|
- `melee,ranged,unarmed`
|
||||||
|
- `martial,fitness,performance`
|
||||||
4
wiki/users/updating.md
Normal file
4
wiki/users/updating.md
Normal file
@@ -0,0 +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).<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.
|
||||||
Reference in New Issue
Block a user