vagabond-rpg-foundryvtt/package.json
Cal Corum a7862bedd5 Implement class level-up system with Active Effects
- Add level-up dialog (ApplicationV2) showing features gained per level
- Class features with `changes` arrays auto-create Active Effects
- Valor I/II/III on Fighter reduces crit threshold cumulatively (-1/-2/-3)
- Perk selection UI in dialog (awaits perk compendium content)
- Fix duplicate item creation bug (was double drop handling)
- Configure proper dragDrop in ActorSheetV2 DEFAULT_OPTIONS
- Add ancestries and classes compendium packs with LevelDB format
- Docker compose PUID/PGID for proper file permissions

Key patterns established:
- Class progression stored in item.system.progression[]
- Features with changes[] become ActiveEffects on level-up
- applyClassFeatures() is idempotent (checks existing effects)
- updateClassFeatures() handles level changes incrementally

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-16 12:14:08 -06:00

56 lines
2.2 KiB
JSON

{
"name": "vagabond-foundryvtt",
"version": "0.1.0",
"description": "Foundry VTT system for Vagabond RPG",
"scripts": {
"build": "npm run build:css && npm run build:packs",
"build:css": "sass styles/scss/vagabond.scss styles/vagabond.css --style=compressed",
"build:packs": "fvtt package workon vagabond --type System && npm run build:pack:ancestries && npm run build:pack:classes && npm run build:pack:spells && npm run build:pack:perks",
"build:pack:ancestries": "fvtt package pack -n ancestries -t Item --in packs/_source/ancestries --out packs",
"build:pack:classes": "fvtt package pack -n classes -t Item --in packs/_source/classes --out packs",
"build:pack:spells": "fvtt package pack -n spells -t Item --in packs/_source/spells --out packs",
"build:pack:perks": "fvtt package pack -n perks -t Item --in packs/_source/perks --out packs",
"watch": "sass styles/scss/vagabond.scss styles/vagabond.css --watch --style=expanded --source-map",
"lint": "eslint module/",
"lint:fix": "eslint module/ --fix",
"format": "prettier --write \"module/**/*.mjs\" \"styles/**/*.scss\" \"lang/**/*.json\" \"*.json\" \"*.md\"",
"format:check": "prettier --check \"module/**/*.mjs\" \"styles/**/*.scss\" \"lang/**/*.json\" \"*.json\" \"*.md\"",
"prepare": "husky",
"release": "npm run build && zip -r vagabond.zip system.json module/ templates/ styles/vagabond.css lang/ packs/ assets/ LICENSE README.md"
},
"repository": {
"type": "git",
"url": "git+https://github.com/calcorum/vagabond-rpg-foundryvtt.git"
},
"author": "Cal Corum <cal.corum@gmail.com>",
"license": "MIT",
"bugs": {
"url": "https://github.com/calcorum/vagabond-rpg-foundryvtt/issues"
},
"homepage": "https://github.com/calcorum/vagabond-rpg-foundryvtt#readme",
"devDependencies": {
"@foundryvtt/foundryvtt-cli": "^3.0.2",
"eslint": "^8.57.0",
"husky": "^9.1.0",
"lint-staged": "^15.2.0",
"prettier": "^3.3.0",
"sass": "^1.69.0"
},
"lint-staged": {
"module/**/*.mjs": [
"eslint --fix",
"prettier --write"
],
"styles/**/*.scss": [
"prettier --write"
],
"lang/**/*.json": [
"prettier --write"
],
"*.{json,md}": [
"prettier --write"
]
},
"type": "module"
}