|
Принятые патчи Иногда выкладывают патчи, которые потом в итоге все-таки принимают в ядро.
Повод для гордости. |
|
Опции темы | Поиск в этой теме | Опции просмотра |
07.05.2010, 08:58 | #1 |
Ученый
Регистрация: 15.03.2010
Сообщений: 261
Сказал(а) спасибо: 84
Поблагодарили 257 раз(а) в 96 сообщениях
|
[9863][patch] SpellEffect SummonPhantasm
Реализация spell effect 93. Используется, например, в http://www.wowhead.com/spell=61851 , http://www.wowhead.com/spell=62196 и http://www.wowhead.com/spell=58836 .
Что должен делать этот эффект: сбрасывать кастера из выделения у всех игроков выделивших его. Эффект схож на уход в невидимость, только можно выделить вновь. Автор идеи: я Помощь в реализации: MaS0n Код:
diff --git a/src/game/Spell.h b/src/game/Spell.h index 85e8def..404da73 100644 --- a/src/game/Spell.h +++ b/src/game/Spell.h @@ -332,6 +332,7 @@ class Spell void EffectDispelMechanic(SpellEffectIndex eff_idx); void EffectSummonDeadPet(SpellEffectIndex eff_idx); void EffectSummonAllTotems(SpellEffectIndex eff_idx); + void EffectSummonPhantasm (SpellEffectIndex eff_idx); void EffectDestroyAllTotems(SpellEffectIndex eff_idx); void EffectDurabilityDamage(SpellEffectIndex eff_idx); void EffectSkill(SpellEffectIndex eff_idx); diff --git a/src/game/SpellEffects.cpp b/src/game/SpellEffects.cpp index a6e75c9..28640fd 100644 --- a/src/game/SpellEffects.cpp +++ b/src/game/SpellEffects.cpp @@ -153,7 +153,7 @@ pEffect SpellEffects[TOTAL_SPELL_EFFECTS]= &Spell::EffectKillCreditPersonal, // 90 SPELL_EFFECT_KILL_CREDIT Kill credit but only for single person &Spell::EffectUnused, // 91 SPELL_EFFECT_THREAT_ALL one spell: zzOLDBrainwash &Spell::EffectEnchantHeldItem, // 92 SPELL_EFFECT_ENCHANT_HELD_ITEM - &Spell::EffectUnused, // 93 SPELL_EFFECT_93 (old SPELL_EFFECT_SUMMON_PHANTASM) + &Spell::EffectSummonPhantasm, // 93 SPELL_EFFECT_93 &Spell::EffectSelfResurrect, // 94 SPELL_EFFECT_SELF_RESURRECT &Spell::EffectSkinning, // 95 SPELL_EFFECT_SKINNING &Spell::EffectCharge, // 96 SPELL_EFFECT_CHARGE @@ -7307,6 +7307,16 @@ void Spell::EffectDestroyAllTotems(SpellEffectIndex /*eff_idx*/) m_caster->CastCustomSpell(m_caster, 39104, &mana, NULL, NULL, true); } +void Spell::EffectSummonPhantasm (SpellEffectIndex /* eff_idx */) +{ + if (m_caster->GetTypeId() != TYPEID_PLAYER) + return; + + WorldPacket data(SMSG_CLEAR_TARGET, 8); + data << uint64(m_caster->GetGUID()); + m_caster->SendMessageToSet(&data, false); +} + void Spell::EffectDurabilityDamage(SpellEffectIndex eff_idx) { if(!unitTarget || unitTarget->GetTypeId() != TYPEID_PLAYER) Последний раз редактировалось Insider42; 07.05.2010 в 13:09. |
07.05.2010, 11:38 | #2 |
Модератор
|
У близов все куда проще
Код:
void Spell::EffectSummonPhantasm (SpellEffectIndex /* eff_idx */) { if (m_caster->GetTypeId() != TYPEID_PLAYER) return; WorldPacket data(SMSG_CLEAR_TARGET, 8); data << uint64(m_caster->GetGUID()); m_caster->SendMessageToSet(&data, false); } Правда для Зеркального Изображения например - нужно специальное добавление кастера в список целей, т.к в спелле таргетов нету) ПС : а этот эффект только для игроков работает? вообще судя по пакету - можно сбрасывать выделение с любой цели, не только игроков Последний раз редактировалось MaS0n; 07.05.2010 в 11:42. |
11.05.2010, 06:43 | #3 |
MaNGOS Dev
Регистрация: 09.02.2010
Сообщений: 594
Сказал(а) спасибо: 315
Поблагодарили 438 раз(а) в 181 сообщениях
|
Спел http://www.wowhead.com/spell=58836 имеет все 0 для выбора целей так что стоит еще добавить в switch для выбора кастера по эффекту
Ну и моглибы нормально назвать эффект - хотябы по аналогии с названием в wowhead. Не вижу почему такой эффект не может кастаться мобом.
__________________
Так как устал объяснять знайте ICQ не пользуюсь |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
[9863] Implement SPELL_EFFECT_BREAK_PLAYER_TARGETING (93) | newsbot | CMaNGOS Commits | 0 | 11.05.2010 07:11 |