blueversusraid 0.0.8 → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAA;AAC/C,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAE3C,qBAAa,IAAI;IACN,EAAE,EAAE,MAAM,CAAA;IAEV,KAAK,EAAE,IAAI,EAAE,CAAK;IAClB,KAAK,EAAE,IAAI,EAAE,CAgBnB;IAEM,KAAK,EAAE,MAAM,CAAI;IACxB,OAAO,CAAC,SAAS,CAAY;IAEtB,MAAM,EAAE,KAAK,EAAE,EAAE,CAAK;IACtB,cAAc,EAAE,KAAK,EAAE,CAAK;IAE5B,OAAO,EAAE,MAAM,EAAE,CAAK;IACtB,OAAO,EAAE,OAAO,CAAQ;IACxB,MAAM,EAAE,IAAI,GAAG,MAAM,GAAG,IAAI,CAAO;gBAE9B,EAAE,CAAC,EAAE,MAAM;IAIV,OAAO;IAiEP,SAAS;IAST,KAAK,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,KAAK,IAAI;IAStD,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK;IAaxD,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;CAGzC;AAED,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAA;AACvB,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C,qBAAa,IAAI;IACT,EAAE,EAAE,MAAM,CAAC;IAEX,KAAK,EAAE,IAAI,EAAE,CAAM;IACnB,KAAK,EAAE,IAAI,EAAE,CAgBlB;IAEK,KAAK,EAAE,MAAM,CAAK;IACzB,OAAO,CAAC,SAAS,CAAa;IAEvB,MAAM,EAAE,KAAK,EAAE,EAAE,CAAM;IACvB,cAAc,EAAE,KAAK,EAAE,CAAM;IAE7B,OAAO,EAAE,MAAM,EAAE,CAAM;IACvB,OAAO,EAAE,OAAO,CAAS;IACzB,MAAM,EAAE,IAAI,GAAG,MAAM,GAAG,IAAI,CAAQ;gBAE/B,EAAE,CAAC,EAAE,MAAM;IAIV,OAAO;IAmEP,SAAS;IAaT,KAAK,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,KAAK,IAAI;IAStD,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK;IAaxD,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;CAGtC;AAED,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;AACxB,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC"}
package/lib/index.js CHANGED
@@ -5,20 +5,20 @@ export class Game {
5
5
  roles = [];
6
6
  teams = [
7
7
  {
8
- name: 'Rouges',
9
- description: 'Vous êtes les méchants.',
10
- solo: false
8
+ name: "Rouges",
9
+ description: "Vous êtes les méchants.",
10
+ solo: false,
11
11
  },
12
12
  {
13
- name: 'Bleus',
14
- description: 'Vous êtes les gentils.',
15
- solo: false
13
+ name: "Bleus",
14
+ description: "Vous êtes les gentils.",
15
+ solo: false,
16
16
  },
17
17
  {
18
- name: 'Solitaires',
19
- description: 'Vous jouez seul contre tous.',
20
- solo: true
21
- }
18
+ name: "Solitaires",
19
+ description: "Vous jouez seul contre tous.",
20
+ solo: true,
21
+ },
22
22
  ];
23
23
  cycle = 0;
24
24
  iteration = 0;
@@ -54,9 +54,9 @@ export class Game {
54
54
  }
55
55
  this.current_phases = executed;
56
56
  for (const turn of executed) {
57
- await Promise.all(turn.roles.map(async (role) => {
58
- for (const player of this.players.filter(p => p.role?.name === role.name)) {
59
- let callback = await player.call(turn.name);
57
+ await Promise.all(this.roles.map(async (role) => {
58
+ for (const player of this.players.filter((p) => p.role?.name === role.name)) {
59
+ let callback = await player.call(turn);
60
60
  let isOnTime = true;
61
61
  setTimeout(() => {
62
62
  player.endCall();
@@ -75,22 +75,24 @@ export class Game {
75
75
  }
76
76
  if (_teams.size === 1) {
77
77
  const winner = _teams.values().next().value;
78
- if ((!winner.solo) || this.players.length === 1) {
78
+ if (!winner.solo || this.players.length === 1) {
79
79
  await this.win(winner);
80
80
  }
81
81
  }
82
82
  this.iteration += 1;
83
83
  }
84
84
  async startLoop() {
85
- let sleeps = this.phases.map(phase => Math.max(...phase.map(turn => turn.duration)));
85
+ let sleeps = this.phases.map((phase) => Math.max(...phase.map((turn) => turn.duration)));
86
86
  while (this.players.length > 0 && !this.winner) {
87
87
  await this.iterate();
88
- await new Promise(_ => { setTimeout(_, sleeps[this.iteration]); });
88
+ await new Promise((_) => {
89
+ setTimeout(_, sleeps[this.iteration]);
90
+ });
89
91
  }
90
92
  }
91
93
  async onEnd(callback) {
92
94
  while (!this.winner) {
93
- await new Promise(_ => setTimeout(_, 50));
95
+ await new Promise((_) => setTimeout(_, 50));
94
96
  }
95
97
  this.running = false;
96
98
  callback(this.winner);
@@ -99,10 +101,10 @@ export class Game {
99
101
  await target.die(author, phase);
100
102
  for (const player of this.players) {
101
103
  await player.triggerEvent({
102
- type: 'death',
104
+ type: "death",
103
105
  author,
104
106
  target,
105
- phase
107
+ phase,
106
108
  });
107
109
  }
108
110
  }
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAQ,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C,MAAM,OAAO,IAAI;IACT,EAAE,CAAS;IAEX,KAAK,GAAW,EAAE,CAAC;IACnB,KAAK,GAAW;QACtB;YACC,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,yBAAyB;YACtC,IAAI,EAAE,KAAK;SACX;QACD;YACC,IAAI,EAAE,OAAO;YACb,WAAW,EAAE,wBAAwB;YACrC,IAAI,EAAE,KAAK;SACX;QACD;YACC,IAAI,EAAE,YAAY;YAClB,WAAW,EAAE,8BAA8B;YAC3C,IAAI,EAAE,IAAI;SACV;KACD,CAAC;IAEK,KAAK,GAAW,CAAC,CAAC;IACjB,SAAS,GAAW,CAAC,CAAC;IAEvB,MAAM,GAAc,EAAE,CAAC;IACvB,cAAc,GAAY,EAAE,CAAC;IAE7B,OAAO,GAAa,EAAE,CAAC;IACvB,OAAO,GAAY,KAAK,CAAC;IACzB,MAAM,GAAyB,IAAI,CAAC;IAE3C,YAAY,EAAW;QACtB,IAAI,CAAC,EAAE,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;IAC/B,CAAC;IAEM,KAAK,CAAC,OAAO;QACnB,IAAI,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7C,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC;YAChB,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;QACpB,CAAC;QAED,MAAM,QAAQ,GAAY,EAAE,CAAC;QAE7B,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAE,EAAE,CAAC;YACjD,IAAI,IAAI,CAAC,KAAK,YAAY,KAAK,EAAE,CAAC;gBACjC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;oBAAE,SAAS;YAChD,CAAC;iBAAM,CAAC;gBACP,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;gBAExC,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,KAAK,KAAK,CAAC;gBAC/C,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;gBACvC,MAAM,QAAQ,GAAG,GAAG,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;gBAEhD,IAAI,UAAU,IAAI,WAAW,IAAI,QAAQ,EAAE,CAAC;oBAC3C,SAAS;gBACV,CAAC;YACF,CAAC;YAED,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrB,CAAC;QAED,IAAI,CAAC,cAAc,GAAG,QAAQ,CAAC;QAE/B,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;YAC7B,MAAM,OAAO,CAAC,GAAG,CAChB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;gBAC7B,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CACvC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC,IAAI,CACjC,EAAE,CAAC;oBACH,IAAI,QAAQ,GAAe,MAAM,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACnD,IAAI,QAAQ,GAAG,IAAI,CAAC;oBAEpB,UAAU,CAAC,GAAG,EAAE;wBACf,MAAM,CAAC,OAAO,EAAE,CAAC;wBACjB,QAAQ,GAAG,KAAK,CAAC;oBAClB,CAAC,EAAE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;oBAEzB,IAAI,QAAQ,EAAE,CAAC;wBACd,QAAQ,EAAE,CAAC;oBACZ,CAAC;gBACF,CAAC;YACF,CAAC,CAAC,CACF,CAAC;QACH,CAAC;QAED,IAAI,MAAM,GAAG,IAAI,GAAG,EAAQ,CAAC;QAE7B,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACnC,IAAI,MAAM,CAAC,IAAI;gBAAE,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC1C,CAAC;QAED,IAAI,MAAM,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YACvB,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,KAAM,CAAC;YAE7C,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC/C,MAAM,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACxB,CAAC;QACF,CAAC;QAED,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC;IACrB,CAAC;IAEM,KAAK,CAAC,SAAS;QACrB,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CACtC,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAC/C,CAAC;QAEF,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YAChD,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;YACrB,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;gBACvB,UAAU,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;YACvC,CAAC,CAAC,CAAC;QACJ,CAAC;IACF,CAAC;IAEM,KAAK,CAAC,KAAK,CAAC,QAAgD;QAClE,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACrB,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QAC7C,CAAC;QAED,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACvB,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,MAAqB,EAAE,MAAc,EAAE,KAAY;QACpE,MAAM,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAEhC,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACnC,MAAM,MAAM,CAAC,YAAY,CAAC;gBACzB,IAAI,EAAE,OAAO;gBACb,MAAM;gBACN,MAAM;gBACN,KAAK;aACL,CAAC,CAAC;QACJ,CAAC;IACF,CAAC;IAEM,KAAK,CAAC,GAAG,CAAC,MAAqB;QACrC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACtB,CAAC;CACD;AAED,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC"}
@@ -1,7 +1,7 @@
1
- import { Player } from './players.js';
2
- import { Phase } from './rules.js';
1
+ import { Player } from "./players.js";
2
+ import { Phase } from "./rules.js";
3
3
  export type GameEvent = {
4
- type: 'death';
4
+ type: "death";
5
5
  author: Player | null;
6
6
  target: Player;
7
7
  phase: Phase;
@@ -1 +1 @@
1
- {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../src/types/events.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AACrC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAElC,MAAM,MAAM,SAAS,GAAG;IACpB,IAAI,EAAE,OAAO,CAAA;IACb,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,KAAK,CAAA;CACf,CAAA"}
1
+ {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../src/types/events.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC,MAAM,MAAM,SAAS,GAAG;IACvB,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,KAAK,CAAC;CACb,CAAC"}
@@ -8,7 +8,7 @@ export declare class Player {
8
8
  dead: boolean;
9
9
  state: Record<string, boolean>;
10
10
  constructor(id?: number, role?: Role);
11
- call(phase: string): Promise<() => void>;
11
+ call(phase: Phase): Promise<() => void>;
12
12
  endCall(): Promise<void>;
13
13
  die(author: Player | null, phase: Phase): Promise<void>;
14
14
  triggerEvent(event: GameEvent): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"players.d.ts","sourceRoot":"","sources":["../../src/types/players.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AACvC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAElC,qBAAa,MAAM;IACR,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,IAAI,GAAG,IAAI,CAAA;IACjB,IAAI,EAAE,IAAI,GAAG,IAAI,CAAA;IAEjB,IAAI,EAAE,OAAO,CAAQ;IACrB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAK;gBAE9B,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,IAAI;IAMvB,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,CAAC;IAIxC,OAAO;IAIP,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,EAAE,KAAK,EAAE,KAAK;IAOvC,YAAY,CAAC,KAAK,EAAE,SAAS;CAG7C"}
1
+ {"version":3,"file":"players.d.ts","sourceRoot":"","sources":["../../src/types/players.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC,qBAAa,MAAM;IACX,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;IAClB,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;IAElB,IAAI,EAAE,OAAO,CAAS;IACtB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAM;gBAE/B,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,IAAI;IAMvB,IAAI,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,MAAM,IAAI,CAAC;IAIvC,OAAO;IAKP,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,EAAE,KAAK,EAAE,KAAK;IAQvC,YAAY,CAAC,KAAK,EAAE,SAAS;CAG1C"}
@@ -10,12 +10,14 @@ export class Player {
10
10
  this.team = role?.team || null;
11
11
  }
12
12
  async call(phase) {
13
- return await this.role?.call(this, phase) || (() => { });
13
+ return (await this.role?.call(this, phase)) || (() => { });
14
14
  }
15
15
  async endCall() {
16
+ // Fonction appelée si le joueur n'a pas répondu à temps, ou juste après la fin de son tour
16
17
  await this.role?.endCall(this);
17
18
  }
18
19
  async die(author, phase) {
20
+ //
19
21
  if (this.dead)
20
22
  return;
21
23
  this.dead = true;
@@ -1 +1 @@
1
- {"version":3,"file":"players.js","sourceRoot":"","sources":["../../src/types/players.ts"],"names":[],"mappings":"AAIA,MAAM,OAAO,MAAM;IACR,EAAE,CAAQ;IACV,IAAI,CAAa;IACjB,IAAI,CAAa,CAAC,+CAA+C;IAEjE,IAAI,GAAY,KAAK,CAAA;IACrB,KAAK,GAA4B,EAAE,CAAA;IAE1C,YAAY,EAAW,EAAE,IAAW;QAChC,IAAI,CAAC,EAAE,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAA;QAC7B,IAAI,CAAC,IAAI,GAAG,IAAI,IAAI,IAAI,CAAA;QACxB,IAAI,CAAC,IAAI,GAAG,IAAI,EAAE,IAAI,IAAI,IAAI,CAAA;IAClC,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,KAAa;QAC3B,OAAO,MAAM,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;IAC3D,CAAC;IAEM,KAAK,CAAC,OAAO;QAChB,MAAM,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;IAClC,CAAC;IAEM,KAAK,CAAC,GAAG,CAAC,MAAqB,EAAE,KAAY;QAChD,IAAI,IAAI,CAAC,IAAI;YAAE,OAAM;QAErB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,MAAM,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,CAAA;IAC7C,CAAC;IAEM,KAAK,CAAC,YAAY,CAAC,KAAgB;QACtC,MAAM,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;IAC9C,CAAC;CACJ"}
1
+ {"version":3,"file":"players.js","sourceRoot":"","sources":["../../src/types/players.ts"],"names":[],"mappings":"AAIA,MAAM,OAAO,MAAM;IACX,EAAE,CAAS;IACX,IAAI,CAAc;IAClB,IAAI,CAAc,CAAC,+CAA+C;IAElE,IAAI,GAAY,KAAK,CAAC;IACtB,KAAK,GAA4B,EAAE,CAAC;IAE3C,YAAY,EAAW,EAAE,IAAW;QACnC,IAAI,CAAC,EAAE,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAC9B,IAAI,CAAC,IAAI,GAAG,IAAI,IAAI,IAAI,CAAC;QACzB,IAAI,CAAC,IAAI,GAAG,IAAI,EAAE,IAAI,IAAI,IAAI,CAAC;IAChC,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,KAAY;QAC7B,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IAC3D,CAAC;IAEM,KAAK,CAAC,OAAO;QACnB,2FAA2F;QAC3F,MAAM,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;IAEM,KAAK,CAAC,GAAG,CAAC,MAAqB,EAAE,KAAY;QACnD,EAAE;QACF,IAAI,IAAI,CAAC,IAAI;YAAE,OAAO;QAEtB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,MAAM,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;IAC3C,CAAC;IAEM,KAAK,CAAC,YAAY,CAAC,KAAgB;QACzC,MAAM,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC5C,CAAC;CACD"}
@@ -14,12 +14,12 @@ export declare class Role {
14
14
  private exec_logic;
15
15
  private end_logic;
16
16
  private listen_death;
17
- constructor(name: string, team: Team, depends_on?: Role['name'][], exec_death?: (myself: Player, author: Player | null, phase: Phase) => void, exec_logic?: (myself: Player, phase: string) => Promise<() => void>, end_logic?: (myself: Player) => void, listen_death?: (myself: Player, event: GameEvent) => void);
17
+ constructor(name: string, team: Team, depends_on?: Role['name'][]);
18
18
  onDeath(callback: (myself: Player, author: Player | null, phase: Phase) => void): void;
19
- onCall(callback: (myself: Player, phase: string) => Promise<() => void>): void;
19
+ onCall(phase: Phase, callback: (myself: Player, phase: Phase) => Promise<() => void>): void;
20
20
  onEndCall(callback: (myself: Player) => void): void;
21
21
  on(event: GameEvent['type'], callback: (myself: Player, event: GameEvent) => void): void;
22
- call(player: Player, phase: string): Promise<() => void>;
22
+ call(player: Player, phase: Phase): Promise<() => void>;
23
23
  endCall(player: Player): Promise<void>;
24
24
  die(myself: Player, author: Player | null, phase: Phase): Promise<void>;
25
25
  triggerEvent(myself: Player, event: GameEvent): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"roles.d.ts","sourceRoot":"","sources":["../../src/types/roles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAClC,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAGvC,MAAM,MAAM,IAAI,GAAG;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,IAAI,EAAE,OAAO,CAAA;CAChB,CAAA;AAED,qBAAa,IAAI;IACN,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,IAAI,CAAA;IACV,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAK;IAEtC,OAAO,CAAC,UAAU,CAAgF;IAClG,OAAO,CAAC,UAAU,CAA+E;IACjG,OAAO,CAAC,SAAS,CAA2C;IAC5D,OAAO,CAAC,YAAY,CAA6D;gBAG7E,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,IAAI,EACV,UAAU,GAAE,IAAI,CAAC,MAAM,CAAC,EAAO,EAC/B,UAAU,GAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,EAAE,KAAK,EAAE,KAAK,KAAK,IAAe,EACpF,UAAU,GAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,IAAI,CAAwB,EACzF,SAAS,GAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAe,EAC9C,YAAY,GAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,KAAK,IAAe;IAYhE,OAAO,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,EAAE,KAAK,EAAE,KAAK,KAAK,IAAI;IAI/E,MAAM,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,IAAI,CAAC;IAIvE,SAAS,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI;IAI5C,EAAE,CAAC,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,KAAK,IAAI;IAO3E,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,CAAC;IAIxD,OAAO,CAAC,MAAM,EAAE,MAAM;IAItB,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,EAAE,KAAK,EAAE,KAAK;IAIvD,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS;CAM7D"}
1
+ {"version":3,"file":"roles.d.ts","sourceRoot":"","sources":["../../src/types/roles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAClC,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAGvC,MAAM,MAAM,IAAI,GAAG;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,IAAI,EAAE,OAAO,CAAA;CAChB,CAAA;AAED,qBAAa,IAAI;IACN,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,IAAI,CAAA;IACV,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAK;IAEtC,OAAO,CAAC,UAAU,CAIQ;IAE1B,OAAO,CAAC,UAAU,CAGZ;IACN,OAAO,CAAC,SAAS,CAA2C;IAC5D,OAAO,CAAC,YAAY,CAGM;gBAGtB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,IAAI,EACV,UAAU,GAAE,IAAI,CAAC,MAAM,CAAC,EAAO;IAO5B,OAAO,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,EAAE,KAAK,EAAE,KAAK,KAAK,IAAI;IAI/E,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,KAAK,OAAO,CAAC,MAAM,IAAI,CAAC;IAKvF,SAAS,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI;IAKzC,EAAE,CAAC,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,KAAK,IAAI;IAO3E,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,MAAM,IAAI,CAAC;IAQvD,OAAO,CAAC,MAAM,EAAE,MAAM;IAItB,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,EAAE,KAAK,EAAE,KAAK;IAKvD,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS;CAM7D"}
@@ -3,25 +3,23 @@ export class Role {
3
3
  team;
4
4
  depends_on = [];
5
5
  exec_death = async () => { };
6
- exec_logic = async () => () => { };
6
+ exec_logic = {};
7
7
  end_logic = async () => { };
8
8
  listen_death = async () => { };
9
- constructor(name, team, depends_on = [], exec_death = () => { }, exec_logic = async () => () => { }, end_logic = () => { }, listen_death = () => { }) {
9
+ constructor(name, team, depends_on = []) {
10
10
  this.name = name;
11
11
  this.team = team;
12
12
  this.depends_on = depends_on;
13
- this.exec_death = exec_death;
14
- this.exec_logic = exec_logic;
15
- this.end_logic = end_logic;
16
- this.listen_death = listen_death;
17
13
  }
18
14
  onDeath(callback) {
19
15
  this.exec_death = callback;
20
16
  }
21
- onCall(callback) {
22
- this.exec_logic = callback;
17
+ onCall(phase, callback) {
18
+ // Fonction appelée quand le joueur doit jouer son tour
19
+ this.exec_logic[phase.name] = callback;
23
20
  }
24
21
  onEndCall(callback) {
22
+ // Fonction appelée si le joueur n'a pas répondu à temps, ou juste après la fin de son tour
25
23
  this.end_logic = callback;
26
24
  }
27
25
  on(event, callback) {
@@ -31,12 +29,16 @@ export class Role {
31
29
  }
32
30
  }
33
31
  async call(player, phase) {
34
- return await this.exec_logic(player, phase);
32
+ if (this.exec_logic[phase.name]) {
33
+ return await this.exec_logic[phase.name](player, phase);
34
+ }
35
+ return () => { };
35
36
  }
36
37
  async endCall(player) {
37
38
  await this.end_logic(player);
38
39
  }
39
40
  async die(myself, author, phase) {
41
+ // Fonction appelée à la mort du joueur
40
42
  await this.exec_death(myself, author, phase);
41
43
  }
42
44
  async triggerEvent(myself, event) {
@@ -1 +1 @@
1
- {"version":3,"file":"roles.js","sourceRoot":"","sources":["../../src/types/roles.ts"],"names":[],"mappings":"AAWA,MAAM,OAAO,IAAI;IACN,IAAI,CAAQ;IACZ,IAAI,CAAM;IACV,UAAU,GAAmB,EAAE,CAAA;IAE9B,UAAU,GAAkE,KAAK,IAAI,EAAE,GAAE,CAAC,CAAA;IAC1F,UAAU,GAA2D,KAAK,IAAI,EAAE,CAAC,GAAG,EAAE,GAAE,CAAC,CAAA;IACzF,SAAS,GAA6B,KAAK,IAAI,EAAE,GAAE,CAAC,CAAA;IACpD,YAAY,GAA+C,KAAK,IAAI,EAAE,GAAE,CAAC,CAAA;IAEjF,YACI,IAAY,EACZ,IAAU,EACV,aAA6B,EAAE,EAC/B,aAA4E,GAAG,EAAE,GAAE,CAAC,EACpF,aAAqE,KAAK,IAAI,EAAE,CAAC,GAAG,EAAE,GAAE,CAAC,EACzF,YAAsC,GAAG,EAAE,GAAE,CAAC,EAC9C,eAA2D,GAAG,EAAE,GAAE,CAAC;QAEnE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;QAE5B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;QAC5B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;QAC5B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;QAC1B,IAAI,CAAC,YAAY,GAAG,YAAY,CAAA;IACpC,CAAC;IAEM,OAAO,CAAC,QAAuE;QAClF,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAA;IAC9B,CAAC;IAEM,MAAM,CAAC,QAAgE;QAC1E,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAA;IAC9B,CAAC;IAEM,SAAS,CAAC,QAAkC;QAC/C,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAA;IAC7B,CAAC;IAEM,EAAE,CAAC,KAAwB,EAAE,QAAoD;QACpF,QAAQ,KAAK,EAAE,CAAC;YACZ,KAAK,OAAO;gBACR,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAA;QACpC,CAAC;IACL,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,MAAc,EAAE,KAAa;QAC3C,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;IAC/C,CAAC;IAEM,KAAK,CAAC,OAAO,CAAC,MAAc;QAC/B,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA;IAChC,CAAC;IAEM,KAAK,CAAC,GAAG,CAAC,MAAc,EAAE,MAAqB,EAAE,KAAY;QAChE,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,CAAA;IAChD,CAAC;IAEM,KAAK,CAAC,YAAY,CAAC,MAAc,EAAE,KAAgB;QACtD,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;YACjB,KAAK,OAAO;gBACR,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;QAC9C,CAAC;IACL,CAAC;CACJ"}
1
+ {"version":3,"file":"roles.js","sourceRoot":"","sources":["../../src/types/roles.ts"],"names":[],"mappings":"AAWA,MAAM,OAAO,IAAI;IACN,IAAI,CAAQ;IACZ,IAAI,CAAM;IACV,UAAU,GAAmB,EAAE,CAAA;IAE9B,UAAU,GAIN,KAAK,IAAI,EAAE,GAAE,CAAC,CAAA;IAElB,UAAU,GAGd,EAAE,CAAA;IACE,SAAS,GAA6B,KAAK,IAAI,EAAE,GAAE,CAAC,CAAA;IACpD,YAAY,GAGR,KAAK,IAAI,EAAE,GAAE,CAAC,CAAA;IAE1B,YACI,IAAY,EACZ,IAAU,EACV,aAA6B,EAAE;QAE/B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;IAChC,CAAC;IAEM,OAAO,CAAC,QAAuE;QAClF,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAA;IAC9B,CAAC;IAEM,MAAM,CAAC,KAAY,EAAE,QAA+D;QACvF,uDAAuD;QACvD,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC;IAC3C,CAAC;IAEG,SAAS,CAAC,QAAkC;QAClD,2FAA2F;QAC3F,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAA;IAC1B,CAAC;IAES,EAAE,CAAC,KAAwB,EAAE,QAAoD;QACpF,QAAQ,KAAK,EAAE,CAAC;YACZ,KAAK,OAAO;gBACR,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAA;QACpC,CAAC;IACL,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,MAAc,EAAE,KAAY;QAC1C,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9B,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAE,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;QAC5D,CAAC;QAED,OAAO,GAAG,EAAE,GAAE,CAAC,CAAA;IACnB,CAAC;IAEM,KAAK,CAAC,OAAO,CAAC,MAAc;QAC/B,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA;IAChC,CAAC;IAEM,KAAK,CAAC,GAAG,CAAC,MAAc,EAAE,MAAqB,EAAE,KAAY;QAChE,uCAAuC;QACvC,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;IACjD,CAAC;IAEM,KAAK,CAAC,YAAY,CAAC,MAAc,EAAE,KAAgB;QACtD,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;YACjB,KAAK,OAAO;gBACR,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;QAC9C,CAAC;IACL,CAAC;CACJ"}
@@ -1,4 +1,3 @@
1
- import { Role } from "./roles.js";
2
1
  export type Cycle = {
3
2
  start: number;
4
3
  end: number;
@@ -6,9 +5,8 @@ export type Cycle = {
6
5
  };
7
6
  export type Phase = {
8
7
  name: string;
9
- roles: Role[];
10
8
  duration: number;
11
9
  cycle: Cycle | number[];
12
- steps: Record<number, string>;
10
+ conditions?: (() => boolean)[];
13
11
  };
14
12
  //# sourceMappingURL=rules.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"rules.d.ts","sourceRoot":"","sources":["../../src/types/rules.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AAEjC,MAAM,MAAM,KAAK,GAAG;IAChB,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;CACf,CAAA;AAED,MAAM,MAAM,KAAK,GAAG;IAChB,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,IAAI,EAAE,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,KAAK,GAAG,MAAM,EAAE,CAAA;IACvB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAChC,CAAA"}
1
+ {"version":3,"file":"rules.d.ts","sourceRoot":"","sources":["../../src/types/rules.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,KAAK,GAAG;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;CACb,CAAC;AAEF,MAAM,MAAM,KAAK,GAAG;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,KAAK,GAAG,MAAM,EAAE,CAAC;IACxB,UAAU,CAAC,EAAE,CAAC,MAAM,OAAO,CAAC,EAAE,CAAC;CAC/B,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "blueversusraid",
3
- "version": "0.0.8",
3
+ "version": "0.1.1",
4
4
  "description": "Moteur pour des jeux en 2 équipes du style loup-garou",
5
5
  "license": "GPL-3.0",
6
6
  "author": "EjNalo",