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

@ -63,7 +63,7 @@ export class RdDActor extends Actor {
}
static remoteActorCall(data) {
if (Misc.isElectedUser()) {
if (Misc.isUniqueConnectedGM()) {
RdDActor.onRemoteActorCall(data);
}
else {
@ -72,7 +72,7 @@ export class RdDActor extends Actor {
}
static onRemoteActorCall(data) {
if (Misc.isElectedUser()) { // Seul le joueur choisi effectue l'appel
if (Misc.isUniqueConnectedGM()) { // Seul le joueur choisi effectue l'appel
const actor = game.actors.get(data?.actorId);
if (!actor) {
console.info("RdDActor.onRemoteActorCall: Pas d'Actor disponible ", data);
@ -3685,7 +3685,7 @@ export class RdDActor extends Actor {
ui.notifications.info("Inutile de se vendre à soi-même");
return;
}
if (!Misc.isElectedUser()) {
if (!Misc.isUniqueConnectedGM()) {
RdDActor.remoteActorCall({actorId: achat.vendeurId ?? achat.acheteurId, method: 'achatVente', args: [achat]});
return;
}
@ -4172,7 +4172,7 @@ export class RdDActor extends Actor {
/* -------------------------------------------- */
async onCreateOwnedDraconique(item, options, id) {
if (Misc.isElectedUser()) {
if (Misc.isUniqueConnectedGM()) {
let draconique = Draconique.all().find(it => it.match(item));
if (draconique) {
draconique.onActorCreateOwned(this, item)
@ -4183,7 +4183,7 @@ export class RdDActor extends Actor {
/* -------------------------------------------- */
async onDeleteOwnedDraconique(item, options, id) {
if (Misc.isElectedUser()) {
if (Misc.isUniqueConnectedGM()) {
let draconique = Draconique.all().find(it => it.match(item));
if (draconique) {
draconique.onActorDeleteOwned(this, item)
@ -4193,7 +4193,7 @@ export class RdDActor extends Actor {
/* -------------------------------------------- */
async onDeleteOwnedCaseTmr(item, options, id) {
if (Misc.isElectedUser()) {
if (Misc.isUniqueConnectedGM()) {
let draconique = Draconique.all().find(it => it.isCase(item));
if (draconique) {
draconique.onActorDeleteCaseTmr(this, Misc.data(item))