Found a fix thanks to bagels_s. You need the Debug option enabled, find it here. http://www.mmo-game.eu/witcher-3-debug-console-commands/
So this bug starts on the boat that is attacked by pirates. Load up a save before it and do it again. Keep pressing ~ until the command console comes up during the first cut scene on the ship when Geralt wakes up to the pirate attack. Type in "Geralt" (without the ") as quick as you can. If done correctly you will appear stuck naked in the sleeping quarters unable to attack the pirates or open the door. Now type in "Ciri" into the command and now the pirates will show up on the mini map and you will now be able to type "killall" to complete the "Kill all of the pirates" segment. Once done you will proceed to wake up on the beach.
So this bug starts on the boat that is attacked by pirates. Load up a save before it and do it again. Keep pressing ~ until the command console comes up during the first cut scene on the ship when Geralt wakes up to the pirate attack. Type in "Geralt" (without the ") as quick as you can. If done correctly you will appear stuck naked in the sleeping quarters unable to attack the pirates or open the door. Now type in "Ciri" into the command and now the pirates will show up on the mini map and you will now be able to type "killall" to complete the "Kill all of the pirates" segment. Once done you will proceed to wake up on the beach.