Because you used the wrong flag variable to check and the wrong branch out... and also, set the solidity (to SOLID) tthe beginning, before the check so in every cases... the solidity is SOLID.
I think it would be better, ike this:
I think it would be better, ike this:
Code:
LDA Object_flags,x ;; Is it a monster?
AND #%00001000
BEQ notAmonster
;; if it IS a monster, then make it solid:
LDA #TILE_SOLID
STA tile_solidity
RTS