package logic //type PlayerIdleBattle struct { // SceneId uint32 `bson:"scene_id"` // GetTime int64 `bson:"get_time"` // PutTime int64 `bson:"put_time"` // // Rewards map[uint32]uint32 `bson:"rewards"` //} // //func (this *Player) idleBattleReward(now int64) bool { // if this.IdleBattle == nil { // this.IdleBattle = &PlayerIdleBattle{SceneId: this.Role.MainlineSceneId, GetTime: now, PutTime: now, Rewards: map[uint32]uint32{}} // this.SaveField("idle_battle", this.IdleBattle) // // _ = this.Send(proto.ModIdBattle, proto.MsgIdIdleBattleStatus, this.BuildMsgIdleBattleStatusAck()) // return true // } // // var idleProfitTable = this.manager.tables.IdleProfit.Get(int(this.IdleBattle.SceneId)) // if idleProfitTable == nil { // return false // } // // if now-this.IdleBattle.PutTime < int64(idleProfitTable.Interval) { // return false // } // // var timeAddition = this.CheckMonthlyCardPrivilege(proto.MonthlyCardPrivilegeTypeIdleBattleTimeAddition) // if this.IdleBattle.PutTime-this.IdleBattle.GetTime > int64(idleProfitTable.IdleLimit)+timeAddition { // return false // } // // var times = uint32((now - this.IdleBattle.PutTime) / int64(idleProfitTable.Interval)) // for i, itemId := range idleProfitTable.ItemId { // this.IdleBattle.Rewards[uint32(itemId)] += uint32(idleProfitTable.ItemNum[i]) * times // } // // var dropResult = this.manager.tables.DropExtend.Drop(idleProfitTable.DropId, int(times)) // for _, itemPair := range dropResult { // this.IdleBattle.Rewards[itemPair[0]] += itemPair[1] // } // // this.SaveField("idle_battle.rewards", this.IdleBattle.Rewards) // // this.IdleBattle.PutTime = now // this.SaveField("idle_battle.put_time", this.IdleBattle.PutTime) // // if this.IdleBattle.SceneId != this.Role.MainlineSceneId { // this.IdleBattle.SceneId = this.Role.MainlineSceneId // this.SaveField("idle_battle.scene_id", this.IdleBattle.SceneId) // } // // _ = this.Send(proto.ModIdBattle, proto.MsgIdIdleBattleStatus, this.BuildMsgIdleBattleStatusAck()) // return true //} // //func (this *Player) BuildMsgIdleBattleStatusAck() *proto.MsgIdleBattleStatusAck { // if this.IdleBattle == nil { // return &proto.MsgIdleBattleStatusAck{} // } else { // var rewardList []*proto.ItemPair // for itemId, itemNum := range this.IdleBattle.Rewards { // rewardList = append(rewardList, &proto.ItemPair{ItemId: itemId, ItemNum: itemNum}) // } // return &proto.MsgIdleBattleStatusAck{SceneId: this.IdleBattle.SceneId, GetTime: this.IdleBattle.GetTime, MsgRewardListAck: &proto.MsgRewardListAck{RewardList: rewardList}} // } //}