Я так понимаю есть какой-то серверный скрипт, который вываливает js-ы клиенту? В таком случае можно код хранить и в БД, и без eval-ов его впиливать в серверный ответ. Но в любом случаее это не выход.
В БД вы должны хранить параметры, значения, константы, мета-информацию, нельзя в БД хранить логику, это ошибка (в данном случае).
Предлагаю решение:
1. Сделать еще одну таблицу, которая хранит все возможные факторы влияния.
2. Описать где-то в JS все возможные факторы влияния, функция должна возвращать уровень влияние по ID/name фактора влияния, в зависимости от текущих параметров (погода, цель удара, время последнего удара или что-то там еще).
3. Для каждого спец. предмета в таблице добавить поле содержащее строку '[«id1»:«k1»,«id2»:«k2»...]' — список параметров влияние и их коэффициентов. Либо не доп. поле, а доп. таблицу (в зависимости от уровня нормализации таблиц).
Таким образом вы сможете хранить спец. параметры в БД, и изменять основные параметры предметов/игрока динамичиски с помощью JS. Если количество спец. факторов — динамическое и может меняться в процессе игрового процеса — DSL либо шаблоны — случайная примесь разных факторов влияния.