switch to using TypeScript

This commit is contained in:
Johannes Loher 2020-12-23 16:52:20 +01:00
parent 1d120b273a
commit d163fd27fe
53 changed files with 2875 additions and 1614 deletions

38
src/module/actor/actor.ts Normal file
View file

@ -0,0 +1,38 @@
/**
* Extend the base Actor entity by defining a custom roll data structure which is ideal for the Simple system.
* @extends {Actor}
*/
export class DS4Actor extends Actor {
/** @override */
prepareDerivedData() {
const data = this.data;
this._prepareCombatValues(data);
}
_prepareCombatValues(data) {
const hitPointsModifier = getProperty(data, "data.combatValues.hitPoints.modifier") || 0;
setProperty(
data,
"data.combatValues.hitPoints.max",
data.data.attributes.body.initial + data.data.traits.constitution.initial + 10 + hitPointsModifier
);
const defenseModifier = getProperty(data, "data.combatValues.defense.modifier") || 0;
setProperty(
data,
"data.combatValues.defense.value",
data.data.attributes.body.initial +
data.data.traits.constitution.initial +
this._getArmorValue() +
defenseModifier
);
}
_getArmorValue() {
return this.data["items"]
.filter((item) => ["armor", "shield"].includes(item.type))
.filter((item) => item.data.equipped)
.map((item) => item.data.armorValue)
.reduce((a, b) => a + b, 0);
}
}