Okay, this is not entirely finished, but it's at least functional. You can make item shops now. The trading screen is opened through a function event. You add items to a unit's inventory under the "Trading and Inventory" submenu; each inventory item represents a quantity held by that sprite (-1 to give it an infinite supply, as is standard for RPG shopkeepers) and you can also override the default item price to make special sales and the like. Note that an item's "real" value as pertains to giving sparks to the world builder is still the default price even if a shopkeeper overrides it, so avoid going too far off the mark here.
Items can also have HP and MP now, which can be called using $itemname._hp or _mp. Items can be stacked as well, but any item that is equipped, does not have full HP or MP, or has partition values set will be separated from the stack. Using $itemname to call a partition value, hp or mp will prioritize an equipped item, otherwise it will use the first item of the given name on the list. This method makes most basic item uses simple (equipped items take damage or can have limited uses, partitioned items are generally unique mementos and don't need to be stacked anyway), but more complicated systems will be trickier, so I'll have to add some less awkward methods of specifying exactly which inventory item you want to read/modify.
I've also improved the "Walk" event so the "Continue on failure" option actually works. The sprite will evaluate whether it actually moved any closer to the destination each frame, if not, it will assume it is stuck on an obstacle and proceed to the next event. By adjusting _speed and creating a Walk command, you can make a proper "charge" attack. Note that unlike Jumps and Dashes, Walk events do not have a "fixed" timespan and are better used in functions rather than techniques (you can call a function from a technique and call a technique from a function though, to create an ability that utilizes both.)