for the record, i never "forced" anyone to mod anything, i prefer "allowed" or "enabled". that's my doctrine you're calling moronic, and by extension, me that you're calling a moron. i'm open to criticism, but saying "that's dumb, the game is broken" will typically elicit a response along the lines of "please go forcibly insert an umbrella in yourself and push the button"
the argument over weight has been going on for well over a year now, and personally i'm sick to death of it. i attempted to resolve the situation by giving players the option to do as they saw fit, and somehow that resulted in more fuel on the fire. the whole argument only exists because the whole concept of weight is bugged as shit to begin with. rest assured, that for every calculation and test case you propose, there is an equal and opposite one proving things the other way. so yes, the topic IS very much open for debate.
it got to the point where i just threw my hands up in the air and accepted a PR to "fix" it. and now i'm a moron for trying to settle the argument without getting involved or taking sides.
well, now i'm involved, and here's the code that will settle things once and for all
int __cdecl sub_413820(__int16 a1)
{
v1 = 0;
v2 = a_ObPos_DAT;
v3 = 170;
do
{
if ( v2->obdata_ref != -1 )
{
if ( v2->owner_unitpos_ref == a1)
{
v4 = p_ObData_DAT[v2->obdata_ref].0x2B;
v1 += v4;
}
}
++v2;
--v3;
}
while ( v3 );
return v1;
}
you don't even want to know how hard that was to find.
tl;dr: you have a definitive answer. 0 is the correct default. congratulations, you were right. we can all sleep safe in the knowledge that the game isn't completely broken because we got a number wrong.