if GetUnitAbilityLevel(PDDS.source,'B007') > 0 then // ZEAL STUN + DAMAGE
call GroupRemoveUnit(Zeal_Casters,PDDS.source)
call UnitRemoveAbility(PDDS.source,'A00J')
call UnitRemoveAbility(PDDS.source,'A00K')
call UnitRemoveAbility(PDDS.source,'B007')
call DestroyEffect(LoadEffectHandle(Hash,GetHandleId(PDDS.source),StringHash("Zeal_e")))
call RemoveSavedHandle(Hash,GetHandleId(PDDS.source),StringHash("Zeal_e"))
call RemoveSavedReal(Hash,GetHandleId(PDDS.source),StringHash("Zeal_time"))
set d = CreateUnit(GetOwningPlayer(PDDS.source),dummy,GetUnitX(PDDS.target),GetUnitY(PDDS.target),0)
call UnitApplyTimedLife( d,'BTLF' , 0.1 )
call UnitAddAbility(d,'A22Q')
call SetUnitAbilityLevel(d,'A22Q',GetUnitAbilityLevel(PDDS.source,'A00I'))
call IssueTargetOrder(d,"creepthunderbolt",PDDS.target)
call KillUnit(CreateUnit(GetOwningPlayer(PDDS.source),'e00J',GetUnitX(PDDS.target),GetUnitY(PDDS.target),0))
//call DestroyEffect(AddSpecialEffect("Singularity I Red.mdx",GetUnitX(PDDS.target),GetUnitY(PDDS.target)))
call PlaySoundOnUnit( gg_snd_Incinerate1, 100, PDDS.target )
call SetSoundDistanceCutoff( bj_lastPlayedSound, 950.00 )
//call AddEffectTimeToUnit("Flameshock.mdx",PDDS.target,"chest",2.5)
call UnitDamageTargetEx(PDDS.source, PDDS.target, 120 + (GetUnitAbilityLevel(PDDS.source,'A00I') * 20), true, false, ATTACK_TYPE_NORMAL, DAMAGE_TYPE_MAGIC, null)
endif