|  |  |  | 
|---|
|  |  |  | actBossRebornInfo = PyGameData.g_operationActionDict.get(ShareDefine.OperationActionName_BossReborn, {}) | 
|---|
|  |  |  | bossRebornID = actBossRebornInfo.get(ShareDefine.ActKey_ID, 0) | 
|---|
|  |  |  | state = actBossRebornInfo.get(ShareDefine.ActKey_State, 0) | 
|---|
|  |  |  | cfgID = actBossRebornInfo.get(ShareDefine.ActKey_CfgID, 0) | 
|---|
|  |  |  |  | 
|---|
|  |  |  | playerBossRebornID = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_BossRebornID)  # 玩家身上的活动ID | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | if bossRebornID == playerBossRebornID: | 
|---|
|  |  |  | #GameWorld.DebugLog("BOSS复活活动ID不变,不处理!", curPlayer.GetPlayerID()) | 
|---|
|  |  |  | return | 
|---|
|  |  |  | templateID = actBossRebornInfo.get(ShareDefine.ActKey_TemplateID, 0) | 
|---|
|  |  |  |  | 
|---|
|  |  |  | templateID = 0 | 
|---|
|  |  |  | if cfgID: | 
|---|
|  |  |  | actBossIpyData = IpyGameDataPY.GetIpyGameData("ActBossReborn", cfgID) | 
|---|
|  |  |  | templateID = 0 if not actBossIpyData else actBossIpyData.GetTemplateID() | 
|---|
|  |  |  | playerTemplateID = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_BossRebornTemplateID) | 
|---|
|  |  |  |  | 
|---|
|  |  |  | GameWorld.DebugLog("BOSS复活重置! costRebateID=%s,playerCostRebateID=%s,state=%s,templateID=%s,playerTemplateID=%s" | 
|---|
|  |  |  | 
|---|
|  |  |  | state = actBossRebornInfo.get(ShareDefine.ActKey_State, 0) | 
|---|
|  |  |  | if not state: | 
|---|
|  |  |  | return | 
|---|
|  |  |  | ipyData = IpyGameDataPY.GetIpyGameData('BossReborn', actionID) | 
|---|
|  |  |  | playerTemplateID = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_BossRebornTemplateID) | 
|---|
|  |  |  | ipyData = IpyGameDataPY.GetIpyGameData('BossReborn', playerTemplateID, actionID) | 
|---|
|  |  |  | if not ipyData: | 
|---|
|  |  |  | return | 
|---|
|  |  |  | totalTimes = ipyData.GetTotalTimes() | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | def __GetAwardItem(curPlayer, ipyData, times=1): | 
|---|
|  |  |  | awardDict = {} | 
|---|
|  |  |  | for itemID, itemCnt, isbind in ipyData.GetAward(): | 
|---|
|  |  |  | for itemID, itemCnt, isbind in ipyData.GetReward(): | 
|---|
|  |  |  | if not itemID or not itemCnt: | 
|---|
|  |  |  | continue | 
|---|
|  |  |  | awardDict[itemID] = awardDict.get(itemID, 0) + itemCnt * times | 
|---|
|  |  |  | 
|---|
|  |  |  | def SyncBossRebornInfo(curPlayer): | 
|---|
|  |  |  | actBossRebornInfo = PyGameData.g_operationActionDict.get(ShareDefine.OperationActionName_BossReborn, {}) | 
|---|
|  |  |  | state = actBossRebornInfo.get(ShareDefine.ActKey_State, 0) | 
|---|
|  |  |  | if not state: | 
|---|
|  |  |  | cfgID = actBossRebornInfo.get(ShareDefine.ActKey_CfgID, 0) | 
|---|
|  |  |  | if not state or not cfgID: | 
|---|
|  |  |  | return | 
|---|
|  |  |  | templateID = actBossRebornInfo.get(ShareDefine.ActKey_TemplateID, 0) | 
|---|
|  |  |  | actBossIpyData = IpyGameDataPY.GetIpyGameData("ActBossReborn", cfgID) | 
|---|
|  |  |  | if not actBossIpyData: | 
|---|
|  |  |  | return | 
|---|
|  |  |  | templateID = actBossIpyData.GetTemplateID() | 
|---|
|  |  |  | if not templateID: | 
|---|
|  |  |  | return | 
|---|
|  |  |  | ipyDataList = IpyGameDataPY.GetIpyGameDataByCondition("BossReborn", {'TemplateID':templateID}, True) | 
|---|
|  |  |  | if not ipyDataList: | 
|---|
|  |  |  | return | 
|---|
|  |  |  | openServerDay = GameWorld.GetGameWorld().GetGameWorldDictByKey(ShareDefine.Def_Notify_WorldKey_ServerDay) + 1 | 
|---|
|  |  |  | actInfo = ChPyNetSendPack.tagMCBossRebornInfo() | 
|---|
|  |  |  | actInfo.Clear() | 
|---|
|  |  |  | actInfo.StartDate = actBossRebornInfo.get(ShareDefine.ActKey_StartDate, "") | 
|---|
|  |  |  | actInfo.EndtDate = actBossRebornInfo.get(ShareDefine.ActKey_EndDate, "") | 
|---|
|  |  |  | actInfo.LimitLV = actBossRebornInfo.get(ShareDefine.ActKey_LVLimit, 0) | 
|---|
|  |  |  | actInfo.StartDate = GameWorld.GetOperationActionDateStr(actBossIpyData.GetStartDate(), openServerDay) | 
|---|
|  |  |  | actInfo.EndtDate = GameWorld.GetOperationActionDateStr(actBossIpyData.GetEndDate(), openServerDay) | 
|---|
|  |  |  | actInfo.ResetType = actBossIpyData.GetResetType() | 
|---|
|  |  |  | actInfo.LimitLV = actBossIpyData.GetLVLimit() | 
|---|
|  |  |  | actInfo.TaskInfo = [] | 
|---|
|  |  |  | for ipyData in ipyDataList: | 
|---|
|  |  |  | taskInfo = ChPyNetSendPack.tagMCBossRebornTaskInfo() | 
|---|