6969 【2.0】【后端】缥缈仙域先随机再扣活跃
| | |
| | | __SetPDictValue(curPlayer, ChConfig.Def_PDict_ActivityCanCostTotalPoint, min(IpyGameDataPY.GetFuncCfg('ImmortalDomainActivePoint'), curPoint + addValue))
|
| | | return
|
| | |
|
| | | def CostActivityPoint(curPlayer, costPoint):
|
| | | def CostActivityPoint(curPlayer, costPoint, isOnlyCheck=False):
|
| | | # 消耗活跃点
|
| | | curPoint = __GetPDictValue(curPlayer, ChConfig.Def_PDict_ActivityCanCostTotalPoint)
|
| | | if curPoint < costPoint:
|
| | | return
|
| | | __SetPDictValue(curPlayer, ChConfig.Def_PDict_ActivityCanCostTotalPoint,
|
| | | curPoint - costPoint)
|
| | | SyncDailyActivityInfo(curPlayer)
|
| | | if not isOnlyCheck:
|
| | | __SetPDictValue(curPlayer, ChConfig.Def_PDict_ActivityCanCostTotalPoint,
|
| | | curPoint - costPoint)
|
| | | SyncDailyActivityInfo(curPlayer)
|
| | | return True
|
| | |
|
| | | ## 同步活跃度信息
|
| | |
| | | GameWorld.DebugLog(" 正在寻访仙域中!请先退出寻访")
|
| | | return
|
| | | costPoint = IpyGameDataPY.GetFuncCfg('ImmortalDomainActivePoint', 2)
|
| | | if not PlayerActivity.CostActivityPoint(curPlayer, costPoint):
|
| | | if not PlayerActivity.CostActivityPoint(curPlayer, costPoint, True):
|
| | | GameWorld.DebugLog(" 寻访仙域需要活跃点不足!costPoint=%s"%costPoint)
|
| | | return
|
| | |
|
| | |
| | | for eventType, rate in singleEventRateDict.items():
|
| | | if GameWorld.CanHappen(rate):
|
| | | fdEventTypeDict[eventType] = 1
|
| | | |
| | |
|
| | | otherCnt = GameWorld.GetResultByRandomList(otherCntRateList, 0)
|
| | | if otherCnt:
|
| | | otherEventRateList = copy.deepcopy(IpyGameDataPY.GetFuncEvalCfg('ImmortalDomain', 3))
|
| | |
| | | #更新全服出现次数
|
| | | msgStr = str(fdEventIDList)
|
| | | GameWorld.GetPlayerManager().GameServer_QueryPlayerResult(0, 0, 0, 'AddFairyDomainEvent', msgStr, len(msgStr))
|
| | | if not fdEventIDList:
|
| | | fdEventIDList = IpyGameDataPY.GetFuncEvalCfg('ImmortalDomain', 5)
|
| | | GameWorld.Log('寻访仙域, 没有随机出事件,使用默认事件!! playerLV=%s,visitCnt=%s,默认fdEventIDList=%s'%(curPlayer.GetLV(), visitCnt, fdEventIDList), curPlayer.GetID())
|
| | | if not fdEventIDList:
|
| | | return
|
| | | PlayerActivity.CostActivityPoint(curPlayer, costPoint)
|
| | | #奇遇事件 随机档位数据
|
| | | openServerDay = GameWorld.GetGameWorld().GetGameWorldDictByKey(ShareDefine.Def_Notify_WorldKey_ServerDay) + 1
|
| | | for fdEventID in fdEventIDList:
|
| | |
| | | condition = random.choice(conditionList)
|
| | | index = conditionList.index(condition)
|
| | | PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_FairyAdventuresData % fdEventID, ipyData.GetID() * 100 + index)
|
| | | |
| | | if not fdEventIDList:
|
| | | GameWorld.Log('寻访仙域, 没有随机出事件!!')
|
| | | return
|
| | | |
| | |
|
| | | PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_FairyDomainVisitCnt, min(visitCnt + 1, ChConfig.Def_UpperLimit_DWord))
|
| | | #设置事件
|
| | | for i in xrange(maxEventCnt):
|