Merge branch 'develop' of https://git.pogorockgames.com/mango-games/server/game into develop
This commit is contained in:
commit
24dd497af4
|
@ -314,9 +314,10 @@ const (
|
|||
GainWayRoomCost = 106 //房费消耗
|
||||
GainWayRoomGain = 107 //房卡场获得
|
||||
GainWayItemShop = 108 // 交易市场道具交易
|
||||
GainWayClawdoorCostItem = 109 // 娃娃机上分扣道具
|
||||
GainWayClawdollCostItem = 109 // 娃娃机上分扣道具
|
||||
GainWayItemShopChangeDoll = 110 // 商城兑换娃娃
|
||||
GainWayItemBagChangeDoll = 111 // 背包内兑换娃娃
|
||||
GainWayClawdollCatch = 112 // 娃娃机抓取到娃娃获取卡
|
||||
)
|
||||
|
||||
// 后台选择 金币变化类型 的充值 类型id号起始
|
||||
|
@ -567,7 +568,6 @@ const (
|
|||
ItemIDVCard = 30001 // v卡
|
||||
ItemIDJCard = 30002 // 金券
|
||||
ItemDiamondScore = 100012 //钻石积分
|
||||
ItemDollCard = 40004 // 娃娃卡积分
|
||||
)
|
||||
|
||||
func ToItemId(id int32) int32 {
|
||||
|
@ -598,7 +598,6 @@ const (
|
|||
ItemTypeObjective = 16 // 目标类道具
|
||||
ItemTypeChange = 17 // 兑换话费
|
||||
ItemTypeSkinChip = 22 // 皮肤碎片
|
||||
ItemTypeDoll = 26 //娃娃兑换
|
||||
)
|
||||
|
||||
func GetKeyNoviceGameId(gameId int) string {
|
||||
|
@ -852,9 +851,3 @@ type NotifyType int // 通知类型
|
|||
const (
|
||||
NotifyPrivateRoomList NotifyType = 1 // 私人房间列表
|
||||
)
|
||||
|
||||
// SCPlayerCoinChange 中数值类型
|
||||
const (
|
||||
PlayerChangeTypeCoin = 0 // 金币
|
||||
PlayerChangeTypeNum = 1 // 积分
|
||||
)
|
||||
|
|
|
@ -113,6 +113,17 @@ func (svc *ItemLogSvc) UpdateState(req *model.UpdateParam, res *model.UpdateRes)
|
|||
return err
|
||||
}
|
||||
|
||||
func (svc *ItemLogSvc) GetClawdollItemLog(args *model.ClawdollItemLogReq, ret *[]model.CoinWAL) (err error) {
|
||||
cond := bson.M{"snid": args.Snid, "typeid": common.GainWayClawdollCostItem}
|
||||
c := ItemLogsCollection(args.Platform)
|
||||
if c == nil {
|
||||
return
|
||||
}
|
||||
|
||||
err = c.Find(cond).All(&ret)
|
||||
return
|
||||
}
|
||||
|
||||
func init() {
|
||||
rpc.Register(new(ItemLogSvc))
|
||||
}
|
||||
|
|
|
@ -75,5 +75,7 @@ const (
|
|||
)
|
||||
|
||||
const (
|
||||
ClawDoorItemID = 40003
|
||||
ClawDollItemID = 40003
|
||||
ClawDollGiveItemID = 74004
|
||||
ClawDollCostItemCount = 2
|
||||
)
|
||||
|
|
|
@ -73,12 +73,19 @@ func MSDollMachineoCoinResultHandler(session *netlib.Session, packetId int, data
|
|||
return nil
|
||||
}
|
||||
|
||||
playerEx, ok := p.ExtraData.(*PlayerEx)
|
||||
if !ok {
|
||||
return nil
|
||||
}
|
||||
|
||||
switch msg.TypeId {
|
||||
case 1:
|
||||
logger.Logger.Tracef("ClawDoll OnPlayerOp payCoin response, SnId= %v", p.SnId)
|
||||
if msg.Result == 1 {
|
||||
logger.Logger.Tracef("上分成功!!!!!!!!!!!!snid = %v", msg.Snid)
|
||||
|
||||
playerEx.CostPlayCoin(2)
|
||||
|
||||
sceneEx.playingSnid = p.SnId
|
||||
|
||||
//发送向前移动指令
|
||||
|
@ -99,6 +106,9 @@ func MSDollMachineoCoinResultHandler(session *netlib.Session, packetId int, data
|
|||
case 2:
|
||||
if msg.Result == 1 {
|
||||
// 获得娃娃卡
|
||||
|
||||
playerEx.CatchCardClawdoll(1)
|
||||
|
||||
logger.Logger.Tracef("下抓成功!!!!!!!!!!!!snid = %v", msg.Snid)
|
||||
} else {
|
||||
logger.Logger.Tracef("下抓失败!!!!!!!!!!!!snid = %v", msg.Snid)
|
||||
|
|
|
@ -42,10 +42,10 @@ func (this *PlayerEx) CanOp(sceneEx *SceneEx) bool {
|
|||
// 能否投币
|
||||
func (this *PlayerEx) CanPayCoin() bool {
|
||||
|
||||
itemID := int32(rule.ClawDoorItemID)
|
||||
itemID := int32(rule.ClawDollItemID)
|
||||
itemCount := this.GetItemCount(itemID)
|
||||
if itemCount < 1 {
|
||||
return true
|
||||
if itemCount < rule.ClawDollCostItemCount {
|
||||
return false
|
||||
}
|
||||
|
||||
itemData := srvdata.GameItemMgr.Get(this.Platform, itemID)
|
||||
|
@ -70,11 +70,11 @@ func (this *PlayerEx) CostPlayCoin(count int32) bool {
|
|||
|
||||
var items []*model.Item
|
||||
|
||||
itemData := srvdata.GameItemMgr.Get(this.Platform, rule.ClawDoorItemID)
|
||||
itemData := srvdata.GameItemMgr.Get(this.Platform, rule.ClawDollItemID)
|
||||
if itemData != nil {
|
||||
items = append(items, &model.Item{
|
||||
ItemId: rule.ClawDoorItemID,
|
||||
ItemNum: -1,
|
||||
ItemId: rule.ClawDollItemID,
|
||||
ItemNum: int64(count),
|
||||
})
|
||||
}
|
||||
|
||||
|
@ -92,7 +92,7 @@ func (this *PlayerEx) CostPlayCoin(count int32) bool {
|
|||
this.AddItems(&model.AddItemParam{
|
||||
P: this.PlayerData,
|
||||
Change: items,
|
||||
GainWay: common.GainWayClawdoorCostItem,
|
||||
GainWay: common.GainWayClawdollCostItem,
|
||||
Operator: "system",
|
||||
Remark: "娃娃机上分扣除道具",
|
||||
GameId: int64(sceneEx.GameId),
|
||||
|
@ -102,6 +102,42 @@ func (this *PlayerEx) CostPlayCoin(count int32) bool {
|
|||
return true
|
||||
}
|
||||
|
||||
// 抓取到娃娃获得娃娃
|
||||
func (this *PlayerEx) CatchCardClawdoll(count int32) bool {
|
||||
var items []*model.Item
|
||||
|
||||
itemData := srvdata.GameItemMgr.Get(this.Platform, rule.ClawDollGiveItemID)
|
||||
if itemData != nil {
|
||||
items = append(items, &model.Item{
|
||||
ItemId: rule.ClawDollGiveItemID,
|
||||
ItemNum: int64(count),
|
||||
})
|
||||
}
|
||||
|
||||
s := this.GetScene()
|
||||
if s == nil {
|
||||
logger.Logger.Warn("CatchCardClawdoll p.scene == nil")
|
||||
return false
|
||||
}
|
||||
|
||||
sceneEx, ok := s.ExtraData.(*SceneEx)
|
||||
if !ok {
|
||||
return false
|
||||
}
|
||||
|
||||
this.AddItems(&model.AddItemParam{
|
||||
P: this.PlayerData,
|
||||
Change: items,
|
||||
GainWay: common.GainWayClawdollCatch,
|
||||
Operator: "system",
|
||||
Remark: "娃娃机抓取到娃娃获得娃娃卡",
|
||||
GameId: int64(sceneEx.GameId),
|
||||
GameFreeId: int64(sceneEx.GetGameFreeId()),
|
||||
})
|
||||
|
||||
return true
|
||||
}
|
||||
|
||||
// 能否移动
|
||||
func (this *PlayerEx) CanMove() bool {
|
||||
|
||||
|
|
|
@ -11,6 +11,7 @@ import (
|
|||
var (
|
||||
ItemLogDBName = "log"
|
||||
ItemLogCollName = "log_itemlog"
|
||||
ClawDollItemIds = []int32{40003, 40004, 80001, 80002}
|
||||
)
|
||||
|
||||
type ItemLog struct {
|
||||
|
@ -118,3 +119,37 @@ func UpdateItemState(param *UpdateParam) error {
|
|||
|
||||
return err
|
||||
}
|
||||
|
||||
type ClawdollItemLogReq struct {
|
||||
Platform string
|
||||
Snid int32 // 玩家id
|
||||
ItemIds []int32 // 道具id
|
||||
}
|
||||
|
||||
func GetClawdollItemLog(plt string, snid int32) (logs []ItemLog, err error) {
|
||||
|
||||
if rpcCli == nil {
|
||||
logger.Logger.Error("model.GetClawdollItemLog rpcCli == nil")
|
||||
return
|
||||
}
|
||||
|
||||
args := &ClawdollItemLogReq{
|
||||
Platform: plt,
|
||||
Snid: snid,
|
||||
}
|
||||
|
||||
args.ItemIds = append(args.ItemIds, ClawDollItemIds...)
|
||||
|
||||
var ret []ItemLog
|
||||
|
||||
//var ret ClawdollItemLogRet
|
||||
err = rpcCli.CallWithTimeout("ItemLogSvc.GetClawdollItemLog", args, &ret, time.Second*30)
|
||||
if err != nil {
|
||||
logger.Logger.Warnf("GetClawdollItemLog err:%v", err)
|
||||
return
|
||||
}
|
||||
|
||||
logs = ret
|
||||
|
||||
return
|
||||
}
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -232,6 +232,8 @@ enum PlayerPacketID {
|
|||
PACKET_SCUpdateAttribute = 2841;//返回更新属性
|
||||
PACKET_SCGuideConfig = 2842;//返回引导配置
|
||||
PACKET_SCDataConfig = 2843;//通知配置更新
|
||||
PACKET_CSClawdollItemLog = 2844;//请求娃娃卡道具记录
|
||||
PACKET_SCClawdollItemLog = 2845;//返回娃娃卡道具记录
|
||||
}
|
||||
|
||||
// 账变记录
|
||||
|
@ -1368,4 +1370,23 @@ message Config{
|
|||
//PACKET_SCDataConfig
|
||||
message SCDataConfig{
|
||||
repeated Config Cfg = 1;
|
||||
}
|
||||
}
|
||||
|
||||
//娃娃卡记录
|
||||
//PACKET_CSClawdollItemLog
|
||||
message CSClawdollItemLog{
|
||||
int32 typeId = 1; //1-娃娃卡记录 2-充值记录
|
||||
}
|
||||
//PACKET_SCClawdollItemLog
|
||||
message SCClawdollItemLog{
|
||||
int32 typeId = 1; //1-娃娃卡记录 2-充值记录
|
||||
repeated ClawdollItemLogData ItemLogs = 2;
|
||||
}
|
||||
|
||||
message ClawdollItemLogData{
|
||||
int32 ItemLogType = 1; //道具记录类型
|
||||
int32 ItemId = 2; //道具ID
|
||||
int64 Num = 3; //数量
|
||||
int64 Time = 4; //时间
|
||||
}
|
||||
|
||||
|
|
|
@ -3162,6 +3162,47 @@ func CSUpdateAttribute(s *netlib.Session, packetId int, data interface{}, sid in
|
|||
return nil
|
||||
}
|
||||
|
||||
// 获取获奖记录
|
||||
func CSClawdollItemLog(s *netlib.Session, packetId int, data interface{}, sid int64) error {
|
||||
logger.Logger.Tracef("CSClawdollItemLog Process %v", data)
|
||||
p := PlayerMgrSington.GetPlayer(sid)
|
||||
if p == nil {
|
||||
return nil
|
||||
}
|
||||
msg, ok := data.(*player_proto.CSClawdollItemLog)
|
||||
if !ok {
|
||||
return nil
|
||||
}
|
||||
|
||||
ret := &player_proto.SCClawdollItemLog{}
|
||||
ret.TypeId = msg.TypeId
|
||||
|
||||
var err error
|
||||
var ItemUseLogs []model.ItemLog
|
||||
|
||||
//娃娃机道具使用日志
|
||||
task.New(nil, task.CallableWrapper(func(o *basic.Object) interface{} {
|
||||
ItemUseLogs, err = model.GetClawdollItemLog(p.Platform, p.SnId)
|
||||
return err
|
||||
}), task.CompleteNotifyWrapper(func(data interface{}, t task.Task) {
|
||||
for _, logInfo := range ItemUseLogs {
|
||||
infoData := &player_proto.ClawdollItemLogData{}
|
||||
|
||||
infoData.ItemId = logInfo.ItemId
|
||||
infoData.Time = logInfo.CreateTs
|
||||
infoData.Num = logInfo.Count
|
||||
infoData.ItemLogType = logInfo.LogType
|
||||
|
||||
ret.ItemLogs = append(ret.ItemLogs, infoData)
|
||||
}
|
||||
|
||||
p.SendToClient(int(player_proto.PlayerPacketID_PACKET_SCClawdollItemLog), ret)
|
||||
logger.Logger.Tracef("SCClawdollItemLog:%v", ret)
|
||||
}), "GetClawdollItemLog").Start()
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func init() {
|
||||
// 用户信息
|
||||
common.Register(int(player_proto.PlayerPacketID_PACKET_CS_PLAYERDATA), player_proto.CSPlayerData{}, CSPlayerData)
|
||||
|
@ -3195,4 +3236,6 @@ func init() {
|
|||
common.Register(int(player_proto.PlayerPacketID_PACKET_CSPopUpWindowsConfig), player_proto.CSPopUpWindowsConfig{}, CSPopUpWindowsConfig)
|
||||
// 更新属性;新手引导阶段
|
||||
common.Register(int(player_proto.PlayerPacketID_PACKET_CSUpdateAttribute), player_proto.CSUpdateAttribute{}, CSUpdateAttribute)
|
||||
//娃娃卡道具记录
|
||||
common.Register(int(player_proto.PlayerPacketID_PACKET_CSClawdollItemLog), player_proto.CSClawdollItemLog{}, CSClawdollItemLog)
|
||||
}
|
||||
|
|
|
@ -3006,6 +3006,7 @@ func (this *Player) SendPlayerInfo() {
|
|||
if item := BagMgrSingleton.GetItem(this.SnId, common.ItemIDVCard); item != nil {
|
||||
scPlayerData.Data.VCoin = item.ItemNum //V卡
|
||||
}
|
||||
|
||||
// 排位积分
|
||||
scPlayerData.Data.RankScore = RankMgrSingleton.GetPlayerRankScore(this.SnId)
|
||||
|
||||
|
|
Loading…
Reference in New Issue