• Listen to a special audio message from Bill Roper to the Hive Workshop community (Bill is a former Vice President of Blizzard Entertainment, Producer, Designer, Musician, Voice Actor) 🔗Click here to hear his message!
  • Read Evilhog's interview with Gregory Alper, the original composer of the music for WarCraft: Orcs & Humans 🔗Click here to read the full interview.

[Gamebreaking] Caching "channel"-based abilities

Status
Not open for further replies.
Level 19
Joined
Dec 12, 2010
Messages
2,074
Full story here:
http://blog.d1stats.ru/blog/198.html

Shorter version:
Whenever the spell, based on 'ANcl', being loaded first time (with a unit, for instance), it's order being stored as a key in some kind of cache. This cache being used for all "Issue*Order" natives, effectively remembering the order to get faster responce with following casts.

Issue is - whenever targetability (not "allowed targets", but "targeting type") of the real order doesn't fit the new 'ANcl' ability, it's become buggy. Example:
'A000' - my new ability based on 'ANcl', DataB1 = 'no target' (0), Order = "carrionswarm".
'A001' - default carrion swam ability, copied just for new ID and nothing more.

Any human can freely cast both abilities regardless the order they appeared in the map. And, if you want a dummy to throw 'A001' for you:

If 'A000' has came to the map first, dummy with 'A001' won't success with "carrionswarm" order, no matter what.
If 'A001' appeared first, everything works just fine, no matter which ability dummy trying to use.
There are even worse cases, when ordering returns "true" while nothing actually has been casted. They are described in the blog.

Overall: Caching algorithm must ignore ANcl's order and do not pre-cache such abilities at all. It leads to malfunction of all Issue*Order abilities, which are uses same order but have different targetability.
 
Status
Not open for further replies.
Top