playroom接口

This commit is contained in:
hahwu 2024-12-17 09:52:54 +08:00
parent fe97b5c31f
commit 4ea86a221e
4 changed files with 3122 additions and 2896 deletions

View File

@ -700,6 +700,8 @@ func (p *PlayerBaseData) BackAsset() *msg.ResPlayerAsset {
RecoverTime: p.Data.RecoverTime,
Level: p.Data.Level,
Exp: p.Data.Exp,
Login: p.Data.LoginTime,
Logout: p.Data.LogoutTime,
}
}

View File

@ -149,7 +149,7 @@ func (p *PlayerChessData) HandleChess(handle_list []*msg.ChessHandle) error {
return err
}
AddChessList = append(AddChessList, ChessId)
if !GoUtil.InArray(EmitId, []int{561, 562, 563, 564, 701, 702, 703, 704, 705, 706}) { // 宝箱生成的棋子不扣体力
if !GoUtil.InArray(EmitId, []int{561, 562, 563, 564, 701, 702, 703, 704, 705, 706, 0}) { // 宝箱生成的棋子不扣体力
addChessCostEnergy++
}

View File

@ -535,7 +535,7 @@ func ReqPutChessInBag(args []interface{}) error {
data := player.GetIFGameData("PlayerChessData")
err = data.(*PlayerChessData).UpdateChessData(req.MChessData)
if err != nil {
player.SendErrClienRes(&msg.ResGetChessFromBuff{
player.SendErrClienRes(&msg.ResPutChessInBag{
Code: msg.RES_CODE_FAIL,
Msg: err.Error(),
})
@ -566,7 +566,7 @@ func ReqTakeChessOutBag(args []interface{}) error {
data := player.GetIFGameData("PlayerChessData")
err = data.(*PlayerChessData).UpdateChessData(req.MChessData)
if err != nil {
player.SendErrClienRes(&msg.ResGetChessFromBuff{
player.SendErrClienRes(&msg.ResTakeChessOutBag{
Code: msg.RES_CODE_FAIL,
Msg: err.Error(),
})
@ -651,7 +651,7 @@ func ReqChessEx(args []interface{}) error {
data := player.GetIFGameData("PlayerChessData")
err = data.(*PlayerChessData).UpdateChessData(req.MChessData)
if err != nil {
player.SendErrClienRes(&msg.ResGetChessFromBuff{
player.SendErrClienRes(&msg.ResChessEx{
Code: msg.RES_CODE_FAIL,
Msg: err.Error(),
})
@ -3080,3 +3080,50 @@ func ReqOfflineReconnectFunc(args []interface{}) error {
G_GameLogicPtr.PackResInfo(a, "ResOfflineReconnect", data)
return nil
}
// playroom 打工离线
func ReqPlayroomOutline(args []interface{}) error {
_, player, buf := ParseArgs(args)
req := &msg.ReqPlayroomOutline{}
proto.Unmarshal(buf, req)
ChessMod := player.PlayMod.getChessMod()
if req.CostDia < 0 {
var itemList []*item.Item
item := item.NewItem(item.ITEM_DIAMOND_ID, int(req.CostDia))
itemList = append(itemList, item)
err := player.HandleItem(itemList, "ChessEx")
if err != nil {
player.SendErrClienRes(&msg.ResPlayroomOutline{
Code: msg.RES_CODE_FAIL,
Msg: err.Error(),
})
return err
}
}
err := ChessMod.ExChess(int(req.OldChessId), int(req.NewChessId))
if err != nil {
player.SendErrClienRes(&msg.ResPlayroomOutline{
Code: msg.RES_CODE_FAIL,
Msg: err.Error(),
})
return err
}
HandbookMod := player.PlayMod.getHandbookMod()
HandbookMod.SetHandbook(int(req.NewChessId))
data := player.GetIFGameData("PlayerChessData")
err = data.(*PlayerChessData).UpdateChessData(req.MChessData)
if err != nil {
player.SendErrClienRes(&msg.ResPlayroomOutline{
Code: msg.RES_CODE_FAIL,
Msg: err.Error(),
})
return err
}
player.PlayMod.save()
player.PushClientRes(ChessMod.BackData())
player.PushClientRes(&msg.ResPlayroomOutline{
Code: msg.RES_CODE_SUCCESS,
})
return nil
}

File diff suppressed because it is too large Load Diff