local FuncNode_HasDragonArtery = class("FuncNode_HasDragonArtery") local FP=FP --[[ 初始化 --]] function FuncNode_HasDragonArtery:initialize(entity) self.LimitChildCount = 1 self.Type = LuaConst.ConditionFuncType.HasDragonArtery end --[[ 执行 --]] function FuncNode_HasDragonArtery:Run(conditionDataNode, entity, missile, buffObject) if conditionDataNode.FirstNode then local type = FP.tonumberV1(conditionDataNode.FirstNode:Run(entity, missile)) if type == 1 then -- 我方阵营 是否持有龙脉 if LevelManager.CurLevelFunc.GetDragonArteryPlayer then local carrierPlayerID = LevelManager.CurLevelFunc:GetDragonArteryPlayer() if carrierPlayerID then local campID = LevelPlayerManager.GetCampIDByPlayerIDInRoom(carrierPlayerID) return campID == entity:GetCampID() and FP.Const.One or FP.Const.Zero else return FP.Const.Zero end else logging.error(LTAG.ERROR, "HYW : 试图在不正确的关卡里访问 GetDragonArteryPlayer(获得携带图腾的) @FuncNode_HasDragonArtery:Run LevelID : ", LevelManager.GetCurLevelID()) return FP.Const.Zero end end end -- 不填写参数或者参数为0时 我自己是否持有龙脉 local originEntity = entity:GetOriginEntity() if originEntity then if originEntity:IsHero() then if LevelManager.CurLevelFunc.GetDragonArteryPlayer then return LevelManager.CurLevelFunc:GetDragonArteryPlayer() == originEntity:GetPlayerID() and FP.Const.One or FP.Const.Zero else --如果关卡没有这个功能,则统一认为已经达到上限 logging.error(LTAG.ERROR, "HYW : 试图在不正确的关卡里访问 GetDragonArteryPlayer(获得携带图腾的) @FuncNode_HasDragonArtery:Run LevelID : ", LevelManager.GetCurLevelID()) return FP.Const.Zero end else --非英雄,则统一认为无图腾 return FP.Const.Zero end else return FP.Const.Zero end end return FuncNode_HasDragonArtery