From c26ecff9f2d521b75de024bb00d2ad653bb7dfc8 Mon Sep 17 00:00:00 2001 From: xinian Date: Mon, 16 Feb 2026 02:43:17 +0800 Subject: [PATCH] 1 --- logic/controller/fight_boss野怪和地图怪.go | 11 ++++++----- logic/service/player/save.go | 8 ++++---- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/logic/controller/fight_boss野怪和地图怪.go b/logic/controller/fight_boss野怪和地图怪.go index 00a45af0a..6d6d375c7 100644 --- a/logic/controller/fight_boss野怪和地图怪.go +++ b/logic/controller/fight_boss野怪和地图怪.go @@ -200,14 +200,15 @@ func (Controller) OnPlayerFightNpcMonster(data1 *fight.FightNpcMonsterInboundInf if foi.Reason == 0 && foi.WinnerId == p.Info.UserID { exp := uint32(xmlres.PetMAP[int(monster.ID)].YieldingExp) * monster.Level / 7 - leve := p.CanGetExp() - exp = uint32(leve) * (exp) + addlevel, pookevel := p.CanGetExp() + addexp := uint32(addlevel) * (exp) + poolexp := uint32(pookevel) * (exp) items := &info.S2C_GET_BOSS_MONSTER{ //EV: 45, - EXP: exp / 2, + EXP: addexp, } - p.Info.ExpPool += int64(exp) - p.AddPetExp(foi.Winpet, int64((exp)/2)) + p.Info.ExpPool += int64(poolexp + addexp) + p.AddPetExp(foi.Winpet, int64(addexp)) if refPet.Item != 0 { count := int64(grand.Intn(2) + 1) p.ItemAdd(refPet.Item, count) diff --git a/logic/service/player/save.go b/logic/service/player/save.go index 810714ec2..6a1bbd355 100644 --- a/logic/service/player/save.go +++ b/logic/service/player/save.go @@ -64,15 +64,15 @@ func (p *Player) Save() { } // 经验倍数返回 -func (p *Player) CanGetExp() int { +func (p *Player) CanGetExp() (int, int) { if p.Info.TimeToday >= p.Info.TimeLimit { - return 0 + return 0, 0 } islogintime := (int64(time.Now().Unix()) - int64(p.Logintime)) if islogintime > (p.Info.TimeLimit - p.Info.TimeToday) { - return 0 + return 0, 0 } base := 1 if p.Info.TwoTimes != 0 { @@ -85,5 +85,5 @@ func (p *Player) CanGetExp() int { base *= 3 } - return base + return base, 1 }