All files / src/lib/events eventAdventureStateSet.js

0% Statements 0/14
0% Branches 0/6
0% Functions 0/2
0% Lines 0/14

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62                                                                                                                           
const l10n = require("../helpers/l10n").default;
 
const id = "EVENT_ADVENTURE_STATE_SET";
const groups = ["EVENT_GROUP_ENGINE_FIELDS"];
const subGroups = {
  EVENT_GROUP_ENGINE_FIELDS: "GAMETYPE_ADVENTURE",
};
 
const labelsMap = {
  ground: l10n("FIELD_GROUND_STATE"),
  dash: l10n("FIELD_DASH_STATE"),
  knockback: l10n("FIELD_KNOCKBACK_STATE"),
  blank: l10n("FIELD_BLANK_STATE"),
  run: l10n("FIELD_RUN_STATE"),
  push: l10n("FIELD_PUSH_STATE"),
};
 
const valuesMap = {
  ground: "ADVENTURE_GROUND_STATE",
  dash: "ADVENTURE_DASH_STATE",
  knockback: "ADVENTURE_KNOCKBACK_STATE",
  blank: "ADVENTURE_BLANK_STATE",
  run: "ADVENTURE_RUN_STATE",
  push: "ADVENTURE_PUSH_STATE",
};
 
const autoLabel = (_, input) => {
  return l10n("EVENT_ADVENTURE_STATE_SET_LABEL", {
    state: labelsMap[input.state] || l10n("FIELD_GROUND_STATE"),
  });
};
 
const fields = [
  {
    key: "state",
    label: l10n("FIELD_STATE"),
    type: "select",
    defaultValue: "ground",
    options: Object.entries(labelsMap),
  },
];
 
const compile = (input, helpers) => {
  const { _addComment, _setConstMemInt8 } = helpers;
  _addComment("Set ADVENTURE State");
  _setConstMemInt8(
    "adv_next_state",
    valuesMap[input.state] ?? "ADVENTURE_GROUND_STATE",
  );
};
 
module.exports = {
  id,
  description: l10n("EVENT_ADVENTURE_STATE_SET_DESC"),
  autoLabel,
  groups,
  subGroups,
  fields,
  compile,
  allowedBeforeInitFade: true,
};