一些检测仍在等待运行
Docs Build / build-and-deploy (push) Waiting to run
- 移除 ConfigManager 配置管理器类 - 移除 GameManager 全局单例管理器类 - 移除 NetworkManager 网络连接管理器类 - 移除 CharacterData 和 ItemData 数据模型类 - 移除 BagScene、BattleScene、LobbyScene 等场景脚本 - 移除 EncounterBubble 和 EventFeedPanel UI组件脚本 - 更新代理邀请文档中的服务器连接方式 - 更新同步状态表格中的代理任务分配信息 - 添加 MiMo 任务完成总结和审查修复记录
361 行
7.2 KiB
TypeScript
361 行
7.2 KiB
TypeScript
/**
|
|
* 游戏数据模型
|
|
* 基于GDD设计文档定义核心数据结构
|
|
*/
|
|
|
|
/**
|
|
* 种族类型
|
|
*/
|
|
export enum RaceType {
|
|
HUMAN = 'human', // 人族
|
|
ELF = 'elf', // 精灵
|
|
DWARF = 'dwarf', // 矮人
|
|
ORC = 'orc', // 兽人
|
|
GOBLIN = 'goblin', // 地精
|
|
DRAGONBORN = 'dragonborn', // 龙裔
|
|
UNDEAD = 'undead', // 亡灵
|
|
DEMON = 'demon', // 魔族
|
|
ANGEL = 'angel', // 神族
|
|
TITAN = 'titan', // 巨人
|
|
WEREWOLF = 'werewolf', // 狼人
|
|
VAMPIRE = 'vampire', // 吸血鬼
|
|
NEPHILIM = 'nephilim', // 深潜裔
|
|
CELESTIAL = 'celestial', // 天人
|
|
SPIRIT = 'spirit', // 精魂
|
|
FLAME = 'flame', // 火裔
|
|
FROST = 'frost', // 冰裔
|
|
THUNDER = 'thunder', // 雷裔
|
|
EARTH = 'earth', // 土裔
|
|
}
|
|
|
|
/**
|
|
* 职业类型
|
|
*/
|
|
export enum ProfessionType {
|
|
// 人族职业
|
|
SWORD_CULTIVATOR = 'sword_cultivator', // 副修
|
|
PILL_CULTIVATOR = 'pill_cultivator', // 炼丹
|
|
WEAPON_CULTIVATOR = 'weapon_cultivator', // 炼器
|
|
FORMATION_CULTIVATOR = 'formation_cultivator', // 阵修
|
|
SCHOLAR = 'scholar', // 儒修
|
|
MONK = 'monk', // 释修
|
|
HERETIC = 'heretic', // 邪修
|
|
|
|
// 种族专属职业
|
|
KNIGHT = 'knight', // 骑士
|
|
MAGE = 'mage', // 法师
|
|
ROGUE = 'rogue', // 盗贼
|
|
RANGER = 'ranger', // 游侠
|
|
SHAMAN = 'shaman', // 萨满
|
|
NECROMANCER = 'necromancer', // 死灵法师
|
|
PALADIN = 'paladin', // 圣骑士
|
|
WARLOCK = 'warlock', // 术士
|
|
}
|
|
|
|
/**
|
|
* 境界等级
|
|
*/
|
|
export enum RealmLevel {
|
|
QI_REFINING = 1, // 炼气期
|
|
FOUNDATION = 2, // 筑基期
|
|
GOLDEN_CORE = 3, // 金丹期
|
|
NASCENT_SOUL = 4, // 元婴期
|
|
SPIRIT_SEVERING = 5, // 化神期
|
|
BODY_INTEGRATION = 6, // 合体期
|
|
MAHAYANA = 7, // 大乘期
|
|
TRIBULATION = 8, // 渡劫期
|
|
ASCENSION = 9, // 飞升
|
|
}
|
|
|
|
/**
|
|
* 小境界
|
|
*/
|
|
export enum SubRealm {
|
|
EARLY = 1, // 初期
|
|
MIDDLE = 2, // 中期
|
|
LATE = 3, // 后期
|
|
PEAK = 4, // 圆满
|
|
HALF_STEP = 5, // 半步
|
|
TRANSITION = 6, // 突破中
|
|
}
|
|
|
|
/**
|
|
* 品阶
|
|
*/
|
|
export enum ItemGrade {
|
|
COMMON = 1, // 凡品
|
|
FINE = 2, // 良品
|
|
EXCELLENT = 3, // 优品
|
|
PREMIUM = 4, // 精品
|
|
SUPREME = 5, // 极品
|
|
CHAOS = 6, // 混沌
|
|
}
|
|
|
|
/**
|
|
* 品质
|
|
*/
|
|
export enum ItemQuality {
|
|
COMMON = 1, // 凡
|
|
FINE = 2, // 良
|
|
EXCELLENT = 3, // 优
|
|
PREMIUM = 4, // 精
|
|
SUPREME = 5, // 极
|
|
}
|
|
|
|
/**
|
|
* 角色数据
|
|
*/
|
|
export interface CharacterData {
|
|
id: string;
|
|
name: string;
|
|
race: RaceType;
|
|
profession: ProfessionType;
|
|
level: number;
|
|
realm: RealmLevel;
|
|
subRealm: SubRealm;
|
|
|
|
// 属性
|
|
strength: number; // 力
|
|
constitution: number; // 体
|
|
wisdom: number; // 悟
|
|
speed: number; // 速
|
|
agility: number; // 灵
|
|
luck: number; // 命
|
|
|
|
// 资源
|
|
copper: number; // 铜钱
|
|
spiritStones: number; // 灵石
|
|
internalForce: number; // 内力
|
|
energy: number; // 能量
|
|
maxEnergy: number; // 能量上限
|
|
purity: number; // 纯净度
|
|
|
|
// 状态
|
|
hp: number;
|
|
maxHp: number;
|
|
san: number; // 理智值
|
|
alignment: number; // 善恶值 (-1000 ~ +1000)
|
|
factionReputation: number; // 门派贡献
|
|
|
|
// 时间
|
|
createdAt: number;
|
|
lastLoginAt: number;
|
|
totalPlayTime: number;
|
|
}
|
|
|
|
/**
|
|
* 装备数据
|
|
*/
|
|
export interface EquipmentData {
|
|
id: string;
|
|
itemId: string;
|
|
name: string;
|
|
grade: ItemGrade;
|
|
quality: ItemQuality;
|
|
slot: EquipmentSlot;
|
|
stats: { [key: string]: number };
|
|
enchants: string[];
|
|
durability: number;
|
|
maxDurability: number;
|
|
}
|
|
|
|
/**
|
|
* 装备槽位
|
|
*/
|
|
export enum EquipmentSlot {
|
|
WEAPON = 'weapon',
|
|
HEAD = 'head',
|
|
BODY = 'body',
|
|
BELT = 'belt',
|
|
BOOTS = 'boots',
|
|
ACCESSORY = 'accessory',
|
|
MOUNT = 'mount',
|
|
}
|
|
|
|
/**
|
|
* 物品数据
|
|
*/
|
|
export interface ItemData {
|
|
id: string;
|
|
name: string;
|
|
description: string;
|
|
grade: ItemGrade;
|
|
quality: ItemQuality;
|
|
type: ItemType;
|
|
stackable: boolean;
|
|
maxStack: number;
|
|
price: number;
|
|
}
|
|
|
|
/**
|
|
* 物品类型
|
|
*/
|
|
export enum ItemType {
|
|
EQUIPMENT = 'equipment',
|
|
MATERIAL = 'material',
|
|
PILL = 'pill',
|
|
SCROLL = 'scroll',
|
|
CURRENCY = 'currency',
|
|
QUEST = 'quest',
|
|
COSMETIC = 'cosmetic',
|
|
}
|
|
|
|
/**
|
|
* 功法数据
|
|
*/
|
|
export interface SkillData {
|
|
id: string;
|
|
name: string;
|
|
description: string;
|
|
grade: ItemGrade;
|
|
type: SkillType;
|
|
level: number;
|
|
maxLevel: number;
|
|
cooldown: number;
|
|
energyCost: number;
|
|
damage: number;
|
|
effects: SkillEffect[];
|
|
}
|
|
|
|
/**
|
|
* 技能类型
|
|
*/
|
|
export enum SkillType {
|
|
ACTIVE = 'active',
|
|
PASSIVE = 'passive',
|
|
ULTIMATE = 'ultimate',
|
|
}
|
|
|
|
/**
|
|
* 技能效果
|
|
*/
|
|
export interface SkillEffect {
|
|
type: string;
|
|
value: number;
|
|
duration: number;
|
|
chance: number;
|
|
}
|
|
|
|
/**
|
|
* 门派数据
|
|
*/
|
|
export interface SectData {
|
|
id: string;
|
|
name: string;
|
|
description: string;
|
|
faction: string;
|
|
buildings: SectBuilding[];
|
|
reputation: number;
|
|
contribution: number;
|
|
}
|
|
|
|
/**
|
|
* 门派建筑
|
|
*/
|
|
export interface SectBuilding {
|
|
id: string;
|
|
name: string;
|
|
level: number;
|
|
description: string;
|
|
unlockCondition: string;
|
|
}
|
|
|
|
/**
|
|
* 地图位置
|
|
*/
|
|
export interface MapLocation {
|
|
id: string;
|
|
name: string;
|
|
description: string;
|
|
realmRequirement: RealmLevel;
|
|
type: LocationType;
|
|
x: number;
|
|
y: number;
|
|
resources: string[];
|
|
events: string[];
|
|
}
|
|
|
|
/**
|
|
* 位置类型
|
|
*/
|
|
export enum LocationType {
|
|
SAFE_ZONE = 'safe_zone',
|
|
WILDERNESS = 'wilderness',
|
|
DUNGEON = 'dungeon',
|
|
CITY = 'city',
|
|
SECT = 'sect',
|
|
}
|
|
|
|
/**
|
|
* 战斗数据
|
|
*/
|
|
export interface CombatData {
|
|
id: string;
|
|
type: CombatType;
|
|
player: CombatParticipant;
|
|
enemy: CombatParticipant;
|
|
rounds: CombatRound[];
|
|
result: CombatResult;
|
|
startTime: number;
|
|
endTime: number;
|
|
}
|
|
|
|
/**
|
|
* 战斗类型
|
|
*/
|
|
export enum CombatType {
|
|
PVE = 'pve',
|
|
PVP = 'pvp',
|
|
BOSS = 'boss',
|
|
DUNGEON = 'dungeon',
|
|
}
|
|
|
|
/**
|
|
* 战斗参与者
|
|
*/
|
|
export interface CombatParticipant {
|
|
id: string;
|
|
name: string;
|
|
race: RaceType;
|
|
profession: ProfessionType;
|
|
level: number;
|
|
hp: number;
|
|
maxHp: number;
|
|
energy: number;
|
|
maxEnergy: number;
|
|
stats: { [key: string]: number };
|
|
skills: string[];
|
|
buffs: string[];
|
|
debuffs: string[];
|
|
}
|
|
|
|
/**
|
|
* 战斗回合
|
|
*/
|
|
export interface CombatRound {
|
|
roundNumber: number;
|
|
events: CombatEvent[];
|
|
}
|
|
|
|
/**
|
|
* 战斗事件
|
|
*/
|
|
export interface CombatEvent {
|
|
type: 'attack' | 'skill' | 'buff' | 'debuff' | 'dodge' | 'crit' | 'heal' | 'damage';
|
|
actor: string;
|
|
target: string;
|
|
value: number;
|
|
description: string;
|
|
isCrit: boolean;
|
|
}
|
|
|
|
/**
|
|
* 战斗结果
|
|
*/
|
|
export interface CombatResult {
|
|
winner: 'player' | 'enemy' | 'draw';
|
|
rewards: { [key: string]: number };
|
|
experience: number;
|
|
reputation: number;
|
|
}
|