This package lets you to create new "Shooting" based power-ups, where the player can shoot extended sprites, both new and old, depending on "power" state.
Comes with boomerang and hammer powers, that were originally made by 1524 (ICB).
More details in the readme.
There are a couple of problems with this sprite which ultimately led to its rejection.
The SpriteInteract routine in both projectiles calls %SubHorzPoz() incorrectly when you set !DeathType to 0. %SubHorzPoz() returns a value in Y using the sprite in slot X, but the sprite loop uses Y as its index. While you do properly preserve Y and read the output, you never set X, so you'll read the position of an undefined sprite. This can be fixed by just transferring Y into X before calling %SubHorzPoz() - you restore X afterward, so you don't have to back it up. In fact, backing up Y is also unnecessary because %SubHorzPoz() preserves X - you can transfer Y into X, call %SubHorzPoz(), transfer the output into A, then transfer X back into Y.
Both included projectiles respect the scenery flag in $1779 but the UberASM code sets it only for boomerang. This means that hammers will use the current undefined value, meaning they'll sometimes ignore sprites for seemingly no reason. Besides, the UberASM code shouldn't just put the projectile in front of layers, it should use $13F9 to check what to store. Currently, shooting a projectile while behind a net will place it in front of the net. Speaking of nets, you can shoot projectiles while climbing, which clearly shouldn't be the case.
When you apply the X offset when spawning the extended sprite, you're not adding the carry into the high byte. This means that you can't shoot projectiles if the player is close to a screen boundary. To fix this, you can't just ADC #$00 because you sometimes subtract (when the player is facing left, to be specific) through signed addition. You need a separate table for the high bytes and add #$FF if you're subtracting, #$00 if you're adding (check other sprites to see what I'm talking about in practice).
From a gameplay perspective, there's one small flaw - the player's old powerup is not placed in the item box. Picking up a hammer or boomerang powerup will destroy the player's current powerup, even if it's a fire flower or a cape (both of which can go in the item box). Of course, placing these new pseudo powerups in the item box is not possible because of how the item box works.
Other than that, this sprite works quite well. As for additional, recommendations, it'd be nice if you could make it work with patches such as Item Box Special to make these feel more like true powerups. Another small gripe I have is that the included graphics don't work out of the box (the boomerang is in the wrong place).