feat: move DEFAULT_AUGMENTS to dedicated augments.js module and update data definitions

This commit is contained in:
CPTN Cosmo 2026-04-26 19:58:19 +02:00
parent 21b5a5a481
commit 073ba927c0
2 changed files with 178 additions and 49 deletions

177
scripts/augments.js Normal file
View file

@ -0,0 +1,177 @@
export const DEFAULT_AUGMENTS = [
{
id: "bonded",
name: "Bonded",
effect: "Primary module for Ikonis hardware synchronization.",
cost: "Cost: None",
img: "icons/magic/control/debuff-energy-hold-blue-yellow.webp",
effects: [
{
_id: "ikonisBondedEff",
name: "Ikonis: Bonded",
type: "base",
img: "icons/magic/control/debuff-energy-hold-blue-yellow.webp",
system: {
changes: [
{
key: "system.bonuses.damage.primaryWeapon.bonus",
type: "add",
value: "@tier",
priority: null,
phase: "initial"
}
],
duration: { description: "", type: "" },
rangeDependence: { enabled: false, type: "withinRange", target: "hostile", range: "melee" },
stacking: null,
targetDispositions: []
},
disabled: false,
transfer: true,
statuses: [],
showIcon: 1,
flags: {}
}
]
},
{
id: "force",
name: "Force",
effect: "+1 Damage on Melee attacks.",
cost: "Cost: 3 gears, 2 lenses, 4 aluminum, 1 capacitor",
img: "icons/commodities/gems/gem-cut-faceted-princess-purple.webp",
effects: [
{
_id: "ikonisForceEff",
name: "Ikonis: Force",
type: "base",
img: "icons/commodities/gems/gem-cut-faceted-princess-purple.webp",
system: {
changes: [
{
key: "system.bonuses.damage.physical.bonus",
type: "add",
value: "1",
priority: null,
phase: "initial"
}
],
duration: { description: "", type: "" },
rangeDependence: { enabled: false, type: "withinRange", target: "hostile", range: "melee" },
stacking: null,
targetDispositions: []
},
disabled: false,
transfer: true,
statuses: [],
showIcon: 1,
flags: {}
}
]
},
{
id: "guard",
name: "Guard",
effect: "+1 Armor",
cost: "Cost: 3 wires, 2 silver, 2 platinum, 3 fuses",
img: "icons/magic/fire/flame-burning-orange.webp",
effects: [
{
_id: "ikonisGuardEff",
name: "Ikonis: Guard",
type: "base",
img: "icons/magic/fire/flame-burning-orange.webp",
system: {
changes: [
{
key: "system.damageType",
type: "override",
value: "fire",
priority: null,
phase: "initial"
}
],
duration: { description: "", type: "" },
rangeDependence: { enabled: false, type: "withinRange", target: "hostile", range: "melee" },
stacking: null,
targetDispositions: []
},
disabled: false,
transfer: true,
statuses: [],
showIcon: 1,
flags: {}
}
]
},
{
id: "converge",
name: "Converge",
effect: "+1 to attack rolls",
cost: "Cost: 4 coils, 2 crystals, 5 gold, 3 discs",
img: "icons/equipment/chest/breastplate-metal-scaled-grey.webp",
effects: [
{
_id: "ikonisConvergeEff",
name: "Ikonis: Converge",
type: "base",
img: "icons/equipment/chest/breastplate-metal-scaled-grey.webp",
system: {
changes: [
{
key: "system.bonuses.roll.attack.bonus",
type: "add",
value: "1",
priority: null,
phase: "initial"
}
],
duration: { description: "", type: "" },
rangeDependence: { enabled: false, type: "withinRange", target: "hostile", range: "melee" },
stacking: null,
targetDispositions: []
},
disabled: false,
transfer: true,
statuses: [],
showIcon: 1,
flags: {}
}
]
},
{
id: "amplify",
name: "Amplify",
effect: "On a successful attack, roll an additional damage die and drop the lowest result.",
cost: "Cost: 4 crystals, 4 cobalt, 4 copper, 4 capacitors",
img: "icons/magic/deflect/shield-barrier-energy-pink.webp",
effects: [
{
_id: "ikonisAmplifyEff",
name: "Ikonis: Amplify",
type: "base",
img: "icons/magic/deflect/shield-barrier-energy-pink.webp",
system: {
changes: [
{
key: "system.bonuses.damage.primaryWeapon.dice",
type: "add",
value: "1",
priority: null,
phase: "initial"
}
],
duration: { description: "", type: "" },
rangeDependence: { enabled: false, type: "withinRange", target: "hostile", range: "melee" },
stacking: null,
targetDispositions: []
},
disabled: false,
transfer: true,
statuses: [],
showIcon: 1,
flags: {}
}
]
}
];

View file

@ -1,52 +1,4 @@
export const DEFAULT_AUGMENTS = [
{
id: "bonded",
name: "Bonded",
effect: "Primary module for Ikonis hardware synchronization.",
cost: "Cost: None",
img: "icons/magic/control/debuff-energy-hold-blue-yellow.webp",
effects: [
{
_id: "ikonisBondedEff",
name: "Ikonis: Bonded",
type: "base",
img: "icons/magic/control/debuff-energy-hold-blue-yellow.webp",
system: {
changes: [
{
key: "system.bonuses.damage.primaryWeapon.bonus",
type: "add",
value: "@tier",
priority: null,
phase: "initial"
}
],
duration: {
description: "",
type: ""
},
rangeDependence: {
enabled: false,
type: "withinRange",
target: "hostile",
range: "melee"
},
stacking: null,
targetDispositions: []
},
disabled: false,
transfer: true,
statuses: [],
showIcon: 1,
flags: {}
}
]
},
{ id: "force", name: "Force", effect: "+1 Damage on Melee attacks.", cost: "Cost: 2 Iron" },
{ id: "fire", name: "Fire", effect: "Deals Fire damage instead of Physical.", cost: "Cost: 1 Blaze Glass" },
{ id: "shield", name: "Shield", effect: "+1 Armor while equipped.", cost: "Cost: 2 Steel" },
{ id: "range", name: "Range", effect: "Increases Range by 1 step.", cost: "Cost: 1 Lens" }
];
import { DEFAULT_AUGMENTS } from './augments.js';
// Global caches for resolved features to keep getters fast
const _featureCache = new Map();