PDA

Просмотр полной версии : [11610][patch] Некоторое улучшение использования SpellDifficulty.dbc


PSZ
30.04.2011, 10:05
Есть спеллы, которые используются в рейдовых инстах с 4-мя уровнями сложности, а записи в SpellDifficulty.dbc имеют только для 10 нормал и 25 нормал. Например, спелл 66149 - Trial of the Crusader, энкаунтер Twin Valkyr. Сейчас ситуация такая - т.к. записи для героик 25 нету, кастуется спелл из нормал 10. Логично сделать, что если нет записи для герок 25, то пусть кастуется спелл из нормал 25.
Патч (автор - MaxXx2021):
diff --git a/src/game/SpellMgr.cpp b/src/game/SpellMgr.cpp
index 844c28a..d142b0a 100644
--- a/src/game/SpellMgr.cpp
+++ b/src/game/SpellMgr.cpp
@@ -4633,6 +4633,12 @@ SpellEntry const* GetSpellEntryByDifficulty(uint32 id, Difficulty difficulty)
return NULL;

if (!spellDiff->spellId[difficulty])
+ {
+ if (difficulty == RAID_DIFFICULTY_25MAN_HEROIC)
+ difficulty = RAID_DIFFICULTY_25MAN_NORMAL;
+ }
+
+ if (!spellDiff->spellId[difficulty])
return NULL;

sLog.outDebug("Searching spell %u in SpellDifficulty.dbc: Result is: %u/%u/%u/%u ",id,

Vladimir
05.06.2011, 20:54
Аналогичный код уже используется для выбора creature_template, так что вынес выбор difficulty в новую функцию и использовала ее вместо явного кода.

В [11610]. Спасибо.