This is a sprite that doesn't hurt the player and doesn't interact with any other sprites. It can stay still, walk around, or jump, and also display a message if the player presses a button while touching it.
It's compatible with SMW's regular message boxes (can use any message in any level and show up to two at once), the Message Box Expansion patch, and also the VWF Dialogues patch.
The movement, graphics and message behavior are highly customizable. All the options are in the extra bytes (of which it uses all 12). This means you only need to have one entry in your sprite list and can fully customize it as you place it in your level!
All the customization options are explained in HOW_TO_USE.html, so please refer to that. It also has a user-friendly configuration tool.
A marvelous sprite! The NPCs have been long overdue an overhaul, and this is the one. The ability to have any combination of behaviours per sprite makes them very flexible, and the inclusion of a tool to handle the extra byte settings makes them very easy to set up. It's also much nicer not having to modify or check the X position or palette(!) to determine the messages displayed. I can definitely see this sprite's usage becoming more common now the insertion process is far more user-friendly.
Unfortunately I was not able to test it with VWF Dialogues on SA-1, as the two patches have been incompatible since SA-1 v1.31.
There were a few minor bugs, which I went ahead and fixed:
- The message sound would not play regardless of the setting if the Message Box Expansion or VWF Dialogues were installed.
- The "give once" setting did not work for powerup option 2. The !PowerupGivenFlag was set to 2, which got ANDed with #$01, tricking the code into believing it was never set. As a hacky fix, I just set the !PowerupGivenFlag to #$01 for all 3 powerup types when the "give once" setting is set.
- The Flower and Feather were swapped for the "give powerup" setting. I was inclined to believe the error was actually swapped text in the tool rather than swapped values in the .asm (since Mushroom/Feather/Flower is the order in SMW), so I fixed this for the HTML rather than the .asm.
I also converted the .cfg to .json and added LM graphic display icons for the extra bit clear/set, as well as putting them in a .json list. The .cfg is included too if users wish to use that.