100% by me with some code inspiration from @griffpatch and the sprite layering is from @griffpatch feel free to use!