virusav
14.01.2012, 15:10
При касте 57388 спелла на нпц последний становится дружелюбным и следует за игроком, если тот не на маунте.
У спелла 57388 есть 2 эффекта:
Aura Id 177 (SPELL_AURA_AOE_CHARM)
Aura Id 25 (SPELL_AURA_MOD_PACIFY)
По сниффу 430:
Entry: 49728
UNIT_FIELD_CHARMEDBY = (Player, Counter: ...)
UNIT_FIELD_FACTIONTEMPLATE = 2203
UNIT_FIELD_FLAGS = 131080
В ядре для SPELL_AURA_MOD_PACIFY:
void Aura::HandleAuraModPacify(bool apply, bool /*Real*/)
{
if (apply)
GetTarget()->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_PACIFIED);
else
GetTarget()->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_PACIFIED);
}
Флаги 131080 = UNIT_FLAG_PACIFIED (131072) + UNIT_FLAG_PVP_ATTACKABLE (8)
Для SPELL_AURA_AOE_CHARM обработки не нашел.
В теории этот эффект должен делать нпц спутником игрока с учетом маунта.
Для написания патча нужны ответы на вопросы:
1. В эффекте SPELL_AURA_MOD_PACIFY должна быть смена фракции нпц на 2203, есть у кого-нибудь сниффы с этим эффектом?
2. Какой функцией лучше сделать из нпц спутника, но с учетом нахождения игрока на маунте?
3. Есть ли подобные реализации для каких-либо других эффектов?
У спелла 57388 есть 2 эффекта:
Aura Id 177 (SPELL_AURA_AOE_CHARM)
Aura Id 25 (SPELL_AURA_MOD_PACIFY)
По сниффу 430:
Entry: 49728
UNIT_FIELD_CHARMEDBY = (Player, Counter: ...)
UNIT_FIELD_FACTIONTEMPLATE = 2203
UNIT_FIELD_FLAGS = 131080
В ядре для SPELL_AURA_MOD_PACIFY:
void Aura::HandleAuraModPacify(bool apply, bool /*Real*/)
{
if (apply)
GetTarget()->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_PACIFIED);
else
GetTarget()->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_PACIFIED);
}
Флаги 131080 = UNIT_FLAG_PACIFIED (131072) + UNIT_FLAG_PVP_ATTACKABLE (8)
Для SPELL_AURA_AOE_CHARM обработки не нашел.
В теории этот эффект должен делать нпц спутником игрока с учетом маунта.
Для написания патча нужны ответы на вопросы:
1. В эффекте SPELL_AURA_MOD_PACIFY должна быть смена фракции нпц на 2203, есть у кого-нибудь сниффы с этим эффектом?
2. Какой функцией лучше сделать из нпц спутника, но с учетом нахождения игрока на маунте?
3. Есть ли подобные реализации для каких-либо других эффектов?