diff --git a/src/server/conf/race/raceCfg.go b/src/server/conf/race/raceCfg.go index 978563d7..f29f822f 100644 --- a/src/server/conf/race/raceCfg.go +++ b/src/server/conf/race/raceCfg.go @@ -46,7 +46,7 @@ func GetActivityItemId(Id int) int { return gamedata.GetIntValue(data, "ItemId") } func GetCD(Id int) int { - data, err := gamedata.GetDataByIntKey(CFG_RACE_TEMPLATE, Id) + data, err := gamedata.GetDataByIntKey(CFG_RACE_PASS, Id) if err != nil { return 0 } diff --git a/src/server/conf/randname/randnameCfg.go b/src/server/conf/randname/randnameCfg.go index b2e8e0e4..0a8a04ec 100644 --- a/src/server/conf/randname/randnameCfg.go +++ b/src/server/conf/randname/randnameCfg.go @@ -25,7 +25,7 @@ func GetRandName() string { } func GetRandNames(n int) []string { - rs := make([]string, n) + rs := make([]string, 0) data, err := gamedata.GetData(CFG_RAND_NAME) if err != nil { for i := 0; i < n; i++ { @@ -34,9 +34,11 @@ func GetRandNames(n int) []string { } } all := make([]int, len(data)) + index := 0 for k := range data { ik := GoUtil.Int(k) - all = append(all, ik) + all[index] = ik + index++ } ids := GoUtil.RandSliceNumNonAdjacent(all, n) for _, v := range ids { diff --git a/src/server/game/mod/race/race.go b/src/server/game/mod/race/race.go index 534589ef..2fa22c42 100644 --- a/src/server/game/mod/race/race.go +++ b/src/server/game/mod/race/race.go @@ -108,7 +108,7 @@ func (r *RaceMod) GetReward() ([]*item.Item, error) { func randOpponents(OpponentNum int) []*Opponent { Opponent := make([]*Opponent, 0) names := randnameCfg.GetRandNames(OpponentNum) - for i := 0; i < OpponentNum-1; i++ { + for i := 1; i < OpponentNum; i++ { Opponent = append(Opponent, randOpponent(i, names[i])) } return Opponent