diff options
-rw-r--r-- | rules.js | 36 |
1 files changed, 36 insertions, 0 deletions
@@ -111,6 +111,42 @@ exports.action = function (state, player, action, arg) { return game } +// JSON Schema for view data +exports.VIEW_SCHEMA = { + type: "object", + properties: { + log: {type: "array", items: {type: "string"}}, + prompt: {type: "string"}, + scenario: {type: "integer"}, + + dice: {type: "array", minItems: 24, maxItems: 24, items: {type: "integer", minimum: -1}}, + sticks: {type: "array", items: {type: "integer", minimum: 0}}, + cubes: {type: "array", items: {type: "integer", minimum: 0}}, + + morale: {type: "array", minItems: 2, maxItems: 2, items: {type: "integer", minimum: 0}}, + tv1: {type: "integer", minimum: 0}, + tv2: {type: "integer", minimum: 0}, + front: {type: "array", items: {type: "array", items: {type: "integer", minimum: 0}}}, + reserve: {type: "array", items: {type: "array", items: {type: "integer", minimum: 0}}}, + + selected: {type: "integer", minimum: -1}, + target: {type: "integer", minimum: -1}, + hits: {type: "integer", minimum: 0}, + self: {type: "integer", minimum: 0}, + + shift: {type: "array", items: {type: "integer", minimum: 0}}, + target2: {type: "integer", minimum: 0}, + hits2: {type: "integer", minimum: 0}, + + actions: {type: "object"}, + }, + required: [ + "log", "prompt", "scenario", "dice", "sticks", "cubes", "morale", "tv1", "tv2", + "front", "reserve", "selected", "target", "hits", "self" + ], + additionalProperties: false +} + exports.view = function (state, player) { game = state |