无尽礼包优化

This commit is contained in:
hahwu 2026-02-10 18:18:46 +08:00
parent 8328ac6b63
commit b41130b6fa
3 changed files with 45 additions and 11 deletions

View File

@ -2,9 +2,11 @@ package endless
import (
"fmt"
"math"
endlessCfg "server/conf/endless"
"server/game/mod/item"
"server/msg"
"sort"
)
type EndlessMod struct {
@ -40,13 +42,22 @@ func (e *EndlessMod) ZeroUpdate(MaxMoney float64, Lv int) {
if MaxMoney > 0 {
m := MaxMoney / 10
GradeList := []float64{1.99, 3.99, 5.99, 9.99}
for i := 0; i < len(GradeList); i++ {
if m < GradeList[i] {
FirstMoney = GradeList[i]
break
type duch struct {
Grade float64
Num float64
}
duchList := make([]duch, 0, len(GradeList))
for _, v := range GradeList {
duchList = append(duchList, duch{
Grade: v,
Num: math.Abs(v - m),
})
}
// 按照Num升序排序
sort.Slice(duchList, func(i, j int) bool {
return duchList[i].Num < duchList[j].Num
})
FirstMoney = duchList[0].Grade
if FirstMoney == 0 {
FirstMoney = 9.99
}

View File

@ -1,9 +1,12 @@
package game
import (
"server/game/mod/base"
"server/game/mod/card"
"server/game/mod/charge"
"server/game/mod/chess"
"server/game/mod/decorate"
"server/game/mod/endless"
limitedTimeEvent "server/game/mod/limited_time_event"
"server/game/mod/playroom"
)
@ -27,3 +30,15 @@ func (p *Player) GetCardMod() *card.CardMod {
func (p *Player) GetPlayroomMod() *playroom.PlayroomMod {
return p.PlayMod.getPlayroomMod()
}
func (p *Player) GetEndlessMod() *endless.EndlessMod {
return p.PlayMod.getEndlessMod()
}
func (p *Player) GetBaseMod() *base.Base {
return p.PlayMod.getBaseMod()
}
func (p *Player) GetChargeMod() *charge.ChargeMod {
return p.PlayMod.getChargeMod()
}

View File

@ -5,7 +5,6 @@ import (
decorateCfg "server/conf/decorate"
"server/db"
"server/game"
"server/game/mod/quest"
"server/pkg/github.com/name5566/leaf/log"
"testing"
)
@ -83,8 +82,17 @@ func TestFixUserData(t *testing.T) {
func TestRandInt(t *testing.T) {
p1 := new(game.Player)
p1.InitPlayer("3625212")
PlayroomMod := p1.GetPlayroomMod()
PlayroomMod.InitDailyTask()
p1.QuestTrigger(&quest.Trigger{Label: quest.TRIGGER_LABEL_PETDRESS, A: []interface{}{9}})
p1.ProcessTrigger()
BaseMod := p1.GetBaseMod()
ChargeMod := p1.GetChargeMod()
EndlessMod := p1.GetEndlessMod()
EndlessMod.ZeroUpdate(ChargeMod.GetMaxCharge(), BaseMod.GetLevel())
}
func TestEndless(t *testing.T) {
p1 := new(game.Player)
p1.InitPlayer("3625212")
BaseMod := p1.GetBaseMod()
ChargeMod := p1.GetChargeMod()
EndlessMod := p1.GetEndlessMod()
EndlessMod.ZeroUpdate(ChargeMod.GetMaxCharge(), BaseMod.GetLevel())
}