This is but a start, to start discussion and receive feedback.
So note: this is far from compleat! (One can play with the current diff though.)
- Let "Ranged" in "Attack.js" be a consequence of the existence of a "Projectile" node (with appropriate names).
- Do not hardcode any attack types. (Lots of work probably.)