目前有一个思路,成功了。就是更早拦截:在技能检查阶段就处理,避免后续编码和所有效果 :spell的SpellCastResult_Spell 提前处理:
- if (m_spellInfo->Id == 62124 && m_caster->IsPlayer())
- {
- Player* player = m_caster->ToPlayer();
- if (player->HasAura(57958))
- {
- Unit* target = m_targets.GetUnitTarget();
- if (!target)
- return SPELL_FAILED_BAD_TARGETS;
- m_caster->CastSpell(target, 67485, false);
- return SPELL_FAILED_DONT_REPORT;
- }
- }
-
- SpellCastResult res = SPELL_CAST_OK;
复制代码
|