UNPKG

werewolf-core

Version:

Are you a WEREWOLF?

73 lines (72 loc) 2.92 kB
"use strict"; var package_1 = require('../package'); var effect = require('../effect'); var events = require('../event'); var priority = require('../priority'); var choice_1 = require('../lib/choice'); var seerevent = require('./seer.event'); var ROLE_SEER = 'core.seer'; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = package_1.initPackage({ role: ROLE_SEER, roleInit: function (pl) { pl.results = []; pl.shown = -1; return pl; }, playerProducers: (_a = {}, _a[ROLE_SEER] = (_b = {}, _b[events.EVENT_PHASE_NIGHT] = [{ priority: priority.MIDNIGHT_STANDARD, handler: function (_a) { var event = _a.event, player = _a.player, players = _a.players, runner = _a.runner; runner.addEvent(events.initOpenChoiceEvent({ on: player.id, kind: seerevent.CHOICE_SEER, options: choice_1.alivePlayerOptions(players), })); }, }], _b[events.EVENT_MIDNIGHT] = [{ priority: priority.MIDNIGHT_STANDARD, handler: function (_a) { var runner = _a.runner, player = _a.player, players = _a.players, effects = _a.effects, event = _a.event; var cs = effects.ofType(effect.EFFECT_CHOICE); for (var _i = 0, cs_1 = cs; _i < cs_1.length; _i++) { var _b = cs_1[_i], choice_kind = _b.choice_kind, on = _b.on, value = _b.value; if (choice_kind === seerevent.CHOICE_SEER && on === player.id && value != null) { var target = players.get(value); if (target != null) { runner.addEvent(seerevent.initGetfortuneEvent({ from: player.id, to: value, })); } } } }, }], _b ), _a ), actions: (_c = {}, _c[seerevent.EVENT_GETFORTUNE] = function (_a) { var runner = _a.runner, players = _a.players, event = _a.event; var event2 = event; var seer = players.get(event2.from); if (seer) { var e = runner.runEvent(seerevent.initQuerySeerEvent({ from: event2.from, to: event2.to, })); seer.results.push({ to: e.to, result: e.result, }); } }, _c ), }); var _a, _b, _c;