修复
This commit is contained in:
parent
30e11d1b50
commit
416a1067da
@ -763,7 +763,7 @@ func (ad *GameLogic) RegisterNetWorkFunc() {
|
||||
RegisterMsgProcessFunc("ReqFastProduceReward", ReqFastProduceReward) // 连击快手奖励
|
||||
RegisterMsgProcessFunc("ReqFastProduceInfo", ReqFastProduceInfo) // 请求连击快手数据
|
||||
RegisterMsgProcessFunc("ReqLimitSenceReward", ReqLimitSenceReward) // 获取场景转盘奖励
|
||||
RegisterMsgProcessFunc("ReqSelectLimitEvent", ReqSelectLimitEvent) //领取限时事件进度奖励
|
||||
RegisterMsgProcessFunc("ReqSelectLimitEvent", ReqSelectLimitEvent) //领取Bouns限时事件进度奖励
|
||||
RegisterMsgProcessFunc("ReqGetGoldCard", ReqGetGoldCard) //请求金卡交换信息
|
||||
RegisterMsgProcessFunc("ReqLimitEventLuckyCat", ReqLimitEventLuckyCat) //幸运猫获取奖励
|
||||
RegisterMsgProcessFunc("ReqCatTrickReward", ReqCatTrickReward) //小猫戏法获取奖励
|
||||
|
||||
@ -57,8 +57,9 @@ func (p *PlayerChessData) ResChessColorData(player *Player) {
|
||||
func (p *PlayerChessData) UpdatePlayerChessData(player *Player, buf []byte) error {
|
||||
update := &msg.UpdatePlayerChessData{}
|
||||
proto.Unmarshal(buf, update)
|
||||
err := p.HandleChess(player, update.MChessHandle)
|
||||
LastMap := player.PlayMod.getChessMod().ChessMap
|
||||
AddChessList, AddNewEmit, err := p.HandleChess(player, update.MChessHandle)
|
||||
|
||||
if err != nil {
|
||||
res := &msg.ResUpdatePlayerChessData{
|
||||
Code: msg.RES_CODE_FAIL,
|
||||
@ -98,7 +99,14 @@ func (p *PlayerChessData) UpdatePlayerChessData(player *Player, buf []byte) erro
|
||||
})
|
||||
return fmt.Errorf("棋子数据不一致")
|
||||
}
|
||||
player.PlayMod.getChessMod().ChessMap = update.MChessData
|
||||
ChessMod := player.PlayMod.getChessMod()
|
||||
BaseMod := player.PlayMod.getBaseMod()
|
||||
OrderMod := player.PlayMod.getOrderMod()
|
||||
ChessMod.ChessMap = update.MChessData
|
||||
Update := OrderMod.CreateExtraOrder(AddChessList, AddNewEmit, ChessMod.GetUnlockChessList(), BaseMod.GetEnergyMul(), BaseMod.GetLevel())
|
||||
if Update {
|
||||
player.PushClientRes(OrderMod.BackData())
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
@ -142,7 +150,7 @@ func (p *PlayerChessData) checkChessEqual(player *Player) bool {
|
||||
}
|
||||
|
||||
// 棋子操作
|
||||
func (p *PlayerChessData) HandleChess(player *Player, handle_list []*msg.ChessHandle) error {
|
||||
func (p *PlayerChessData) HandleChess(player *Player, handle_list []*msg.ChessHandle) ([]int, []int, error) {
|
||||
sort.Slice(handle_list, func(i, j int) bool {
|
||||
return handle_list[i].Id < handle_list[j].Id
|
||||
})
|
||||
@ -164,7 +172,7 @@ func (p *PlayerChessData) HandleChess(player *Player, handle_list []*msg.ChessHa
|
||||
case msg.HANDLE_TYPE_ADD: //增加棋子
|
||||
err := ChessMod.AddChess(ChessId)
|
||||
if err != nil {
|
||||
return err
|
||||
return nil, nil, err
|
||||
}
|
||||
Type := mergeDataCfg.GetTypeById(ChessId)
|
||||
AddChessList = append(AddChessList, ChessId)
|
||||
@ -184,7 +192,7 @@ func (p *PlayerChessData) HandleChess(player *Player, handle_list []*msg.ChessHa
|
||||
case msg.HANDLE_TYPE_COMPOSE: //合成棋子
|
||||
NewChessId, err := ChessMod.ComposeChess(ChessId)
|
||||
if err != nil {
|
||||
return err
|
||||
return nil, nil, err
|
||||
}
|
||||
HandbookMod := player.PlayMod.getHandbookMod() // 添加图鉴
|
||||
b := HandbookMod.SetHandbook(NewChessId)
|
||||
@ -203,8 +211,9 @@ func (p *PlayerChessData) HandleChess(player *Player, handle_list []*msg.ChessHa
|
||||
case msg.HANDLE_TYPE_BUY: //购买棋子
|
||||
loseGold, err := ChessMod.BuyChess(ChessId)
|
||||
if err != nil {
|
||||
return err
|
||||
return nil, nil, err
|
||||
}
|
||||
AddChessList = append(AddChessList, ChessId)
|
||||
buyChess += loseGold
|
||||
itemList = append(itemList, &item.Item{Id: item.ITEM_STAR_ID, Num: int(-loseGold)})
|
||||
case msg.HANDLE_TYPE_SELL: //出售棋子
|
||||
@ -222,7 +231,7 @@ func (p *PlayerChessData) HandleChess(player *Player, handle_list []*msg.ChessHa
|
||||
LimitPush = true
|
||||
}
|
||||
if err != nil {
|
||||
return err
|
||||
return nil, nil, err
|
||||
}
|
||||
player.TeLog("sell_item", map[string]interface{}{
|
||||
"merge_item_id": ChessId,
|
||||
@ -243,7 +252,7 @@ func (p *PlayerChessData) HandleChess(player *Player, handle_list []*msg.ChessHa
|
||||
}
|
||||
err := player.HandleItem(itemList, msg.ITEM_POP_LABEL_HandleChess.String())
|
||||
if err != nil {
|
||||
return err
|
||||
return nil, nil, err
|
||||
}
|
||||
NewEmitList := ChessMod.GetEmitList()
|
||||
EmitProductList := make([]string, 0)
|
||||
@ -261,10 +270,7 @@ func (p *PlayerChessData) HandleChess(player *Player, handle_list []*msg.ChessHa
|
||||
// 发射器系列变化,重新洗牌
|
||||
OrderMod.ResetChessPool()
|
||||
}
|
||||
Update := OrderMod.CreateExtraOrder(AddChessList, AddNewEmit, ChessMod.GetUnlockChessList(), EnergyPow, BaseMod.GetLevel())
|
||||
if Update {
|
||||
player.PushClientRes(OrderMod.BackData())
|
||||
}
|
||||
|
||||
// 限时事件 小猫戏法
|
||||
LimitedTimeEventMod := player.PlayMod.getLimitedTimeEventMod()
|
||||
if LimitedTimeEventMod.CheckExist(limitedTimeEvent.EVENT_TYPE_CAT_TRICK) {
|
||||
@ -278,7 +284,7 @@ func (p *PlayerChessData) HandleChess(player *Player, handle_list []*msg.ChessHa
|
||||
EmitRetireTrigger1(player)
|
||||
player.PushClientRes(ChessMod.BackData())
|
||||
player.PlayMod.save()
|
||||
return nil
|
||||
return AddChessList, AddNewEmit, nil
|
||||
}
|
||||
|
||||
func (p *PlayerChessData) ClearData() bool {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user