Aight. I'm not sure how much you've worked with variables. I haven't done this kind of trigger before, so their might possibly be a better way to do it.
It's kind of a pain in the ass, however, this way will work.
I just noticed that there is no variable for spell type. That makes this a little harder. Again, there may be a better way to do this, but this is all I can come up with on the spot.
First you want to assign a number to all your spells. This is something that does not require a trigger, it's just something to refer to your spells, since there is no variable to store the actual spells.
For this example, we'll say that these spells have been assigned.
Storm Bolt - 1
Holy Light - 2
Death Coil - 3
-
Learn Spell
-

Events
-


Unit - A unit Acquires an item
-

Conditions
-

Actions
-


If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-



If - Conditions
-




(Item-type of (Item being manipulated)) Equal to Storm Bolt (Item)
-



Then - Actions
-




Unit - Add Storm Bolt to (Hero manipulating item)
-




Set Spell1[(Player number of (Owner of (Hero manipulating item)))] = 1
-



Else - Actions
-


If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-



If - Conditions
-




(Item-type of (Item being manipulated)) Equal to Holy Light (Item)
-



Then - Actions
-




Unit - Add Holy Light to (Hero manipulating item)
-




Set Spell1[(Player number of (Owner of (Hero manipulating item)))] = 2
-



Else - Actions
-


If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-



If - Conditions
-




(Item-type of (Item being manipulated)) Equal to Death Coil (Item)
-



Then - Actions
-




Unit - Add Death Coil to (Hero manipulating item)
-




Set Spell1[(Player number of (Owner of (Hero manipulating item)))] = 3
-



Else - Actions
-


Item - Remove (Item being manipulated)
This trigger is to give the spell to the hero when they learn it, and store the spell based on the number we assigned to it so we can refer to it later.
Now, when you want to level the spell. You'll have create a trigger that goes something like this.
-
Level Spell 1
-

Events
-


Unit - A unit Does whatever needed to level spell 1
-

Conditions
-

Actions
-


If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-



If - Conditions
-




Spell1[(Player number of (Owner of (Triggering unit)))] Equal to 1
-



Then - Actions
-




Unit - Increase level of Storm Bolt for (Triggering unit)
-



Else - Actions
-


If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-



If - Conditions
-




Spell1[(Player number of (Owner of (Triggering unit)))] Equal to 2
-



Then - Actions
-




Unit - Increase level of Holy Light for (Triggering unit)
-



Else - Actions
-


If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-



If - Conditions
-




Spell1[(Player number of (Owner of (Triggering unit)))] Equal to 3
-



Then - Actions
-




Unit - Increase level of Death Coil for (Triggering unit)
-



Else - Actions
This trigger checks the spell, based on the number you assigned to it, and increases the level depending on which spell they had.
That should do it. Lemme know if you have anymore questions.
EDIT: Sorry, forgot to change the items in the trigger. It's fixed now.