Example #1
0
        private void ModifyCrit(Player player, Item item, NPC target, ref int damage, ref float knockback, ref bool crit)
        {
            if (Equipped(player))
            {
                float multiplier = 2 + CritMultiPlayer.GetMultiplier(item);

                if (crit)
                {
                    damage += (int)((damage / multiplier) * (1.5f - (target.life / target.lifeMax) / 2));
                }

                if (!target.boss && (target.life / target.lifeMax) < 0.1f && (damage * multiplier * 1.5f) > target.life)
                {
                    Execute(target, player.whoAmI);
                }
            }
        }
Example #2
0
        private void ModifyCritProj(Player player, Projectile proj, NPC target, ref int damage, ref float knockback, ref bool crit, ref int hitDirection)
        {
            if (Equipped(Main.player[proj.owner]))
            {
                float multiplier = 2 + CritMultiPlayer.GetMultiplier(proj);

                if (crit)
                {
                    damage += (int)((damage / multiplier) * (1.5f - (target.life / target.lifeMax) / 2));
                }

                if (!target.boss && (target.life / target.lifeMax) < 0.1f && (damage * multiplier * 1.5f) > target.life)
                {
                    Execute(target, proj.owner);
                }
            }
        }