Oh, I see the problem. InstantStatusFunction is used for some kind of action planning, but that can still be bypassed, in which case the ActionFunction is used to determine whether or not the ability is ready, and if so, to cast it.
New AIAbilityUtilities.lua: http://pastebin.com/32eaepJp
Keep the InstantStatusFunctions how they are, and point each action's ActionFunction toward AIAbility.SummonActionFunction as well. Assuming I didn't make any mistakes, this should catch any plan-independent attempts to cast a summon as well.
I... cheated a bit, methinks. If I changed the name of in the heroaiaction template (HQueen_AIActions) to Shambler1, I'd get results to the log file. If I left it as shambler, I never got anything. I decided to change this to shambler1 when I was testing as I noticed a message pop up in the log indicating that it found duplicate values for shambler... anyway, I'm still at a loss here.
The original 'Shambler' action would still exist if you were doing that. I would highly recommend you use the syntax I provided to modify InstantStatusFunction and ActionFunction, so as to avoid any issues with overwriting the existing action:
- HeroAIActionTemplates.Shambler.InstantStatusFunction = AIAbility.SummonStatusFunction
- HeroAIActionTemplates.Shambler.ActionFunction = AIAbility.SummonActionFunction
Again, this goes outside of any templates, and you do not need to re-paste or override the original Shambler template in QoT's actions file - just leave it how it is in the original AI mod file, and put this at the end of the file.
And if it doesn't work, post a log.