Compare commits

...

3 commits

Author SHA1 Message Date
164b35a002 chore(deps): update dependency eslint to v8.44.0 2023-07-10 00:03:34 +00:00
woodpecker[bot]
261d7a8b5a chore(release): 1.3.3
All checks were successful
ci/woodpecker/tag/checks Pipeline was successful
ci/woodpecker/push/checks Pipeline was successful
ci/woodpecker/tag/publish Pipeline was successful
2023-07-09 23:04:19 +00:00
704798cc27
fix: use correct tick value for combatants joining later
All checks were successful
ci/woodpecker/pr/checks Pipeline was successful
ci/woodpecker/manual/checks Pipeline was successful
ci/woodpecker/push/checks Pipeline was successful
ci/woodpecker/manual/release Pipeline was successful
2023-07-10 01:01:38 +02:00
6 changed files with 149 additions and 139 deletions

View file

@ -1,44 +1,44 @@
{ {
"id": "tickwerk", "id": "tickwerk",
"title": "Tickwerk", "title": "Tickwerk",
"description": "A tick based combat system for Foundry Virtual Tabletop", "description": "A tick based combat system for Foundry Virtual Tabletop",
"authors": [ "authors": [
{ {
"name": "Johannes Loher", "name": "Johannes Loher",
"email": "johannes.loher@fg4f.de", "email": "johannes.loher@fg4f.de",
"discord": "ghost#2000", "discord": "ghost#2000",
"ko-fi": "ghostfvtt" "ko-fi": "ghostfvtt"
} }
], ],
"url": "https://git.f3l.de/dungeonslayers/tickwerk", "url": "https://git.f3l.de/dungeonslayers/tickwerk",
"license": "https://git.f3l.de/dungeonslayers/tickwerk/raw/tag/1.3.2/LICENSE.md", "license": "https://git.f3l.de/dungeonslayers/tickwerk/raw/tag/1.3.3/LICENSE.md",
"readme": "https://git.f3l.de/dungeonslayers/tickwerk/raw/tag/1.3.2/README.md", "readme": "https://git.f3l.de/dungeonslayers/tickwerk/raw/tag/1.3.3/README.md",
"bugs": "https://git.f3l.de/dungeonslayers/tickwerk/issues", "bugs": "https://git.f3l.de/dungeonslayers/tickwerk/issues",
"changelog": "https://git.f3l.de/dungeonslayers/tickwerk/releases/tag/1.3.2", "changelog": "https://git.f3l.de/dungeonslayers/tickwerk/releases/tag/1.3.3",
"version": "1.3.2", "version": "1.3.3",
"compatibility": { "compatibility": {
"minimum": "10.290", "minimum": "10.290",
"verified": "10" "verified": "10"
},
"esmodules": [
"tickwerk.js"
],
"styles": [
"styles/tickwerk.css"
],
"languages": [
{
"lang": "en",
"name": "English",
"path": "lang/en.json"
}, },
"esmodules": [ {
"tickwerk.js" "lang": "de",
], "name": "Deutsch",
"styles": [ "path": "lang/de.json"
"styles/tickwerk.css" }
], ],
"languages": [ "manifest": "https://git.f3l.de/api/packages/dungeonslayers/generic/tickwerk/latest/module.json",
{ "download": "https://git.f3l.de/dungeonslayers/tickwerk/releases/download/1.3.3/tickwerk.zip",
"lang": "en", "manifestPlusVersion": "1.2.0"
"name": "English",
"path": "lang/en.json"
},
{
"lang": "de",
"name": "Deutsch",
"path": "lang/de.json"
}
],
"manifest": "https://git.f3l.de/api/packages/dungeonslayers/generic/tickwerk/latest/module.json",
"download": "https://git.f3l.de/dungeonslayers/tickwerk/releases/download/1.3.2/tickwerk.zip",
"manifestPlusVersion": "1.2.0"
} }

View file

@ -1,58 +1,58 @@
{ {
"private": true, "private": true,
"name": "tickwerk", "name": "tickwerk",
"description": "A tick based combat system for Foundry Virtual Tabletop", "description": "A tick based combat system for Foundry Virtual Tabletop",
"version": "1.3.2", "version": "1.3.3",
"license": "https://git.f3l.de/dungeonslayers/tickwerk#licensing", "license": "https://git.f3l.de/dungeonslayers/tickwerk#licensing",
"homepage": "https://git.f3l.de/dungeonslayers/tickwerk", "homepage": "https://git.f3l.de/dungeonslayers/tickwerk",
"repository": { "repository": {
"type": "git", "type": "git",
"url": "https://git.f3l.de/dungeonslayers/tickwerk" "url": "https://git.f3l.de/dungeonslayers/tickwerk"
}, },
"bugs": { "bugs": {
"url": "https://git.f3l.de/dungeonslayers/tickwerk/issues" "url": "https://git.f3l.de/dungeonslayers/tickwerk/issues"
}, },
"contributors": [ "contributors": [
{ {
"name": "Johannes Loher", "name": "Johannes Loher",
"email": "johannes.loher@fg4f.de" "email": "johannes.loher@fg4f.de"
} }
], ],
"type": "module", "type": "module",
"scripts": { "scripts": {
"build": "run-s clean:files build:files", "build": "run-s clean:files build:files",
"build:files": "rollup -c", "build:files": "rollup -c",
"watch": "rollup -c -w", "watch": "rollup -c -w",
"link-package": "node ./tools/link-package.js", "link-package": "node ./tools/link-package.js",
"clean": "run-p clean:files clean:link", "clean": "run-p clean:files clean:link",
"clean:files": "rimraf dist", "clean:files": "rimraf dist",
"clean:link": "node ./tools/link-package.js --clean", "clean:link": "node ./tools/link-package.js --clean",
"lint": "eslint --ext .js,.cjs,.mjs .", "lint": "eslint --ext .js,.cjs,.mjs .",
"lint:fix": "eslint --ext .js,.cjs,.mjs --fix .", "lint:fix": "eslint --ext .js,.cjs,.mjs --fix .",
"format": "prettier --write \"./**/*.(js|cjs|mjs|json|scss|yml)\"", "format": "prettier --write \"./**/*.(js|cjs|mjs|json|scss|yml)\"",
"bump-version": "node ./tools/bump-version.js", "bump-version": "node ./tools/bump-version.js",
"changelog": "conventional-changelog -p conventionalcommits -o CHANGELOG.md -r 2" "changelog": "conventional-changelog -p conventionalcommits -o CHANGELOG.md -r 2"
}, },
"devDependencies": { "devDependencies": {
"@commitlint/cli": "17.6.5", "@commitlint/cli": "17.6.5",
"@commitlint/config-conventional": "17.6.5", "@commitlint/config-conventional": "17.6.5",
"@guanghechen/rollup-plugin-copy": "5.0.1", "@guanghechen/rollup-plugin-copy": "5.0.1",
"@swc/core": "1.3.62", "@swc/core": "1.3.62",
"conventional-changelog-cli": "2.2.2", "conventional-changelog-cli": "2.2.2",
"conventional-changelog-conventionalcommits": "5.0.0", "conventional-changelog-conventionalcommits": "5.0.0",
"eslint": "8.42.0", "eslint": "8.44.0",
"eslint-config-prettier": "8.8.0", "eslint-config-prettier": "8.8.0",
"eslint-plugin-prettier": "4.2.1", "eslint-plugin-prettier": "4.2.1",
"fs-extra": "11.1.1", "fs-extra": "11.1.1",
"npm-run-all": "4.1.5", "npm-run-all": "4.1.5",
"prettier": "2.8.8", "prettier": "2.8.8",
"rimraf": "5.0.1", "rimraf": "5.0.1",
"rollup": "3.23.0", "rollup": "3.23.0",
"rollup-plugin-styles": "4.0.0", "rollup-plugin-styles": "4.0.0",
"rollup-plugin-swc3": "0.8.2", "rollup-plugin-swc3": "0.8.2",
"sass": "1.62.1", "sass": "1.62.1",
"semver": "7.5.1", "semver": "7.5.1",
"yargs": "17.7.2" "yargs": "17.7.2"
}, },
"packageManager": "yarn@3.6.0" "packageManager": "yarn@3.6.0"
} }

View file

@ -42,7 +42,7 @@ const CombatantMixin = (BaseCombatant) => {
*/ */
toggleWaiting() { toggleWaiting() {
const update = { [`flags.${packageId}.waiting`]: !this.waiting }; const update = { [`flags.${packageId}.waiting`]: !this.waiting };
if (this.parent?.started && this.waiting) update.initiative = this.parent?.round; if (this.parent?.started && this.waiting) update.initiative = this.parent?.tickValue;
return this.update(update); return this.update(update);
} }
@ -66,7 +66,8 @@ const CombatantMixin = (BaseCombatant) => {
} }
await this.update({ initiative: this.initiative + ticks }); await this.update({ initiative: this.initiative + ticks });
const advanceTime = ticks * CONFIG.time.roundTime; const tickTime = CONFIG.tickwerk?.tickTime;
const advanceTime = tickTime !== undefined ? ticks * tickTime : undefined;
if (advanceTime !== 0) { if (advanceTime !== 0) {
await this.combat?.update(undefined, { diff: false, advanceTime }); await this.combat?.update(undefined, { diff: false, advanceTime });
} }

View file

@ -7,7 +7,7 @@ import { getGame } from '../helpers';
export const registerDS4SpecificFunctionality = () => { export const registerDS4SpecificFunctionality = () => {
if (CONFIG.tickwerk === undefined) CONFIG.tickwerk = {}; if (CONFIG.tickwerk === undefined) CONFIG.tickwerk = {};
foundry.utils.mergeObject(CONFIG.tickwerk, { getTiebreaker, getInitiativeFormula }); foundry.utils.mergeObject(CONFIG.tickwerk, { getTiebreaker, getInitiativeFormula, tickTime: 0.5 });
registerRollItemSetting(); registerRollItemSetting();
Hooks.on('ds4.rollItem', onRollItem); Hooks.on('ds4.rollItem', onRollItem);
@ -71,7 +71,7 @@ const getTiebreaker = async (combatant, combatants) => {
const getInitiativeFormula = (combatant) => { const getInitiativeFormula = (combatant) => {
const started = combatant.combat?.started ?? false; const started = combatant.combat?.started ?? false;
if (!started) return '-@combatValues.initiative.total'; if (!started) return '-@combatValues.initiative.total';
const tickValue = combatant.combat?.round ?? 0; const tickValue = combatant.combat?.tickValue ?? 0;
return `max(${tickValue} + 10 - @combatValues.initiative.total, ${tickValue})`; return `max(${tickValue} + 10 - @combatValues.initiative.total, ${tickValue})`;
}; };

View file

@ -81,7 +81,7 @@ function bumpVersion(release) {
console.log(`Bumping version number to '${targetVersion}'`); console.log(`Bumping version number to '${targetVersion}'`);
packageJson.version = targetVersion; packageJson.version = targetVersion;
fs.writeJSONSync('package.json', packageJson, { spaces: 4 }); fs.writeJSONSync('package.json', packageJson, { spaces: 2 });
manifest.version = targetVersion; manifest.version = targetVersion;
manifest.url = repositoryURL; manifest.url = repositoryURL;
manifest.manifest = getManifestUrl(getChannel(targetVersion)); manifest.manifest = getManifestUrl(getChannel(targetVersion));
@ -90,7 +90,7 @@ function bumpVersion(release) {
manifest.changelog = getChangelogURL(targetVersion); manifest.changelog = getChangelogURL(targetVersion);
manifest.readme = getReadmeURL(targetVersion); manifest.readme = getReadmeURL(targetVersion);
manifest.license = getLicenseURL(targetVersion); manifest.license = getLicenseURL(targetVersion);
fs.writeJSONSync(manifestPath, manifest, { spaces: 4 }); fs.writeJSONSync(manifestPath, manifest, { spaces: 2 });
} }
const argv = yargs(hideBin(process.argv)).usage('Usage: $0').option('release', { const argv = yargs(hideBin(process.argv)).usage('Usage: $0').option('release', {

View file

@ -5,6 +5,13 @@ __metadata:
version: 6 version: 6
cacheKey: 8 cacheKey: 8
"@aashutoshrathi/word-wrap@npm:^1.2.3":
version: 1.2.6
resolution: "@aashutoshrathi/word-wrap@npm:1.2.6"
checksum: ada901b9e7c680d190f1d012c84217ce0063d8f5c5a7725bb91ec3c5ed99bb7572680eb2d2938a531ccbaec39a95422fcd8a6b4a13110c7d98dd75402f66a0cd
languageName: node
linkType: hard
"@babel/code-frame@npm:^7.0.0": "@babel/code-frame@npm:^7.0.0":
version: 7.21.4 version: 7.21.4
resolution: "@babel/code-frame@npm:7.21.4" resolution: "@babel/code-frame@npm:7.21.4"
@ -256,27 +263,27 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"@eslint/eslintrc@npm:^2.0.3": "@eslint/eslintrc@npm:^2.1.0":
version: 2.0.3 version: 2.1.0
resolution: "@eslint/eslintrc@npm:2.0.3" resolution: "@eslint/eslintrc@npm:2.1.0"
dependencies: dependencies:
ajv: ^6.12.4 ajv: ^6.12.4
debug: ^4.3.2 debug: ^4.3.2
espree: ^9.5.2 espree: ^9.6.0
globals: ^13.19.0 globals: ^13.19.0
ignore: ^5.2.0 ignore: ^5.2.0
import-fresh: ^3.2.1 import-fresh: ^3.2.1
js-yaml: ^4.1.0 js-yaml: ^4.1.0
minimatch: ^3.1.2 minimatch: ^3.1.2
strip-json-comments: ^3.1.1 strip-json-comments: ^3.1.1
checksum: ddc51f25f8524d8231db9c9bf03177e503d941a332e8d5ce3b10b09241be4d5584a378a529a27a527586bfbccf3031ae539eb891352033c340b012b4d0c81d92 checksum: d5ed0adbe23f6571d8c9bb0ca6edf7618dc6aed4046aa56df7139f65ae7b578874e0d9c796df784c25bda648ceb754b6320277d828c8b004876d7443b8dc018c
languageName: node languageName: node
linkType: hard linkType: hard
"@eslint/js@npm:8.42.0": "@eslint/js@npm:8.44.0":
version: 8.42.0 version: 8.44.0
resolution: "@eslint/js@npm:8.42.0" resolution: "@eslint/js@npm:8.44.0"
checksum: 750558843ac458f7da666122083ee05306fc087ecc1e5b21e7e14e23885775af6c55bcc92283dff1862b7b0d8863ec676c0f18c7faf1219c722fe91a8ece56b6 checksum: fc539583226a28f5677356e9f00d2789c34253f076643d2e32888250e509a4e13aafe0880cb2425139051de0f3a48d25bfc5afa96b7304f203b706c17340e3cf
languageName: node languageName: node
linkType: hard linkType: hard
@ -704,7 +711,7 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"acorn@npm:^8.4.1, acorn@npm:^8.8.0": "acorn@npm:^8.4.1":
version: 8.8.2 version: 8.8.2
resolution: "acorn@npm:8.8.2" resolution: "acorn@npm:8.8.2"
bin: bin:
@ -713,6 +720,15 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"acorn@npm:^8.9.0":
version: 8.10.0
resolution: "acorn@npm:8.10.0"
bin:
acorn: bin/acorn
checksum: 538ba38af0cc9e5ef983aee196c4b8b4d87c0c94532334fa7e065b2c8a1f85863467bb774231aae91613fcda5e68740c15d97b1967ae3394d20faddddd8af61d
languageName: node
linkType: hard
"add-stream@npm:^1.0.0": "add-stream@npm:^1.0.0":
version: 1.0.0 version: 1.0.0
resolution: "add-stream@npm:1.0.0" resolution: "add-stream@npm:1.0.0"
@ -1935,14 +1951,14 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"eslint@npm:8.42.0": "eslint@npm:8.44.0":
version: 8.42.0 version: 8.44.0
resolution: "eslint@npm:8.42.0" resolution: "eslint@npm:8.44.0"
dependencies: dependencies:
"@eslint-community/eslint-utils": ^4.2.0 "@eslint-community/eslint-utils": ^4.2.0
"@eslint-community/regexpp": ^4.4.0 "@eslint-community/regexpp": ^4.4.0
"@eslint/eslintrc": ^2.0.3 "@eslint/eslintrc": ^2.1.0
"@eslint/js": 8.42.0 "@eslint/js": 8.44.0
"@humanwhocodes/config-array": ^0.11.10 "@humanwhocodes/config-array": ^0.11.10
"@humanwhocodes/module-importer": ^1.0.1 "@humanwhocodes/module-importer": ^1.0.1
"@nodelib/fs.walk": ^1.2.8 "@nodelib/fs.walk": ^1.2.8
@ -1954,7 +1970,7 @@ __metadata:
escape-string-regexp: ^4.0.0 escape-string-regexp: ^4.0.0
eslint-scope: ^7.2.0 eslint-scope: ^7.2.0
eslint-visitor-keys: ^3.4.1 eslint-visitor-keys: ^3.4.1
espree: ^9.5.2 espree: ^9.6.0
esquery: ^1.4.2 esquery: ^1.4.2
esutils: ^2.0.2 esutils: ^2.0.2
fast-deep-equal: ^3.1.3 fast-deep-equal: ^3.1.3
@ -1974,24 +1990,24 @@ __metadata:
lodash.merge: ^4.6.2 lodash.merge: ^4.6.2
minimatch: ^3.1.2 minimatch: ^3.1.2
natural-compare: ^1.4.0 natural-compare: ^1.4.0
optionator: ^0.9.1 optionator: ^0.9.3
strip-ansi: ^6.0.1 strip-ansi: ^6.0.1
strip-json-comments: ^3.1.0 strip-json-comments: ^3.1.0
text-table: ^0.2.0 text-table: ^0.2.0
bin: bin:
eslint: bin/eslint.js eslint: bin/eslint.js
checksum: 07105397b5f2ff4064b983b8971e8c379ec04b1dfcc9d918976b3e00377189000161dac991d82ba14f8759e466091b8c71146f602930ca810c290ee3fcb3faf0 checksum: d06309ce4aafb9d27d558c8e5e5aa5cba3bbec3ce8ceccbc7d4b7a35f2b67fd40189159155553270e2e6febeb69bd8a3b60d6241c8f5ddc2ef1702ccbd328501
languageName: node languageName: node
linkType: hard linkType: hard
"espree@npm:^9.5.2": "espree@npm:^9.6.0":
version: 9.5.2 version: 9.6.0
resolution: "espree@npm:9.5.2" resolution: "espree@npm:9.6.0"
dependencies: dependencies:
acorn: ^8.8.0 acorn: ^8.9.0
acorn-jsx: ^5.3.2 acorn-jsx: ^5.3.2
eslint-visitor-keys: ^3.4.1 eslint-visitor-keys: ^3.4.1
checksum: 6506289d6eb26471c0b383ee24fee5c8ae9d61ad540be956b3127be5ce3bf687d2ba6538ee5a86769812c7c552a9d8239e8c4d150f9ea056c6d5cbe8399c03c1 checksum: 1287979510efb052a6a97c73067ea5d0a40701b29adde87bbe2d3eb1667e39ca55e8129e20e2517fed3da570150e7ef470585228459a8f3e3755f45007a1c662
languageName: node languageName: node
linkType: hard linkType: hard
@ -3793,17 +3809,17 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"optionator@npm:^0.9.1": "optionator@npm:^0.9.3":
version: 0.9.1 version: 0.9.3
resolution: "optionator@npm:0.9.1" resolution: "optionator@npm:0.9.3"
dependencies: dependencies:
"@aashutoshrathi/word-wrap": ^1.2.3
deep-is: ^0.1.3 deep-is: ^0.1.3
fast-levenshtein: ^2.0.6 fast-levenshtein: ^2.0.6
levn: ^0.4.1 levn: ^0.4.1
prelude-ls: ^1.2.1 prelude-ls: ^1.2.1
type-check: ^0.4.0 type-check: ^0.4.0
word-wrap: ^1.2.3 checksum: 09281999441f2fe9c33a5eeab76700795365a061563d66b098923eb719251a42bdbe432790d35064d0816ead9296dbeb1ad51a733edf4167c96bd5d0882e428a
checksum: dbc6fa065604b24ea57d734261914e697bd73b69eff7f18e967e8912aa2a40a19a9f599a507fa805be6c13c24c4eae8c71306c239d517d42d4c041c942f508a0
languageName: node languageName: node
linkType: hard linkType: hard
@ -5330,7 +5346,7 @@ __metadata:
"@swc/core": 1.3.62 "@swc/core": 1.3.62
conventional-changelog-cli: 2.2.2 conventional-changelog-cli: 2.2.2
conventional-changelog-conventionalcommits: 5.0.0 conventional-changelog-conventionalcommits: 5.0.0
eslint: 8.42.0 eslint: 8.44.0
eslint-config-prettier: 8.8.0 eslint-config-prettier: 8.8.0
eslint-plugin-prettier: 4.2.1 eslint-plugin-prettier: 4.2.1
fs-extra: 11.1.1 fs-extra: 11.1.1
@ -5635,13 +5651,6 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"word-wrap@npm:^1.2.3":
version: 1.2.3
resolution: "word-wrap@npm:1.2.3"
checksum: 30b48f91fcf12106ed3186ae4fa86a6a1842416df425be7b60485de14bec665a54a68e4b5156647dec3a70f25e84d270ca8bc8cd23182ed095f5c7206a938c1f
languageName: node
linkType: hard
"wordwrap@npm:^1.0.0": "wordwrap@npm:^1.0.0":
version: 1.0.0 version: 1.0.0
resolution: "wordwrap@npm:1.0.0" resolution: "wordwrap@npm:1.0.0"