private void damagePlayer(Player p) { if (Main.netMode != 1 && projectile.damage > 0) { FishPlayer owner = Main.player[projectile.owner].GetModPlayer <FishPlayer>(mod); int dmg = (int)Math.Round(projectile.damage * (owner.bobberDamage + escalationBonus(owner))); dmg = Main.DamageVar(dmg); if (dmg < 1) { dmg = 1; } bool crit = Main.rand.Next(100) < owner.bobberCrit + Main.player[projectile.owner].inventory[Main.player[projectile.owner].selectedItem].crit; ProjectileLoader.ModifyHitPvp(projectile, p, ref dmg, ref crit); PlayerHooks.ModifyHitPvpWithProj(projectile, p, ref dmg, ref crit); Main.player[projectile.owner].OnHit(p.Center.X, p.Center.Y, p); /* if (crit) * { * dmg *= 2; * }*/ dmg = (int)p.Hurt(PlayerDeathReason.ByProjectile(projectile.owner, projectile.whoAmI), dmg, projectile.direction, true, false, crit, -1); if (Main.netMode == 2) { ModPacket pk = mod.GetPacket(); pk.Write((byte)3); pk.Write(dmg); pk.Send(projectile.owner, -1); } else { if (Main.player[projectile.owner].accDreamCatcher) { Main.player[projectile.owner].addDPS(dmg); } } ProjectileLoader.OnHitPvp(projectile, p, dmg, crit); PlayerHooks.OnHitPvpWithProj(projectile, p, dmg, crit); if (Main.netMode != 0) { NetMessage.SendPlayerHurt(p.whoAmI, PlayerDeathReason.ByProjectile(projectile.owner, projectile.whoAmI), dmg, projectile.direction, crit, true, 0, -1, -1); } } }