Ejemplo n.º 1
0
        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);
        }