The way you have it written, if TryDefensiveProc is called and passes the checks above the code you posted then for those particular spell IDs it should happen every time.
You should add debugging information to TriggerDefensiveProcs and TryDefensiveProc to log out the various reasons why they would not end up executing the procs. Just glancing at the code, the big thing is that damage must be done in order for them to trigger, and not every swing results in damage.
|