// 一些通用的interface定义 import { RoleType } from "../db/Role"; import { Robot } from "../db/PvpDefense"; import { reduceCe } from "./util"; export interface RewardInter { id: number; count: number; } export interface Attributes { hp?: number; atk?: number; matk?: number; def?: number; mdef?: number; agi?: number; luk?: number; speed?: number; hit?: number; cri?: number; flee?: number; antCri?: number; damageIncrease?: number; damageDecrease?: number; defIngnore?: number; bloodSuck?: number; ap?: number; } export interface EquipInter { id: number; name: string; quality: number; suitId: number; hole: number; randomEffect: Array; itid: number; hid?: number; times?: number; }; export interface BagInter {id: number, itemName: string, count: number, type: number, hid:number, times?: number}; export interface ItemInter {id?: number, count?: number, seqId?: number, type?: number}; // 百家学宫,布阵武将位置 export interface SclPosInter { id: number; hid: number; isOpen: boolean; } // 百家学宫返回 export interface SclResultInter { id: number; position: SclPosInter[] } // pvp对手返回 export interface oppPlayersInter { pos: number; // 对手位置 roleId: string; // 对手玩家id roleName: string; // 对手玩家名 headHid: number; // 头像 sHid: number; // 形象 pLv: number; // 对手队伍等级 defCe: number; // 防守阵容战力 addScore: number; // 战胜后可获军功 plusScore: number; // 连胜加成军功 rankLv: number; } export interface oppHeroesDefenseInter { actorId: number; // 武将id actorName: string; // 武将名 dataId: number; // 出兵表唯一id relation: number; // 地方还是我方 direction: number; // 方向 outIndex: number; // 玩家设置的出场顺序,即order字段 x: number; // 战场x坐标 y: number; // 战场y坐标 var: number; // 变量 lv: number; // 等级 hide: number; // 是否隐藏 initial_ai: number; // ai类型 attribute: Attributes; star: number; // 星级 skill: string|number; // 技能 seid: string; // 技能 spine: string|number; // 动画 } export interface pvpEndParamInter { hid: number; damage: number; heal: number; underDamage: number; } export class RankParam { roleName: string; lv: number; vLv: number; guildName: string = ""; head: string = 'zhaoyun'; headHid: number = 19; sHid: number = 19; title: number; constructor(roleName: string, lv: number, vLv: number, headHid: number, sHid: number, title: number) { this.roleName = roleName; this.lv = lv; this.vLv = vLv; this.headHid = headHid; this.sHid = sHid; this.title = title; } } export interface PlayerDetailHero { actorId: number; lv: number; star: number; colorStar: number; quality: number; score: number; } export class PlayerDetail { roleId: string; roleName: string; lv: number; title?: number = 1; sHid?: number = 19; headHid?: number = 19; score?: number = 0; pLv?: number = 1; defCe?: number = 0; heroes: PlayerDetailHero[]; rank?:number = 0; constructor(detail: PlayerDetail) { if(detail.roleId) this.roleId = detail.roleId; if(detail.roleName) this.roleName = detail.roleName; if(detail.lv) this.lv = detail.lv; if(detail.title) this.title = detail.title; if(detail.sHid) this.sHid = detail.sHid; if(detail.headHid) this.headHid = detail.headHid; if(detail.score) this.score = detail.score; if(detail.pLv) this.pLv = detail.pLv; if(detail.defCe) this.defCe = reduceCe(detail.defCe); if(detail.heroes) this.heroes = detail.heroes; if(detail.rank) this.rank = detail.rank; } }