+ Added Zwergenhort
This commit is contained in:
@@ -86,6 +86,8 @@ export enum M5Stats {
|
||||
PROTECTION_AP = "apProtection",
|
||||
PERCEPTION = "perception",
|
||||
DRINKING = "drinking",
|
||||
HOARD = "hoard",
|
||||
HOARD_NEXT = "hoardNext",
|
||||
}
|
||||
|
||||
export enum M5ModType {
|
||||
@@ -173,6 +175,8 @@ export interface M5CharacterCalculatedData {
|
||||
perceptionFW: number;
|
||||
drinking: M5ModResult;
|
||||
drinkingFW: number;
|
||||
hoard: number;
|
||||
hoardNext: number;
|
||||
};
|
||||
skillMods: {};
|
||||
skills: {
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
import { valueInArray } from "@league-of-foundry-developers/foundry-vtt-types/src/foundry/common/data/validators.mjs";
|
||||
import { M5Item } from "../items/M5Item";
|
||||
import { M5Attribute, M5CharacterCalculatedData, M5ItemMod, M5ModOperation, M5ModResult, M5RollData, M5Skill, M5SkillCalculated, M5SkillLearned } from "../M5Base";
|
||||
import M5ModAggregate from "./M5ModAggregate";
|
||||
@@ -71,6 +72,7 @@ export class M5Character extends Actor {
|
||||
perceptionFW: 0,
|
||||
drinking: { value: 0, mods: [] },
|
||||
drinkingFW: 0,
|
||||
hoard: 0,
|
||||
},
|
||||
skillMods: {},
|
||||
skills: {
|
||||
@@ -98,7 +100,7 @@ export class M5Character extends Actor {
|
||||
if (!data) return null;
|
||||
|
||||
ret.level = M5Character.levelFromExp(data.es);
|
||||
|
||||
|
||||
ret.attributes.st.value = M5Character.attributeMinMax(data.attributes.st); // TODO item effects
|
||||
ret.attributes.gs.value = M5Character.attributeMinMax(data.attributes.gs);
|
||||
ret.attributes.gw.value = M5Character.attributeMinMax(data.attributes.gw);
|
||||
@@ -143,7 +145,9 @@ export class M5Character extends Actor {
|
||||
ret.stats.perceptionFW = 6;
|
||||
ret.stats.drinking = this.modResult(0);
|
||||
ret.stats.drinkingFW = Math.floor(ret.attributes.ko.value / 10);
|
||||
|
||||
ret.stats.hoard = M5Character.hoardFromExp(data.es);
|
||||
ret.stats.hoardNext = M5Character.hoardNextFromExp(data.es);
|
||||
|
||||
if (!skip?.mods) {
|
||||
const aggregate = new M5ModAggregate(data, ret);
|
||||
|
||||
@@ -371,6 +375,18 @@ export class M5Character extends Actor {
|
||||
const ret = M5Character.levelThreshold.findIndex((val) => val > exp);
|
||||
return ret === -1 ? M5Character.levelThreshold.length : ret;
|
||||
}
|
||||
static hoardFromExp(exp: number): number {
|
||||
const ret = M5Character.levelThreshold.findIndex((val) => val > exp);
|
||||
const hoard = Math.floor(exp / 2)
|
||||
return hoard;
|
||||
}
|
||||
static hoardNextFromExp(exp: number): number {
|
||||
const ret = M5Character.levelThreshold.findIndex((val) => val > exp);
|
||||
const currentLevel = ret === -1 ? M5Character.levelThreshold.length : ret;
|
||||
const nextLevelExp = M5Character.levelThreshold[currentLevel];
|
||||
const hoardNext = (nextLevelExp /2);
|
||||
return hoardNext;
|
||||
}
|
||||
|
||||
static readonly defenseThreshold: Array<[number, number]> = [
|
||||
[30, 18],
|
||||
|
||||
Reference in New Issue
Block a user