|  |  |  | 
|---|
|  |  |  | if onEventType == ShareDefine.Def_OnEventTypeEx: | 
|---|
|  |  |  | # 重置完成次数 | 
|---|
|  |  |  | for i in xrange(ipyDataMgr.GetDailyQuestCount()): | 
|---|
|  |  |  | key = ChConfig.Def_PDict_Activity_FinishCnt % (i+1) | 
|---|
|  |  |  | ipyData = ipyDataMgr.GetDailyQuestByIndex(i) | 
|---|
|  |  |  |  | 
|---|
|  |  |  | key = ChConfig.Def_PDict_Activity_FinishCnt % ipyData.GetID() | 
|---|
|  |  |  | curPBCnt = __GetPDictValue(curPlayer, key) #单次进度值 | 
|---|
|  |  |  | if curPBCnt: | 
|---|
|  |  |  | __SetPDictValue(curPlayer, key, 0) | 
|---|
|  |  |  | 
|---|
|  |  |  | __SetPDictValue(curPlayer, ChConfig.Def_PDict_Activity_TotalPoint, 0) | 
|---|
|  |  |  | # 重置领奖记录 | 
|---|
|  |  |  | __SetPDictValue(curPlayer, ChConfig.Def_PDict_ActivityAwardRecord, 0) | 
|---|
|  |  |  | #重置额外获得修行点数 | 
|---|
|  |  |  | __SetPDictValue(curPlayer, ChConfig.Def_PDict_Activity_ExtraRealmPoint, 0) | 
|---|
|  |  |  | #重新计算奖励阶段 | 
|---|
|  |  |  | __CalcAwardStage(curPlayer) | 
|---|
|  |  |  | #重置可领取修行点,未领取的发邮件 | 
|---|
|  |  |  | 
|---|
|  |  |  | multiple = 1 | 
|---|
|  |  |  | if addValue: | 
|---|
|  |  |  | #__SetPDictValue(curPlayer, ChConfig.Def_PDict_Activity_TotalPoint, nuwTotalPoint) | 
|---|
|  |  |  | multiple = __GetActionAddPer(curPlayer) | 
|---|
|  |  |  | addValue *= multiple | 
|---|
|  |  |  | multiple, extraPointLimit = __GetActionAddPer(curPlayer) | 
|---|
|  |  |  | curExtraPoint = __GetPDictValue(curPlayer, ChConfig.Def_PDict_Activity_ExtraRealmPoint) | 
|---|
|  |  |  | addExtraPoint = max(0, min(addValue*(multiple-1),extraPointLimit-curExtraPoint)) if extraPointLimit else addValue*(multiple-1) | 
|---|
|  |  |  | __SetPDictValue(curPlayer, ChConfig.Def_PDict_Activity_ExtraRealmPoint, curExtraPoint+addExtraPoint) | 
|---|
|  |  |  | addValue = addValue + addExtraPoint | 
|---|
|  |  |  |  | 
|---|
|  |  |  | realmPoint = __GetPDictValue(curPlayer, ChConfig.Def_PDict_Activity_RealmPoint) | 
|---|
|  |  |  | __SetPDictValue(curPlayer, ChConfig.Def_PDict_Activity_RealmPoint, realmPoint+addValue) | 
|---|
|  |  |  | SyncDailyActivityInfo(curPlayer) | 
|---|
|  |  |  |  | 
|---|
|  |  |  | GameWorld.DebugLog("增加活跃度任务次数,activityNum=%s,addPbCnt=%s,addValue=%s, multiple=%s" | 
|---|
|  |  |  | % (activityNum, addPbCnt, addValue, multiple), curPlayer.GetPlayerID()) | 
|---|
|  |  |  | GameWorld.DebugLog("增加活跃度任务次数,activityNum=%s,addPbCnt=%s,addValue=%s, multiple=%s, addExtraPoint=%s,curExtraPoint=%s" | 
|---|
|  |  |  | % (activityNum, addPbCnt, addValue, multiple, addExtraPoint, curExtraPoint), curPlayer.GetPlayerID()) | 
|---|
|  |  |  | return | 
|---|
|  |  |  |  | 
|---|
|  |  |  | def __GetActionAddPer(curPlayer): | 
|---|
|  |  |  | multiple = 1 | 
|---|
|  |  |  | multiple, extraPointLimit = 1, 0 #倍数、额外可获得修行点上限 | 
|---|
|  |  |  | actRealmPointInfo = PyGameData.g_operationActionDict.get(ShareDefine.OperationActionName_RealmPoint, {})# 多倍修行点活动 | 
|---|
|  |  |  | if not actRealmPointInfo: | 
|---|
|  |  |  | return multiple | 
|---|
|  |  |  | return multiple, extraPointLimit | 
|---|
|  |  |  | if not actRealmPointInfo.get(ShareDefine.ActKey_State): | 
|---|
|  |  |  | return multiple | 
|---|
|  |  |  | return multiple, extraPointLimit | 
|---|
|  |  |  | actRealmPointIpyData = IpyGameDataPY.GetIpyGameData("ActRealmPoint", actRealmPointInfo.get(ShareDefine.ActKey_CfgID, 0)) | 
|---|
|  |  |  | if not actRealmPointIpyData: | 
|---|
|  |  |  | return multiple | 
|---|
|  |  |  | return multiple, extraPointLimit | 
|---|
|  |  |  | if curPlayer.GetLV() < actRealmPointIpyData.GetLVLimit(): | 
|---|
|  |  |  | return multiple | 
|---|
|  |  |  | return actRealmPointIpyData.GetMultiple() | 
|---|
|  |  |  | return multiple, extraPointLimit | 
|---|
|  |  |  | return actRealmPointIpyData.GetMultiple(), actRealmPointIpyData.GetPointLimit() | 
|---|
|  |  |  |  | 
|---|
|  |  |  | ## 同步活跃度信息 | 
|---|
|  |  |  | #  @param curPlayer | 
|---|
|  |  |  | 
|---|
|  |  |  | sendPack.StageIndex = __GetPDictValue(curPlayer, ChConfig.Def_PDict_Activity_AwardStage) | 
|---|
|  |  |  | sendPack.AwardRecord = __GetPDictValue(curPlayer, ChConfig.Def_PDict_ActivityAwardRecord) | 
|---|
|  |  |  | sendPack.RealmPoint = __GetPDictValue(curPlayer, ChConfig.Def_PDict_Activity_RealmPoint) | 
|---|
|  |  |  | sendPack.ExtraPoint = __GetPDictValue(curPlayer, ChConfig.Def_PDict_Activity_ExtraRealmPoint) | 
|---|
|  |  |  | NetPackCommon.SendFakePack(curPlayer, sendPack) | 
|---|
|  |  |  | return | 
|---|
|  |  |  |  | 
|---|