the frame the optional flight animation is on right now, or undefined without one
Pixels that frame is drawn away from the sprite's own position. This class only reports
it; the caller adds it where it already positions the sprite, the same rule
AnimatedSprite.frameOffset follows.
0 at launch, 1 on arrival
Tweens a sprite's position in a straight line, world units to world units.
This owns position only, the same division
GridMoverdraws for tile movement: whether the shot lands, what it does on arrival, whether it should even be fired - all of that is the caller's business, decided (withmwg/roguelike's targeting helpers, typically) before aProjectileis ever created. What is here is just "this point moves to that point over time", because a thrown potion and a wand bolt both need exactly that and nothing about the game's own arithmetic.Example