feat(xmlres): 更新 BOSS 配置结构并优化字段注释

新增多个 BOSS 相关配置字段,包括任务关联、奖励机制与挑战限制等,
增强 BOSS 精灵的可配置性与业务表达能力。同时完善字段注释以对齐 XML
实际使用情况,并保留原有部分字段用于兼容历史配置。

fix(fight): 调整战斗胜利回调执行顺序以确保数据一致性

将战斗结束回调移至广播之前执行,保证在发送战斗结果前已完成所有状态
更新,尤其是针对胜利宠物的信息同步
This commit is contained in:
2025-11-22 22:57:32 +08:00
parent 7f443736bc
commit 1dbd4169e9
35 changed files with 518 additions and 360 deletions

View File

@@ -146,7 +146,7 @@ func init() {
}
if event.IsWrite() {
glog.Debug(ctx, "写入文件 : ", event.Path)
initfile() //先初始化一次
//initfile() //先初始化一次
}
if event.IsRemove() {
glog.Debug(ctx, "删除文件 : ", event.Path)

View File

@@ -70,19 +70,27 @@ type TriggerPt struct {
// BOSS配置对应 <Boss>
type BossConfig struct {
Id *int `xml:"Id,attr"` // BOSSID可选用指针处理空值
BossCatchable int `xml:"BossCatchable,attr"` // 是否可捕捉0/1默认0
AppearTime string `xml:"AppearTime,attr"` // 出现时间(如"0 23"
BossVisible int `xml:"BossVisible,attr"` // 是否可见0/1默认0
Name string `xml:"Name,attr"` // BOSS名称选)
DailyKey *string `xml:"DailyKey,attr"` // 每日挑战次数Key可选
MaxTimes *int `xml:"MaxTimes,attr"` // 非VIP每日挑战上限可选
VipMaxTimes *int `xml:"VipMaxTimes,attr"` // VIP每日挑战上限可选
WinBonusId *string `xml:"WinBonusId,attr"` // 胜利奖励ID可选
WinOutId *int `xml:"WinOutId,attr"` // 胜利输出ID可选
FailBonusId *string `xml:"FailBonusId,attr"` // 失败奖励ID可选
FailOutId *int `xml:"FailOutId,attr"` // 失败输出ID可选
BossMon []BossMon `xml:"BossMon"` // BOSS对应的精灵多个
Id *int `xml:"Id,attr"` // BOSSID可选XML中有Id="0"/"1"
TaskID *int `xml:"TaskID,attr"` // 关联任务ID可选如311/353/541
BossCatchable int `xml:"BossCatchable,attr"` // 是否可捕捉0/1默认0XML中有BossCatchable="0"
AppearTime string `xml:"AppearTime,attr"` // 出现时间(如"0 23",必选
BossVisible int `xml:"BossVisible,attr"` // 是否可见0/1默认0选)
Name string `xml:"Name,attr"` // BOSS名称可选如"SPT哈莫雷特"
SptLevel *int `xml:"SptLevel,attr"` // SPT等级可选如1/2
BonusProbability *int `xml:"BonusProbability,attr"` // 奖励概率可选如20
BonusTotalProbability *int `xml:"BonusTotalProbability,attr"` // 奖励总概率可选如1000
BonusID *string `xml:"BonusID,attr"` // 基础奖励ID可选如5017
ItemBonusOutID *int `xml:"ItemBonusOutID,attr"` // 物品奖励输出ID可选如2
BossFinOnce *int `xml:"BossFinOnce,attr"` // 是否仅可完成一次可选0/1如1
BossFinTaskWay *int `xml:"BossFinTaskWay,attr"` // 任务完成方式可选如1
DailyKey *string `xml:"DailyKey,attr"` // 每日挑战次数Key可选XML中未出现保留
MaxTimes *int `xml:"MaxTimes,attr"` // 非VIP每日挑战上限可选XML中未出现保留
VipMaxTimes *int `xml:"VipMaxTimes,attr"` // VIP每日挑战上限可选XML中未出现保留
WinBonusId *string `xml:"WinBonusId,attr"` // 胜利奖励ID可选XML中未出现保留
WinOutId *int `xml:"WinOutId,attr"` // 胜利输出ID可选XML中未出现保留
FailBonusId *string `xml:"FailBonusId,attr"` // 失败奖励ID可选XML中未出现保留
FailOutId *int `xml:"FailOutId,attr"` // 失败输出ID可选XML中未出现保留
BossMon []BossMon `xml:"BossMon"` // BOSS对应的精灵列表必选多个
}
// BOSS精灵配置对应 <BossMon>