local FuncNode_HpCompareByMonsterID = class("FuncNode_HpCompareByMonsterID") --[[ 初始化 --]] function FuncNode_HpCompareByMonsterID:initialize(entity) self.LimitChildCount = 3 self.Type = LuaConst.ConditionFuncType.HpCompareByMonsterID end --[[ 执行 --]] function FuncNode_HpCompareByMonsterID:Run(conditionDataNode, entity, missile) local monsterID = FP.tonumberV1(conditionDataNode.FirstNode:Run(entity, missile)) local relationType = FP.tonumberV1(conditionDataNode.SecondNode:Run(entity, missile)) local compareToValue = FP.tonumberV1(conditionDataNode.ThirdNode:Run(entity, missile)) local tempEntity = nil for i,entity in ipairs(LogicUpdateManager.EntityList_Normal) do if entity:IsMonster() and entity:GetCharacterID() == monsterID then tempEntity = entity break end end local hp = 0 if tempEntity then if compareToValue < 0 then compareToValue = -1 * compareToValue hp = FP.tonumberV1(tempEntity.components.attr:HitPointPercents()) else hp = FP.tonumberV1(tempEntity:GetHp()) end end local ConditionAnalysis = require "Battle/Logic/AI/Condition/ConditionAnalysis" return ConditionAnalysis.CommonValueCompare(relationType, hp, compareToValue) end return FuncNode_HpCompareByMonsterID