Executions une seule fois

Fix sur les actions à faire une seule fois en cas de plusieurs GM

Quand plusieurs GM ou assistant GM sont connectés, ils exécutaient
tous certaines actions.

Conséquence: ajout de casetmr en doublon, détermination de 2 chiffres
astraux, modification d'initiative de premier tour en double
This commit is contained in:
Vincent Vandemeulebrouck
2021-11-26 00:45:21 +01:00
parent a1972073d5
commit 4f91fab3d5
7 changed files with 40 additions and 30 deletions

View File

@ -126,12 +126,24 @@ export class Misc {
if (ownerId && game.user.id == ownerId) {
return ownerId;
}
return (game.user.isGM ? game.user.id : game.users.entities.find(u => u.isGM && u.active)?.id) ?? game.user.id;
}
static isElectedUser() {
return game.user.id == Misc.connectedGMOrUser();
return Misc.firstConnectedGM()?.id ?? game.user.id;
}
static getActiveUser(id){
return game.users.entities.find(u => u.id == id && u.active);
}
static firstConnectedGM() {
return game.users.entities.sort(Misc.ascending(u => u.id)).find(u => u.isGM && u.active);
}
/**
* @returns true pour un seul utilisateur: le premier GM connecté par ordre d'id
*/
static isUniqueConnectedGM() {
return game.user.id == Misc.firstConnectedGM()?.id;
}
/* -------------------------------------------- */
static findPlayer(name) {
return Misc.findFirstLike(name, game.users, { description: 'joueur' });