```
All checks were successful
ci/woodpecker/push/my-first-workflow Pipeline was successful

feat(boss_fight): 完善宠物捕获和战斗奖励机制

- 在宠物捕获时记录当前地图ID作为CatchMap
- 将经验值奖励改为通过道具系统发放,统一使用ItemAdd方法处理
- 调整EXP奖励的计算方式,移除原有S2C_GET_BOSS_MONSTER中的EXP字段

feat(arena): 优化竞技场对战奖励和EV分配

- 将竞技场胜利奖励的EV值
This commit is contained in:
昔念
2026-02-18 22:07:50 +08:00
parent 1b6ef07ef8
commit 4a5a7727b5
10 changed files with 55 additions and 35 deletions

View File

@@ -180,6 +180,7 @@ func (Controller) OnPlayerFightNpcMonster(data1 *fight.FightNpcMonsterInboundInf
int(refPet.Lv),
refPet.ShinyInfo, -1)
monster.CatchMap = p.Info.MapID //设置当前地图
if refPet.Ext != 0 {
if grand.Meet(2, 1000) {
monster.RandShiny()
@@ -203,11 +204,13 @@ func (Controller) OnPlayerFightNpcMonster(data1 *fight.FightNpcMonsterInboundInf
addlevel, poolevel := p.CanGetExp()
addexp := gconv.Float32(addlevel * gconv.Float32(exp))
poolexp := gconv.Float32(poolevel) * gconv.Float32((exp))
items := &info.S2C_GET_BOSS_MONSTER{
//EV: 45,
EXP: uint32(poolexp),
}
p.Info.ExpPool += int64(poolexp + addexp)
items := &info.S2C_GET_BOSS_MONSTER{}
p.ItemAdd(3, int64(poolexp+addexp))
items.ItemList = append(items.ItemList, data.ItemInfo{
ItemId: 3,
ItemCnt: int64(poolexp),
})
p.AddPetExp(foi.Winpet, int64(addexp))
if refPet.Item != 0 {
count := int64(grand.Intn(2) + 1)