Post

btw the chain link's hitboxes are also the reason why you always get hit when trying to jump on it. For some reason they're 32×32, the way the sub-objects are created is messy which is why they reuse the claw's hitbox size (they seem to have forgotten to change the size for the chain's boxes).

It's weirder than that: it first creates an object for the claw, then creates each chain link *by copying the claw into a new object and modifying it* (which is why they inherit its hitbox size). Dunno, chain hurting you makes sense (it's moving at high speed)… just not with that range.

0 reposts0 likes

Not quite true. It actually spawns all the pieces in a loop in one go. Each piece is given the same subtype value of 0x26, which is passed into a function sets up their sprites and collision. The piece type is checked to set the correct sprite during initialization, but not the collision.

I guess I was thinking on that beq.s loc_38198 under ObjA0_Init. It seems that code runs for both the claw and the chain and the code below adjusts the sprite and offset for the chain links, could have easily changed the collision size there too.