refactor(game): 移除已弃用的事件常量
- 删除 UpdateHero 和 UpdateFightHero 事件 - 移除 MISSION_UPDATE 事件常量 - 优化游戏事件枚举定义
This commit is contained in:
195
.qoder/repowiki/zh/content/奖励系统/奖励配置/奖励配置.md
Normal file
195
.qoder/repowiki/zh/content/奖励系统/奖励配置/奖励配置.md
Normal file
@@ -0,0 +1,195 @@
|
||||
# 奖励配置
|
||||
|
||||
<cite>
|
||||
**本文档引用的文件**
|
||||
- [Mission.ts](file://assets/script/game/common/config/Mission.ts)
|
||||
- [Tasks.ts](file://assets/script/game/common/config/Tasks.ts)
|
||||
- [HeroAttrs.ts](file://assets/script/game/common/config/HeroAttrs.ts)
|
||||
- [SkillSet.ts](file://assets/script/game/common/config/SkillSet.ts)
|
||||
- [heroSet.ts](file://assets/script/game/common/config/heroSet.ts)
|
||||
- [MissionComp.ts](file://assets/script/game/map/MissionComp.ts)
|
||||
- [VictoryComp.ts](file://assets/script/game/map/VictoryComp.ts)
|
||||
- [SingletonModuleComp.ts](file://assets/script/game/common/SingletonModuleComp.ts)
|
||||
</cite>
|
||||
|
||||
## 目录
|
||||
1. [奖励系统概述](#奖励系统概述)
|
||||
2. [波次常量与奖励触发时机](#波次常量与奖励触发时机)
|
||||
3. [任务系统与奖励配置](#任务系统与奖励配置)
|
||||
4. [奖励类型的数据结构](#奖励类型的数据结构)
|
||||
5. [属性提升与技能升级奖励](#属性提升与技能升级奖励)
|
||||
6. [配置数据的加载与使用](#配置数据的加载与使用)
|
||||
7. [奖励配置的修改与扩展](#奖励配置的修改与扩展)
|
||||
|
||||
## 奖励系统概述
|
||||
|
||||
奖励系统是游戏核心机制的重要组成部分,通过配置文件定义各类奖励的参数和触发条件。系统主要由`Mission.ts`中的`FightSet`枚举和`TooltipTypes`常量、`Tasks.ts`中的任务配置以及`HeroAttrs.ts`中的属性定义共同构成。奖励系统不仅包括任务完成后的金币、经验奖励,还涵盖了战斗中属性提升、技能升级、装备获取等多种奖励类型。
|
||||
|
||||
**Section sources**
|
||||
- [Mission.ts](file://assets/script/game/common/config/Mission.ts#L1-L59)
|
||||
- [Tasks.ts](file://assets/script/game/common/config/Tasks.ts#L1-L29)
|
||||
|
||||
## 波次常量与奖励触发时机
|
||||
|
||||
波次常量定义了游戏中各种事件的触发时机,直接影响奖励的发放。`FightSet`枚举中的常量精确控制了伙伴、BOSS、装备和技能的登场波次,这些波次是奖励触发的关键节点。
|
||||
|
||||
```mermaid
|
||||
classDiagram
|
||||
class FightSet {
|
||||
+FRIEND_WAVE_UP = 3 : 伙伴登场波次
|
||||
+BOSS_WAVE_UP_1 = 3 : BOSS登场波次
|
||||
+BOSS_WAVE_UP_2 = 5 : BOSS登场波次
|
||||
+BOSS_WAVE_UP_3 = 7 : BOSS登场波次
|
||||
+EQUIP_WAVE_UP_1 = 4 : 装备登场波次
|
||||
+EQUIP_WAVE_UP_2 = 6 : 装备登场波次
|
||||
+EQUIP_WAVE_UP_3 = 8 : 装备登场波次
|
||||
+SKILL_WAVE_UP_1 = 2 : 技能登场波次
|
||||
+SKILL_WAVE_UP_2 = 5 : 技能登场波次
|
||||
+SKILL_WAVE_UP_3 = 7 : 技能登场波次
|
||||
+MON_WAVE_TIME = 10 : 怪物波次时间
|
||||
}
|
||||
```
|
||||
|
||||
**Diagram sources**
|
||||
- [Mission.ts](file://assets/script/game/common/config/Mission.ts#L1-L20)
|
||||
|
||||
**Section sources**
|
||||
- [Mission.ts](file://assets/script/game/common/config/Mission.ts#L1-L35)
|
||||
|
||||
## 任务系统与奖励配置
|
||||
|
||||
任务系统通过`Tasks.ts`文件中的`Tasks`常量定义,每个任务包含ID、名称、描述和奖励等属性。任务完成后,系统会根据配置发放相应的奖励。
|
||||
|
||||
```mermaid
|
||||
classDiagram
|
||||
class Tasks {
|
||||
+id : number
|
||||
+name : string
|
||||
+description : string
|
||||
+reward : number
|
||||
+type? : number
|
||||
}
|
||||
class Speeks {
|
||||
+randomSpeek() : string[]
|
||||
}
|
||||
```
|
||||
|
||||
**Diagram sources**
|
||||
- [Tasks.ts](file://assets/script/game/common/config/Tasks.ts#L1-L29)
|
||||
|
||||
**Section sources**
|
||||
- [Tasks.ts](file://assets/script/game/common/config/Tasks.ts#L1-L29)
|
||||
|
||||
## 奖励类型的数据结构
|
||||
|
||||
奖励系统定义了多种奖励类型,每种类型都有其特定的数据结构。`TooltipTypes`常量定义了各种奖励的类型标识,用于在UI中显示相应的奖励效果。
|
||||
|
||||
```mermaid
|
||||
classDiagram
|
||||
class TooltipTypes {
|
||||
+life = 1 : 生命值变化
|
||||
+health = 2 : 治疗效果
|
||||
+skill = 3 : 技能获得
|
||||
+crit = 4 : 暴击提示
|
||||
+uskill = 5 : 使用技能
|
||||
+lvup = 6 : 升级提示
|
||||
+apup = 7 : 攻击力提升
|
||||
+hpup = 8 : 生命值提升
|
||||
}
|
||||
```
|
||||
|
||||
**Diagram sources**
|
||||
- [Mission.ts](file://assets/script/game/common/config/Mission.ts#L50-L59)
|
||||
|
||||
**Section sources**
|
||||
- [Mission.ts](file://assets/script/game/common/config/Mission.ts#L50-L59)
|
||||
|
||||
## 属性提升与技能升级奖励
|
||||
|
||||
属性提升和技能升级奖励通过`HeroAttrs.ts`文件中的`Attrs`枚举和`AttrsType`配置表定义。系统区分数值型和百分比型属性,确保奖励计算的准确性。
|
||||
|
||||
```mermaid
|
||||
classDiagram
|
||||
class Attrs {
|
||||
+HP_MAX = 0 : 最大生命值
|
||||
+MP_MAX = 1 : 最大魔法值
|
||||
+SHIELD_MAX = 2 : 最大护盾值
|
||||
+AP = 10 : 攻击力
|
||||
+MAP = 11 : 魔法攻击力
|
||||
+CRITICAL = 30 : 暴击率
|
||||
+CRITICAL_DMG = 31 : 暴击伤害
|
||||
+GOLD_GAIN = 65 : 金币获取
|
||||
+EXP_GAIN = 64 : 经验获取
|
||||
}
|
||||
class BType {
|
||||
+VALUE = 0 : 数值型
|
||||
+RATIO = 1 : 百分比型
|
||||
}
|
||||
class AttrsType {
|
||||
+[Attrs.HP_MAX] : BType.VALUE
|
||||
+[Attrs.AP] : BType.VALUE
|
||||
+[Attrs.CRITICAL] : BType.RATIO
|
||||
+[Attrs.GOLD_GAIN] : BType.RATIO
|
||||
}
|
||||
```
|
||||
|
||||
**Diagram sources**
|
||||
- [HeroAttrs.ts](file://assets/script/game/common/config/HeroAttrs.ts#L1-L100)
|
||||
|
||||
**Section sources**
|
||||
- [HeroAttrs.ts](file://assets/script/game/common/config/HeroAttrs.ts#L1-L100)
|
||||
|
||||
## 配置数据的加载与使用
|
||||
|
||||
配置数据通过单例模式的`SingletonModuleComp`进行管理,确保数据在游戏运行时的一致性和可访问性。奖励数据在战斗结束时通过`VictoryComp`组件显示给玩家。
|
||||
|
||||
```mermaid
|
||||
sequenceDiagram
|
||||
participant MissionComp as MissionComp
|
||||
participant SingletonModule as SingletonModuleComp
|
||||
participant VictoryComp as VictoryComp
|
||||
MissionComp->>SingletonModule : 更新游戏数据(vmdata)
|
||||
SingletonModule->>MissionComp : 返回数据更新结果
|
||||
MissionComp->>VictoryComp : 传递奖励数据和游戏数据
|
||||
VictoryComp->>Player : 显示胜利界面和奖励
|
||||
VictoryComp->>SingletonModule : 更新金币等永久数据
|
||||
SingletonModule->>VictoryComp : 返回数据更新结果
|
||||
```
|
||||
|
||||
**Diagram sources**
|
||||
- [MissionComp.ts](file://assets/script/game/map/MissionComp.ts#L1-L70)
|
||||
- [VictoryComp.ts](file://assets/script/game/map/VictoryComp.ts#L1-L74)
|
||||
- [SingletonModuleComp.ts](file://assets/script/game/common/SingletonModuleComp.ts#L1-L194)
|
||||
|
||||
**Section sources**
|
||||
- [MissionComp.ts](file://assets/script/game/map/MissionComp.ts#L1-L70)
|
||||
- [VictoryComp.ts](file://assets/script/game/map/VictoryComp.ts#L1-L74)
|
||||
- [SingletonModuleComp.ts](file://assets/script/game/common/SingletonModuleComp.ts#L1-L194)
|
||||
|
||||
## 奖励配置的修改与扩展
|
||||
|
||||
奖励配置可以通过修改相应的TS文件进行调整和扩展。开发者可以调整奖励权重、添加新的奖励配置项,或创建新的奖励类型。
|
||||
|
||||
```mermaid
|
||||
flowchart TD
|
||||
Start([开始修改奖励配置]) --> ModifyMission["修改Mission.ts中的FightSet常量"]
|
||||
ModifyMission --> ModifyTasks["修改Tasks.ts中的任务奖励"]
|
||||
ModifyTasks --> ModifyHeroAttrs["修改HeroAttrs.ts中的属性定义"]
|
||||
ModifyHeroAttrs --> Test["测试配置变更"]
|
||||
Test --> Validate["验证奖励效果"]
|
||||
Validate --> Deploy["部署到游戏"]
|
||||
Deploy --> End([完成])
|
||||
ModifyMission --> AddNewReward["添加新的奖励类型到TooltipTypes"]
|
||||
AddNewReward --> UpdateUI["更新UI显示逻辑"]
|
||||
UpdateUI --> Test
|
||||
```
|
||||
|
||||
**Diagram sources**
|
||||
- [Mission.ts](file://assets/script/game/common/config/Mission.ts#L1-L59)
|
||||
- [Tasks.ts](file://assets/script/game/common/config/Tasks.ts#L1-L29)
|
||||
- [HeroAttrs.ts](file://assets/script/game/common/config/HeroAttrs.ts#L1-L546)
|
||||
|
||||
**Section sources**
|
||||
- [Mission.ts](file://assets/script/game/common/config/Mission.ts#L1-L59)
|
||||
- [Tasks.ts](file://assets/script/game/common/config/Tasks.ts#L1-L29)
|
||||
- [HeroAttrs.ts](file://assets/script/game/common/config/HeroAttrs.ts#L1-L546)
|
||||
Reference in New Issue
Block a user