You do this twice in your cast trigger, you need only one.
Fixed. Drunk triggering
You don't even need EffectPoint here, just use CastPoint instead. They serve the same purpose.
CastPoint is meant to remain at the starting point while EffectPoint will move along with the effect. It just so happened they started at the same point. Without this, the movement will be erratic and harder to calculate.
You're leaking location every loop here with EffectPoint. You should clear it everytime, not just when you're about to deallocate.
I moved the previous point to EffectPointPrev and removed that instead. If I directly remove it, I might risk losing access to where the effect position is currently at.
-
-------- Previous point is kept to avoid leaks --------
-
Set ShadowRequiem_EffectPointPrev = ShadowRequiem_EffectPoint[ShadowRequiem_Index]
-
-------- Calculate next position --------
-
Set ShadowRequiem_EffectAngle[ShadowRequiem_Index] = (ShadowRequiem_EffectAngle[ShadowRequiem_Index] + ShadowRequiem_EffectAngleShift[ShadowRequiem_Index])
-
Set ShadowRequiem_EffectPoint[ShadowRequiem_Index] = (ShadowRequiem_CastPoint[ShadowRequiem_Index] offset by ShadowRequiem_RangeCurrent[ShadowRequiem_Index] towards ShadowRequiem_EffectAngle[ShadowRequiem_Index] degrees)
-
-------- Move effect to next position --------
-
Special Effect - Set Yaw of ShadowRequiem_SpecialEffect[ShadowRequiem_Index] to: ShadowRequiem_EffectAngle[ShadowRequiem_Index]
-
Special Effect - Set Position of ShadowRequiem_SpecialEffect[ShadowRequiem_Index] to ShadowRequiem_EffectPoint[ShadowRequiem_Index]
-
-------- Remove previous point --------
-
Custom script: call RemoveLocation(udg_ShadowRequiem_EffectPointPrev)
However, after some testing, I will remove the EffectPointPrev and directly remove the original point.
You leak CastPoint for every spell cast because you don't clear it when you're about to deallocate
Fixed. I forgot I add CastPoint, probably drunk when triggering
The spell has massive performance issue on my laptop (it has potato specs), but this issue is gone when I remove the fear system. I can see from your preview video that you are somewhat lagging as well.
I am suspecting because of the massive amount of process that Fear System utilize to execute. As of right now, I am not sure how to optimize because my Fear System relies on my limited knowledge of chopinski version and I am still learning how the lag even occurred.
After some quick testing, I figured out the model used for this spell is partially responsible for frame drops. Changing the model to Death Coil missile significantly reduces FPS drops from this spell. However, should I change the effect? #WhyBlizzardWhy
I also changed the SFXHit to none, since apparently creating an illusion effect per hit is also increasing the lag rate.
All changes I can execute will be applied on 1.1, along with Fear System update to address that system's leak.