I recommend you read through this thing, it may be worth it.
It's the spells. It's definitely the spells.
I don't even know why the hell you need spells with those levels.
Tell me, what is the use of giving all those "Spells[Class name]" such a huge level amount?
You give it 75 levels, while there are maximum 9 spells. The level amount should be the amount of spells it has. What you're doing is... weird. Weird and useless.
Also, the stat bonuses can be covered through other means.
I mean, seriously. You've got an armor ability with 401 levels (from 0 to 400) and some other armor abilities.
First of all: why add "0" as a value? If you don't want the hero/unit to get bonus armor, don't add the ability. Make it go from 1 to whatever (and in case you need 0:
remove the ability, you can always add it back later).
Next point: 9 armor abilities with a maximum level of 75, none of these go over 400 (not even over 200). Wouldn't it be possible to add the 400-level defense ability? Wouldn't you get the same results with that?
Idem for the damage bonus. So many useless abilities you've created...
Also, you can increase a unit's HP with triggers. You don't have to create an ability for that (certainly not one with 451 levels!).
Oh, and again: add 0 to max HP? Again I cannot fathom what you were thinking.
Well, there is a strange bug with them by the way.
Life / mana bonus abilities with more than one level will only ever add the bonus for level 1. Which is 0 in your case. They'll always add 0 mana/HP. No matter what level you set them to (yup, 451 levels of pure awesome 0-HP-additions!)
Well, here:
http://www.hiveworkshop.com/forums/jass-functions-413/system-bonus-mod-setunitmaxstate-65622/.
It's far more useful then creating a massive amount of abilities with a massive amount of levels. I'm pretty sure that if you implement that, your loading times will decrease heavily.
Oh, and change the spell books from 75 levels to 7-9 or something.
Edit: Ooh, I forgot something very important!
I have seen some of your abilities where you set the bash chance to some 'strange' numbers:
- 2-headed axe: 6.90% (in-game: 5.00%).
- Blast Axe 6.10% (in-game: 5.00%).
- Cold Axe: 2.20% (in-game: 0.00%).
I'll cut the list off here, I believe it is already obvious.
If you ever see a chance that ranges from 0.00 to 100.00 (instead of from 0.00 to 1.00), the chances are rounded up to the nearest 5%. A chance of 2% is rounded to a chance of 0%, a chance of 7.50% is rounded up to a chance of 10% etc.
This is very important in many maps, as some of your abilities don't do anything that way! (any chance equal to or lower than 2.49% will result in an actual 0% chance!)
So you
have to redo those spells (otherwise a lot of people might get angry because 'their stun never works' or something).
Remember that this is for
all chances that range from 0 to 100, not only bash (critical strike is another example). Life steal and the likes are safe (ranging from 0 to 1).