104 lines
2.6 KiB
Markdown
104 lines
2.6 KiB
Markdown
# Sockets API
|
|
|
|
Here is the list of Socket's methods, most of them are designed to be use internally by the system, but you can find some useful ones for your projects.
|
|
|
|
## deleteChatMessage
|
|
|
|
Delete ChatMessage by his `id`, the GM permission is required, so a GM needs to be connected for this to work. Used in RnK.
|
|
|
|
Usage :
|
|
|
|
```js
|
|
game.l5r5e.sockets.deleteChatMessage(messageId);
|
|
```
|
|
|
|
## refreshAppId
|
|
|
|
Refresh an application windows by his `id` (not `appId`). 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 re-render the application to force the refresh. Used in RnK.
|
|
|
|
Usage :
|
|
|
|
```js
|
|
game.l5r5e.sockets.refreshAppId(applicationId, messageId);
|
|
```
|
|
|
|
## openDicePicker
|
|
|
|
_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 / 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) |
|
|
|
|
### Examples
|
|
|
|
#### 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,
|
|
}
|
|
});
|
|
```
|