|  |  | 
 |  |  |     if questID != 0:
 | 
 |  |  |         curMission = curPlayer.FindMission(questID)
 | 
 |  |  |     classLV = GameWorld.ToIntDef(curActionNode.GetAttribute("classLV"), 0)
 | 
 |  |  |     if not classLV:
 | 
 |  |  |         return
 | 
 |  |  |     equipMaxClasslv = IpyGameDataPY.GetFuncCfg('EquipMaxClasslv')
 | 
 |  |  |     classlVList = [classLV] if classLV else range(1, equipMaxClasslv+1)
 | 
 |  |  | 
 | 
 |  |  |     needPlusLV = GameWorld.ToIntDef(curActionNode.GetAttribute("plusLV"), 0)
 | 
 |  |  |     totalCnt = 0
 | 
 |  |  |     equipPlaceList = ChConfig.Pack_EquipPart_CanPlusStar[IPY_GameWorld.rptEquip]
 | 
 |  |  |     for equipPlace in equipPlaceList:
 | 
 |  |  |         ipyData = IpyGameDataPY.GetIpyGameData('EquipPlaceIndexMap', classLV, equipPlace)
 | 
 |  |  |         if not ipyData:
 | 
 |  |  |             continue
 | 
 |  |  |         partStarLV = ChEquip.GetEquipPartPlusLV(curPlayer, IPY_GameWorld.rptEquip, ipyData.GetGridIndex())
 | 
 |  |  |         if partStarLV >= needPlusLV:
 | 
 |  |  |             totalCnt += 1
 | 
 |  |  |         for classLV in classlVList:
 | 
 |  |  |             ipyData = IpyGameDataPY.GetIpyGameData('EquipPlaceIndexMap', classLV, equipPlace)
 | 
 |  |  |             if not ipyData:
 | 
 |  |  |                 continue
 | 
 |  |  |             partStarLV = ChEquip.GetEquipPartPlusLV(curPlayer, IPY_GameWorld.rptEquip, ipyData.GetGridIndex())
 | 
 |  |  |             if partStarLV >= needPlusLV:
 | 
 |  |  |                 totalCnt += 1
 | 
 |  |  |         
 | 
 |  |  |     curMission.SetProperty(key, totalCnt)
 | 
 |  |  |     return
 |