The abPowerAttack does work on Actor alone.
When I tried to run the script on Object, it will not detect power attack.
There might be a work around, something like this:
Event OnHit(ObjectReference akAggressor, Form akSource, Projectile akProjectile, bool abPowerAttack, bool abSneakAttack, bool abBashAttack, bool abHitBlocked)if(akAggressor == player) RegisterForAnimationEvent(player, "PowerAttackStop")endifendventEvent OnAnimationEvent(ObjectReference akSource, string asEventName)if(akSource== player && asEventName == "PowerAttackStop" ) UnRegisterForAnimationEvent(player, "PowerAttackStop") ;;; Player just used power attack delivered from OnHit eventendifEndEvent
The logic is:
- You get the attack event from onhit
- Check if the PowerAttackStop is fired afterward, this usually happens about 2-4 frames after the strikes
- If PowerAttackStop is fired, deduct addition hitpoint from the spikes
- If the attack already destroy the spikes, let it be
