1. #ifdef ENABLE_GLOVE_ELEC_ATTACK_BONUS
  2. if (pkAttacker->IsPC() && pkVictim->IsMonster())
  3. {
  4. int iHasElecAttr = pkAttacker->GetPoint(POINT_HIT_AREA_ELEC_ATTACK);
  5. if (iHasElecAttr > 0)
  6. {
  7. DWORD dwCurrentTime = get_dword_time();
  8. if (number(1, 100) <= 20)
  9. {
  10. if (dwCurrentTime - pkAttacker->GetLastElecHitTime() >= 5000)
  11. {
  12. FHitAreaElecAttack f(pkAttacker, pkVictim);
  13. pkAttacker->GetSectree()->ForEachAround(f);
  14. for (size_t i = 0; i < f.vec_Targets.size(); ++i)
  15. {
  16. LPCHARACTER pkTarget = f.vec_Targets[i];
  17. if (pkTarget && !pkTarget->IsDead())
  18. {
  19. pkTarget->Damage(pkAttacker, iDam, DAMAGE_TYPE_NORMAL);
  20. pkTarget->EffectPacket(SE_ELEC_ATTACK_HIT);
  21. }
  22. }
  23. pkAttacker->SetLastElecHitTime(dwCurrentTime);
  24. }
  25. }
  26. }
  27. }
  28. #endif