mirror of
https://github.com/fzumpe/foundry-dnd5e-adaptive-resistances.git
synced 2026-06-06 21:10:02 +02:00
165 lines
5.3 KiB
JavaScript
165 lines
5.3 KiB
JavaScript
export const MODULE_ID = "adaptive-damage-resistance";
|
|
export const PACK_NAME = "adaptive-features";
|
|
export const PACK_ID = `${MODULE_ID}.${PACK_NAME}`;
|
|
export const FEATURE_FLAG = "adaptiveResistanceFeature";
|
|
export const EFFECT_FLAG = "adaptiveResistanceEffect";
|
|
|
|
export const PROFANE_DAMAGE_TYPES = Object.freeze(["bludgeoning", "piercing", "slashing"]);
|
|
export const PROFANE_BYPASSES = Object.freeze(["ada", "mgc", "sil"]);
|
|
|
|
export const ADAPTATION_TYPES = Object.freeze({
|
|
RESISTANCE: "resistance",
|
|
IMMUNITY: "immunity"
|
|
});
|
|
|
|
export const ADAPTATION_CONFIG = Object.freeze({
|
|
[ADAPTATION_TYPES.RESISTANCE]: {
|
|
id: ADAPTATION_TYPES.RESISTANCE,
|
|
priority: 10,
|
|
traitKey: "system.traits.dr.value",
|
|
effectNameKey: "ADR.Effects.AdaptiveResistance.Name",
|
|
rulesTextKey: "ADR.Features.RulesText.Resistance",
|
|
itemNamePrefixKey: "ADR.Features.Prefix.Resistance",
|
|
icon: "icons/magic/defensive/shield-barrier-flaming-diamond-orange.webp"
|
|
},
|
|
[ADAPTATION_TYPES.IMMUNITY]: {
|
|
id: ADAPTATION_TYPES.IMMUNITY,
|
|
priority: 20,
|
|
traitKey: "system.traits.di.value",
|
|
effectNameKey: "ADR.Effects.AdaptiveImmunity.Name",
|
|
rulesTextKey: "ADR.Features.RulesText.Immunity",
|
|
itemNamePrefixKey: "ADR.Features.Prefix.Immunity",
|
|
icon: "icons/magic/defensive/shield-barrier-flaming-pentagon-blue.webp"
|
|
}
|
|
});
|
|
|
|
export const DAMAGE_TYPES = Object.freeze({
|
|
ACID: "acid",
|
|
BLUDGEONING: "bludgeoning",
|
|
COLD: "cold",
|
|
FIRE: "fire",
|
|
FORCE: "force",
|
|
LIGHTNING: "lightning",
|
|
NECROTIC: "necrotic",
|
|
PIERCING: "piercing",
|
|
POISON: "poison",
|
|
PSYCHIC: "psychic",
|
|
RADIANT: "radiant",
|
|
SLASHING: "slashing",
|
|
THUNDER: "thunder"
|
|
});
|
|
|
|
export const DAMAGE_SETS = Object.freeze({
|
|
elemental: {
|
|
id: "elemental",
|
|
nameKey: "ADR.Features.Set.Elemental.Name",
|
|
descriptionKey: "ADR.Features.Set.Elemental.Description",
|
|
damageTypes: ["acid", "cold", "fire", "lightning", "thunder"]
|
|
},
|
|
magical: {
|
|
id: "magical",
|
|
nameKey: "ADR.Features.Set.Magical.Name",
|
|
descriptionKey: "ADR.Features.Set.Magical.Description",
|
|
damageTypes: ["force", "necrotic", "psychic", "radiant"]
|
|
},
|
|
profane: {
|
|
id: "profane",
|
|
nameKey: "ADR.Features.Set.Profane.Name",
|
|
descriptionKey: "ADR.Features.Set.Profane.Description",
|
|
damageTypes: ["bludgeoning", "piercing", "slashing"]
|
|
},
|
|
nonProfane: {
|
|
id: "nonProfane",
|
|
nameKey: "ADR.Features.Set.NonProfane.Name",
|
|
descriptionKey: "ADR.Features.Set.NonProfane.Description",
|
|
damageTypes: ["acid", "cold", "fire", "force", "lightning", "necrotic", "poison", "psychic", "radiant", "thunder"]
|
|
},
|
|
all: {
|
|
id: "all",
|
|
nameKey: "ADR.Features.Set.All.Name",
|
|
descriptionKey: "ADR.Features.Set.All.Description",
|
|
damageTypes: ["acid", "bludgeoning", "cold", "fire", "force", "lightning", "necrotic", "piercing", "poison", "psychic", "radiant", "slashing", "thunder"]
|
|
},
|
|
acid: {
|
|
id: "acid",
|
|
nameKey: "ADR.Features.Set.Single.acid.Name",
|
|
descriptionKey: "ADR.Features.Set.Single.acid.Description",
|
|
damageTypes: ["acid"]
|
|
},
|
|
bludgeoning: {
|
|
id: "bludgeoning",
|
|
nameKey: "ADR.Features.Set.Single.bludgeoning.Name",
|
|
descriptionKey: "ADR.Features.Set.Single.bludgeoning.Description",
|
|
damageTypes: ["bludgeoning"]
|
|
},
|
|
cold: {
|
|
id: "cold",
|
|
nameKey: "ADR.Features.Set.Single.cold.Name",
|
|
descriptionKey: "ADR.Features.Set.Single.cold.Description",
|
|
damageTypes: ["cold"]
|
|
},
|
|
fire: {
|
|
id: "fire",
|
|
nameKey: "ADR.Features.Set.Single.fire.Name",
|
|
descriptionKey: "ADR.Features.Set.Single.fire.Description",
|
|
damageTypes: ["fire"]
|
|
},
|
|
force: {
|
|
id: "force",
|
|
nameKey: "ADR.Features.Set.Single.force.Name",
|
|
descriptionKey: "ADR.Features.Set.Single.force.Description",
|
|
damageTypes: ["force"]
|
|
},
|
|
lightning: {
|
|
id: "lightning",
|
|
nameKey: "ADR.Features.Set.Single.lightning.Name",
|
|
descriptionKey: "ADR.Features.Set.Single.lightning.Description",
|
|
damageTypes: ["lightning"]
|
|
},
|
|
necrotic: {
|
|
id: "necrotic",
|
|
nameKey: "ADR.Features.Set.Single.necrotic.Name",
|
|
descriptionKey: "ADR.Features.Set.Single.necrotic.Description",
|
|
damageTypes: ["necrotic"]
|
|
},
|
|
piercing: {
|
|
id: "piercing",
|
|
nameKey: "ADR.Features.Set.Single.piercing.Name",
|
|
descriptionKey: "ADR.Features.Set.Single.piercing.Description",
|
|
damageTypes: ["piercing"]
|
|
},
|
|
poison: {
|
|
id: "poison",
|
|
nameKey: "ADR.Features.Set.Single.poison.Name",
|
|
descriptionKey: "ADR.Features.Set.Single.poison.Description",
|
|
damageTypes: ["poison"]
|
|
},
|
|
psychic: {
|
|
id: "psychic",
|
|
nameKey: "ADR.Features.Set.Single.psychic.Name",
|
|
descriptionKey: "ADR.Features.Set.Single.psychic.Description",
|
|
damageTypes: ["psychic"]
|
|
},
|
|
radiant: {
|
|
id: "radiant",
|
|
nameKey: "ADR.Features.Set.Single.radiant.Name",
|
|
descriptionKey: "ADR.Features.Set.Single.radiant.Description",
|
|
damageTypes: ["radiant"]
|
|
},
|
|
slashing: {
|
|
id: "slashing",
|
|
nameKey: "ADR.Features.Set.Single.slashing.Name",
|
|
descriptionKey: "ADR.Features.Set.Single.slashing.Description",
|
|
damageTypes: ["slashing"]
|
|
},
|
|
thunder: {
|
|
id: "thunder",
|
|
nameKey: "ADR.Features.Set.Single.thunder.Name",
|
|
descriptionKey: "ADR.Features.Set.Single.thunder.Description",
|
|
damageTypes: ["thunder"]
|
|
}
|
|
});
|
|
|
|
// Backwards compatible export for older module-internal imports or local overrides.
|
|
export const RESISTANCE_SETS = DAMAGE_SETS;
|