锦标赛排行奖励领取bug修复

This commit is contained in:
hahwu 2026-04-09 12:23:27 +08:00
parent 2c3fad1680
commit b427bdb5b7
2 changed files with 13 additions and 1 deletions

View File

@ -605,6 +605,9 @@ func (p *Player) GetChampshipRankReward(rank, aid int) ([]*item.Item, error) {
if ChampionshipMod == nil {
return nil, fmt.Errorf("championship mod is nil")
}
if ChampionshipMod.HasRankReward() {
return nil, fmt.Errorf("rank reward has been received")
}
cfg := G_GameLogicPtr.ActivityMgr.GetChampshipCfg(aid)
if cfg == nil {
return nil, fmt.Errorf("championship config is nil")
@ -617,6 +620,7 @@ func (p *Player) GetChampshipRankReward(rank, aid int) ([]*item.Item, error) {
return items, nil
}
}
ChampionshipMod.SetRankReward()
return nil, fmt.Errorf("no rank reward found for rank %d", rank)
}

View File

@ -43,10 +43,18 @@ func (c *ChampshipMod) GetRankReward(Rank, yesterdayActivityId int) ([]*item.Ite
if c.RankReward {
return nil, fmt.Errorf("rank reward has been received")
}
c.RankReward = true
c.SetRankReward()
return champshipCfg.GetRankReward(Rank, yesterdayActivityId), nil
}
func (c *ChampshipMod) SetRankReward() {
c.RankReward = true
}
func (c *ChampshipMod) HasRankReward() bool {
return c.RankReward
}
func (c *ChampshipMod) AddScore(chess []int) {
if !c.isActive() {
return