/// <summary>
 /// This is expected to be run PRIOR to the modify hit hooks so that when we send the data we can send it as it was prior to the edits so when it runs on the other client the modify hooks should be the same at the end
 /// </summary>
 /// <param name="proj"></param>
 /// <param name="target"></param>
 /// <param name="damage"></param>
 /// <param name="knockback"></param>
 /// <param name="crit"></param>
 public void addHitPacket(Projectile proj, NPC target, int damage, float knockback, bool crit)
 {
     if (Main.myPlayer == player.whoAmI && Main.netMode == NetmodeID.MultiplayerClient)
     {
         hitPacket = new OnHitPacket(player, proj, target, damage, knockback, crit);
     }
 }
 /// <summary>
 /// This is expected to run AFTER the on hit hooks so that if and only if any event during the modify and/or hit hooks wants the data to be synced we will do so
 /// </summary>
 public void sendHitPacket()
 {
     if (shouldSendHitPacket && hitPacket != null && Main.myPlayer == player.whoAmI && Main.netMode == NetmodeID.MultiplayerClient)
     {
         hitPacket.Send(-1, Main.myPlayer, false);
         shouldSendHitPacket = false;
         hitPacket           = null;
     }
 }