Compare commits

..

1 commit

Author SHA1 Message Date
37b52e9b67 chore(deps): update dependency semver to v7.5.4 2023-07-10 00:03:21 +00:00
11 changed files with 182 additions and 200 deletions

View file

@ -4,5 +4,5 @@
"**/.pnp.*": true
},
"eslint.nodePath": ".yarn/sdks",
"prettier.prettierPath": ".yarn/sdks/prettier/index.js"
"prettier.prettierPath": ".yarn/sdks/prettier/index.js",
}

File diff suppressed because one or more lines are too long

View file

@ -1,6 +1,6 @@
{
"name": "eslint",
"version": "8.42.0-sdk",
"version": "8.28.0-sdk",
"main": "./lib/api.js",
"type": "commonjs"
}

View file

@ -11,10 +11,10 @@ const absRequire = createRequire(absPnpApiPath);
if (existsSync(absPnpApiPath)) {
if (!process.versions.pnp) {
// Setup the environment to be able to require prettier
// Setup the environment to be able to require prettier/index.js
require(absPnpApiPath).setup();
}
}
// Defer to the real prettier your application uses
module.exports = absRequire(`prettier`);
// Defer to the real prettier/index.js your application uses
module.exports = absRequire(`prettier/index.js`);

View file

@ -1,6 +1,6 @@
{
"name": "prettier",
"version": "2.8.8-sdk",
"version": "2.8.0-sdk",
"main": "./index.js",
"type": "commonjs"
}

View file

@ -2,6 +2,6 @@ nodeLinker: pnp
plugins:
- path: .yarn/plugins/@yarnpkg/plugin-interactive-tools.cjs
spec: "@yarnpkg/plugin-interactive-tools"
spec: '@yarnpkg/plugin-interactive-tools'
yarnPath: .yarn/releases/yarn-3.6.1.cjs
yarnPath: .yarn/releases/yarn-3.6.0.cjs

View file

@ -1,8 +1,7 @@
{
"compilerOptions": {
"module": "es2022",
"target": "ES2022",
"strict": true
"target": "ES2022"
},
"exclude": ["node_modules", "dist"],
"include": ["src", "client", "common"]

View file

@ -11,28 +11,14 @@
}
],
"url": "https://git.f3l.de/dungeonslayers/tickwerk",
"license": "https://git.f3l.de/dungeonslayers/tickwerk/raw/tag/1.4.0/LICENSE.md",
"readme": "https://git.f3l.de/dungeonslayers/tickwerk/raw/tag/1.4.0/README.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.3/README.md",
"bugs": "https://git.f3l.de/dungeonslayers/tickwerk/issues",
"changelog": "https://git.f3l.de/dungeonslayers/tickwerk/releases/tag/1.4.0",
"version": "1.4.0",
"flags": {
"hotReload": {
"extensions": [
"css",
"hbs",
"json"
],
"paths": [
"templates",
"styles",
"lang"
]
}
},
"changelog": "https://git.f3l.de/dungeonslayers/tickwerk/releases/tag/1.3.3",
"version": "1.3.3",
"compatibility": {
"minimum": "10.290",
"verified": "11"
"verified": "10"
},
"esmodules": [
"tickwerk.js"
@ -53,6 +39,6 @@
}
],
"manifest": "https://git.f3l.de/api/packages/dungeonslayers/generic/tickwerk/latest/module.json",
"download": "https://git.f3l.de/dungeonslayers/tickwerk/releases/download/1.4.0/tickwerk.zip",
"download": "https://git.f3l.de/dungeonslayers/tickwerk/releases/download/1.3.3/tickwerk.zip",
"manifestPlusVersion": "1.2.0"
}

View file

@ -2,7 +2,7 @@
"private": true,
"name": "tickwerk",
"description": "A tick based combat system for Foundry Virtual Tabletop",
"version": "1.4.0",
"version": "1.3.3",
"license": "https://git.f3l.de/dungeonslayers/tickwerk#licensing",
"homepage": "https://git.f3l.de/dungeonslayers/tickwerk",
"repository": {
@ -54,5 +54,5 @@
"semver": "7.5.4",
"yargs": "17.7.2"
},
"packageManager": "yarn@3.6.1"
"packageManager": "yarn@3.6.0"
}

View file

@ -112,16 +112,14 @@ const CombatantMixin = (BaseCombatant) => {
* @param {object} data The data of the creation / update
*/
async #updateTiebreakerData(data) {
const waiting = data.flags?.[packageId]?.waiting;
if ('initiative' in data || waiting !== undefined) {
const newInitiative = data.initiative ?? this.initiative;
if ('initiative' in data) {
const combatantsWithSameTickValue =
this.parent?.combatants.filter((combatant) => {
const otherInitiative =
combatant._newInitiative !== undefined ? combatant._newInitiative : combatant.initiative;
return otherInitiative === newInitiative && combatant !== this;
return otherInitiative === data.initiative;
}) ?? [];
const tiebreaker = await this.#getTiebreaker(combatantsWithSameTickValue, waiting);
const tiebreaker = await this.#getTiebreaker(combatantsWithSameTickValue);
foundry.utils.setProperty(data, `flags.${packageId}.tiebreaker`, tiebreaker);
this._newInitiative = data.initiative;
this._newTiebreaker = tiebreaker;
@ -131,12 +129,11 @@ const CombatantMixin = (BaseCombatant) => {
/**
* Get a tiebreaker between this combatant and the given other combatants.
* @param {TickwerkCombatant[]} combatants The other combatants among which to find a tiebreaker
* @param {boolean | undefined} waiting The change of the waiting state of the combatanmt
* @returns {Promise<number>} A promise that resolves to the tiebreaker
*/
async #getTiebreaker(combatants, waiting) {
async #getTiebreaker(combatants) {
const getTiebreaker = CONFIG.tickwerk?.getTiebreaker ?? defaultGetTiebreaker;
return getTiebreaker(this, combatants, waiting);
return getTiebreaker(this, combatants);
}
/** @override */
@ -182,14 +179,14 @@ const CombatantMixin = (BaseCombatant) => {
/**
* A function to get a tiebreaker for a combatant
* @typedef {(combatant: TickwerkCombatant, combatants: TickwerkCombatant[], waiting: boolean | undefined) => Promise<number>} GetTiebreaker
* @typedef {(combatant: TickwerkCombatant, combatants: TickwerkCombatant[]) => Promise<number>} GetTiebreaker
*/
/**
* Default implementation to get a tiebreaker for a combatant.
* @type {GetTiebreaker}
*/
export const defaultGetTiebreaker = async (combatant, combatants) => {
const defaultGetTiebreaker = async (combatant, combatants) => {
if (combatants.length === 0) return 0;
const tiebreakers = combatants.map((combatant) => {
return (

View file

@ -14,7 +14,7 @@ export const registerDS4SpecificFunctionality = () => {
};
/** @type {import("../data/documents/combatant").GetTiebreaker} */
const getTiebreaker = async (combatant, combatants, waiting) => {
const getTiebreaker = async (combatant, combatants) => {
if (combatants.length === 0) return 0;
/** @type {number[]} */
@ -26,7 +26,7 @@ const getTiebreaker = async (combatant, combatants, waiting) => {
for (const other of combatants) {
const tiebreaker = other._newTiebreaker ?? other.getFlag(packageId, 'tiebreaker') ?? 0;
if (getInitiative(other) > getInitiative(combatant) || waiting === false) {
if (getInitiative(other) > getInitiative(combatant)) {
lowerBounds.push(tiebreaker);
} else if (getInitiative(other) < getInitiative(combatant)) {
upperBounds.push(tiebreaker);