diff --git a/src/server/conf/limitedTimeEvent/LimitedTimeEventCfg.go b/src/server/conf/limitedTimeEvent/LimitedTimeEventCfg.go index f97a6967..e48e19b8 100644 --- a/src/server/conf/limitedTimeEvent/LimitedTimeEventCfg.go +++ b/src/server/conf/limitedTimeEvent/LimitedTimeEventCfg.go @@ -51,47 +51,22 @@ func GetMeteorAdd(ChessLv int) int { } // 获取宝箱雨奖励 -func GetChestReward(Star int) ([]*item.Item, int, int, int) { +func GetChestReward(Star int) []*item.Item { data, err := gamedata.GetData(CFG_LIMITED_TIME_EVENT_CHEST) if err != nil { log.Debug("GetChestReward err:%v", err) - return nil, 0, 0, 0 + return nil } - Grade := 0 - for k, v := range data { + + for _, v := range data { Min := gamedata.GetIntValue(v, "Min") Max := gamedata.GetIntValue(v, "Max") if Star >= Min && Star <= Max { - Grade = GoUtil.Int(k) - break + return gamedata.GetItemList(v, "Items") } } + return nil - data, err = gamedata.GetData(CFG_LIMITED_TIME_EVENT_CHEST_JACKPOT) - if err != nil { - log.Debug("GetChestReward err:%v", err) - return nil, 0, 0, 0 - } - RandMap := make(map[int]int) - for k, v := range data { - Prob := gamedata.GetIntValue(v, "Prob") - if Grade == gamedata.GetIntValue(v, "Grade") { - Id := GoUtil.Int(k) - RandMap[Id] = Prob - } - } - Id := GoUtil.RandMap(RandMap) - data, err = gamedata.GetDataByIntKey(CFG_LIMITED_TIME_EVENT_CHEST_JACKPOT, Id) - if err != nil { - log.Debug("GetChestReward err:%v", err) - return nil, 0, 0, 0 - } - Items := gamedata.GetItemList(data, "Items") - - CardLv := gamedata.GetIntValue(data, "CardLv") - Lv := gamedata.GetIntValue(data, "Lv") - Jackpot := gamedata.GetIntValue(data, "Jackpot") - return Items, CardLv, Lv, Jackpot } // 获取超级订单奖励 diff --git a/src/server/game/RegisterNetworkFunc.go b/src/server/game/RegisterNetworkFunc.go index 9f56cddc..0290e0e6 100644 --- a/src/server/game/RegisterNetworkFunc.go +++ b/src/server/game/RegisterNetworkFunc.go @@ -6,7 +6,6 @@ import ( "math" "server/GoUtil" cardCfg "server/conf/card" - limitedTimeEventCfg "server/conf/limitedTimeEvent" mergeDataCfg "server/conf/mergeData" miningCfg "server/conf/mining" "server/db" @@ -183,7 +182,6 @@ func ReqRewardOrder(args []interface{}) error { proto.Unmarshal(buf, req) OrderMod := player.PlayMod.getOrderMod() ChessMod := player.PlayMod.getChessMod() - CardMod := player.PlayMod.getCardMod() LimitedTimeEventMod := player.PlayMod.getLimitedTimeEventMod() Item, mergeList, OrderType, Star, err := OrderMod.RewardOrder(int(req.OrderId)) if OrderType == order.Trigger_type { // playroom触发式订单获取额外道具 @@ -237,36 +235,9 @@ func ReqRewardOrder(args []interface{}) error { } if LimitedTimeEventMod.CheckExist(limitedTimeEvent.EVENT_TYPE_CHEST_RAIN) { //宝箱雨活动 - AddItem, CardLv, ProductLv, Jackpot := LimitedTimeEventMod.GetChestReward(mergeList) - ChestRainItems := make([]*item.Item, 0) - if len(AddItem) > 0 { - ChestRainItems = AddItem - } - JackpotId := 0 - if CardLv > 0 { - CardId := CardMod.RandCard(CardLv) - ItemId := cardCfg.GetItemIdByCardId(CardId) - if ItemId == 0 { - log.Error("GetItemIdByCardId error cardId:%d", CardId) - return errors.New("GetItemIdByCardId error") - } - ChestRainItems = []*item.Item{{Id: ItemId, Num: 1}} - } - if ProductLv > 0 { - Color := order.RandChessColor(ChessMod.GetEmitList()) - ChessId := mergeDataCfg.GetChessIdByLvAndColor(ProductLv, Color) - if ChessId == 0 { - log.Error("GetChessIdByLvAndColor error color:%d, lv:%d", Color, ProductLv) - return errors.New("GetChessIdByLvAndColor error") - } - ChestRainItems = append(ChestRainItems, &item.Item{Id: ChessId, Num: 1}) - } - if Jackpot > 0 { - ProbList := limitedTimeEventCfg.GetSenceJackpotProb() - JackpotId = GoUtil.RandMap(ProbList) - ChestRainItems = limitedTimeEventCfg.GetSenceJackpotReward(JackpotId) - } - player.args["ResItemPopId"] = JackpotId + ChestRainItems := LimitedTimeEventMod.GetChestReward(mergeList) + + player.args["ResItemPopId"] = 0 err = player.HandleItem(ChestRainItems, msg.ITEM_POP_LABEL_LimitEventChestRain.String()) if err != nil { player.SendErrClienRes(&msg.ResRewardOrder{ @@ -279,7 +250,7 @@ func ReqRewardOrder(args []interface{}) error { if len(ChestRainItems) > 0 { player.PushClientRes(&msg.ResChessRainReward{ Items: item.ItemToMsg(ChestRainItems), - Id: int32(JackpotId), + Id: 0, }) player.TeLog("time_limited_event_action", map[string]interface{}{ "event_type": "chest_rain", diff --git a/src/server/game/UnitTest.go b/src/server/game/UnitTest.go index e48796f8..a3525898 100644 --- a/src/server/game/UnitTest.go +++ b/src/server/game/UnitTest.go @@ -1,17 +1,10 @@ package game import ( - "errors" "fmt" - "server/GoUtil" - cardCfg "server/conf/card" - limitedTimeEventCfg "server/conf/limitedTimeEvent" - mergeDataCfg "server/conf/mergeData" - "server/game/mod/item" "server/game/mod/order" "server/game/mod/sevenLogin" "server/msg" - "server/pkg/github.com/name5566/leaf/log" ) func UnitEndlessReward(p *Player) error { @@ -98,40 +91,10 @@ func UnitLimitProgress(p *Player) error { func UnitLimitedTimeEvent(p *Player) error { LimitedTimeEventMod := p.PlayMod.getLimitedTimeEventMod() - CardMod := p.PlayMod.getCardMod() - ChessMod := p.PlayMod.getChessMod() - mergeList := []int{246, 5} - AddItem, CardLv, ProductLv, Jackpot := LimitedTimeEventMod.GetChestReward(mergeList) - ChestRainItems := make([]*item.Item, 0) - if len(AddItem) > 0 { - ChestRainItems = AddItem - } - JackpotId := 0 - if CardLv > 0 { - CardId := CardMod.RandCard(CardLv) - ItemId := cardCfg.GetItemIdByCardId(CardId) - ChestRainItems = []*item.Item{{Id: ItemId, Num: 1}} - } - if ProductLv > 0 { - Color := order.RandChessColor(ChessMod.GetEmitList()) - ChessId := mergeDataCfg.GetChessIdByLvAndColor(ProductLv, Color) - if ChessId == 0 { - log.Error("GetChessIdByLvAndColor error color:%d, lv:%d", Color, ProductLv) - return errors.New("GetChessIdByLvAndColor error") - } - ChestRainItems = append(ChestRainItems, &item.Item{Id: ChessId, Num: 1}) - } - if Jackpot > 0 { - ProbList := limitedTimeEventCfg.GetSenceJackpotProb() - JackpotId = GoUtil.RandMap(ProbList) - ChestRainItems = limitedTimeEventCfg.GetSenceJackpotReward(JackpotId) - } - for _, v := range ChestRainItems { - if v.Id == 0 { - fmt.Print("item id is 0") - } - fmt.Println(v.Id) - } + + mergeList := []int{246, 15} + AddItem := LimitedTimeEventMod.GetChestReward(mergeList) + fmt.Print(AddItem) return nil } diff --git a/src/server/game/mod/limitedTimeEvent/LimitedTimeEvent.go b/src/server/game/mod/limitedTimeEvent/LimitedTimeEvent.go index 86657137..9edce72f 100644 --- a/src/server/game/mod/limitedTimeEvent/LimitedTimeEvent.go +++ b/src/server/game/mod/limitedTimeEvent/LimitedTimeEvent.go @@ -193,11 +193,12 @@ func (l *LimitedTimeEventMod) GetMeteorReward(MergeList []int) []*item.Item { } // 获取宝箱雨奖励 -func (l *LimitedTimeEventMod) GetChestReward(MergeList []int) ([]*item.Item, int, int, int) { +func (l *LimitedTimeEventMod) GetChestReward(MergeList []int) []*item.Item { Star := 0 for _, v := range MergeList { Star += mergeDataCfg.GetStarById(v) } + return limitedTimeEventCfg.GetChestReward(Star) }