Well, I've got the battle system coded in, bad news is it's giving me a syntax error and going to the end of the program.
This program is 5KB in size. It's going to take a while to scan through each line to make sure I didn't forget to close a quote, bracket or otherwise. At least I can save it as a txt on the calc and dump it to the computer to do it a little more efficiently.
Edit:
Code: 'ProgramMode:RUN
ClrText
Locate 1,1,"YOU ARE BATTLING"
Locate 1,2,Str 1
Locate 8,4,"FIGHT"
Locate 8,5,"RUN"
3->W:4->Z
While W=3
Locate 7,Z,"_=>_"
Getkey->K
If K>1:Then
Locate 7,Z," ":IfEnd
Z-1((K=28 And Z>4)-(K=37 And Z<5))->Z
If K=78 Or K=31:Then
If Z=5:Then
If List 1[13]=1:Then
Locate 1,7,"CANNOT ESCAPE BOSSESChar!"
While Getkey=0
WhileEnd
5->W:IfEnd
If List 1[13]=0:Then
RanInt#(1,6)->J
If J=1 Or J=3 Or J=5:Then
ClrText:Return:IfEnd
If J=2 Or J=4 Or J=6:Then
Locate 1,7,"CANNOT ESCAPEChar!"
While Getkey=0
WhileEnd
ClrText:5->W:IfEnd
If Z=4:Then
ClrText:3->W:IfEnd
IfEnd:WhileEnd
While W=3
4->Z
Locate 1,1,"YOU ARE BATTLING"
Locate 1,2,Str 1
Locate 8,4,"SWORD"
Locate 8,5,"MAGIC"
Locate 8,6,"ITEMS"
Locate 8,7,"STATS"
4->W
While W=4
Locate 7,Z,"_=>_"
Getkey->K
If K>1:Then
Locate 7,Z," ":IfEnd
Z-1((K=28 And Z>4)-(K=37 And Z<7))->Z
If K=78 And K=31:Then
If Z=7:Then
ClrText
Locate 1,1,"HP: //"
Locate 5,1,List 2[1]
Locate 11,1,List 2[2]
Locate 1,2,"MP: //"
Locate 5,2,List 2[3]
Locate 11,2,List 2[4]
Locate 1,3,"ATT: DEF:"
Locate 5,3,List 2[5]
Locate 16,3,List 2[6]
Locate 1,4,"LEVEL:"
Locate 8,4,List 2[10]
Locate 1,5,"EXP:"
Locate 6,5,List 2[8]
Locate 1,6,"NEXT LEVEL:"
Locate 13,6,List 2[9]
While Getkey=0
WhileEnd
ClrText:3->W:0->Z:IfEnd
If Z=6:Then
ClrText:2->Z
Locate 1,1,"ITEMS:"
Locate 2,2,"POTIONS _@E778_"
Locate 2,3,"ETHERS _@E778_"
Locate 1,4,"CRYSTALS:"
Locate 13,4,List 2[20]
Locate 1,7,"[EXIT] TO EXIT"
While W=3
Locate 13,2,List 2[11]
Locate 13,3,List 2[12]
Locate 1,Z,"_=>_"
Getkey->K
If K>1:Then
Locate 1,Z," "
IfEnd
Z-1((K=28 And Z>2)-(K=37 And Z<3))->Z
If K=47:Then
3->W:ClrText:0->Z
IfEnd
If K=78 Or K=31:Then
If Z=2 And List 2[11]>1:Then
List 2[11]-1->List 2[11]:List 2[1]+150->List 2[1]
If List 2[1]>List 2[2]:Then
List 2[2]->List 2[1]
IfEnd
Locate 1,5,"HP RECOVEREDChar!"
While Getkey=0
WhileEnd
ClrText:5->W
IfEnd
If Z=3 And List 2[12]>1:Then
List 2[12]-1->List 2[12]:List 2[3]+150->List 2[3]
If List 2[3]>List 2[4]:Then
List 2[4]->List 2[3]
IfEnd
Locate 1,5,"MP RECOVEREDChar!"
While Getkey=0
WhileEnd
ClrText:5->W
IfEnd
IfEnd
WhileEnd
IfEnd
If Z=5:Then
Locate 2,1,"CURE -3 MP"
If List 2[14]=1:Then
Locate 2,2,"ICE -5 MP":IfEnd
If List 2[15]=1:Then
Locate 2,3,"FIRE -6 MP":IfEnd
If List 2[16]=1:Then
Locate 2,4,"BOLT -6 MP":IfEnd
If List 2[17]=1:Then
Locate 2,5,"CURE2 -8 MP":IfEnd
If List 2[18]=1:Then
Locate 2,6,"HATE -15 MP":IfEnd
Locate 19,1,"MP:"
Locate 18,2,List 2[3]
10->W:1->Z:1->L
For 14->S To 18
If List 2[S]=1:Then
L+1->L:IfEnd
Next
While W=10
Locate 1,Z,"_=>_"
Getkey->K
If K>1:Then
Locate 1,Z," ":IfEnd
Z-1((K=28 And Z>1)-(K=37 And Z<L))->Z
If K=48:Then
ClrText:3->W:IfEnd
If K=78 And K=31:Then
ClrText
If Z=1 And List 2[3]>>=3:Then
Locate 1,1,"YOU CAST CUREChar!"
List 2[1]+100->List 2[1]
If List 2[1]>List 2[2]:Then
List 2[2]->List 2[1]:IfEnd
Locate 1,2,"YOU REGAINED HEALTHChar!"
While Getkey=0
WhileEnd
ClrText:IfEnd
If Z=2 And List 2[3]>=5:Then
Locate 1,1,"YOU CAST ICE..."
RanInt#(4,List 2[10]*4)->List 3[2]
Locate 1,2,Str 1
Locate 1,3,"TOOK"
Locate 1,4,List 3[2]
Locate 1,5,"DAMAGE"
While Getkey=0
WhileEnd
List 2[3]-5->List 2[3]:List 3[4]-List 3[2]->List 3[4]:IfEnd
If Z=3 And List 2[3]>=6:Then
Locate 1,1,"YOU CAST FIRE.."
RanInt#(6,6*List 2[10])->List 3[2]
List 3[4]-List 3[2]->List 3[4]
Locate 1,2,Str 1
Locate 1,3,"TOOK"
Locate 1,4,List 3[2]
Locate 1,5,"DAMAGE"
List 2[3]-6->List 2[3]While Getkey=0
WhileEnd:IfEnd
If Z=4 And List 2[3]>=6:Then
RanInt#(8,8+List 2[10])->List 3[2]
Locate 1,1,"YOU CAST BOLT.."
Locate 1,2,Str 1
Locate 1,3,"TOOK"
Locate 1,4,List 3[2]
Locate 1,5,"DAMAGE"
List 3[4]-List 3[2]->List 3[4]
List 2[3]-6->List 2[3]
While Getkey=0
WhileEnd
IfEnd
If Z=5 And List 2[3]>=8:Then
Locate 1,1,"YOU CAST CURE2.."
List 2[3]-8->List 2[3]
List 2[1]+200->List 2[1]
If List 2[1]>List 2[2]:Then
List 2[2]->List 2[1]
IfEnd
Locate 1,2,"YOU RECOVERED HEALTHChar!"
While Getkey=0
WhileEnd
IfEnd
If Z=6 And List 2[3]>=15:Then
Locate 1,1,"YOU CAST HATE.."
List 2[3]-15->List 2[3]
RanInt#(10,10*List 2[10])->List 3[2]
Locate 1,2,Str 1
Locate 1,3,"TOOK"
Locate 1,4,List 3[2]
Locate 1,5,"DAMAGE"
List 3[4]-List 3[2]->List 3[4]
While Getkey=0
WhileEnd
IfEnd
If List 3[4]<1:Then
ClrText:0->W
IfEnd
If List 3[4]>0:Then
ClrText
5->W:IfEnd
IfEnd
WhileEnd
WhileEnd
If W=5:Then
ClrText
Locate 1,1,Str 1
Locate 1,2,"ATTACKSChar!"
RanInt#(1,6)->J
If J>2:Then
7->W:IfEnd
If J<3:Then
If List 3[6]>=4:Then
8->W:IfEnd
IfEnd:IfEnd
If W=7:Then
RanInt#(1,6)->J
If J=1 Or J=4:Then
Locate 1,4,"STRIKE MISSEDChar!"
While Getkey=0
WhileEnd
3->W:IfEnd
If J<>1 Or J<>4:Then
Locate 1,3,"YOU TAKE"
List 3[8]-List 2[6]->List 3[2]
While List 3[2]<1
List 3[2]+1->List 3[2]
WhileEnd
Locate 1,4,List 3[2]
Locate 1,5,"DAMAGEChar!"
While Getkey=0
WhileEnd
ClrText
List 2[1]-List 3[2]->List 2[1]
If List 2[1]<1:Then
ClrText
Locate 1,1,"YOU HAVE DIED."
While Getkey=0
WhileEnd
(-)1->W:ClrText:Return
IfEnd
3->W:ClrText
IfEnd
If W=8:Then
If List 3[6]<4:Then
ClrText
Locate 1,1,Str 1
Locate 1,2,"DOESN'T HAVE ANY MPChar!"
While Getkey=0
WhileEnd
ClrText:3->W:IfEnd
Locate 1,3,Str 1
RanInt#(0,List 3[14])->J
If J=0:Then
Locate 1,4,"DOES NOTHNG.."
While Getkey=0
WhileEnd
ClrText:3->W:IfEnd
If J=1 And List 3[6]>3:Then
Locate 1,4,"CAST CUREChar!"
List 3[4]+50->List 3[4]
List 3[6]-4->List 3[6]
If List 3[4]>List 3[5]:Then
List 3[5]->List 3[4]
IfEnd
While Getkey=0
WhileEnd
IfEnd
If J=2 And List 3[6]>9:Then
Locate 1,4,"CAST ICE.."
RanInt#(4,4*List 3[10])->List 3[2]
Locate 1,5,"YOU TAKE"
Locate 1,6,List 3[2]
Locate 1,7,"DAMAGEChar!
While Getkey=0
WhileEnd
IfEnd
If J=3 And List 3[6]>15:Then
Locate 1,4,"CAST FIRE.."
RanInt#(7,7*List 3[10])->List 3[2]
Locate 1,5,"YOU TAKE"
Locate 1,6,List 3[2]
Locate 1,7,"DAMAGEChar!"
List 2[1]-List 3[2]->List 2[1]
List 3[6]-16->List 3[6]
While Getkey=0
WhileEnd
IfEnd
If J=4 And List 3[6]>21:Then
Locate 1,4,"CAST BOLT.."
RanInt#(10,10*List 3[10])->List 3[2]
Locate 1,5,"YOU TAKE"
Locate 1,6,List 3[2]
Locate 1,7,"DAMAGEChar!"
List 3[6]-22->List 3[6]
List 2[1]-List 3[2]->List 2[1]
While Getkey=0
WhileEnd
IfEnd
If List 2[1]<1:Then
ClrText
Locate 1,1,"YOU HAVE DIED"
Locate 1,2,"GAME OVER"
While Getkey=0
WhileEnd
(-)1->W:Return:IfEnd
If List 3[6]>3:Then
1->List 3[14]:IfEnd
If List 3[6]>9:Then
2->List 3[14]:IfEnd
If List 3[6]>15:Then
3->List 3[14]:IfEnd
If List 3[6]>21:Then
4->List 3[14]:IfEnd
3->W:IfEnd
If W=0:Then
ClrText
Locate 1,1,"VICTORYChar!"
Locate 1,2,"YOU GAIN:"
Locate 1,3,"GOLD:"
Locate 7,3,List 3[12]
List 2[7]+List 3[12]->List 2[7]
Locate 1,4,"EXP:"
Locate 6,4,List 3[11]
List 2[8]+List 3[11]->List 2[8]
Locate 1,5,"ITEM:"
If List 3[13]=0:Then
Locate 7,5,"NOTHNG":IfEnd
If List 3[13]=1:Then
Locate 7,5,"POTION"
1+List 2[11]->List 2[11]:IfEnd
If List 3[13]=2:Then
Locate 7,5,"ETHER"
1+List 2[12]->List 2[12]:IfEnd
If List 2[8]>=List 2[9]Then
Locate 1,6,"LEVEL UPChar!"
1+List 2[10]->List 2[10]:List 2[8]-List 2[9]->List 2[8]:30+List 2[9]->List 2[9]:10+List 2[2]->List 2[2]:List 2[2]->List 2[1]:7+List 2[4]->List 2[4]:List 2[4]->List 2[3]:1+List 2[5]->List 2[5]:1+List 2[6]->List 2[6]:IfEnd
1+List 2[21]->List 2[21]
If List 2[10]=3 And List 2[14]=0:Then
1->List 2[14]:Locate 1,7,"LEARNED ICEChar!":IfEnd
If List 2[10]=5 And List 2[15]=0:Then
1->List 2[15]:Locate 1,7,"LEARNED FIREChar!":IfEnd
If List 2[10]=7 And List 2[16]=0:Then
1->List 2[16]:Locate 1,7,"LEARNED BOLTChar!":IfEnd
If List 2[10]=10 And List 2[17]=0:Then
1->List 2[17]:Locate 1,7,"LEARNED CURE_^<2>_Char!":IfEnd
If List 2[10]=15 And List 2[18]=0:Then
1->List 2[18]:Locate 1,7,"LEARNED HATEChar!":IfEnd
While Getkey=0
WhileEnd
ClrText:Return:IfEnd
WhileEnd
If you want to help, there's the code.
I need to look out for the following:
Lists are as List #[#]
Anything that starts with " needs to end with "
If:Then:EndIf
While
WhileEnd
And ( needs a proper ) to close it for each instance.
I'll dig through the code after work, just figured if anyone was bored and they might spot something while I'm doing that, that would be awesome and help speed this along
Update: Found one, near the top, If Z=5:Then was not on a new line..