public override void ModifyHitNPC(Projectile projectile, NPC target, ref int damage, ref float knockback, ref bool crit, ref int hitDirection) { Player player = Main.player[projectile.owner]; int critChance = player.HeldItem.crit; ItemLoader.GetWeaponCrit(player.HeldItem, player, ref AlchemistPlayer.ModPlayer(player).arcaneCrit); PlayerHooks.GetWeaponCrit(player, player.HeldItem, ref AlchemistPlayer.ModPlayer(player).arcaneCrit); if (critChance >= 100 || Main.rand.Next(1, 101) <= critChance) { crit = true; } }
public override void GetWeaponCrit(Player player, ref int crit) { // Adds crit bonuses crit += AlchemistPlayer.ModPlayer(player).arcaneCrit; }
public override void GetWeaponKnockback(Player player, ref float knockback) { // Adds knockback bonuses knockback += AlchemistPlayer.ModPlayer(player).arcaneKnockback; }
// As a modder, you could also opt to make these overrides also sealed. Up to the modder public override void ModifyWeaponDamage(Player player, ref float add, ref float mult, ref float flat) { add += AlchemistPlayer.ModPlayer(player).arcaneDamageAdd; mult *= AlchemistPlayer.ModPlayer(player).arcaneDamageMult; }