On the the swing mechanic: I like the idea of it, and it provides more interesting options for us. For example, big, slow weapons could break better while fast, multi-hit weapons have better chances to proc effects. Etc. I'll really need to see it in practice, but NEB's layout really made it look interesting/awesome.
What you seem to be suggesting here is that things like status effects and "randocast" effects on weapons be checked every hit. I think this is a good idea myself. Would give faster weapons more use against higher defense enemies still (though the damage loss would be notable so there's still a downside as well). Though I'd suggest making the effect rate on faster weapons a bit lower in general to compensate.
---
Was thinking about how to do magic damage. Haven't come up with a great way to do it, but going to post my failure ideas and "decent" ideas here and maybe it'll spark some idea in someone.
First naive approach was to follow the same formula as the physical damage, but without swings. Thus:
(1) Damage = Intelligence / Spirit * (Power - Magic_Defense*B) * C
B basically constant, C also depends on the spell involved.
The problem with this idea is unless we make Magic_Defense nearly constant, earlygame spells are going to just tink at endgame, and that's bad. We want spells to be at least remotely usable (lower SP cost than stronger spells) at endgame.
Next:
(2) Damage = Intelligence / Spirit * (Power*Intelligence*A - Magic_Defense*B) * C
B/C same as above, A constant to make Power easier numbers to work with (likely well below 1). Formula looks fine on a glance, but Intelligence is too important, I find. Doesn't have the problem the first one had though.
So instead:
(3) Damage = Intelligence / Spirit * [(Power+Intelligence*A) - Magic_Defense*B] * C
B/C same as above, A is a constant that depends on how we design Intelligence values compared to Power values. For example, if we have Power values ranging in the hundreds, and decide on a 0-100 range for Intelligence, A could even be just 1. If Intelligence ranges from 0-1000, A would be much lower, maybe 0.1. Also depends on how much we want Intelligence to matter.
I like this one best of the three. It doesn't emphasize Intelligence as much as the second, and doesn't have the problem of the first. Kind of a middle ground.
Now, for another idea, I'm going to expand on this.
Like with the physical formula, we can create a magical analog to Dexterity, for now let's call it Willpower. Instead of doing it as swings as before, we'll make this more continuous.
(4) Damage = Intelligence / Spirit * [(Power+Intelligence*A) - Magic_Defense*B] * C * (2*A.Willpower / D.Willpower - 1)
Okay, that last factor looks weird, but I have a reason for it. If you look at the physical formula, 1.25x Dexterity => 1.5x damage, 1.5x Dexterity => 2x damage, 1.75x Dexterity => 2.5x damage. If you plug in these ratios into that last factor, you get the exact same damage increases, creating a very close analog. In addition, we can impose a minimum on that factor and just set it to 1 if A.Willpower < D.Willpower, which also happens in the physical formula. If we don't, then magic damage tinks if A.Willpower <= D.Willpower / 2, which is probably a bad thing.
While this does make the magic formula very similar to the physical formula, it does have the issue of adding that extra Willpower stat that... may be a little extraneous. If we do put a min cap on it, then it does serve an actual purpose, though.
Also there's:
(5) Damage = Intelligence / Spirit * Power - Spirit / Intelligence * Magic_Defense
Makes all stats important, but is pretty nonstandard. I'm really not expecting this to get any backing.
Anyways, those were the ideas I came up with, both good and bad. A bit wall of texty, but I tried to separate paragraphs enough to make it flow better. If nothing else, hopefully this'll give someone else a new better idea or an idea on how to modify one of these to work better.