private bool IsBetterHeal(HealAction newAction, HealAction prevAction, Kernel kernel) { var newContext = (HealActionContext)newAction.getContext(); var prevContext = (HealActionContext)prevAction.getContext(); Fruiton newTarget = KernelUtils.GetFruitonAt(kernel, newContext.target); Fruiton prevTarget = KernelUtils.GetFruitonAt(kernel, prevContext.target); int newHealAmount = Math.Min(newContext.heal, newTarget.originalAttributes.hp - newTarget.currentAttributes.hp); int prevHealAmount = Math.Min(prevContext.heal, prevTarget.originalAttributes.hp - prevTarget.currentAttributes.hp); return(newTarget.get_isKing() || newTarget.type == Fruiton.MAJOR_TYPE && prevTarget.type == Fruiton.MINOR_TYPE || newTarget.type == prevTarget.type && newHealAmount > prevHealAmount); }