Compare commits

...

102 commits

Author SHA1 Message Date
woodpecker[bot]
fca0231729 chore(release): 1.21.0 2023-09-16 09:00:32 +00:00
6f9b98ffc2
chore: update vscode launch config 2023-09-16 10:56:22 +02:00
978301eab1
feat: allow using String.prototype.includes in item effect filters 2023-09-16 10:56:21 +02:00
f4585f4254 chore(deps): update dependency @types/node to v18.17.17 2023-09-16 07:00:42 +00:00
4d67dfec31 chore(deps): update dependency @types/jquery to v3.5.19 2023-09-15 21:00:39 +00:00
06b8d9073e chore(deps): update dependency rollup to v3.29.2 2023-09-15 20:00:37 +00:00
11bd84b0a1 chore(deps): update dependency @types/node to v18.17.16 2023-09-15 09:00:48 +00:00
cd57b158fb chore(deps): update dependency @swc/core to v1.3.85 2023-09-15 08:00:35 +00:00
cdb4bad665 chore(deps): update dependency @types/fs-extra to v11.0.2 2023-09-14 16:00:39 +00:00
80cf0949e5 chore(deps): update dependency sass to v1.67.0 2023-09-14 01:00:42 +00:00
edf04be4a4 chore(deps): update typescript-eslint monorepo to v6.7.0 2023-09-11 18:00:39 +00:00
ed8caf0b33 chore(deps): update dependency @swc/core to v1.3.84 2023-09-11 16:00:33 +00:00
3acbc37436 chore(deps): update pnpm to v8.7.5 2023-09-11 13:00:28 +00:00
42b9a10c54 chore(deps): update dependency rollup to v3.29.1 2023-09-10 07:00:39 +00:00
71fdcd6e5b chore(deps): update dependency conventional-changelog-cli to v4.1.0 2023-09-09 00:00:43 +00:00
e021ceaca6 chore(deps): update dependency conventional-changelog-conventionalcommits to v7.0.2 2023-09-08 23:00:47 +00:00
ff81653043 chore(deps): update dependency @types/node to v18.17.15 2023-09-08 22:00:46 +00:00
0f37ad31e5 chore(deps): update dependency eslint to v8.49.0 2023-09-08 21:00:42 +00:00
fedaf800b4 chore(deps): update dependency vitest to v0.34.4 2023-09-08 11:00:38 +00:00
44c0efb5f0 chore(deps): update dependency @guanghechen/rollup-plugin-copy to v5.0.7 2023-09-07 13:00:34 +00:00
9a7801f0a6 chore(deps): update dependency @swc/core to v1.3.83 2023-09-07 03:00:43 +00:00
403ba3811d chore(deps): update dependency rollup to v3.29.0 2023-09-06 06:00:35 +00:00
8f0e02f3c3 chore(deps): update pnpm to v8.7.4 2023-09-05 23:00:31 +00:00
88cab45702 chore(deps): update typescript-eslint monorepo to v6.6.0 2023-09-04 18:00:38 +00:00
7e4bff0127 chore(deps): update pnpm to v8.7.3 2023-09-04 16:00:27 +00:00
aaa4bd42a4 chore(deps): update dependency @types/node to v18.17.14 2023-09-02 21:00:42 +00:00
cc65079f30 chore(deps): update dependency @types/node to v18.17.13 2023-09-01 22:00:49 +00:00
76f4cd2862 chore(deps): update dependency @types/jquery to v3.5.18 2023-09-01 21:00:37 +00:00
6b0cf2f3fa chore(deps): update dependency @swc/core to v1.3.82 2023-09-01 04:00:41 +00:00
df8049f5d4 chore(deps): update pnpm to v8.7.1 2023-08-31 16:00:31 +00:00
91ec7ef7b4 chore(deps): update dependency @swc/core to v1.3.81 2023-08-30 14:00:32 +00:00
88d879b6d4 chore(deps): update dependency prettier to v3.0.3 2023-08-29 13:00:36 +00:00
fb639af41c chore(deps): update typescript-eslint monorepo to v6.5.0 2023-08-28 18:00:36 +00:00
339cba776d chore(deps): update dependency @types/node to v18.17.12 2023-08-28 01:00:37 +00:00
9bb1c6e76b chore(deps): update dependency conventional-changelog-conventionalcommits to v7.0.1 2023-08-27 20:00:39 +00:00
4885653dc8 chore(deps): update dependency conventional-changelog-conventionalcommits to v7 2023-08-27 15:00:52 +00:00
85ffdf814d chore(deps): update dependency conventional-changelog-cli to v4 2023-08-27 14:00:37 +00:00
01f4d8116e chore(deps): update dependency @guanghechen/rollup-plugin-copy to v5.0.6 2023-08-27 12:00:39 +00:00
733d8f2bb8 chore(deps): update dependency rollup-plugin-swc3 to v0.10.1 2023-08-27 10:01:20 +00:00
492dbe96cb chore(deps): update pnpm to v8.7.0 2023-08-26 19:00:30 +00:00
10e706c03c chore(deps): update dependency eslint to v8.48.0 2023-08-25 21:00:39 +00:00
c68d973cd0 chore(deps): update dependency @swc/core to v1.3.80 2023-08-25 16:00:40 +00:00
c2231d1a69 chore(deps): update dependency vitest to v0.34.3 2023-08-25 08:02:17 +00:00
d303957624 chore(deps): update dependency @swc/core to v1.3.79 2023-08-25 08:00:36 +00:00
c29b62c6c5 chore(deps): update dependency @types/node to v18.17.11 2023-08-24 23:00:38 +00:00
9ba7c8aeea chore(deps): update dependency @types/node to v18.17.10 2023-08-24 22:00:42 +00:00
6d3d2b0c5d chore(deps): update dependency typescript to v5.2.2 2023-08-24 17:00:42 +00:00
fe884ef6f4 chore(deps): update dependency @types/node to v18.17.9 2023-08-23 22:00:57 +00:00
962e82c407 chore(deps): update dependency @types/node to v18.17.8 2023-08-22 20:01:28 +00:00
b8fb2ee223 chore(deps): update dependency @types/jquery to v3.5.17 2023-08-22 19:00:53 +00:00
68fd47ed8b chore(deps): update dependency @types/node to v18.17.7 2023-08-22 10:00:51 +00:00
88724ed50e chore(deps): update dependency rollup to v3.28.1 2023-08-22 06:00:52 +00:00
92b6a83de7 chore(deps): update typescript-eslint monorepo to v6.4.1 2023-08-21 18:00:48 +00:00
7859b512f7 chore(deps): update dependency @guanghechen/rollup-plugin-copy to v5.0.5 2023-08-19 09:00:50 +00:00
fc9a3a1b4b chore(deps): update dependency sass to v1.66.1 2023-08-18 23:00:46 +00:00
8bd13d592b chore(deps): update dependency tslib to v2.6.2 2023-08-18 19:01:31 +00:00
42867e42cd chore(deps): update dependency @types/node to v18.17.6 2023-08-18 18:00:47 +00:00
ca2e8f03ca chore(deps): update dependency @swc/core to v1.3.78 2023-08-17 21:01:33 +00:00
8c0e49bc90 chore(deps): update dependency sass to v1.66.0 2023-08-17 20:00:53 +00:00
3b519d3f92 chore(deps): update dependency vitest to v0.34.2 2023-08-17 11:00:46 +00:00
c2e1070906 chore(deps): update dependency @swc/core to v1.3.77 2023-08-16 04:00:52 +00:00
e00be5c3fb chore(deps): update dependency prettier to v3.0.2 2023-08-15 16:00:53 +00:00
6648e3f6c8 chore(deps): update typescript-eslint monorepo to v6.4.0 2023-08-14 18:00:47 +00:00
e7ad161846 chore(deps): update dependency @types/node to v18.17.5 2023-08-11 20:00:47 +00:00
a96f9118de chore(deps): update dependency eslint to v8.47.0 2023-08-11 16:00:45 +00:00
904502b8bb chore(deps): update dependency @swc/core to v1.3.76 2023-08-10 10:00:48 +00:00
c707159a40 chore(deps): update dependency @commitlint/cli to v17.7.1 2023-08-10 06:00:50 +00:00
ea26d5b583 chore(deps): update dependency sass to v1.65.1 2023-08-09 23:00:47 +00:00
e499689a8d chore(deps): update dependency rollup to v3.28.0 2023-08-09 11:01:22 +00:00
9a9c1eaef3 chore(deps): update commitlint monorepo to v17.7.0 2023-08-09 10:00:47 +00:00
be7a091a52 chore(deps): update dependency @types/node to v18.17.4 2023-08-08 21:00:53 +00:00
3a0c197116 chore(deps): update dependency @guanghechen/rollup-plugin-copy to v5.0.4 2023-08-08 15:00:45 +00:00
cef0d8e945 chore(deps): update dependency @swc/core to v1.3.75 2023-08-08 07:00:48 +00:00
656beeda4f chore(deps): update typescript-eslint monorepo to v6.3.0 2023-08-07 18:00:47 +00:00
13d2662e6f chore(deps): update dependency vite to v4.4.9 2023-08-07 10:00:44 +00:00
f1b6168b48 chore(deps): update pnpm to v8.6.12 2023-08-06 12:00:39 +00:00
2b496ea51c chore(deps): update dependency eslint-config-prettier to v9 2023-08-05 20:00:46 +00:00
5be8163ef8 chore(deps): update dependency @types/node to v18.17.3 2023-08-05 11:00:43 +00:00
5312a1f491 chore(deps): update dependency rollup to v3.27.2 2023-08-04 12:00:47 +00:00
b78837b4ab chore(deps): update dependency @types/node to v18.17.2 2023-08-04 01:00:46 +00:00
2ee39d87f9 chore(deps): update dependency rollup to v3.27.1 2023-08-03 10:00:43 +00:00
cbc425987f chore(deps): update dependency eslint-config-prettier to v8.10.0 2023-08-03 08:01:38 +00:00
b3aefad5bb chore(deps): update dependency prettier to v3.0.1 2023-08-03 07:00:53 +00:00
6b5e86e435 chore(deps): update dependency @swc/core to v1.3.74 2023-08-03 00:00:49 +00:00
0ca0f6316a chore(deps): update dependency handlebars to v4.7.8 2023-08-01 22:00:52 +00:00
7bc966b96b chore(deps): update dependency vitest to v0.34.1 2023-08-01 17:00:50 +00:00
d3eff79fdb chore(deps): update dependency vite to v4.4.8 2023-08-01 13:00:44 +00:00
bfd188219f chore(deps): update dependency @swc/core to v1.3.73 2023-08-01 06:00:50 +00:00
0963970e35 chore(deps): update dependency sass to v1.64.2 2023-08-01 00:00:49 +00:00
2d8466855f chore(deps): update typescript-eslint monorepo to v6.2.1 2023-07-31 18:00:51 +00:00
77107f821f chore(deps): update pnpm to v8.6.11 2023-07-30 19:00:36 +00:00
d7da777f70 chore(deps): update dependency @swc/core to v1.3.72 2023-07-28 22:00:57 +00:00
eb312797da chore(deps): update dependency eslint to v8.46.0 2023-07-28 17:00:50 +00:00
4944362a16 chore(deps): update dependency rollup to v3.27.0 2023-07-28 15:00:48 +00:00
71da509c88 chore(deps): update dependency eslint-config-prettier to v8.9.0 2023-07-27 12:00:51 +00:00
e8fa60cfd6 chore(deps): update typescript-eslint monorepo to v6.2.0 2023-07-27 07:01:41 +00:00
eda2f1f86d chore(deps): update pnpm to v8.6.10 2023-07-27 06:01:13 +00:00
81a64cbdbf chore(deps): update dependency vite to v4.4.7 2023-07-27 05:01:24 +00:00
aaab3dc237 chore(deps): update dependency tslib to v2.6.1 2023-07-27 04:01:22 +00:00
29b6feffce chore(deps): update dependency @types/node to v18.17.1 2023-07-27 03:01:29 +00:00
7fe2ec7812 chore(deps): update dependency @swc/core to v1.3.71 2023-07-27 02:01:26 +00:00
b7b0379183 chore(deps): update dependency @guanghechen/rollup-plugin-copy to v5.0.3 2023-07-27 01:00:49 +00:00
6 changed files with 613 additions and 641 deletions
.vscode
package.jsonpnpm-lock.yaml
src
documents/actor
expression-evaluation
system.json

6
.vscode/launch.json vendored
View file

@ -5,12 +5,14 @@
"version": "0.2.0",
"configurations": [
{
"type": "pwa-chrome",
"type": "chrome",
"request": "launch",
"runtimeExecutable": "/usr/bin/chromium",
"name": "Launch Chrome against localhost",
"url": "http://localhost:30000/game",
"webRoot": "${workspaceFolder}/dist"
"pathMapping": {
"/systems/ds4": "${workspaceFolder}/dist"
}
}
]
}

View file

@ -2,7 +2,7 @@
"private": true,
"name": "dungeonslayers4",
"description": "An implementation of the Dungeonslayers 4 game system for Foundry Virtual Tabletop.",
"version": "1.20.0",
"version": "1.21.0",
"license": "https://git.f3l.de/dungeonslayers/ds4#licensing",
"homepage": "https://git.f3l.de/dungeonslayers/ds4",
"repository": {
@ -63,35 +63,35 @@
"changelog": "conventional-changelog -p conventionalcommits -o CHANGELOG.md -r 2"
},
"devDependencies": {
"@commitlint/cli": "17.6.7",
"@commitlint/config-conventional": "17.6.7",
"@commitlint/cli": "17.7.1",
"@commitlint/config-conventional": "17.7.0",
"@foundryvtt/foundryvtt-cli": "0.0.9",
"@guanghechen/rollup-plugin-copy": "5.0.2",
"@guanghechen/rollup-plugin-copy": "5.0.7",
"@ironkinoko/rollup-plugin-styles": "4.0.3",
"@swc/core": "1.3.70",
"@types/fs-extra": "11.0.1",
"@types/jquery": "3.5.16",
"@types/node": "18.17.0",
"@typescript-eslint/eslint-plugin": "6.1.0",
"@typescript-eslint/parser": "6.1.0",
"conventional-changelog-cli": "3.0.0",
"conventional-changelog-conventionalcommits": "6.1.0",
"eslint": "8.45.0",
"eslint-config-prettier": "8.8.0",
"@swc/core": "1.3.85",
"@types/fs-extra": "11.0.2",
"@types/jquery": "3.5.19",
"@types/node": "18.17.17",
"@typescript-eslint/eslint-plugin": "6.7.0",
"@typescript-eslint/parser": "6.7.0",
"conventional-changelog-cli": "4.1.0",
"conventional-changelog-conventionalcommits": "7.0.2",
"eslint": "8.49.0",
"eslint-config-prettier": "9.0.0",
"fs-extra": "11.1.1",
"handlebars": "4.7.7",
"handlebars": "4.7.8",
"npm-run-all": "4.1.5",
"prettier": "3.0.0",
"prettier": "3.0.3",
"rimraf": "5.0.1",
"rollup": "3.26.3",
"rollup-plugin-swc3": "0.9.1",
"sass": "1.64.1",
"rollup": "3.29.2",
"rollup-plugin-swc3": "0.10.1",
"sass": "1.67.0",
"semver": "7.5.4",
"tslib": "2.6.0",
"typescript": "5.1.6",
"vite": "4.4.6",
"vitest": "0.33.0",
"tslib": "2.6.2",
"typescript": "5.2.2",
"vite": "4.4.9",
"vitest": "0.34.4",
"yargs": "17.7.2"
},
"packageManager": "pnpm@8.6.9"
"packageManager": "pnpm@8.7.5"
}

File diff suppressed because it is too large Load diff

View file

@ -5,7 +5,8 @@
import { DS4 } from "../../config";
import { createCheckRoll } from "../../dice/check-factory";
import { mathEvaluator } from "../../expression-evaluation/evaluator";
import { Evaluator } from "../../expression-evaluation/evaluator";
import { Validator } from "../../expression-evaluation/validator";
import { logger } from "../../utils/logger";
import { getGame } from "../../utils/utils";
import { DS4ActiveEffect } from "../active-effect";
@ -59,7 +60,7 @@ export class DS4Actor extends Actor {
}
/**
* The effects that should be applioed to this actor.
* The effects that should be applied to this actor.
* @type {import("../active-effect").DS4ActiveEffect[]}
* @protected
*/
@ -90,7 +91,7 @@ export class DS4Actor extends Actor {
if (condition !== undefined && condition !== "") {
try {
const replacedCondition = DS4Actor.replaceFormulaData(condition, { item, actor: this, effect });
return replacedCondition !== undefined ? Boolean(mathEvaluator.evaluate(replacedCondition)) : false;
return replacedCondition !== undefined ? Boolean(DS4Actor.evaluator.evaluate(replacedCondition)) : false;
} catch (error) {
logger.warn(error);
return false;
@ -520,6 +521,12 @@ export class DS4Actor extends Actor {
rejectClose: false,
});
}
static evaluator = new Evaluator({
context: Math,
predicate: (identifier) =>
Validator.defaultPredicate(identifier) || ["includes", "toLowerCase", "toUpperCase"].includes(identifier),
});
}
/**

View file

@ -19,7 +19,7 @@ export class Evaluator<Context extends object> {
get: (t, k) => (k === Symbol.unscopables ? undefined : t[k as keyof typeof t]),
});
actualPredicate = (identifier: string) =>
predicate(identifier) || Object.getOwnPropertyNames(Math).includes(identifier);
predicate(identifier) || Object.getOwnPropertyNames(context).includes(identifier);
}
this.validator = new Validator(actualPredicate);
}

View file

@ -28,12 +28,11 @@
"name": "Sascha Martens"
}
],
"url": "https://git.f3l.de/dungeonslayers/ds4",
"license": "https://git.f3l.de/dungeonslayers/ds4/raw/tag/1.20.0/LICENSE.md",
"readme": "https://git.f3l.de/dungeonslayers/ds4/raw/tag/1.20.0/README.md",
"bugs": "https://git.f3l.de/dungeonslayers/ds4/issues",
"changelog": "https://git.f3l.de/dungeonslayers/ds4/releases/tag/1.20.0",
"version": "1.20.0",
"license": "undefined/raw/tag/1.21.0/LICENSE.md",
"readme": "undefined/raw/tag/1.21.0/README.md",
"bugs": "undefined/issues",
"changelog": "undefined/releases/tag/1.21.0",
"version": "1.21.0",
"flags": {
"hotReload": {
"extensions": ["css", "hbs", "json"],
@ -117,7 +116,7 @@
}
],
"manifest": "https://git.f3l.de/api/packages/dungeonslayers/generic/ds4/latest/system.json",
"download": "https://git.f3l.de/dungeonslayers/ds4/releases/download/1.20.0/ds4.zip",
"download": "undefined/releases/download/1.21.0/ds4.zip",
"initiative": "@combatValues.initiative.total",
"gridDistance": 1,
"gridUnits": "m",