| | |
| | | robWorkerCount = mineItemData.RobWorkerCount
|
| | | if not curWorkerCount and not robWorkerCount:
|
| | | return curPos
|
| | | moveSpeed = getattr(mineItemData, MineItemAttr_MoveSpeed)
|
| | | moveSpeed = getattr(mineItemData, MineItemAttr_MoveSpeed, 0)
|
| | | if not moveSpeed:
|
| | | return curPos
|
| | | passSeconds = curTime - mineItemData.UpdTime
|
| | |
| | | battleRatio = workerBattleRatioList[len(workerBattleRatioList) - 1] if batWorkerCount > len(workerBattleRatioList) else workerBattleRatioList[batWorkerCount - 1]
|
| | |
|
| | | needSeconds = int(dist * itemWeight * baseTime * workRatio * battleRatio) # 还需工作时长,秒
|
| | | if needSeconds <= 0:
|
| | | return 0, 0
|
| | | |
| | | moveSpeed = dist / float(needSeconds) # 移动速度 x格/秒
|
| | | needHms = "%02d:%02d:%02d" % (needSeconds / 3600, needSeconds % 3600 / 60, needSeconds % 60)
|
| | |
|
| | |
| | | GameWorld.Log("福地系统定时刷新! %s" % str(curHourMinute))
|
| | | mineItemMgr = PyDataManager.GetDBPyMineAreaItemManager()
|
| | | for playerID in mineItemMgr.playerMineItemDict.keys():
|
| | | __DoMineItemRefresh(playerID, isSuper=True)
|
| | | __DoMineItemRefresh(playerID, isSys=True)
|
| | | return
|
| | |
|
| | | def OnMineItemTimeProcess(curTime, tick):
|
| | |
| | | while doCount > 0 and allMineItemByEndTimeList:
|
| | | doCount -= 1
|
| | | mineItemData = allMineItemByEndTimeList[index]
|
| | | endTime = getattr(mineItemData, MineItemAttr_EndTime)
|
| | | endTime = getattr(mineItemData, MineItemAttr_EndTime, 0)
|
| | | if curTime < endTime:
|
| | | break
|
| | |
|
| | |
| | | return
|
| | |
|
| | | tick = GameWorld.GetGameWorld().GetTick()
|
| | | helpTick = getattr(mineItemData, MineItemAttr_HelpTick)
|
| | | helpTick = getattr(mineItemData, MineItemAttr_HelpTick, 0)
|
| | | if helpTick and tick - helpTick < 10000:
|
| | | GameWorld.DebugLog("已经有其他人在帮助中!", playerID)
|
| | | return
|
| | |
| | | mineItem.UpdTime = mineItemData.UpdTime
|
| | | mineItem.Position = mineItemData.Position
|
| | | mineItem.PosLen = len(mineItem.Position)
|
| | | mineItem.MoveSpeed = "%s" % getattr(mineItemData, MineItemAttr_MoveSpeed)
|
| | | mineItem.MoveSpeed = "%s" % getattr(mineItemData, MineItemAttr_MoveSpeed, 0)
|
| | | mineItem.SpeedLen = len(mineItem.MoveSpeed)
|
| | | mineItem.EndTime = getattr(mineItemData, MineItemAttr_EndTime)
|
| | | mineItem.EndTime = getattr(mineItemData, MineItemAttr_EndTime, 0)
|
| | | mineItem.WorkerCount = mineItemData.WorkerCount
|
| | | mineItem.RobPlayerID = mineItemData.RobPlayerID
|
| | | mineItem.RobWorkerCount = mineItemData.RobWorkerCount
|