According to houndbone.lua:
if bonetype == 3 then inst.components.lootdropper:AddChanceLoot("houndstooth", .5) end
I'm reading this as "the tooth is supposed to drop from the skull" (which makes sense). Problem is, the bonetype var is not saved (so I guess it's re-generated on reload?), even though the animstate (the bone type as visible to the player) is:
local function onsave(inst, data) data.anim = inst.animname end local function onload(inst, data) if data ~= nil and data.anim ~= nil then inst.animname = data.anim inst.AnimState:PlayAnimation(inst.animname) end end
As a result, the bone type visible to the player stays the same across reloads, but after reload it has no bearing on what will actually drop from the bones.
Steps to Reproduce
Generate a bunch of bones, save and reload the game. Start hammering. Observe that tooth drop rate from skull pieces is much lower than 50%, and occasionally a tooth drops from a type other than skull.
Generate a bunch of bones, save and reload the game. Start hammering. Observe that tooth drop rate from skull pieces is much lower than 50%, and occasionally a tooth drops from a type other than skull.
There are no comments to display.
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now