1. I did actually implement some field switching at one point, such that selecting an attack type would turn certain fields and checkboxes on and off, but I figured it was better to leave everything open in case a user was curious about the relationship between e.g. mini and magic damage.
2. This is a fair enough point.
3. I could add some helptext, perhaps. Or maybe change the labels of the highest entries, e.g. 'Hero drinks: 4 (max)'
4. 'Long range' could be a better name.
5. Perhaps I could look at the tooltip text again.
6. Elemental affinity is on my 'to do' list.
7. Of course.
8. I can see that I forgot about the floor on the results of the Rnd function (so the max damage multiplier can never reach 1), but I'm not sure about your minima of 224/256. Terence's guide suggests otherwise:
Random Variation (Physical, Magical, Cure, Item only)
At last, damage is adjusted randomly by the following formula:
Damage = [Damage * (3841 + Rnd(0..255)) / 4096]
I interpret this as meaning the fraction goes from (3841 + 0) / 4096 to (3841 + 254) / 4096, or 240/256 to 255/256.
I considered making something like this for FFVI, but gave up early on in planning. Good job for getting a beta of one for FFVII!
It was surprisingly time-consuming to write, actually. Most of the work was on wiring up the view to the model. I'm not sure I'd do something like this as a web project without some kind of framework to ease things along. I hear good things about Backbone.js and Angular; if I ever get round to that Nibelheim project it's likely I'll use one of them.