I haven't actually run the numbers to be certain, but I think it's better to do stuff like this:
armor1
weapon1
ranged1
horse1
armor1
weapon1
ranged1
horse1
I've seen some weirdnesses where I load up a set of guys with double loots like this:
melee1
melee1
lance1
lance1
and they end up with two weapon1s and zero lances or vice versa. I don't know the actual probabilities for things where tf_guarantee flags aren't involved. Hopefully someone will chime in with more info. These are probabilities, though, so doubling them up doesn't ensure that those items show up in the potential loot pool.
Both scripts live in module_scripts.py. If you want a listing of all the scripts in that file, you can look in ID_scripts.py (ifn' you were curious).
If you're ever looking for something, I highly recommend doing a "find in files" text search for the term in question. Edit++ and Textpad will do this. Many other editors have similar features as well. If you're not using an editor that has a "find in files feature", then get one!
Thus equipped, you can easily answer such questions as "where is this called?", "what things have I marked as #HACK?", and my perennial favorite, "where is convert_to_fixed_point called? I can't for the life of me remember how to use it." A fun reference is also header_operations.py which lists all the built-in functions you can call (in case you were wondering).