bunnyman.lua has the following code:
inst:AddComponent("lootdropper") inst.components.lootdropper:SetLootSetupFn(LootSetupFunction) LootSetupFunction(inst.components.lootdropper)
Calling "LootSetupFunction" here adds carrot (weight 3), meat (weight 3), and bunny puff (weight 2, total = 8) to the lootdropper's randomloot table. It is called again when the bunnyman dies via "LootDropper:GenerateLoot". If the bunnyman's killer was sane, it adds another set of randomloot without clearing the first one, resulting in a total weight of 16.
While this ordinarily has no effect since the weights are proportional, any mod that adds loot has their odds of dropping halved if they don't account for it. Also, in one of my mods I convert the randomloot into chanceloot so they can drop multiple loot, and this results in a chance to drop two of each item if I don't filter out the duplicate entries.
The way to fix this is either to clear the randomloot first when it dies (as happens when it dies as beardlord), or just avoid calling "LootSetupFunction" during init and leave the loot empty until it dies.
Add "print(lootdropper.totalrandomweight)" to the end of "LootSetupFunction" and verify it prints "8" during init and "16" on death.