I ran into the same issue, and managed to fix it with some adjustments. Took quite a bit of digging, but the following edits work wonderfully. I'd post my version of Fishing.cs, but it is heavily modified.
At or around line 441, find:
Code:
else if ( item is Fish )
{
number = 1008124;
name = "a fish";
}
and replace it with:
Code:
else if ( item is Fish )
{
number = 1008124;
//name = "a fish";
name = item.ItemData.Name;
}
At or around line 475, find:
Code:
if ( number == 1043297 )
from.SendLocalizedMessage( number, name );
else
from.SendLocalizedMessage( number, true, name );
and replace it with:
Code:
//if ( number == 1043297 )
NetState ns = from.NetState;
if ( ns == null )
return;
if ( number == 1043297 || ns.HighSeas )
from.SendLocalizedMessage( number, name );
else
from.SendLocalizedMessage( number, true, name );
Also be sure to add:
The most logical explanation that I've found, is that OSI changed their clilocs for the High Seas expansion to include an argument, instead of just appending the result. Therefore, only HS+ clients will experience this bug. These edits will send the new format only when the user is connected using a new client, so the code will remain compatible with older ones. I've left the original snippets in the script, just commented out with // for comparison sake. Good luck!