69 lines
2.5 KiB
Go
69 lines
2.5 KiB
Go
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}}
|
|
// }
|
|
//}
|