diff --git a/worldsrv/player.go b/worldsrv/player.go index 0483c9a..fe78a2d 100644 --- a/worldsrv/player.go +++ b/worldsrv/player.go @@ -1913,10 +1913,14 @@ func (this *Player) AddDiamond(num, add int64, gainWay int32, oper, remark strin } else { this.Diamond += num } - TaskSubjectSingleton.Touch(common.TaskTypeCostDiamond, &TaskData{ - SnId: this.SnId, - Num: -num, - }) + switch gainWay { + case common.GainWay_MatchSignup: // 排除的 + default: + TaskSubjectSingleton.Touch(common.TaskTypeCostDiamond, &TaskData{ + SnId: this.SnId, + Num: -num, + }) + } } this.SendDiffData() diff --git a/worldsrv/tournament.go b/worldsrv/tournament.go index 0cdc71e..2177750 100644 --- a/worldsrv/tournament.go +++ b/worldsrv/tournament.go @@ -732,6 +732,12 @@ func (this *Tournament) Start(platform string, tmId int32) { GameFreeID: tm.dbGameFree.GetId(), Num: 1, }) + if matchInfo.GetSignupCostDiamond() > 0 { + TaskSubjectSingleton.Touch(common.TaskTypeCostDiamond, &TaskData{ + SnId: v.SnId, + Num: matchInfo.GetSignupCostDiamond(), + }) + } } this.signupPlayers[platform][tmId].signup = make(map[int32]*TmPlayer) }