werewolf-core
Version:
Are you a WEREWOLF?
58 lines (57 loc) • 2.07 kB
JavaScript
;
var package_1 = require('../package');
var events = require('../event');
var priority = require('../priority');
var diereason = require('../lib/diereason');
var mediumevent = require('./medium.event');
var ROLE_MEDIUM = 'core.medium';
Object.defineProperty(exports, "__esModule", { value: true });
exports.default = package_1.initPackage({
role: ROLE_MEDIUM,
roleInit: function (pl) {
pl.results = [];
pl.shown = -1;
return pl;
},
playerProducers: (_a = {},
_a[ROLE_MEDIUM] = (_b = {},
_b[events.EVENT_DIE] = [{
priority: priority.DIE_HANDLER,
handler: function (_a) {
var runner = _a.runner, player = _a.player, players = _a.players, event = _a.event;
var event2 = event;
if (event2.prevented !== true && event2.reason === diereason.LYNCH) {
var pl = players.get(event2.on);
if (pl && pl.dead && pl.dead_reason === diereason.LYNCH) {
runner.addEvent(mediumevent.initDoMediumEvent({
from: player.id,
to: event2.on,
}));
}
}
},
}],
_b
),
_a
),
actions: (_c = {},
_c[mediumevent.EVENT_DO_MEDIUM] = function (_a) {
var runner = _a.runner, players = _a.players, event = _a.event;
var event2 = event;
var medium = players.get(event2.from);
if (medium) {
var e = runner.runEvent(mediumevent.initQueryMediumEvent({
from: event2.from,
to: event2.to,
}));
medium.results.push({
to: e.to,
result: e.result,
});
}
},
_c
),
});
var _a, _b, _c;