xdh
2019-06-03 6f988b82f3c9bd893dc0e5705e3c0afe4a902041
6501 灵根数量任务接口
1个文件已修改
39 ■■■■■ 已修改文件
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Event/EventSrc/QuestRunner.py 39 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Event/EventSrc/QuestRunner.py
@@ -7078,6 +7078,45 @@
        curQualityLV = funcDict[attrID](curPlayer)
    return curQualityLV >= qualityLV
##X条灵根品级达到X级
# @param None
# @return None <Linggenqualitylvcnt qualitylv="品级" value="条数"/>
def ConditionType_Linggenqualitylvcnt(curPlayer, curMission, curActionNode):
    qualityLV = GameWorld.ToIntDef(curActionNode.GetAttribute("qualitylv"), 0)
    cnt = GameWorld.ToIntDef(curActionNode.GetAttribute("value"), 0)
    return GetLinggenQualitylvCnt(curPlayer, qualityLV) >= cnt
##设置达到X品灵根数量
# @param curPlayer 玩家实例
# @param curMission 任务实例
# @param curActionNode节点信息
# @return 返回值无意义
# @remarks <Set_Linggenqualitylvcnt key="" qualitylv="品级"/>
def DoType_Set_Linggenqualitylvcnt(curPlayer, curMission, curActionNode):
    key = curActionNode.GetAttribute("key")
    questID = GameWorld.ToIntDef(curActionNode.GetAttribute("id"), 0)
    qualityLV = GameWorld.ToIntDef(curActionNode.GetAttribute("qualitylv"), 0)
    if questID != 0:
        curMission = curPlayer.FindMission(questID)
    curMission.SetProperty(key, GetLinggenQualitylvCnt(curPlayer, qualityLV))
    return
def GetLinggenQualitylvCnt(curPlayer, qualityLV):
    # 获取达到X品的灵根数量
    funcDict = {ShareDefine.Def_Effect_Metal: lambda curObj: PlayerControl.GetMetalQualityLV(curObj),
                ShareDefine.Def_Effect_Wood: lambda curObj: PlayerControl.GetWoodQualityLV(curObj),
                ShareDefine.Def_Effect_Water: lambda curObj: PlayerControl.GetWaterQualityLV(curObj),
                ShareDefine.Def_Effect_Fire: lambda curObj: PlayerControl.GetFireQualityLV(curObj),
                ShareDefine.Def_Effect_Earth: lambda curObj: PlayerControl.GetEarthQualityLV(curObj),
                }
    curCnt = 0
    for attrID, func in funcDict.items():
        if func(curPlayer) >= qualityLV:
            curCnt += 1
    return curCnt
##X级通关X层娲皇遗迹
# @param None
# @return None <Passqueenrelecs value="lineID" grade="grade"/>