ChurchAngular/src/app/games/massive-darkness2/massive-darkness2.db.model.ts
Chris Chen 719108fd6a WIP
2025-11-03 21:11:10 -08:00

63 lines
1.3 KiB
TypeScript

import { MobType } from "./massive-darkness2.model";
import { MobSkillType } from "./massive-darkness2.model.boss";
export enum MobSkillTarget {
Random = 40,
LeastHp = 50,
LeastMp = 60,
HighestHp = 70,
HighestMp = 80,
LowestLevel = 90,
MostCorruption = 200,
LeastCorruption = 201
}
export enum GameBundle {
CoreGame,
HeavenFallen,
Zombiecide
}
export interface MD2MobInfo {
id: string;
type: MobType;
from: GameBundle;
name: string;
leaderImgUrl: string;
minionImgUrl: string;
mobLevelInfos: MD2MobLevelInfo[];
}
export interface MD2MobLevelInfo {
id: string;
mobInfoId: string;
rewardTokens: number;
fixedRareTreasure: number;
fixedEpicTreasure: number;
fixedLegendTreasure: number;
fixedHp: number;
hpPerHero: number;
actions: number;
attackInfo: MD2DiceSet;
defenceInfo: MD2DiceSet;
skills: MD2MobSkill[];
}
export interface MD2MobSkill {
id: string;
mobLevelInfoId: string;
type: MobSkillType;
skillTarget: MobSkillTarget | null;
clawRoll: number;
skillRoll: number;
name: string;
description: string;
}
export interface MD2DiceSet {
yellow: number | null;
orange: number | null;
red: number | null;
blue: number | null;
green: number | null;
black: number | null;
}