• 🏆 Texturing Contest #33 is OPEN! Contestants must re-texture a SD unit model found in-game (Warcraft 3 Classic), recreating the unit into a peaceful NPC version. 🔗Click here to enter!
  • It's time for the first HD Modeling Contest of 2024. Join the theme discussion for Hive's HD Modeling Contest #6! Click here to post your idea!

Assassin Hunt v1.1x

Assassin Hunt
IMPORT GUIDE :
1. Tick the Automatically create unknown variables ... located at File>Preference>General
2. Copy the Chrono Fade ability in the Object Editor
3. Copy the Requirement Folder in the Trigger Editor if you doesn't have Timed Alpha Modifier installed
4. Copy the Chrono Fade Folder in the Trigger Editor
5. Configure the CHF Config Trigger
6. Configure the unit/hero using the ability to have the ability
SPELL DESCRIPTION :
Target an enemy unit within 2500 range, slowly fading for 3 seconds before blinking next to the target. Gains additional 100/200/300 damage, 50% lifesteal, 50% evasion, and 400% attack speed for the next 8 seconds after blinking and automatically engage the target. Cannot be dispelled, stolen, nor devoured.
SPELL INFORMATION :
A spell that combined the characteristic of my previously released Chrono Walk Lite and an offensive type spell.
MEDIA SHOWCASE :
CHANGELOG :
Version 1.1x:
- Fixed a critical issue that causes the ability to over-interact with the TAM system. It is not a major issue, but I feel it is critical enough since it can disrupt a lot.
Version 1.1:
- Fixed issue related to buff prematurely removed if cast more than once within the active timeframe of the spell
- Fixed hotkey issue with learning the spell
Version 1.0: Released
Contents

Assassin Hunt v1.1 (Map)

Reviews
Wrda
With the current values, it looks like an ultimate ability, but definetely works as normal ability if one balances the parameters. Nicely done. Approved
If the cooldown of the ability, by any chance, happens to reset and be cast within the timeframe of the spell already active, it will remove the effects early. It's improbable, but can done.
Ouch, an issue I need to look upon then. I think this is tied due to how Dynamic Indexing and ability addition works., which can be considered an inherent issue with Warcraft III ability add/removal. Theoretically, having duration above both states guaranteed a safety net, but I guess I need to account that the duration being lower than both states time as well?

To better explain this, I presume this logic is the case of the issue:
Cast 1 --> Start Fade --> Fade Ends and Ability Added --> Cast 2 around the Ability Added phase --> Cast 2 instance fade starts --> cast 2 instance fade ends and ability add --> cast 1 ability removal

The bolded sections are the key to the issue. I need to consider specific ways to know whether the ability is to be discarded or not when timer ends, but that is O(n) operation to scan over all remaining instance if this caster is registered within any of those instances and cancel ability removal. In theory, it can be slightly optimized if the spell is designed as a linked list, opposed to a dynamic indexing.

This issue might exist in other spells across the spell section that works by adding-removing extra abilities and relied on timers without safeguards like this spell, now that I think about it. I'll do a fix for the issue.

EDIT:

On second thought, will rising the cooldown sufficient to blast the issue away from plain sight? Alternatively, I think this is an interesting material to discuss, in regards to 'added ability' aspect of a spell section material.

EDIT:

On third thought, never mind. I'd just go with the simple O(n) iteration over the index. Shouldn't be that costly, I think.
Another approach is to use dummy buffing abilities instead, which is not my preference.
 
Last edited:
Fixed the issue related to the buff removed prematurely, and while at it, also an issue with hotkeys. As discussed in my previous post, this costs an additional O(n) operation depending on the amount of active instance within Timed Alpha Modifier. Accordingly, it is a bargain between performance (which I think should be quite insignificant, but some people might complain so I thought I'd mention this) and bug-squashing, which I think is a fair trade-off at this point, especially due to the GUI language used for both TAM and this spell itself.
 
Top