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 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 | 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x | const l10n = require("../helpers/l10n").default;
const id = "EVENT_ACTOR_MOVE_RELATIVE";
const groups = ["EVENT_GROUP_ACTOR"];
const subGroups = {
EVENT_GROUP_ACTOR: "EVENT_GROUP_MOVEMENT",
};
const autoLabel = (fetchArg, input) => {
const unitPostfix =
input.units === "pixels" ? l10n("FIELD_PIXELS_SHORT") : "";
return l10n("EVENT_ACTOR_MOVE_RELATIVE_LABEL", {
actor: fetchArg("actorId"),
x: `${fetchArg("x")}${unitPostfix}`,
y: `${fetchArg("y")}${unitPostfix}`,
});
};
const fields = [
{
key: "actorId",
label: l10n("ACTOR"),
description: l10n("FIELD_ACTOR_MOVE_DESC"),
type: "actor",
defaultValue: "$self$",
},
{
type: "group",
fields: [
{
key: "x",
label: l10n("FIELD_X"),
description: l10n("FIELD_X_RELATIVE_DESC"),
type: "value",
min: -31,
max: 31,
width: "50%",
defaultValue: {
type: "number",
value: 0,
},
unitsField: "units",
unitsDefault: "tiles",
unitsAllowed: ["tiles", "pixels"],
},
{
key: "y",
label: l10n("FIELD_Y"),
description: l10n("FIELD_Y_RELATIVE_DESC"),
type: "value",
min: -31,
max: 31,
width: "50%",
defaultValue: {
type: "number",
value: 0,
},
unitsField: "units",
unitsDefault: "tiles",
unitsAllowed: ["tiles", "pixels"],
},
],
},
{
type: "group",
flexBasis: 0,
minWidth: 150,
alignBottom: true,
fields: [
{
key: "collideWith",
label: l10n("FIELD_COLLIDE_WITH"),
description: l10n("FIELD_COLLIDE_WITH_DESC"),
type: "togglebuttons",
options: [
["walls", `${l10n("FIELD_WALLS")}`, `${l10n("FIELD_WALLS")}`],
["actors", `${l10n("FIELD_ACTORS")}`, `${l10n("FIELD_ACTORS")}`],
],
allowNone: true,
allowMultiple: true,
defaultValue: ["walls"],
},
{
key: "moveType",
label: l10n("FIELD_MOVE_TYPE"),
description: l10n("FIELD_MOVE_TYPE_DESC"),
hideLabel: true,
type: "moveType",
defaultValue: "horizontal",
flexBasis: 30,
flexGrow: 0,
alignBottom: true,
},
],
},
];
const compile = (input, helpers) => {
const { actorMoveRelativeByScriptValues } = helpers;
actorMoveRelativeByScriptValues(
input.actorId,
input.x,
input.y,
input.collideWith,
input.moveType,
input.units,
);
};
module.exports = {
id,
description: l10n("EVENT_ACTOR_MOVE_RELATIVE_DESC"),
autoLabel,
groups,
subGroups,
fields,
compile,
waitUntilAfterInitFade: true,
};
|