[-]
1. Although your library
PlayerChanger uses the
HandleTimers library, you didn't use the
requires keyword in
PlayerChanger.
Thus,
JASS:
library PlayerChanger initializer Init
Should be,
JASS:
library PlayerChanger initializer Init requires HandleTimers
(I'm not sure if intializer comes before requires or vice versa)
[+]
2. Bugless and scripting is well done
3. MUI
4. Leakless
5. Adjustable and user friendly
6. Documented
7. Some nice ideas
[*]
8. No big issue really, that's why it's not mentioned in the negative part, but you could replace this:
JASS:
call PlaySound( "Sound\\Interface\\Error.wav" )
With:
JASS:
local sound s = CreateSound("Sound\\Interface\\Error.wav", false, false, true, 12700, 12700, "")
call StartSound(s)
call KillSoundWhenDone(s)
set s = null
[*]
This is a well-done spell pack. I might not be a fan of the ideas myself, yet I won't deny the fact that they're nice and could be useful.
I'd advice people to use such spells.
Well, I liked most of the spells, except
Turn Undead for it's a complicated one (well not complicated to use, but seems as if you've got 3 spells in one).
I skimmed through the trigger, and it seemed all fine - yet I might have missed some stuff as I only "skimmed".
Great job Majin!