9788 【BT9】【后端】成就系统(新增成就类型164~175)
# Conflicts:
# ServerPython/CoreServerGroup/GameServer/Script/ShareDefine.py
# ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/NPC/NPCCommon.py
# ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerActivity.py
# ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerArena.py
# ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ShareDefine.py
| | |
| | | if not ipyDataList:
|
| | | return
|
| | |
|
| | | totalPlusLV = ChEquip.GetTotalPlusLV(curPlayer)
|
| | | classPlusLV = 0
|
| | | packType = IPY_GameWorld.rptEquip
|
| | | plusLVCountDict = {}
|
| | | for ipyData in ipyDataList:
|
| | |
| | | continue
|
| | | conditionKey = (classLV, plusLV)
|
| | | plusLVCountDict[conditionKey] = plusLVCountDict.get(conditionKey, 0) + 1
|
| | | classPlusLV += plusLV
|
| | |
|
| | | #GameWorld.DebugLog("强化成就数据: classLV=%s,plusLVCountDict=%s" % (classLV, plusLVCountDict))
|
| | | #GameWorld.DebugLog("强化成就数据: classLV=%s,plusLVCountDict=%s,classPlusLV=%s,totalPlusLV=%s" % (classLV, plusLVCountDict, classPlusLV, totalPlusLV))
|
| | | PlayerSuccess.UpdateSuccessProgressByConditions(curPlayer, ShareDefine.SuccType_EquipPlus, plusLVCountDict)
|
| | | PlayerSuccess.UptateSuccessProgress(curPlayer, ShareDefine.SuccType_EquipPlusTotal, totalPlusLV)
|
| | | PlayerSuccess.UptateSuccessProgress(curPlayer, ShareDefine.SuccType_EquipPlusClass, classPlusLV, [classLV])
|
| | | PlayerActGarbageSorting.AddActGarbageTaskProgress(curPlayer, ChConfig.Def_GarbageTask_EquipPlus)
|
| | | return
|
| | |
|
| | |
| | | if not ipyDataList:
|
| | | return
|
| | |
|
| | | totalStarLV = ChEquip.GetTotalEquipStars(curPlayer)
|
| | | classStarLV = 0
|
| | | starCountDict = {}
|
| | | for ipyData in ipyDataList:
|
| | | index = ipyData.GetGridIndex()
|
| | |
| | | continue
|
| | | conditionKey = (classLV, equipStar)
|
| | | starCountDict[conditionKey] = starCountDict.get(conditionKey, 0) + 1
|
| | | classStarLV += equipStar
|
| | |
|
| | | #GameWorld.DebugLog("升星成就数据: classLV=%s,starCountDict=%s" % (classLV, starCountDict))
|
| | | #GameWorld.DebugLog("升星成就数据: classLV=%s,starCountDict=%s,classStarLV=%s,totalStarLV=%s" % (classLV, starCountDict, classStarLV, totalStarLV))
|
| | | PlayerSuccess.UpdateSuccessProgressByConditions(curPlayer, ShareDefine.SuccType_EquipStar, starCountDict)
|
| | | PlayerSuccess.UptateSuccessProgress(curPlayer, ShareDefine.SuccType_EquipStarTotal, totalStarLV)
|
| | | PlayerSuccess.UptateSuccessProgress(curPlayer, ShareDefine.SuccType_EquipStarClass, classStarLV, [classLV])
|
| | | return
|
| | |
|
| | |
| | | # 同步客户端
|
| | | Sycn_StoneHoleInfo(curPlayer, [equipPackIndex])
|
| | | # 成就
|
| | | DoStoneSuccess(curPlayer)
|
| | | DoStoneSuccess(curPlayer, classLV)
|
| | |
|
| | | EventShell.EventRespons_InlayStone(curPlayer)
|
| | | return
|
| | |
|
| | |
|
| | | def DoStoneSuccess(curPlayer):
|
| | | def DoStoneSuccess(curPlayer, classLV):
|
| | | #PlayerSuccess.ResetSuccessByType(curPlayer, ShareDefine.SuccType_InlayStone1)
|
| | | #PlayerSuccess.ResetSuccessByType(curPlayer, ShareDefine.SuccType_InlayStone2)
|
| | | totalStoneLV = 0
|
| | | classStoneLV = 0
|
| | | holeIndexList = GetAllEquipPlaceHoleIndex()
|
| | | gameData = GameWorld.GetGameData()
|
| | | packType = IPY_GameWorld.rptEquip
|
| | |
| | |
|
| | | totalStoneLV += gemLV
|
| | |
|
| | | ipyData = IpyGameDataPY.GetIpyGameDataByCondition('EquipPlaceIndexMap', {'GridIndex': equipIndex})
|
| | | if ipyData and ipyData.GetClassLV() == classLV:
|
| | | classStoneLV += gemLV
|
| | |
|
| | | # 记录开服活动宝石总等级
|
| | | #GameWorld.DebugLog("classLV=%s,classStoneLV=%s,totalStoneLV=%s" % (classLV, classStoneLV, totalStoneLV))
|
| | | OpenServerCampaign.UpdOpenServerCampaignRecordData(curPlayer, ShareDefine.Def_Campaign_Type_StoneLV, totalStoneLV)
|
| | | #PlayerSuccess.UptateSuccessProgress(curPlayer, ShareDefine.SuccType_StoneTotalLV, totalStoneLV)
|
| | | PlayerSuccess.UptateSuccessProgress(curPlayer, ShareDefine.SuccType_StoneTotalLV, totalStoneLV)
|
| | | PlayerSuccess.UptateSuccessProgress(curPlayer, ShareDefine.SuccType_EquipStoneClass, classStoneLV, [classLV])
|
| | | PlayerWeekParty.AddWeekPartyActionCnt(curPlayer, ChConfig.Def_WPAct_Stone, totalStoneLV, False, True)
|
| | | return
|
| | |
|
| | |
| | | # 同步客户端
|
| | | Sycn_StoneHoleInfo(curPlayer, [equipPackIndex])
|
| | |
|
| | | DoStoneSuccess(curPlayer)
|
| | | DoStoneSuccess(curPlayer, classLV)
|
| | | return
|
| | |
|
| | | def __CheckStoneHoleCanUse(curPlayer, equipStar, holeIndex, equipPackType):
|
| | |
| | | if not ipyDataList:
|
| | | return
|
| | |
|
| | | totalWashLV = GetTotalEquipWashLV(curPlayer)
|
| | | classWashLV = 0
|
| | | washLVCountDict = {}
|
| | | for ipyData in ipyDataList:
|
| | | index = ipyData.GetGridIndex()
|
| | |
| | | continue
|
| | | conditionKey = (classLV, washLV)
|
| | | washLVCountDict[conditionKey] = washLVCountDict.get(conditionKey, 0) + 1
|
| | | classWashLV += washLV
|
| | |
|
| | | #GameWorld.DebugLog("洗练成就数据: classLV=%s,washLVCountDict=%s" % (classLV, washLVCountDict))
|
| | | #GameWorld.DebugLog("洗练成就数据: classLV=%s,washLVCountDict=%s,classWashLV=%s,totalWashLV=%s" % (classLV, washLVCountDict, classWashLV, totalWashLV))
|
| | | PlayerSuccess.UpdateSuccessProgressByConditions(curPlayer, ShareDefine.SuccType_EquipWash, washLVCountDict)
|
| | | PlayerSuccess.UptateSuccessProgress(curPlayer, ShareDefine.SuccType_EquipWashTotal, totalWashLV)
|
| | | PlayerSuccess.UptateSuccessProgress(curPlayer, ShareDefine.SuccType_EquipWashClass, classWashLV, [classLV])
|
| | | return
|
| | |
|
| | |
| | | if funcIndex == ShareDefine.Def_AttrFruitFunc_Stove:
|
| | | PlayerSuccess.DoAddSuccessProgress(curPlayer, ShareDefine.SuccType_UseStoveBylv, hasUseCnt, [item.GetLV()])
|
| | |
|
| | | alchemyIpyData = IpyGameDataPY.GetIpyGameDataByCondition("Alchemy", {"AlchemItemID":itemID}, False, True)
|
| | | if alchemyIpyData:
|
| | | PlayerSuccess.DoAddSuccessProgress(curPlayer, ShareDefine.SuccType_UseStoveByType, hasUseCnt, [alchemyIpyData.GetAlchemType()])
|
| | | |
| | | effect = item.GetEffectByIndex(0)
|
| | | effID = effect.GetEffectID()
|
| | | ## 特殊属性ID处理,此属性ID做一次性处理,不做属性计算
|
| | |
| | | return
|
| | | succInfoList = GetSuccDataMng().GetSuccDataByType(successType)
|
| | | if not succInfoList:
|
| | | GameWorld.DebugLog(" 找不到成就数据successType=%s" % successType)
|
| | | return
|
| | | curCnt = -1
|
| | | for succData in succInfoList:
|