I've changed the way movement works in a way that attaches max speed to any given acceleration function instead of setting an absolute max speed specific to the sprite itself. This allows for various types of wind effects. Windboxes are a kind of hitbox that differ in that they add a speed vector to the target's current speed instead of causing them to stop and instantly accelerate to a set speed, and also they do not cause hitstun. In other respects they are similar to normal hitboxes.
Hitboxes now have 3 separate knockback values: a base speed that is applied regardless of mass, a variable force value that is multiplied by the target's mass, and a max value that restricts the top speed the hitbox can accelerate the target. This is nice for cases where, for example, you want an attack that will knock a person with mass of 1 back a few tiles but not turn a mouse with a mass of 0.001 into a supersonic missile, or a strong wind that will push the player but will not accelerate them over a certain speed.
I've also added two related function events, Accelerate and Apply Force. The former just applies an acceleration value and direction to a target, capped at a max speed if you want, the latter simulates knockback of a hitbox collision on a given sprite without needing to actually create a hitbox. Both are pretty similar in practice, though Accelerate is recommended if it's all you're doing.
You can create objects that suck stuff in or push things away by giving them a windbox with Radial Force selected. Negative knockback will allow you to suck things in; this also works with the basic melee attack so you can make whirlpools or tornadoes or something of the sort.
Quite a number of things in the physics engine have been changed around, hopefully the bugs it causes will be minimal.