Well, coding for the party pokemon to use items will always cause some form of brain bending :p Simply because it always has to be able to write to the lists dynamically. Coding item usage for the battling pokemon is very easy though

0->Xmin:0->Ymin
94->Xmax:62->Ymax
0->Xmin:1->deltaX
0->Ymin:1->deltaY
:U+.1V
:Pt-Off(47+AnsL1(31-V),31+AnsL2(31-V),2
:Pt-Off(47-AnsL1(31-V),31-AnsL2(31-V),2
:Else
:U-.1V
:Pt-On(47+AnsL1(V),31+AnsL2(V),2
:Pt-On(47-AnsL1(V),31-AnsL2(V),2
:ZStandard
:84→Xmin
:52→Ymin
:ZInteger
If Tmin>0:Then:For(F,0,17:Line(0,F,94,F,0:End:"0ZBD":prgmZRS:{94,0,3,15:prgmTEMP:prgmZC1:Text(47,4,"CANNOT USE ITEM":Text(53,4,"DURING BATTLES!":prgmZWT:ClrDraw:1->W:End:If W=1:Return:
If Tmin=0:Then:"|LP"+sub("123456",Z,1)+"(43"->Str7:"ZTMP2"->Str0:4->theta:prgmZCE:"UnArchive |LP"+sub("123456",Z,1)->Str9:1->theta:1:prgmZCE:prgmZTMP2:expr(Str7)->K:"rowSwap(ZPMA"->Str0:0->theta:expr(Str7):prgmZCE:Str9->Str4:"rowSwap(ZPNA"->Str0:expr(Str7):prgmZCE:"0ZBD":prgmZRS:{94,0,3,15:prgmTEMP:prgmZC1:
34->I:15->J:Asm(prgmZSP2:StorePic Pic2:Text(47,4,"USED FIRE STONE!":rand(99:For(F,4,14:Line(4,F,90,F,0:End:Text(47,4,"WHAT?! ",Str9:Text(53,4,"IS EVOLVING!":
15->W
While W>5
W-5->W
6cumSum(binomcdf(29,0->L2
cos(Ans^^o->L1
sin(L2^^o->L2
For(X,0,1
For(U,15-15X,9X+3,6X-3
For(V,1,30
getKey->K:
If K=31:Then:ClrDraw
RecallPic Pic2:
For(F,4,14:Line(4,F,90,F,0:End:
Text(47,4,"AWW, ",Str9:
Text(53,4,"STOPPED EVOLVING!":prgmZWT:2->W:2->X
ClrDraw:6->theta:"ZTMP2"->Str0:prgmZCE:End
If X=1
Then
U+.1V
Pt-Off(47+AnsL1(31-V),37+AnsL2(31-V),2
Pt-Off(47+~AnsL1(31-V),37+~AnsL2(31-V),2
If W>5:RecallPic Pic2
End:If X=0:Then
U-.1V
Pt-On(47+AnsL1(V),37+AnsL2(V),2
Pt-On(47+~AnsL1(V),37+~AnsL2(V),2
End
End
End
End
End
If X=2:Return
(code here starts the dealings with evolutions)
If Tmin>0:Then:For(F,0,17:Line(0,F,94,F,0:End:"0ZBD":prgmZRS:{94,0,3,15:prgmTEMP:prgmZC1:Text(47,4,"CANNOT USE ITEM":Text(53,4,"DURING BATTLES!":prgmZWT:ClrDraw:1->W:End:If W=1:Return:
If Tmin=0:Then:"|LP"+sub("123456",Z,1)+"(43"->Str7:"ZTMP2"->Str0:4->theta:prgmZCE:"UnArchive |LP"+sub("123456",Z,1)->Str9:1->theta:1:prgmZCE:prgmZTMP2:expr(Str7)->K:"rowSwap(ZPMA"->Str0:0->theta:expr(Str7):prgmZCE:Str9->Str4:"rowSwap(ZPNA"->Str0:expr(Str7):prgmZCE:"0ZBD":prgmZRS:{94,0,3,15:prgmTEMP:prgmZC1:
34->I:15->J:Asm(prgmZSP2:StorePic Pic2:Text(47,4,"USED FIRE STONE!":rand(99:For(F,4,14:Line(4,F,90,F,0:End:Text(47,4,"WHAT?! ",Str9:Text(53,4,"IS EVOLVING!":
15->W
While W>5
W-5->W
6cumSum(binomcdf(29,0->L2
cos(Ans^^o->L1
sin(L2^^o->L2
For(X,0,1
For(U,15-15X,9X+3,6X-3
For(V,1,30
getKey->K:
If K=31:Goto A
If X
Then
U+.1V
Pt-Off(47+AnsL1(31-V),37+AnsL2(31-V),2
Pt-Off(47+~AnsL1(31-V),37+~AnsL2(31-V),2
If W>5:RecallPic Pic2
Else
U-.1V
Pt-On(47+AnsL1(V),37+AnsL2(V),2
Pt-On(47+~AnsL1(V),37+~AnsL2(V),2
End
End
End
End
End
Goto B
Lbl A
ClrDraw
RecallPic Pic2:
For(F,4,14:Line(4,F,90,F,0:End:
Text(47,4,"AWW, ",Str9:
Text(53,4,"STOPPED EVOLVING!":prgmZWT:2->W:2->X
ClrDraw:6->theta:"ZTMP2"->Str0:prgmZCE
Return
Lbl B
DelVar Pic2
3->theta:prgmZCE
Str7+")+1"+sub(Str9,1,1)+Str7->Str9
1->theta:"ZTMP2"->Str0:1:prgmZCE:prgmZTMP2
"rowSwap(ZPMA"->Str0:0->theta:expr(Str7):prgmZCE
34->I:15->J:Asm(prgmZSP2
For(F,4,14:Line(4,F,90,F,0:End:
"rowSwap(ZPNA"->Str0:expr(Str7+")-1"):prgmZCE
Text(47,4,Str9," EVOLVED INTO"
expr(Str7):prgmZCE
Text(53,4,Str9,"!"
prgmZWT
Advertisement