4869 【主干】【长尾】【BT】七日巡礼重置逻辑优化;运营活动所处天索引逻辑优化;
| | |
| | | activityInfoDict[ShareDefine.ActKey_WorldLVList] = GameWorldAverageLv.GetWorldLVListByTime(startDayDate, (endDayDate - startDayDate).days)
|
| | |
|
| | | if startDayDate <= curDateTime < endDayDate:
|
| | | dayIndex = 0
|
| | | dayIndex = (curDateTime - startDayDate).days
|
| | | actIDDateTime = startDayDate
|
| | | isDayRest = 0 if not hasattr(ipyData, "GetIsDayReset") else ipyData.GetIsDayReset()
|
| | | # 按时段开的默认每天重置
|
| | | if isDayRest or (startHMStrList and endHMStrList):
|
| | | dayIndex = (curDateTime - startDayDate).days
|
| | | actIDDateTime += datetime.timedelta(days=dayIndex)
|
| | | actID = int(time.mktime(actIDDateTime.timetuple())) # 默认取开始时间点的time值作为活动ID
|
| | | activityInfoDict[ShareDefine.ActKey_DayIndex] = dayIndex
|
| | |
| | | Def_PDict_FBRealHelpCount = "FBRealHelpCount_%s" #副本真实助战次数,仅针对真实进去打的副本,参数mapID
|
| | |
|
| | | #周狂欢
|
| | | Def_PDict_WeekPartyID = "WeekPartyID" # 玩家身上的活动ID,唯一标识,取活动开始日期time值
|
| | | Def_PDict_WeekPartyActID = "WeekPartyActID" # 玩家身上的活动ID,唯一标识,取活动开始日期time值
|
| | | Def_PDict_WeekPartyID = "WeekPartyID" # 玩家身上的活动ID,配置ID,用于补发上次活动用
|
| | | Def_PDict_WeekPartyCurTimes = "WeekPartyCurTimes_%s_%s" #当前完成次数 参数(第X天,模板ID)
|
| | | Def_PDict_WeekPartyGotTimes = "WeekPartyGotTimes_%s_%s" #当前已领次数 参数(第X天,模板ID)
|
| | | Def_PDict_WeekPartyAwardRecord = "WeekPartyAwardRecord_%s" #积分领奖记录 参数(第X天)
|
| | |
| | | Def_WPAct_FamilyBoss, #仙盟Boss 28
|
| | | Def_WPAct_FairyDomain, #缥缈仙域 29
|
| | | ) = range(1, 29+1)
|
| | |
|
| | | #可提前完成的周狂欢活动
|
| | | AheadFinishWPActList = [Def_WPAct_Horse, Def_WPAct_Pet, Def_WPAct_Dogz, Def_WPAct_Rune]
|
| | |
|
| | | #登录奖励活动定义
|
| | | LoginAwardActIDList = (
|
| | |
| | | # 活动中同步活动信息
|
| | | SyncFeastWeekPartyInfo(curPlayer)
|
| | | if actCostRebateInfo.get(ShareDefine.ActKey_State):
|
| | | AddFeastWeekPartyActionCnt(curPlayer, ChConfig.Def_WPAct_Login, 1, False, False, False)
|
| | | SyncFeastWeekPartyPlayerInfo(curPlayer)
|
| | | return
|
| | |
|
| | |
| | | playerID = curPlayer.GetPlayerID()
|
| | |
|
| | | actFeastWeekPartyInfo = PyGameData.g_operationActionDict.get(ShareDefine.OperationActionName_FeastWeekParty, {})
|
| | | #FeastWeekPartyID = actFeastWeekPartyInfo.get(ShareDefine.ActKey_ID, 0)
|
| | | state = actFeastWeekPartyInfo.get(ShareDefine.ActKey_State, 0)
|
| | | actID = actFeastWeekPartyInfo.get(ShareDefine.ActKey_ID, 0)
|
| | | cfgID = actFeastWeekPartyInfo.get(ShareDefine.ActKey_CfgID, 0)
|
| | | passlv = curPlayer.NomalDictGetProperty(ChConfig.Def_Player_Dict_TrialTower_PassLV)
|
| | | if state:
|
| | | #每天都要触发
|
| | | AddFeastWeekPartyActionCnt(curPlayer, ChConfig.Def_WPAct_Tower, passlv, False, True, False)
|
| | | AddFeastWeekPartyActionCnt(curPlayer, ChConfig.Def_WPAct_Login, 1, False, False)
|
| | | AddFeastWeekPartyActionCnt(curPlayer, ChConfig.Def_WPAct_Stone, Operate_EquipStone.GetTotalStoneLV(curPlayer), False, True, False)
|
| | | AddFeastWeekPartyActionCnt(curPlayer, ChConfig.Def_WPAct_GodWeapon, PlayerGodWeapon.GetGodWeaponTotalLV(curPlayer), False, True, False)
|
| | | SyncFeastWeekPartyPlayerInfo(curPlayer)
|
| | | playerFeastWeekPartyID = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_FeastWeekPartyID, 0, ChConfig.Def_PDictType_FeastWeekParty) # 玩家身上的活动ID
|
| | | playerActID = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_WeekPartyActID, 0, ChConfig.Def_PDictType_FeastWeekParty) # 玩家身上的活动ID
|
| | | playerFeastWeekPartyID = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_FeastWeekPartyID, 0, ChConfig.Def_PDictType_FeastWeekParty) # 玩家身上的活动配置ID
|
| | | # 活动ID 相同的话不处理
|
| | | if cfgID == playerFeastWeekPartyID:
|
| | | #GameWorld.DebugLog("节日巡礼活动ID不变,不处理!", curPlayer.GetPlayerID())
|
| | | if actID == playerActID:
|
| | | GameWorld.DebugLog("节日巡礼活动ID不变,不处理!playerActID=%s" % playerActID, curPlayer.GetPlayerID())
|
| | | if state:
|
| | | CheckFeastWeekPartyActionCnt(curPlayer, True)
|
| | | return
|
| | | CheckFeastWeekPartyActionCnt(curPlayer)
|
| | | # 未领取的奖励邮件发放
|
| | | if playerFeastWeekPartyID:
|
| | | __SendFeastWeekPartyMail(curPlayer, playerFeastWeekPartyID)
|
| | | |
| | | if not cfgID:
|
| | | GameWorld.DebugLog(' 节日巡礼活动重置!')
|
| | | curPlayer.ClearNomalDict(ChConfig.Def_PDictType_FeastWeekParty)
|
| | | |
| | | GameWorld.DebugLog("节日巡礼变更! state=%s,cfgID=%s,playerFeastWeekPartyID=%s" % (state, cfgID, playerFeastWeekPartyID), playerID)
|
| | | |
| | | PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_FeastWeekPartyID, cfgID, ChConfig.Def_PDictType_FeastWeekParty)
|
| | |
|
| | | SyncFeastWeekPartyInfo(curPlayer)
|
| | | GameWorld.DebugLog(' 节日巡礼活动重置!')
|
| | | curPlayer.ClearNomalDict(ChConfig.Def_PDictType_FeastWeekParty)
|
| | | |
| | | GameWorld.DebugLog("节日巡礼变更! state=%s,actID=%s,cfgID=%s,playerFeastWeekPartyID=%s" % (state, actID, cfgID, playerFeastWeekPartyID), playerID)
|
| | | PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_WeekPartyActID, actID, ChConfig.Def_PDictType_FeastWeekParty)
|
| | | PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_FeastWeekPartyID, cfgID, ChConfig.Def_PDictType_FeastWeekParty)
|
| | | if state:
|
| | | CheckFeastWeekPartyActionCnt(curPlayer, False)
|
| | | SyncFeastWeekPartyInfo(curPlayer)
|
| | | SyncFeastWeekPartyPlayerInfo(curPlayer)
|
| | | |
| | | return True
|
| | |
|
| | |
|
| | |
| | |
|
| | | if not cfgID:
|
| | | return
|
| | | if not state and actionID not in ChConfig.AheadFinishWPActList:
|
| | | if not state:
|
| | | return
|
| | | |
| | | actBossIpyData = IpyGameDataPY.GetIpyGameData("ActFeastWeekParty", cfgID)
|
| | | if not actBossIpyData:
|
| | | return
|
| | |
| | | dayIndex = actFeastWeekPartyInfo.get(ShareDefine.ActKey_DayIndex, 0)
|
| | | if dayIndex >= len(templateIDList):
|
| | | return
|
| | | if actionID in ChConfig.AheadFinishWPActList:
|
| | | isFind = False
|
| | | for day, dayTidList in enumerate(templateIDList[dayIndex:]):
|
| | | findTid = 0
|
| | | for tid in dayTidList:
|
| | | if tid / 100 == actionID:
|
| | | findTid = tid
|
| | | break
|
| | | if not findTid:
|
| | | continue
|
| | | ipyData = IpyGameDataPY.GetIpyGameData('FeastWeekParty', findTid)
|
| | | if not ipyData:
|
| | | continue
|
| | | totalTimes = ipyData.GetTotalTimes()
|
| | | if addCnt != totalTimes:
|
| | | continue
|
| | | dayIndex = day + dayIndex
|
| | | isFind = True
|
| | | break
|
| | | if not isFind:
|
| | | return
|
| | |
|
| | | dayTidList = templateIDList[dayIndex]
|
| | | findTid = 0
|
| | |
| | | SyncFeastWeekPartyPlayerInfo(curPlayer, dayIndex, findTid)
|
| | | return True
|
| | |
|
| | |
|
| | | def CheckFeastWeekPartyActionCnt(curPlayer):
|
| | | def CheckFeastWeekPartyActionCnt(curPlayer, isSync):
|
| | | ## 同步活动状态时需要触发的
|
| | | |
| | | # 灵宠激活
|
| | | petDataPack = curPlayer.GetItemManager().GetPack(ShareDefine.rptPet)
|
| | | for petDataIndex in range(petDataPack.GetCount()):
|
| | | petItem = petDataPack.GetAt(petDataIndex)
|
| | | if petItem.IsEmpty():
|
| | | continue
|
| | | petNPCID = petItem.GetUserAttr(ShareDefine.Def_IudetPet_NPCID)
|
| | | AddFeastWeekPartyActionCnt(curPlayer, ChConfig.Def_WPAct_Pet, petNPCID, False, isSync=isSync)
|
| | | |
| | | # 出战神兽
|
| | | ipyDataMgr = IpyGameDataPY.IPY_Data()
|
| | | for actionType in ChConfig.AheadFinishWPActList:
|
| | | if actionType == ChConfig.Def_WPAct_Pet:
|
| | | petDataPack = curPlayer.GetItemManager().GetPack(ShareDefine.rptPet)
|
| | | for petDataIndex in range(petDataPack.GetCount()):
|
| | | petItem = petDataPack.GetAt(petDataIndex)
|
| | | if petItem.IsEmpty():
|
| | | continue
|
| | | petNPCID = petItem.GetUserAttr(ShareDefine.Def_IudetPet_NPCID)
|
| | | AddFeastWeekPartyActionCnt(curPlayer, actionType, petNPCID, False)
|
| | | elif actionType == ChConfig.Def_WPAct_Dogz:
|
| | | for i in xrange(ipyDataMgr.GetDogzCount()):
|
| | | ipyData = ipyDataMgr.GetDogzByIndex(i)
|
| | | if GameWorld.GetDictValueByBit(curPlayer, ChConfig.Def_PDict_DogzFightState, i):
|
| | | AddFeastWeekPartyActionCnt(curPlayer, actionType, ipyData.GetDogzID(), False)
|
| | | elif actionType == ChConfig.Def_WPAct_Rune:
|
| | | runeHoleCnt = IpyGameDataPY.GetFuncCfg("RuneUnlock", 4)
|
| | | for holeNum in xrange(1, runeHoleCnt + 1):
|
| | | runeData = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_Rune_Data % holeNum, 0)
|
| | | if not runeData:
|
| | | continue
|
| | | runeItemID = ItemControler.GetRuneItemID(runeData)
|
| | | itemData = GameWorld.GetGameData().GetItemByTypeID(runeItemID)
|
| | | if not itemData:
|
| | | continue
|
| | | itemColor = itemData.GetItemColor()
|
| | | AddFeastWeekPartyActionCnt(curPlayer, actionType, itemColor, False)
|
| | | for i in xrange(ipyDataMgr.GetDogzCount()):
|
| | | ipyData = ipyDataMgr.GetDogzByIndex(i)
|
| | | if GameWorld.GetDictValueByBit(curPlayer, ChConfig.Def_PDict_DogzFightState, i):
|
| | | AddFeastWeekPartyActionCnt(curPlayer, ChConfig.Def_WPAct_Dogz, ipyData.GetDogzID(), False, isSync=isSync)
|
| | | |
| | | # 穿戴某品质符印
|
| | | runeHoleCnt = IpyGameDataPY.GetFuncCfg("RuneUnlock", 4)
|
| | | for holeNum in xrange(1, runeHoleCnt + 1):
|
| | | runeData = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_Rune_Data % holeNum, 0)
|
| | | if not runeData:
|
| | | continue
|
| | | runeItemID = ItemControler.GetRuneItemID(runeData)
|
| | | itemData = GameWorld.GetGameData().GetItemByTypeID(runeItemID)
|
| | | if not itemData:
|
| | | continue
|
| | | itemColor = itemData.GetItemColor()
|
| | | AddFeastWeekPartyActionCnt(curPlayer, ChConfig.Def_WPAct_Rune, itemColor, False, isSync=isSync)
|
| | | |
| | | AddFeastWeekPartyActionCnt(curPlayer, ChConfig.Def_WPAct_Login, 1, False, False, isSync)
|
| | | passlv = curPlayer.NomalDictGetProperty(ChConfig.Def_Player_Dict_TrialTower_PassLV)
|
| | | AddFeastWeekPartyActionCnt(curPlayer, ChConfig.Def_WPAct_Tower, passlv, False, True, isSync)
|
| | | AddFeastWeekPartyActionCnt(curPlayer, ChConfig.Def_WPAct_Stone, Operate_EquipStone.GetTotalStoneLV(curPlayer), False, True, isSync)
|
| | | AddFeastWeekPartyActionCnt(curPlayer, ChConfig.Def_WPAct_GodWeapon, PlayerGodWeapon.GetGodWeaponTotalLV(curPlayer), False, True, isSync)
|
| | | return
|
| | |
|
| | | def GetFeastWeekPartyActionAward(curPlayer, day, templateID):
|
| | |
| | | # 活动中同步活动信息
|
| | | SyncWeekPartyInfo(curPlayer)
|
| | | if actCostRebateInfo.get(ShareDefine.ActKey_State):
|
| | | AddWeekPartyActionCnt(curPlayer, ChConfig.Def_WPAct_Login, 1, False, False, False)
|
| | | SyncWeekPartyPlayerInfo(curPlayer)
|
| | | return
|
| | |
|
| | |
| | | playerID = curPlayer.GetPlayerID()
|
| | |
|
| | | actWeekPartyInfo = PyGameData.g_operationActionDict.get(ShareDefine.OperationActionName_WeekParty, {})
|
| | | #WeekPartyID = actWeekPartyInfo.get(ShareDefine.ActKey_ID, 0)
|
| | | state = actWeekPartyInfo.get(ShareDefine.ActKey_State, 0)
|
| | | actID = actWeekPartyInfo.get(ShareDefine.ActKey_ID, 0)
|
| | | cfgID = actWeekPartyInfo.get(ShareDefine.ActKey_CfgID, 0)
|
| | | passlv = curPlayer.NomalDictGetProperty(ChConfig.Def_Player_Dict_TrialTower_PassLV)
|
| | | if state:
|
| | | #每天都要触发
|
| | | AddWeekPartyActionCnt(curPlayer, ChConfig.Def_WPAct_Tower, passlv, False, True, False)
|
| | | AddWeekPartyActionCnt(curPlayer, ChConfig.Def_WPAct_Login, 1, False, False)
|
| | | AddWeekPartyActionCnt(curPlayer, ChConfig.Def_WPAct_Stone, Operate_EquipStone.GetTotalStoneLV(curPlayer), False, True, False)
|
| | | AddWeekPartyActionCnt(curPlayer, ChConfig.Def_WPAct_GodWeapon, PlayerGodWeapon.GetGodWeaponTotalLV(curPlayer), False, True, False)
|
| | | SyncWeekPartyPlayerInfo(curPlayer)
|
| | | playerWeekPartyID = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_WeekPartyID, 0, ChConfig.Def_PDictType_WeekParty) # 玩家身上的活动ID
|
| | | playerActID = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_WeekPartyActID, 0, ChConfig.Def_PDictType_WeekParty) # 玩家身上的活动ID
|
| | | playerWeekPartyID = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_WeekPartyID, 0, ChConfig.Def_PDictType_WeekParty) # 玩家身上的活动配置ID
|
| | | # 活动ID 相同的话不处理
|
| | | if cfgID == playerWeekPartyID:
|
| | | #GameWorld.DebugLog("周狂欢活动ID不变,不处理!", curPlayer.GetPlayerID())
|
| | | if actID == playerActID:
|
| | | GameWorld.DebugLog("周狂欢活动ID不变,不处理!playerActID=%s" % playerActID, curPlayer.GetPlayerID())
|
| | | if state:
|
| | | CheckWeekPartyActionCnt(curPlayer, True)
|
| | | return
|
| | | CheckWeekPartyActionCnt(curPlayer)
|
| | | # 未领取的奖励邮件发放
|
| | | if playerWeekPartyID:
|
| | | __SendWeekPartyMail(curPlayer, playerWeekPartyID)
|
| | | |
| | | if not cfgID:
|
| | | GameWorld.DebugLog(' 周狂欢活动重置!')
|
| | | curPlayer.ClearNomalDict(ChConfig.Def_PDictType_WeekParty)
|
| | | |
| | | GameWorld.DebugLog("周狂欢变更! state=%s,cfgID=%s,playerWeekPartyID=%s" % (state, cfgID, playerWeekPartyID), playerID)
|
| | | |
| | | PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_WeekPartyID, cfgID, ChConfig.Def_PDictType_WeekParty)
|
| | |
|
| | | SyncWeekPartyInfo(curPlayer)
|
| | | GameWorld.DebugLog('周狂欢活动重置!')
|
| | | curPlayer.ClearNomalDict(ChConfig.Def_PDictType_WeekParty)
|
| | | |
| | | GameWorld.DebugLog("周狂欢变更! state=%s,actID=%s,cfgID=%s,playerWeekPartyID=%s" % (state, actID, cfgID, playerWeekPartyID), playerID)
|
| | | PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_WeekPartyActID, actID, ChConfig.Def_PDictType_WeekParty)
|
| | | PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_WeekPartyID, cfgID, ChConfig.Def_PDictType_WeekParty)
|
| | | if state:
|
| | | CheckWeekPartyActionCnt(curPlayer, False)
|
| | | SyncWeekPartyInfo(curPlayer)
|
| | | SyncWeekPartyPlayerInfo(curPlayer)
|
| | | |
| | | return True
|
| | |
|
| | |
|
| | |
| | |
|
| | | if not cfgID:
|
| | | return
|
| | | if not state and actionID not in ChConfig.AheadFinishWPActList:
|
| | | if not state:
|
| | | return
|
| | |
|
| | | actBossIpyData = IpyGameDataPY.GetIpyGameData("ActWeekParty", cfgID)
|
| | |
| | | dayIndex = actWeekPartyInfo.get(ShareDefine.ActKey_DayIndex, 0)
|
| | | if dayIndex >= len(templateIDList):
|
| | | return
|
| | | if actionID in ChConfig.AheadFinishWPActList:
|
| | | isFind = False
|
| | | for day, dayTidList in enumerate(templateIDList[dayIndex:]):
|
| | | findTid = 0
|
| | | for tid in dayTidList:
|
| | | if tid / 100 == actionID:
|
| | | findTid = tid
|
| | | break
|
| | | if not findTid:
|
| | | continue
|
| | | ipyData = IpyGameDataPY.GetIpyGameData('WeekParty', findTid)
|
| | | if not ipyData:
|
| | | continue
|
| | | totalTimes = ipyData.GetTotalTimes()
|
| | | if addCnt != totalTimes:
|
| | | continue
|
| | | dayIndex = day + dayIndex
|
| | | isFind = True
|
| | | break
|
| | | if not isFind:
|
| | | return
|
| | |
|
| | | dayTidList = templateIDList[dayIndex]
|
| | | findTidList = []
|
| | |
| | | PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_WeekPartyCurTimes % (dayIndex, findTid), updTimes, ChConfig.Def_PDictType_WeekParty)
|
| | | #加积分
|
| | | singleTimes = ipyData.GetSingleTimes()
|
| | | addPoint = (curTimes % singleTimes + realAddCnt)/singleTimes* ipyData.GetPoint()
|
| | | addPoint = (curTimes % singleTimes + realAddCnt) / singleTimes * ipyData.GetPoint()
|
| | | curPoint = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_WeekPartyPoint % dayIndex, 0, ChConfig.Def_PDictType_WeekParty)
|
| | | updPoint = curPoint + addPoint
|
| | | PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_WeekPartyPoint % dayIndex, updPoint, ChConfig.Def_PDictType_WeekParty)
|
| | |
| | | SyncWeekPartyPlayerInfo(curPlayer, dayIndex, findTid)
|
| | | return True
|
| | |
|
| | |
|
| | | def CheckWeekPartyActionCnt(curPlayer):
|
| | | def CheckWeekPartyActionCnt(curPlayer, isSync):
|
| | | ## 同步活动状态时需要触发的
|
| | | |
| | | # 灵宠激活
|
| | | petDataPack = curPlayer.GetItemManager().GetPack(ShareDefine.rptPet)
|
| | | for petDataIndex in range(petDataPack.GetCount()):
|
| | | petItem = petDataPack.GetAt(petDataIndex)
|
| | | if petItem.IsEmpty():
|
| | | continue
|
| | | petNPCID = petItem.GetUserAttr(ShareDefine.Def_IudetPet_NPCID)
|
| | | AddWeekPartyActionCnt(curPlayer, ChConfig.Def_WPAct_Pet, petNPCID, False, isSync=isSync)
|
| | | |
| | | # 出战神兽
|
| | | ipyDataMgr = IpyGameDataPY.IPY_Data()
|
| | | for actionType in ChConfig.AheadFinishWPActList:
|
| | | if actionType == ChConfig.Def_WPAct_Pet:
|
| | | petDataPack = curPlayer.GetItemManager().GetPack(ShareDefine.rptPet)
|
| | | for petDataIndex in range(petDataPack.GetCount()):
|
| | | petItem = petDataPack.GetAt(petDataIndex)
|
| | | if petItem.IsEmpty():
|
| | | continue
|
| | | petNPCID = petItem.GetUserAttr(ShareDefine.Def_IudetPet_NPCID)
|
| | | AddWeekPartyActionCnt(curPlayer, actionType, petNPCID, False)
|
| | | elif actionType == ChConfig.Def_WPAct_Dogz:
|
| | | for i in xrange(ipyDataMgr.GetDogzCount()):
|
| | | ipyData = ipyDataMgr.GetDogzByIndex(i)
|
| | | if GameWorld.GetDictValueByBit(curPlayer, ChConfig.Def_PDict_DogzFightState, i):
|
| | | AddWeekPartyActionCnt(curPlayer, actionType, ipyData.GetDogzID(), False)
|
| | | elif actionType == ChConfig.Def_WPAct_Rune:
|
| | | runeHoleCnt = IpyGameDataPY.GetFuncCfg("RuneUnlock", 4)
|
| | | for holeNum in xrange(1, runeHoleCnt + 1):
|
| | | runeData = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_Rune_Data % holeNum, 0)
|
| | | if not runeData:
|
| | | continue
|
| | | runeItemID = ItemControler.GetRuneItemID(runeData)
|
| | | itemData = GameWorld.GetGameData().GetItemByTypeID(runeItemID)
|
| | | if not itemData:
|
| | | continue
|
| | | itemColor = itemData.GetItemColor()
|
| | | AddWeekPartyActionCnt(curPlayer, actionType, itemColor, False)
|
| | | for i in xrange(ipyDataMgr.GetDogzCount()):
|
| | | ipyData = ipyDataMgr.GetDogzByIndex(i)
|
| | | if GameWorld.GetDictValueByBit(curPlayer, ChConfig.Def_PDict_DogzFightState, i):
|
| | | AddWeekPartyActionCnt(curPlayer, ChConfig.Def_WPAct_Dogz, ipyData.GetDogzID(), False, isSync=isSync)
|
| | | |
| | | # 穿戴某品质符印
|
| | | runeHoleCnt = IpyGameDataPY.GetFuncCfg("RuneUnlock", 4)
|
| | | for holeNum in xrange(1, runeHoleCnt + 1):
|
| | | runeData = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_Rune_Data % holeNum, 0)
|
| | | if not runeData:
|
| | | continue
|
| | | runeItemID = ItemControler.GetRuneItemID(runeData)
|
| | | itemData = GameWorld.GetGameData().GetItemByTypeID(runeItemID)
|
| | | if not itemData:
|
| | | continue
|
| | | itemColor = itemData.GetItemColor()
|
| | | AddWeekPartyActionCnt(curPlayer, ChConfig.Def_WPAct_Rune, itemColor, False, isSync=isSync)
|
| | | |
| | | AddWeekPartyActionCnt(curPlayer, ChConfig.Def_WPAct_Login, 1, False, False, isSync)
|
| | | passlv = curPlayer.NomalDictGetProperty(ChConfig.Def_Player_Dict_TrialTower_PassLV)
|
| | | AddWeekPartyActionCnt(curPlayer, ChConfig.Def_WPAct_Tower, passlv, False, True, isSync)
|
| | | AddWeekPartyActionCnt(curPlayer, ChConfig.Def_WPAct_Stone, Operate_EquipStone.GetTotalStoneLV(curPlayer), False, True, isSync)
|
| | | AddWeekPartyActionCnt(curPlayer, ChConfig.Def_WPAct_GodWeapon, PlayerGodWeapon.GetGodWeaponTotalLV(curPlayer), False, True, isSync)
|
| | | return
|
| | |
|
| | | def GetWeekPartyActionAward(curPlayer, day, templateID):
|
| | |
| | | return rewardItemInfo.get(curPlayer.GetJob(), [])
|
| | | return rewardItemInfo
|
| | |
|
| | | def SyncWeekPartyPlayerInfo(curPlayer, day=-1, templateID=-1):
|
| | | def SyncWeekPartyPlayerInfo(curPlayer, day= -1, templateID= -1):
|
| | | #通知当前次数、已领次数
|
| | | actWeekPartyInfo = PyGameData.g_operationActionDict.get(ShareDefine.OperationActionName_WeekParty, {})
|
| | | state = actWeekPartyInfo.get(ShareDefine.ActKey_State, 0)
|