HumanBreak/src/types/status.d.ts
2022-11-13 18:02:05 +08:00

182 lines
4.4 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

type gameStatus = {
played: boolean;
gameOver: boolean;
/** 当前勇士状态信息。例如core.status.hero.atk就是当前勇士的攻击力数值 */
hero: HeroStatus;
/** 当前层的floorId */
floorId: string;
/** 获得所有楼层的地图信息 */
maps: { [key: string]: ResolvedMap };
/** 获得当前楼层信息等价于core.status.maps[core.status.floorId] */
thisMap: ResolvedMap;
bgmaps: { [key: string]: number[][] };
fgmaps: { [key: string]: number[][] };
mapBlockObjs: { [key: string]: any };
/** 显伤伤害 */
checkBlock: {
ambush: { [x: string]: [number, number, string, direction] };
repulse: { [x: string]: [number, number, string, direction] };
damage: { [x: string]: number };
needCache: boolean;
type: { [x: string]: { [x: string]: boolean } };
cache: {
[s: string]: {
hp_buff: number;
atk_buff: number;
def_buff: number;
guards: Array<[number, number, string]>;
};
};
};
damage: {
posX: number;
posY: number;
data: Array<{
[x: string]: {
text: string;
px: number;
py: number;
color: string | Array<number>;
};
}>;
extraData: Array<{
[x: string]: {
text: string;
px: number;
py: number;
color: string | Array<number>;
alpha: number;
};
}>;
};
lockControl: boolean;
/** 勇士移动状态 */
heroMoving: number;
heroStop: boolean;
// 自动寻路相关
automaticRoute: {
autoHeroMove: boolean;
autoStep: number;
movedStep: number;
destStep: number;
destX: any;
destY: any;
offsetX: any;
offsetY: any;
autoStepRoutes: [];
moveStepBeforeStop: [];
lastDirection: any;
cursorX: any;
cursorY: any;
moveDirectly: boolean;
};
// 按下键的时间:为了判定双击
downTime: number;
ctrlDown: boolean;
// 路线&回放
route: string[];
replay: {
replaying: boolean;
pausing: boolean;
/** 正在某段动画中 */ animate: boolean;
toReplay: string[];
totalList: string[];
speed: number;
steps: number;
save: [];
};
// event事件
shops: {};
event: {
id: string;
data: any;
selection: any;
ui: any;
interval: number;
};
autoEvents: Events;
textAttribute: {
position: string;
offset: number;
title: rgbarray;
background: rgbarray;
text: rgbarray;
titlefont: number;
textfont: number;
bold: boolean;
time: number;
letterSpacing: number;
animateTime: number;
};
globalAttribute: {
equipName: string[];
statusLeftBackground: string;
statusTopBackground: string;
toolsBackground: string;
borderColor: string;
statusBarColor: string;
floorChangingStyle: string;
font: string;
};
curtainColor: null;
// 动画
globalAnimateObjs: [];
floorAnimateObjs: [];
boxAnimateObjs: [];
autotileAnimateObjs: [];
globalAnimateStatus: number;
animateObjs: [];
};
type HeroStatus = {
equipment: [];
lv: number;
name: string;
hp: number;
hpmax: number;
mana: number;
manamax: number;
atk: number;
def: number;
mdef: number;
money: number;
exp: number;
loc: {
direction: direction;
x: number;
y: number;
};
items: {
keys: { [key: string]: number };
constants: { [key: string]: number };
tools: { [key: string]: number };
equips: { [key: string]: number };
};
flags: { [key: string]: any };
steps: number;
statistics: {
battle: number;
battleDamage: number;
currTime: number;
exp: number;
extraDamage: number;
hp: number;
ignoreSteps: number;
money: number;
moveDirectly: number;
poisonDamage: number;
start: number;
totalTime: number;
};
[key: string]: any;
};