Pretty good day. I realized that there was a common thread between a whole lot of different entity behaviors, which was the conditional check, looking to see whether a set of different flags were set in the entity status and then either doing a thing or not depending. I separated that out into its own class, which let me simplify a couple of others, and then created a TendrilImpulse class which adds a velocity impulse to the tendrils if the conditions are met, so I can animate motion based on the character turning or any situation like that, where there’s a large motion in the animation that isn’t reflected in the movement of the character entity itself.
I’d also like a similar system for changing what layer tendrils draw on, but that may be a bit more complex. It’s a low priority though, since it probably won’t be that visible if it’s imperfect.