diff --git a/src/server/conf/charge/charge_cfg.go b/src/server/conf/charge/charge_cfg.go index 1751895d..d601ff42 100644 --- a/src/server/conf/charge/charge_cfg.go +++ b/src/server/conf/charge/charge_cfg.go @@ -239,9 +239,14 @@ func GetSpecialShopGrade(Money float64, Type int) int { if len(l) == 0 { return 0 } - + maxMoney := 0.0 for _, v := range l { - if Money <= v.money { + if Money >= v.money { + maxMoney = max(maxMoney, v.money) + } + } + for _, v := range l { + if v.money == maxMoney { return v.id } } diff --git a/src/server/test/charge_test.go b/src/server/test/charge_test.go new file mode 100644 index 00000000..ebfdf76d --- /dev/null +++ b/src/server/test/charge_test.go @@ -0,0 +1,13 @@ +package test + +import ( + "server/game" + "testing" +) + +func TestSpecialCharge(t *testing.T) { + p1 := new(game.Player) + p1.InitPlayer("3625212") + ChargeMod := p1.GetChargeMod() + ChargeMod.ZeroUpdate(nil) +}