Ok, I took the suggestion of splitting it up. I am currently working on the battle engine. I am stuck on it right now. The battle engine has two problems right now

1) The run… Subroutine? (Is that the correct term?) is glitching on me, causing the program to terminate if my attempt to run is blocked off

2) The whole program runs a little slowly. Right now, that isn't a problem, but as the program gets more complex (due to adding spells, weapons, etc.), well, it could cause huge issues

Here is the program from my calc. Note that I replaced all instances of the lists while typing with the corresponding value recorded in the list, as, well, since there is no randomizer for the monsters yet, then what is the point? The bolded part is the only part that really relies on the list, but it wouldn't be hard to recreate the list and replace D, E, and F with the proper values (yes, that's right. I made a list with 25… slots? variables? but have only used 3 so far). Also, you will notice that I gave the monster, for the time being, the exact same stats as I have at the present. That was just so that I could see how well it functioned, as if one or the other is killed too soon, well, then I can't figure out any problems with the formula or program itself

```
:R=1
:38→A
:9→B
:5→C
[b]:SetUpEditor ∟MSR1
:25→dim(∟MSR1)[/b]
:38→D
:9→E
:5→F
:Goto 0
:Lbl 0
:If A≤0 and D>0
:Then
:Goto 4
:Else
:If A>0 and D≤0
:Goto 5
:Else
:If A≤0 and D≤0
:Then
:Goto 1
:Lbl 1
:ClrHome
:Disp "SLIME HP:"
:Disp D
:Disp "_"
:Disp "________YOUR HP:" (Note: Ok, maybe I should use Output for that... x.x)
:Output(5,10,A)
:Output(5,13,"/")
:Output(5,14,"38") (Note: The "38" is ∟BSAVA(2) on my calc)
:Disp "_"
:Disp "----------------"
:Disp "FIGHT-1!!__RUN-2"
:Input G
:If G=1
:Then
:Goto 8
:Else
:If G=2
:Then
:Goto 9
:Lbl 8
:R*randInt(1,100)→J
:randInt(1,100)→K
:If J<6 and K<6 and J>0
:Then
:1.8→J:1.8→K
:ClrHome
:Output(2,1,"YOU SCORED A"
:Output(3,4,"CRITICAL HIT!"
:Output(5,1,"SLIME SCORE A"
:Output(6,4,"CRITICAL HIT!"
:Pause
:Goto 7
:Else
:If J<6 and K>5 and J>0
:Then
:1.8→J:1→K
:ClrHome
:Output(4,1,"YOU SCORED A"
:Output(5,4,"CRITICAL HIT!"
:Pause
:Goto 7
:Else
:If J>5 and K<6
:Then
:1→J:1.8→K
:ClrHome
:Output(4,1,"SLIME SCORE A"
:Output(5,4,"CRITICAL HIT!"
:Pause
:Goto 7
:Else
:If J>5 and K>5
:Then
:1→J:1→K
:Goto 7
:Lbl 7
:B*((randInt(8,12)/10)*J)-F→H (Note: R (Whether or not you ran) is supposed to be in here, but I can't put it in
:round(H,0)→H until the run command works)
:E*((randInt(8,12)/10)*K)-C→I
:round(I,0)→I
:Goto 2
:Lbl 2
:If H>0
:Then
:D-H→D
:Goto 3
:Else
:D→D
:Goto 3
:Lbl 3
:If I>0
:Then
:A-I→A
:Goto 0
:Else
:A→A
:Goto 0
:Lbl 4
:ClrHome
:Output(4,5,"YOU LOSE")
:Pause
:Return
:Lbl 5
:ClrHome
:Output(4,5,"YOU WIN!")
:Pause
:Return
:Lbl 6
:ClrHome
:Output(4,7,"A TIE")
:Pause
:Return
:Lbl 9
:randInt(0,0)→R (Note: I set it up like this to test whether or not the blocking feature worked. When it
:If R=1 does, then it will be changed to :randInt(0,1)→R until I come up with a better
:Then successful run ratio)
:Goto 10
:Else
:If R=0
:Then
:ClrHome
:Output(4,1,"YOUR ESCAPE WAS"
:Output(5,5,"BLOCKED!"
:Pause
:Goto 8
:Lbl 10
:ClrHome
:Output(4,3,"YOU ESCAPED!"
:Pause
:ClrHome
:Return
```

God that was a pain to type out x.x I need to find that cord…