Update AA synchronization, CW progression and diagnostics
This commit is contained in:
1 parent
67a819a4d3
commit
30bee81fe9
30 files changed
+1143
-55
No files matched your search
@@ -0,0 +1,55 @@
|
||||
package gameserver
|
||||
|
||||
import (
|
||||
"testing"
|
||||
|
||||
"gac-hkrpg-go/internal/common"
|
||||
pb "gac-hkrpg-go/protocol/proto"
|
||||
)
|
||||
|
||||
func TestCurrencyWarsEncounterGoldRequiresThreshold(t *testing.T) {
|
||||
c, err := common.LoadCurrencyWarsCatalog()
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
player := &pb.NIHNGPKHEPC{Gold: 10}
|
||||
run := &pb.MPIMAEMCEFH{NAGDJGMMCBE: []*pb.GridFightGameInfo{
|
||||
{LEOIAOFBBFA: &pb.GridFightGameInfo_FAOCFBOFCJP{FAOCFBOFCJP: player}},
|
||||
{LEOIAOFBBFA: &pb.GridFightGameInfo_EJIPINIKNCK{EJIPINIKNCK: &pb.HKFECLCHBFJ{}}},
|
||||
{LEOIAOFBBFA: &pb.GridFightGameInfo_EBHDIOGALIE{EBHDIOGALIE: &pb.POCJDMMANBM{}}},
|
||||
}}
|
||||
branch := &pb.KKBGIPCAGGH{BOAMLLHPNEC: &pb.GridFightDropInfo{NMGIABHIJJB: []*pb.BCCONKJHDJL{{FKKGLFOHGGA: pb.MJJIFGINJAJ_MJJIFGINJAJ_item_value, Num: 6}}}}
|
||||
updates, err := cwEncounterRewards(c, run, branch, 100, 70)
|
||||
if err != nil || len(updates) == 0 || player.Gold != 16 {
|
||||
t.Fatalf("perfect reward: gold=%d updates=%d err=%v", player.Gold, len(updates), err)
|
||||
}
|
||||
_, err = cwEncounterRewards(c, run, branch, 80, 70)
|
||||
if err != nil || player.Gold != 22 {
|
||||
t.Fatal("passing the threshold must award the selected option")
|
||||
}
|
||||
_, err = cwEncounterRewards(c, run, branch, 60, 70)
|
||||
if err != nil || player.Gold != 22 {
|
||||
t.Fatal("failing the threshold must not award the selected option")
|
||||
}
|
||||
}
|
||||
|
||||
func TestCurrencyWarsEncounterExperienceUpdatesLevel(t *testing.T) {
|
||||
c, err := common.LoadCurrencyWarsCatalog()
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
if len(c.PlayerLevels) < 2 {
|
||||
t.Fatal("captured player levels missing")
|
||||
}
|
||||
first := c.PlayerLevels[0]
|
||||
player := &pb.NIHNGPKHEPC{EHNJDIDABHD: first.Level, AFFCFLFIFPH: first.AvatarMaxNumber, NDAINFLOLPJ: c.PlayerLevels[len(c.PlayerLevels)-1].Level}
|
||||
run := &pb.MPIMAEMCEFH{NAGDJGMMCBE: []*pb.GridFightGameInfo{
|
||||
{LEOIAOFBBFA: &pb.GridFightGameInfo_FAOCFBOFCJP{FAOCFBOFCJP: player}},
|
||||
{LEOIAOFBBFA: &pb.GridFightGameInfo_EBHDIOGALIE{EBHDIOGALIE: &pb.POCJDMMANBM{}}},
|
||||
}}
|
||||
branch := &pb.KKBGIPCAGGH{BOAMLLHPNEC: &pb.GridFightDropInfo{NMGIABHIJJB: []*pb.BCCONKJHDJL{{FKKGLFOHGGA: pb.MJJIFGINJAJ_MJJIFGINJAJ_exp, Num: first.LevelUpExp}}}}
|
||||
updates, err := cwEncounterRewards(c, run, branch, cwPercentScale, 0)
|
||||
if err != nil || player.EHNJDIDABHD <= first.Level || len(updates) == 0 {
|
||||
t.Fatalf("EXP reward: player=%v updates=%d err=%v", player, len(updates), err)
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user