All files / src/lib/events eventAdventureCallbackScriptRemove.js

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

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 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78                                                                                                                                                           
const l10n = require("../helpers/l10n").default;
 
const id = "EVENT_REMOVE_ADVENTURE_CALLBACK_SCRIPT";
const groups = ["EVENT_GROUP_ENGINE_FIELDS"];
const subGroups = {
  EVENT_GROUP_ENGINE_FIELDS: "GAMETYPE_ADVENTURE",
};
 
const labelsMap = {
  groundStart: l10n("FIELD_GROUND_START"),
  groundEnd: l10n("FIELD_GROUND_END"),
  dashStart: l10n("FIELD_DASH_START"),
  dashReady: l10n("FIELD_DASH_READY"),
  dashEnd: l10n("FIELD_DASH_END"),
  knockbackStart: l10n("FIELD_KNOCKBACK_START"),
  knockbackEnd: l10n("FIELD_KNOCKBACK_END"),
  blankStart: l10n("FIELD_BLANK_START"),
  blankEnd: l10n("FIELD_BLANK_END"),
  runStart: l10n("FIELD_RUN_START"),
  runEnd: l10n("FIELD_RUN_END"),
  pushStart: l10n("FIELD_PUSH_START"),
  pushEnd: l10n("FIELD_PUSH_END"),
};
 
const valuesMap = {
  groundStart: "ADVENTURE_GROUND_INIT",
  groundEnd: "ADVENTURE_GROUND_END",
  dashStart: "ADVENTURE_DASH_INIT",
  dashReady: "ADVENTURE_DASH_READY",
  dashEnd: "ADVENTURE_DASH_END",
  knockbackStart: "ADVENTURE_KNOCKBACK_INIT",
  knockbackEnd: "ADVENTURE_KNOCKBACK_END",
  blankStart: "ADVENTURE_BLANK_INIT",
  blankEnd: "ADVENTURE_BLANK_END",
  runStart: "ADVENTURE_RUN_INIT",
  runEnd: "ADVENTURE_RUN_END",
  pushStart: "ADVENTURE_PUSH_INIT",
  pushEnd: "ADVENTURE_PUSH_END",
};
 
const autoLabel = (_, input) => {
  return l10n("EVENT_REMOVE_ADVENTURE_CALLBACK_SCRIPT_LABEL", {
    event: labelsMap[input.event] || l10n("FIELD_GROUND_START"),
  });
};
 
const fields = [
  {
    key: "event",
    label: l10n("FIELD_EVENT"),
    type: "select",
    defaultValue: "groundStart",
    options: Object.entries(labelsMap),
  },
];
 
const compile = (input, helpers) => {
  const { _addComment, _stackPushConst, _callNative, _stackPop } = helpers;
 
  const callbackLabel = valuesMap[input.event] ?? valuesMap.groundStart;
 
  _addComment("Remove Adventure State Script");
  _stackPushConst(callbackLabel);
  _callNative("adv_callback_detach");
  _stackPop(1);
};
 
module.exports = {
  id,
  description: l10n("EVENT_REMOVE_ADVENTURE_CALLBACK_SCRIPT_DESC"),
  autoLabel,
  groups,
  subGroups,
  fields,
  compile,
  allowedBeforeInitFade: true,
};