Где установить дальность действия заклинания Thail Smash для Синдрагосы

Мне нужно знать, где я могу изменить диапазон заклинания - THAIL SMASH 71077

единственное, что я вижу в коде C++ относительно этого заклинания, это следующее:

events.ScheduleEvent(EVENT_TAIL_SMASH, 20000, EVENT_GROUP_LAND_PHASE);

From: https://github.com/azerothcore/azerothcore-wotlk/blob/master/src/server/scripts/Northrend/IcecrownCitadel/boss_sindragosa.cpp#L331

Основная проблема в том, что это заклинание имеет основной эффект, который активируется на 45 ярдах, и 2 вторичных эффекта, которые активируются на 20 ярдах, но в игре вторичные эффекты заклинания активируются на расстоянии более 20 ярдов, как я могу решить эту проблему?

https://www.wowhead.com/spell=71077/tail-smash


person Heisenberg    schedule 25.02.2019    source источник
comment
server/game/Spells/SpellMgr.cpp:5613: case 71077: // Tail Smash (Синдрагоса) server/scripts/Northrend/IcecrownCitadel/boss_sindragosa.cpp:39: SPELL_TAIL_SMASH = 71077,   -  person Barbz_YHOOL    schedule 27.02.2019


Ответы (1)


Я не знаю, помните ли вы, но когда вы извлекали карты, mmaps и vmaps, вы также извлекали некоторые файлы, называемые «DBC». Эти файлы извлекаются из клиента, как и остальные файлы карты.

Это означает, что каждое заклинание "жестко закодировано" в этих файлах. Их эффекты, визуальные эффекты и прочее невозможно изменить, потому что, если вы это сделаете и потеряете эти файлы, вы потеряете большую часть прогресса. Если вы извлечете новые DBC, у вас, очевидно, не будет этих файлов. Как и другие участники.

Чтобы исправить это, существует файл C++ под названием SpellMgr.cpp, в котором люди изменяли атрибуты заклинаний.

В этом конкретном файле у вас есть заклинание, которое вы ищете:

https://github.com/azerothcore/azerothcore-wotlk/blob/master/src/server/game/Spells/SpellMgr.cpp#L5624

Они уже исправляют доступные цели для этого заклинания с помощью

spellInfo->EffectImplicitTargetA[0] = TARGET_DEST_CASTER_BACK;

Таким образом, чтобы получить ожидаемые результаты, вам нужно будет изменить радиус эффекта с помощью строки, подобной этой:

spellInfo->EffectRadiusIndex[1] = 20; // Spell effect 1 radius to 20y
spellInfo->EffectRadiusIndex[2] = 20; // Spell effect 2 radius to 20y
person claudiodfc    schedule 15.04.2019