I'm running TFS 1.5 (latest) and after the update this week it appears that the behavior in weapons.xml has switched from explicitly allowing vocations to use weaponry to disallowing the specified vocation(s) from using that weaponry.
For example, the wand of vortex allows sorcerers to use it per the weapons.xml, however the sorcerer is now the only vocation that cannot use this wand.
I'm running TFS 1.5 (latest) and after the update this week it appears that the behavior in weapons.xml has switched from explicitly allowing vocations to use weaponry to disallowing the specified vocation(s) from using that weaponry.
For example, the wand of vortex allows sorcerers to use it per the weapons.xml, however the sorcerer is now the only vocation that cannot use this wand.
Expected behavior
The vocation name(s) listed per item in weapons.xml explicitly allow only those specified vocation(s) to use it.
Actual behavior
The vocation name(s) not listed per item in weapons.xml explicitly allow only those not specified vocation(s) to use it.
Confirmation
I confirmed this bug by changing the allowed vocation to Knight, and then knight was the only vocation incapable of using the wand of vortex.
Resolution
Changing the following line in weapons.h from "!="
return !vocationWeaponSet.empty() && vocationWeaponSet.find(vocationId) != vocationWeaponSet.end();
to "=="
return !vocationWeaponSet.empty() && vocationWeaponSet.find(vocationId) == vocationWeaponSet.end();
and building the docker from the modified sources resolves this issue.