2026-06-04 16:07:28 +00:00

55 lines
1.3 KiB
JavaScript

export const MODULE_ID = "configurable-reactions";
export const MODULE_TITLE = "Configurable Reactions";
export const SETTINGS = Object.freeze({
REACTIONS: "reactions",
ASSIGNMENTS: "assignments",
SHOW_FAILED_TELEPORT_MESSAGES: "showFailedTeleportMessages",
CREATE_MANAGED_EFFECTS_ON_ASSIGNMENT: "createManagedEffectsOnAssignment"
});
export const TRIGGER_TYPES = Object.freeze({
DAMAGE_RECEIVED: "damageReceived",
TARGET_SELECTED: "targetSelected",
SPELL_CAST_START: "spellCastStart",
SPELL_CAST_COMPLETE: "spellCastComplete",
FEATURE_USED: "featureUsed"
});
export const ACTION_TYPES = Object.freeze({
APPLY_STATUS: "applyStatus",
TELEPORT: "teleport",
CAST_SPELL_FROM_TOKEN: "castSpellFromToken",
USE_INVENTORY_ITEM: "useInventoryItem"
});
export const DEFAULT_REACTION = Object.freeze({
name: "Neue Reaktion",
enabled: true,
trigger: {
type: TRIGGER_TYPES.DAMAGE_RECEIVED
},
conditions: {
damage: {
enabled: true,
amountMode: "damageOnly",
types: [],
typeMode: "any",
minAmount: 1
},
hpAfterDamage: {
enabled: false,
operator: "lte",
mode: "percent",
value: 50
}
},
consumption: {
enabled: false,
mode: "none",
maxUses: 1,
consumeOnFailure: false
},
actions: []
});