Идея с созданием таблицы для спеллов в базе возникает не первый раз, но в ядро не принимается, что можно расценивать как хаковое решение.
В сниффах приходят спеллы, которых нет в дбц.
Возможно, еще больше спеллов не приходят вообще ни в каком виде.
Если делать реализацию через базу, то можно установить приоритет на ее стороне, т.е. в первую очередь берутся данные из базы, а потом уже из Spell.dbc.
В таком случае можно не плодить однотипный код, когда у спелла есть, например, эффект думми (каст спелла) без каких-либо дополнительных условий или требуется изменить тип цели.
Вместо описания думми в ядре можно просто добавить запись в базу с указанием нужного спелла, целей и прочих необходимых параметров.
В этом случае можно будет реализовывать не только отсутствующие в дбц спеллы, но и править существующие, если не требуется дополнительная обработка.
В свою очередь это принесет не только дополнительные возможности, но и определенные неудобства, т.к. надо будет учитывать приоритетность данных.
В любом случае конечное слово за разработчиками ядра.
Если они не приняли подобные патчи, значит, не все так просто, как нам кажется.
|