Как хранить поведение нестандартных игровых объектов?
Я так понимаю есть какой-то серверный скрипт, который вываливает js-ы клиенту? В таком случае можно код хранить и в БД, и без eval-ов его впиливать в серверный ответ. Но в любом случаее это не выход.

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

Таким образом вы сможете хранить спец. параметры в БД, и изменять основные параметры предметов/игрока динамичиски с помощью JS. Если количество спец. факторов — динамическое и может меняться в процессе игрового процеса — DSL либо шаблоны — случайная примесь разных факторов влияния.
MUD-ы, большинство, хранит таки код специальных поведений объектов в БД (другое дело, что БД обычно текстовая, а код — действительно DSL, а не C/C++). Часто встречающееся поведение — параметризуют во флагах («5% шанс на отравление при ударе»), особое — прописывают в proc-и «on_hit, 3% { echo „Вы услышали страшный хруст“}, сохраняемые вместе с классами объектов в ту же „БД“
Это, типа, работает уже не первый десяток лет.
но Javascript, можно сказать, сам себе DSL. так что даже придумывать ничего не надо.