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..