Sorry to double-post, but I saw something interesting in server_HatMod/server.cs:
for(%i=0; %i < %count; %i++) {
%client = ClientGroup.getObject(%i);
%hat = "";
if(isObject(%player = %client.player) && %client.HatModNotAFK !$= %player.getVelocity() && getRandom(0, 100) <= $Pref::HatMod::HatChance) {
%breaker = 0;
while(($Pref::HatMod::DuplicateHats || $HatMod::save::hats[%client.bl_id, strReplace(%hat, " ", "_")] <= 0) && !isHat(%hat)) {
%hat = getRandom(1, HatMod_HatSet.getCount());
%hat = HatMod_HatSet.getObject(%i).hatName; <------THIS LINE HERE.
}
So I guess I was right. How the heck did this happen? Is it only me who is affected?