3

我需要知道在哪里可以更改咒语的范围 - THAIL SMASH 71077

关于这个咒语,我在 C++ 代码中唯一能看到的是:

events.ScheduleEvent(EVENT_TAIL_SMASH, 20000, EVENT_GROUP_LAND_PHASE);

来自: 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

4

1 回答 1

1

我不知道你是否记得,但是当你提取地图、mmaps 和 vmaps 时,你还提取了一些名为“DBC”的文件。这些文件是从客户端以及其余的地图文件中提取的。

这意味着每个咒语都被“硬编码”到这些文件中。它们的效果、视觉效果和诸如此类的东西是不可修改的,因为如果你这样做了并且你丢失了这些文件,你会失去很多进步。如果您提取新的 DBC,您显然不会拥有这些文件。其他贡献者也不会。

所以为了解决这个问题,有一个名为 SpellMgr.cpp 的 C++ 文件,人们一直在其中修改拼写属性。

在这个特定的文件中,你有你正在寻找的咒语:

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
于 2019-04-15T09:20:20.647 回答