mirror of
https://github.com/unanmed/HumanBreak.git
synced 2025-02-01 07:49:25 +08:00
182 lines
4.4 KiB
TypeScript
182 lines
4.4 KiB
TypeScript
|
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;
|
|||
|
};
|