修复宝箱雨奖励
This commit is contained in:
parent
f675b35cf6
commit
bc61b4520e
@ -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)
|
data, err := gamedata.GetData(CFG_LIMITED_TIME_EVENT_CHEST)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Debug("GetChestReward err:%v", err)
|
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")
|
Min := gamedata.GetIntValue(v, "Min")
|
||||||
Max := gamedata.GetIntValue(v, "Max")
|
Max := gamedata.GetIntValue(v, "Max")
|
||||||
if Star >= Min && Star <= Max {
|
if Star >= Min && Star <= Max {
|
||||||
Grade = GoUtil.Int(k)
|
return gamedata.GetItemList(v, "Items")
|
||||||
break
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
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
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// 获取超级订单奖励
|
// 获取超级订单奖励
|
||||||
|
|||||||
@ -6,7 +6,6 @@ import (
|
|||||||
"math"
|
"math"
|
||||||
"server/GoUtil"
|
"server/GoUtil"
|
||||||
cardCfg "server/conf/card"
|
cardCfg "server/conf/card"
|
||||||
limitedTimeEventCfg "server/conf/limitedTimeEvent"
|
|
||||||
mergeDataCfg "server/conf/mergeData"
|
mergeDataCfg "server/conf/mergeData"
|
||||||
miningCfg "server/conf/mining"
|
miningCfg "server/conf/mining"
|
||||||
"server/db"
|
"server/db"
|
||||||
@ -183,7 +182,6 @@ func ReqRewardOrder(args []interface{}) error {
|
|||||||
proto.Unmarshal(buf, req)
|
proto.Unmarshal(buf, req)
|
||||||
OrderMod := player.PlayMod.getOrderMod()
|
OrderMod := player.PlayMod.getOrderMod()
|
||||||
ChessMod := player.PlayMod.getChessMod()
|
ChessMod := player.PlayMod.getChessMod()
|
||||||
CardMod := player.PlayMod.getCardMod()
|
|
||||||
LimitedTimeEventMod := player.PlayMod.getLimitedTimeEventMod()
|
LimitedTimeEventMod := player.PlayMod.getLimitedTimeEventMod()
|
||||||
Item, mergeList, OrderType, Star, err := OrderMod.RewardOrder(int(req.OrderId))
|
Item, mergeList, OrderType, Star, err := OrderMod.RewardOrder(int(req.OrderId))
|
||||||
if OrderType == order.Trigger_type { // playroom触发式订单获取额外道具
|
if OrderType == order.Trigger_type { // playroom触发式订单获取额外道具
|
||||||
@ -237,36 +235,9 @@ func ReqRewardOrder(args []interface{}) error {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if LimitedTimeEventMod.CheckExist(limitedTimeEvent.EVENT_TYPE_CHEST_RAIN) { //宝箱雨活动
|
if LimitedTimeEventMod.CheckExist(limitedTimeEvent.EVENT_TYPE_CHEST_RAIN) { //宝箱雨活动
|
||||||
AddItem, CardLv, ProductLv, Jackpot := LimitedTimeEventMod.GetChestReward(mergeList)
|
ChestRainItems := LimitedTimeEventMod.GetChestReward(mergeList)
|
||||||
ChestRainItems := make([]*item.Item, 0)
|
|
||||||
if len(AddItem) > 0 {
|
player.args["ResItemPopId"] = 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
|
|
||||||
err = player.HandleItem(ChestRainItems, msg.ITEM_POP_LABEL_LimitEventChestRain.String())
|
err = player.HandleItem(ChestRainItems, msg.ITEM_POP_LABEL_LimitEventChestRain.String())
|
||||||
if err != nil {
|
if err != nil {
|
||||||
player.SendErrClienRes(&msg.ResRewardOrder{
|
player.SendErrClienRes(&msg.ResRewardOrder{
|
||||||
@ -279,7 +250,7 @@ func ReqRewardOrder(args []interface{}) error {
|
|||||||
if len(ChestRainItems) > 0 {
|
if len(ChestRainItems) > 0 {
|
||||||
player.PushClientRes(&msg.ResChessRainReward{
|
player.PushClientRes(&msg.ResChessRainReward{
|
||||||
Items: item.ItemToMsg(ChestRainItems),
|
Items: item.ItemToMsg(ChestRainItems),
|
||||||
Id: int32(JackpotId),
|
Id: 0,
|
||||||
})
|
})
|
||||||
player.TeLog("time_limited_event_action", map[string]interface{}{
|
player.TeLog("time_limited_event_action", map[string]interface{}{
|
||||||
"event_type": "chest_rain",
|
"event_type": "chest_rain",
|
||||||
|
|||||||
@ -1,17 +1,10 @@
|
|||||||
package game
|
package game
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"errors"
|
|
||||||
"fmt"
|
"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/order"
|
||||||
"server/game/mod/sevenLogin"
|
"server/game/mod/sevenLogin"
|
||||||
"server/msg"
|
"server/msg"
|
||||||
"server/pkg/github.com/name5566/leaf/log"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
func UnitEndlessReward(p *Player) error {
|
func UnitEndlessReward(p *Player) error {
|
||||||
@ -98,40 +91,10 @@ func UnitLimitProgress(p *Player) error {
|
|||||||
|
|
||||||
func UnitLimitedTimeEvent(p *Player) error {
|
func UnitLimitedTimeEvent(p *Player) error {
|
||||||
LimitedTimeEventMod := p.PlayMod.getLimitedTimeEventMod()
|
LimitedTimeEventMod := p.PlayMod.getLimitedTimeEventMod()
|
||||||
CardMod := p.PlayMod.getCardMod()
|
|
||||||
ChessMod := p.PlayMod.getChessMod()
|
mergeList := []int{246, 15}
|
||||||
mergeList := []int{246, 5}
|
AddItem := LimitedTimeEventMod.GetChestReward(mergeList)
|
||||||
AddItem, CardLv, ProductLv, Jackpot := LimitedTimeEventMod.GetChestReward(mergeList)
|
fmt.Print(AddItem)
|
||||||
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)
|
|
||||||
}
|
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -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
|
Star := 0
|
||||||
for _, v := range MergeList {
|
for _, v := range MergeList {
|
||||||
Star += mergeDataCfg.GetStarById(v)
|
Star += mergeDataCfg.GetStarById(v)
|
||||||
}
|
}
|
||||||
|
|
||||||
return limitedTimeEventCfg.GetChestReward(Star)
|
return limitedTimeEventCfg.GetChestReward(Star)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user