From ccaf2f02905ec635332e2d22cb7bd5b77b6a7bbb Mon Sep 17 00:00:00 2001
From: xdh <xiefantasy@qq.com>
Date: 星期一, 22 十月 2018 21:10:34 +0800
Subject: [PATCH] 4282 【主干】【1.1.0】【后端】新增物品效果:获得X法宝X经验 4280 【主干】【1.1.0】【后端】开服触发成就类型
---
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