From 43a9e6c87a5a4980902e86eb0470d885b1a3fb8f Mon Sep 17 00:00:00 2001 From: xdh <xiefantasy@qq.com> Date: 星期一, 22 十月 2018 21:23:02 +0800 Subject: [PATCH] 4282 【主干】【1.1.0】【后端】新增物品效果:获得X法宝X经验 --- ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerActivity.py | 33 +++++++++++++++++++++++++-------- 1 files changed, 25 insertions(+), 8 deletions(-) diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerActivity.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerActivity.py index a19da7a..632f29d 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerActivity.py +++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerActivity.py @@ -69,7 +69,9 @@ 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) @@ -230,11 +232,8 @@ multiple = 1 if addValue: #__SetPDictValue(curPlayer, ChConfig.Def_PDict_Activity_TotalPoint, nuwTotalPoint) - actRealmPointInfo = PyGameData.g_operationActionDict.get(ShareDefine.OperationActionName_RealmPoint, {})# 多倍修行点活动 - if actRealmPointInfo.get(ShareDefine.ActKey_State) \ - and curPlayer.GetLV() >= actRealmPointInfo.get(ShareDefine.ActKey_LVLimit, 0): - multiple = actRealmPointInfo.get(ShareDefine.ActKey_RealmPointMulti, 1) - addValue *= multiple + multiple = __GetActionAddPer(curPlayer) + addValue *= multiple realmPoint = __GetPDictValue(curPlayer, ChConfig.Def_PDict_Activity_RealmPoint) __SetPDictValue(curPlayer, ChConfig.Def_PDict_Activity_RealmPoint, realmPoint+addValue) @@ -244,6 +243,19 @@ % (activityNum, addPbCnt, addValue, multiple), curPlayer.GetPlayerID()) return +def __GetActionAddPer(curPlayer): + multiple = 1 + actRealmPointInfo = PyGameData.g_operationActionDict.get(ShareDefine.OperationActionName_RealmPoint, {})# 多倍修行点活动 + if not actRealmPointInfo: + return multiple + if not actRealmPointInfo.get(ShareDefine.ActKey_State): + return multiple + actRealmPointIpyData = IpyGameDataPY.GetIpyGameData("ActRealmPoint", actRealmPointInfo.get(ShareDefine.ActKey_CfgID, 0)) + if not actRealmPointIpyData: + return multiple + if curPlayer.GetLV() < actRealmPointIpyData.GetLVLimit(): + return multiple + return actRealmPointIpyData.GetMultiple() ## 同步活跃度信息 # @param curPlayer @@ -363,6 +375,9 @@ activityNum = GetActivityNum(RelatedType_1, dailyID) dailyQuestData = IpyGameDataPY.GetIpyGameDataNotLog('DailyQuest', activityNum) unLimitCnt = dailyQuestData and not dailyQuestData.GetTotalActiveValue() + funcID = dailyQuestData.GetUnLockFuncID() if dailyQuestData else 0 + if funcID and not GameFuncComm.GetFuncCanUse(curPlayer, funcID): + return updDayTimes = 0 if dayTimesLimit: @@ -371,15 +386,17 @@ if not unLimitCnt and curDayTimes >= dayTimesLimit: return updDayTimes = curDayTimes+addCnt if unLimitCnt else min(dayTimesLimit, curDayTimes+addCnt) + addCnt = updDayTimes - curDayTimes PlayerControl.NomalDictSetProperty(curPlayer, key, updDayTimes) GameWorld.DebugLog('增加日常活动完成次数 dailyID=%s, curDayTimes=%s, updDayTimes=%s'%(dailyID, curDayTimes, updDayTimes)) - + updWeekTimes = 0 if weekTimesLimit: key = ChConfig.Def_PDict_DailyActionWeekTimes%dailyID curWeekTimes = curPlayer.NomalDictGetProperty(key) if not unLimitCnt and curWeekTimes >= weekTimesLimit: return updWeekTimes = curWeekTimes+addCnt if unLimitCnt else min(weekTimesLimit, curWeekTimes+addCnt) + addCnt = updWeekTimes - curWeekTimes PlayerControl.NomalDictSetProperty(curPlayer, key, updWeekTimes) GameWorld.DebugLog('增加日常活动完成次数 dailyID=%s, curWeekTimes=%s, updWeekTimes=%s'%(dailyID, curWeekTimes, updWeekTimes)) @@ -387,7 +404,7 @@ #对应的日常任务表ID updTimes = updDayTimes or updWeekTimes - if updTimes and dailyQuestData: + if addCnt and updTimes and dailyQuestData: AddActivityFinishCnt(curPlayer, activityNum, updTimes, addCnt) return True -- Gitblit v1.8.0