Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
Tags

These are both good suggestions. The first is definitely doable via an update, it shouldn't be too difficult for me to figure out.

The second thing... might sort of be doable right now without an update, but it'd be kind of hacky.

In your damage formula you can get the string which holds the custom formula and eval it as a function. So you could put something in place to check if the user is an actor or not, then check his weapon for a custom formula (if (user.weapons()[0]._customFormula)) and then eval that formula using eval(user.weapons()[0]._customFormula).

A damage formula might look something like this:

var w = (user.isActor() && user.weapons()[0] && user.weapons()[0]._customFormula) ? eval(user.weapons()[0]._customFormula) : (a.atk * 4 - b.def *2); w

Obviously, that's a bit hacky, so I will attempt to come up with a much better way to make it a little easier.