public bool DealDamage(int dmg, Kernel_bin.Attack_Type type, Kernel_bin.Attack_Flags?flags) { if (DamageActions.ContainsKey(type)) { //ChangeHP(-dmg); // check max and min values if (dmg > Kernel_bin.MAX_HP_VALUE && type != Kernel_bin.Attack_Type.Give_Percentage_HP) { dmg = Kernel_bin.MAX_HP_VALUE; } if (dmg < 0) { return(false); } // depending on damage type see if damage is correct dmg = DamageActions[type](dmg, flags ?? Kernel_bin.Attack_Flags.None); return(dmg != 0); } return(false); }
public bool DealDamage(int dmg, Kernel.AttackType type, Kernel.AttackFlags?flags) { if (!DamageActions.ContainsKey(type)) { return(false); } //ChangeHP(-dmg); // check max and min values if (dmg > Kernel.KernelBin.MaxHPValue && type != Kernel.AttackType.GivePercentageHP) { dmg = Kernel.KernelBin.MaxHPValue; } if (dmg < 0) { return(false); } // depending on damage type see if damage is correct dmg = DamageActions[type](dmg, flags ?? Kernel.AttackFlags.None); return(dmg != 0); }