local FuncNode_SkillKeyPosCompare = class("FuncNode_SkillKeyPosCompare") --[[ 初始化 --]] function FuncNode_SkillKeyPosCompare:initialize(entity) self.LimitChildCount = 3 self.Type = LuaConst.ConditionFuncType.SkillKeyPosCompare end --[[ 执行 --]] function FuncNode_SkillKeyPosCompare:Run(conditionDataNode, entity, missile, buffObject, params) local compareTo1 = FP.tonumberV1(conditionDataNode.FirstNode:Run(entity, missile)) local compareTo2 = FP.tonumberV1(conditionDataNode.SecondNode:Run(entity, missile)) local compareTo3 = FP.tonumberV1(conditionDataNode.ThirdNode:Run(entity, missile)) local keyPosition = nil if params then local skillData if params.keyPos then keyPosition = params.keyPos else if params.skillData then skillData = params.skillData elseif params.skillID then skillData = entity:GetSkillData(params.skillID) end if skillData then if skillData.BelongTo == skillData.ID or (skillData.KeyPosition > 0 and skillData.KeyPosition < 9999) then -- 9999 目的是防止糜芳和太史慈出问题:他们10000以上按键都是后段技能。 keyPosition = skillData.KeyPosition else local belongToSkillData = entity:GetSkillData(skillData.BelongTo) if belongToSkillData then keyPosition = belongToSkillData.KeyPosition end end else logging.error(LTAG.ERROR, "HYW : skillData nil ERROR @FuncNode_SkillKeyPosCompare") end end end if keyPosition == nil then if params then logging.error(LTAG.ERROR, "HYW : 事件参数没有skillData或skillID或keyPos参数 @FuncNode_SkillKeyPosCompare entityID : ", entity.EntityID) else logging.error(LTAG.ERROR, "HYW : 事件参数不存在 @FuncNode_SkillKeyPosCompare entityID : ", entity.EntityID) end end return (keyPosition == compareTo1 or keyPosition == compareTo2 or keyPosition == compareTo3) and FP.Const.One or FP.Const.Zero end return FuncNode_SkillKeyPosCompare