Skip to content

ChrizziDerKek/LuaAssemblyPrinter

Repository files navigation

LuaAssemblyPrinter

A nicer way to visualize lua assembly code.

Content

How to use

Drag a compiled lua (.luac) file on the program or run it with these console commands

  • LuaAssemblyPrinter input.luac output.txt: Will read the file input.luac and stores the assembly output in output.txt
  • LuaAssemblyPrinter input.luac: Will read the file input.luac and shows the assembly output in the console

Example 1

Original lua code:

function factorial(n, acc)
    acc = acc or 1
    if n <= 1 then
        return acc
    else
        return factorial(n - 1, n * acc)
    end
end

local result = factorial(5)
print(result)

Compiled luac binary:

�LuaS �“
�
�����xV           (w@��@/dev/shm/luac.nlzSLblS         ��	   ,   �  €�@@ A€  $€ �FÀ@ €   d@ �& € �   �
factorial�
factorial��       ��print�   � �    �   �   � �
   b@  �  €A   ! @ �@ €f  �� �€†@@ Î @ �A  ¥ €�¦   & € �   ��       �
factorial�         
   �   �   �   �   �   �   �   �   �   �   �   �   �   �   �n    
   �acc    
   �   �_ENV	   �   �   
   
   
   �   �   �   �   �   �result�   	   �   �_ENV

Output of the LuaAssemblyPrinter after reading the binary:

0 params; n varargs; 3 slots; 9 opcodes; 4 constants; 1 upvalue; 1 function; 1 local
function func0(...)
        01      CLOSURE 0 0                      ; func1
        02      SETTABUP 0 -1 0                  ; _ENV factorial
        03      GETTABUP 0 0 -2                  ; _ENV factorial
        04      LOADK 1 -3                       ; 5
        05      CALL 0 2 2
        06      GETTABUP 1 0 -4                  ; _ENV print
        07      MOVE 2 0
        08      CALL 1 2 1
        09      RETURN 0 1

        locals (1)
                name: result; startpc: 5; endpc: 9
        upvales (1)
                name: _ENV; instack: true; index: 0
        constants (4)
                id: 0; value: factorial
                id: 1; value: factorial
                id: 2; value: 5
                id: 3; value: print
end

2 params; 0 varargs; 5 slots; 13 opcodes; 2 constants; 1 upvalue; 0 functions; 2 locals
function func1(param1, param2)
        01      TEST 1 1
        02      JMP 0 1                          ; to pc 4
        03      LOADK 1 -1                       ; 1
        04      LE 0 0 -1                        ; - 1
        05      JMP 0 2                          ; to pc 8
        06      RETURN 1 2
        07      JMP 0 5                          ; to pc 13
        08      GETTABUP 2 0 -2                  ; _ENV factorial
        09      SUB 3 0 -1                       ; - 1
        10      MUL 4 0
        11      TAILCALL 2 3 0
        12      RETURN 2 0
        13      RETURN 0 1

        locals (2)
                name: n; startpc: 0; endpc: 13
                name: acc; startpc: 0; endpc: 13
        upvales (1)
                name: _ENV; instack: false; index: 0
        constants (2)
                id: 0; value: 1
                id: 1; value: factorial
end

Example 2

Original lua code:

-- loadk
local a = 1337

-- gettabup, eq, jmp, loadbool, call
assert(a == 1337, "test 1 failed")

-- loadnil
a = nil
assert(a == nil, "test 2 failed")

-- shl, shr
a = 1
a = a << 8
a = a >> 2
assert(a == 64, "test 3 failed")

-- add, sub, mul, div, mod, pow, unm, idiv, band, bor, bxor, bnot
a = 10
a = a + 10
assert(a == 20, "test 4 failed")
a = a - 5
assert(a == 15, "test 5 failed")
a = a * 2
assert(a == 30, "test 6 failed")
a = a / 5
assert(a == 6, "test 7 failed")
a = a % 2
assert(a == 0, "test 8 failed")
a = 10
a = a ^ 5
assert(a == 100000, "test 9 failed")
a = -a
assert(a == -100000, "test 10 failed")
a = a // 2
assert(a == -50000, "test 11 failed")
a = a & 32
assert(a == 32, "test 12 failed")
a = a | 64
assert(a == 96, "test 13 failed")
a = a ~ 2
assert(a == 98, "test 14 failed")
a = ~a
assert(a == -99, "test 15 failed")

-- newtable, setlist, settable, gettable, move
a = { 10, 20, 30 }
a[4] = 40
assert(a[2] == 20, "test 16 failed")
assert(a[4] == 40, "test 17 failed")
a = a[4]

-- le, lt
assert(a > 39, "test 18 failed")
assert(a >= 40, "test 19 failed")
assert(a < 41, "test 20 failed")
assert(a <= 40, "test 21 failed")

-- not
a = false
assert(not a, "test 22 failed")

-- len
a = "Heyyy"
assert(#a == 5, "test 23 failed")

-- forprep, forloop, concat
for i=1,10,1 do
	a = a.."y"
end
assert(a == "Heyyyyyyyyyyyyy", "test 24 failed")

-- closure, tailcall, return
a = function()
	local function b()
    	return 1337
    end
	return b()
end
assert(a() == 1337, "test 25 failed")

-- test, testset
a = true
a = a and 10 or 100
assert(a == 10, "test 26 failed")

-- settabup, self
a = {
	c = 1337,
	b = function(this)
    	return this.c
    end
}
assert(a.c == 1337, "test 27 failed")
assert(a.c == a:b(), "test 28 failed")
local b = function(key, val)
	a[key] = val
end
b("msg", "Heyyy")
assert(a["msg"] == "Heyyy", "test 29 failed")

-- setupval, getupval
a = 6
b = function()
	a = a * 9
    a = a + 6
    a = a + 9
end
b()
assert(a == 69, "test 30 failed")

-- tforcall, tforloop
a = { 1, 2, 3 }
b = 1
for k, v in ipairs(a) do
	assert(b == v, "test 31 failed")
    b = b + 1
end

-- vararg
b = function(...)
	local vals = { ... }
    local total = 0
    for k, v in ipairs(vals) do
    	total = total + v
    end
    return total
end
assert(b(1, 2, 3, 4) == 10, "test 32 failed")

Compiled luac binary:

�LuaS �“
�
�����xV           (w@��@/dev/shm/luac.nl0N2vX5         �
;�  �   F@@ _ @ �  €ƒ@  ƒ € Á€  d@€��   F@@ _À@ �  €ƒ@  ƒ € Á � d@€��@� �€A �ÀA F@@ _ B �  €ƒ@  ƒ € Á@� d@€��€� 
€B F@@ _ÀB �  €ƒ@  ƒ € Á � d@€��@C F@@ _€C �  €ƒ@  ƒ € ÁÀ� d@€��ÀA F@@ _ D �  €ƒ@  ƒ € Á@� d@€��@C F@@ _€D �  €ƒ@  ƒ € ÁÀ� d@€��ÀA F@@ _ E �  €ƒ@  ƒ € Á@� d@€��€� �@C F@@ _€E �  €ƒ@  ƒ € ÁÀ� d@€��   F@@ _ F �  €ƒ@  ƒ € Á@� d@€��ÀA F@@ _€F �  €ƒ@  ƒ € ÁÀ� d@€�� G F@@ _ G �  €ƒ@  ƒ € Á@� d@€�� B F@@ _€G �  €ƒ@  ƒ € ÁÀ� d@€��ÀA F@@ _ H �  €ƒ@  ƒ € Á@� d@€��   F@@ _€H �  €ƒ@  ƒ € ÁÀ� d@€�K €��€� ÁÀ� ��� k@€�  € 
@I’F@@ ‡ÀA _ÀB��  €ƒ@  ƒ € Á€	 d@€�F@@ ‡ I _@I��  €ƒ@  ƒ € ÁÀ	 d@€�� I F@@ `  ”�  €ƒ@  ƒ € Á@
 d@€�F@@ a €’�  €ƒ@  ƒ € Á€
 d@€�F@@ `ÀJ �  €ƒ@  ƒ € Á � d@€�F@@ a@I �  €ƒ@  ƒ € Á@� d@€��   F@@ ›   Á€� d@€��À� F@@ œ   _@C��  €ƒ@  ƒ € Á  d@€�A@� �€� Á@� h€ €@�  �A �€��gÀþ�F@@ _€L �  €ƒ@  ƒ € ÁÀ d@€�l     € F@@ €   ¤€€ _ @��  €ƒ@  ƒ € Á 
 d@€�� € "   �€ €A€� #@€ �  €�@
 F@@ _€B �  €ƒ@  ƒ € Á€
 d@€�K€  J À›¬@  J€ œ  € F@@ ‡@N _ @��  €ƒ@  ƒ € Á€� d@€�F@@ ‡@N Ì N ä€ �_À ��  €ƒ@  ƒ € ÁÀ� d@€�l€  € € Á � �Á� ¤@€�†@@ Ç O _ÀË��  €Ã@  à € �A� ¤@€��€� ¬À  @  �€ € ¤@€ †@@ _€O �  €Ã@  à € �Á� ¤@€�‹ €�Á@� �Á� A�� «@€�   �A@� †@P À   ¤ ���À�€ÆA@ _€� �  €�B  ��€ A‚� äA€�M@Á ©€  *Aý�¬ � @  �†@@ À € �A� AÁ� ��� Á�	 䀀�_€Â��  €Ã@  à € �Á� ¤@€�& € D   �9�      ��assert��test 1 failed ��test 2 failed��       ��       ��       �@       ��test 3 failed�
       ��       ��test 4 failed��       ��       ��test 5 failed��       ��test 6 failed��       ��test 7 failed�        ��test 8 failed� †�     ��test 9 failed�`yþÿÿÿÿÿ��test 10 failed�°<ÿÿÿÿÿÿ��test 11 failed�        ��test 12 failed�`       ��test 13 failed�b       ��test 14 failed��ÿÿÿÿÿÿÿ��test 15 failed��       �(       ��test 16 failed��test 17 failed�'       ��test 18 failed��test 19 failed�)       ��test 20 failed��test 21 failed��test 22 failed��Heyyy��test 23 failed��y��Heyyyyyyyyyyyyy��test 24 failed��test 25 failed�d       ��test 26 failed��c��b��c��test 27 failed��test 28 failed��msg��test 29 failed�E       ��test 30 failed��       ��ipairs��test 31 failed��test 32 failed�   � �    I   N     ��   ,   @   e € f   & €         �    J   L     ��   �   &  �& € �   �9�              �   K   K   L           �   L   M   M   M   N   �   �b�   �        Y   [   � ��   G @ f  �& € �   ��c        �   Z   Z   [   �   �this    �        _   a   � ��   �@  & €     �   �     �   `   a   �   �key    �   �val    �   �   �a g   k     �
   �   � @ 	   �   
@@ 	   �   
 @ 	   & € �   �	       ��       �   �     
   h   h   h   i   i   i   j   j   j   k       �   �a x   �    ��
   �   m   +@  A   †@@ À   ¤ ���  €M€� ©€  *�ÿ�f  �& € �   �        ��ipairs�         
   y   y   y   z   {   {   {   {   |   {   {   ~   �   �   �vals�   
   �total�   
   �(for generator)�   �   (for state)�   �   �(for control)�   �   �k�   	   �v�   	   �   �_ENV;�  �   �   �   �   �   �   �   �   �   	   	   	   	   	   	   	      
   �   �   �   �   �   �   �   �   �   �   �   �   �   �   �   �   �   �   �   �   �   �   �   �   �   �   �   �   �   �   �   �   �   �   �   �   �   �   �   �   �   �   �   �   �   �   �   �   �   �   �   �   �   �   �   �   �   �       !   !   !   !   !   !   !   "   #   #   #   #   #   #   #   $   %   %   %   %   %   %   %   &   '   '   '   '   '   '   '   (   )   )   )   )   )   )   )   *   +   +   +   +   +   +   +   .   .   .   .   .   .   /   0   0   0   0   0   0   0   0   1   1   1   1   1   1   1   1   2   5   5   5   5   5   5   5   6   6   6   6   6   6   6   7   7   7   7   7   7   7   8   8   8   8   8   8   8   ;   <   <   <   <   ?   @   @   @   @   @   @   @   @   C   C   C   C   D   D   D   C   F   F   F   F   F   F   F   N   N   O   O   O   O   O   O   O   O   O   R   S   S   S   S   S   S   T   T   T   T   T   T   T   W   X   [   [   \   ]   ]   ]   ]   ]   ]   ]   ]   ^   ^   ^   ^   ^   ^   ^   ^   ^   ^   a   b   b   b   b   c   c   c   c   c   c   c   c   f   k   k   l   l   m   m   m   m   m   m   m   p   p   p   p   p   p   q   r   r   r   r   s   s   s   s   s   s   s   t   r   r   �   �   €   €   €   €   €   €   €   €   €   €   €   €   €   €   �   �a�   ;�  (for index)Á   Æ   (for limit)Á   Æ   �(for step)Á   Æ   �i   Å   �bþ   ;�  �(for generator) �  +�  (for state) �  +�  �(for control) �  +�  �k!�  )�  �v!�  )�  �   �_ENV

Output of the LuaAssemblyPrinter after reading the binary:

0 params; n varargs; 10 slots; 315 opcodes; 68 constants; 1 upvalue; 5 functions; 11 locals
function func0(...)
	001	LOADK 0 -1                    ; 1337
	002	GETTABUP 1 0 -2               ; _ENV assert
	003	EQ 1 0 -1                     ; - 1337
	004	JMP 0 1                       ; to pc 6
	005	LOADBOOL 2 0 1
	006	LOADBOOL 2 1 0
	007	LOADK 3 -3                    ; test 1 failed
	008	CALL 1 3 1
	009	LOADNIL 0 0
	010	GETTABUP 1 0 -2               ; _ENV assert
	011	EQ 1 0 -4                     ; - 
	012	JMP 0 1                       ; to pc 14
	013	LOADBOOL 2 0 1
	014	LOADBOOL 2 1 0
	015	LOADK 3 -5                    ; test 2 failed
	016	CALL 1 3 1
	017	LOADK 0 -6                    ; 1
	018	SHL 0 0 -7                    ; - 8
	019	SHR 0 0 -8                    ; - 2
	020	GETTABUP 1 0 -2               ; _ENV assert
	021	EQ 1 0 -9                     ; - 64
	022	JMP 0 1                       ; to pc 24
	023	LOADBOOL 2 0 1
	024	LOADBOOL 2 1 0
	025	LOADK 3 -10                   ; test 3 failed
	026	CALL 1 3 1
	027	LOADK 0 -11                   ; 10
	028	ADD 0 0 -11                   ; - 10
	029	GETTABUP 1 0 -2               ; _ENV assert
	030	EQ 1 0 -12                    ; - 20
	031	JMP 0 1                       ; to pc 33
	032	LOADBOOL 2 0 1
	033	LOADBOOL 2 1 0
	034	LOADK 3 -13                   ; test 4 failed
	035	CALL 1 3 1
	036	SUB 0 0 -14                   ; - 5
	037	GETTABUP 1 0 -2               ; _ENV assert
	038	EQ 1 0 -15                    ; - 15
	039	JMP 0 1                       ; to pc 41
	040	LOADBOOL 2 0 1
	041	LOADBOOL 2 1 0
	042	LOADK 3 -16                   ; test 5 failed
	043	CALL 1 3 1
	044	MUL 0 0 -8                    ; - 2
	045	GETTABUP 1 0 -2               ; _ENV assert
	046	EQ 1 0 -17                    ; - 30
	047	JMP 0 1                       ; to pc 49
	048	LOADBOOL 2 0 1
	049	LOADBOOL 2 1 0
	050	LOADK 3 -18                   ; test 6 failed
	051	CALL 1 3 1
	052	DIV 0 0 -14                   ; - 5
	053	GETTABUP 1 0 -2               ; _ENV assert
	054	EQ 1 0 -19                    ; - 6
	055	JMP 0 1                       ; to pc 57
	056	LOADBOOL 2 0 1
	057	LOADBOOL 2 1 0
	058	LOADK 3 -20                   ; test 7 failed
	059	CALL 1 3 1
	060	MOD 0 0 -8                    ; - 2
	061	GETTABUP 1 0 -2               ; _ENV assert
	062	EQ 1 0 -21                    ; - 0
	063	JMP 0 1                       ; to pc 65
	064	LOADBOOL 2 0 1
	065	LOADBOOL 2 1 0
	066	LOADK 3 -22                   ; test 8 failed
	067	CALL 1 3 1
	068	LOADK 0 -11                   ; 10
	069	POW 0 0 -14                   ; - 5
	070	GETTABUP 1 0 -2               ; _ENV assert
	071	EQ 1 0 -23                    ; - 100000
	072	JMP 0 1                       ; to pc 74
	073	LOADBOOL 2 0 1
	074	LOADBOOL 2 1 0
	075	LOADK 3 -24                   ; test 9 failed
	076	CALL 1 3 1
	077	UNM 0 0
	078	GETTABUP 1 0 -2               ; _ENV assert
	079	EQ 1 0 -25                    ; - -100000
	080	JMP 0 1                       ; to pc 82
	081	LOADBOOL 2 0 1
	082	LOADBOOL 2 1 0
	083	LOADK 3 -26                   ; test 10 failed
	084	CALL 1 3 1
	085	IDIV 0 0 -8                   ; - 2
	086	GETTABUP 1 0 -2               ; _ENV assert
	087	EQ 1 0 -27                    ; - -50000
	088	JMP 0 1                       ; to pc 90
	089	LOADBOOL 2 0 1
	090	LOADBOOL 2 1 0
	091	LOADK 3 -28                   ; test 11 failed
	092	CALL 1 3 1
	093	BAND 0 0 -29                  ; - 32
	094	GETTABUP 1 0 -2               ; _ENV assert
	095	EQ 1 0 -29                    ; - 32
	096	JMP 0 1                       ; to pc 98
	097	LOADBOOL 2 0 1
	098	LOADBOOL 2 1 0
	099	LOADK 3 -30                   ; test 12 failed
	100	CALL 1 3 1
	101	BOR 0 0 -9                    ; - 64
	102	GETTABUP 1 0 -2               ; _ENV assert
	103	EQ 1 0 -31                    ; - 96
	104	JMP 0 1                       ; to pc 106
	105	LOADBOOL 2 0 1
	106	LOADBOOL 2 1 0
	107	LOADK 3 -32                   ; test 13 failed
	108	CALL 1 3 1
	109	BXOR 0 0 -8                   ; - 2
	110	GETTABUP 1 0 -2               ; _ENV assert
	111	EQ 1 0 -33                    ; - 98
	112	JMP 0 1                       ; to pc 114
	113	LOADBOOL 2 0 1
	114	LOADBOOL 2 1 0
	115	LOADK 3 -34                   ; test 14 failed
	116	CALL 1 3 1
	117	BNOT 0 0
	118	GETTABUP 1 0 -2               ; _ENV assert
	119	EQ 1 0 -35                    ; - -99
	120	JMP 0 1                       ; to pc 122
	121	LOADBOOL 2 0 1
	122	LOADBOOL 2 1 0
	123	LOADK 3 -36                   ; test 15 failed
	124	CALL 1 3 1
	125	NEWTABLE 1 3 0
	126	LOADK 2 -11                   ; 10
	127	LOADK 3 -12                   ; 20
	128	LOADK 4 -17                   ; 30
	129	SETLIST 1 3 1                 ; 1
	130	MOVE 0 1
	131	SETTABLE 0 -37 -38            ; 4 40
	132	GETTABUP 1 0 -2               ; _ENV assert
	133	GETTABLE 2 0 -8               ; 2
	134	EQ 1 2 -12                    ; - 20
	135	JMP 0 1                       ; to pc 137
	136	LOADBOOL 2 0 1
	137	LOADBOOL 2 1 0
	138	LOADK 3 -39                   ; test 16 failed
	139	CALL 1 3 1
	140	GETTABUP 1 0 -2               ; _ENV assert
	141	GETTABLE 2 0 -37              ; 4
	142	EQ 1 2 -38                    ; - 40
	143	JMP 0 1                       ; to pc 145
	144	LOADBOOL 2 0 1
	145	LOADBOOL 2 1 0
	146	LOADK 3 -40                   ; test 17 failed
	147	CALL 1 3 1
	148	GETTABLE 0 0 -37              ; 4
	149	GETTABUP 1 0 -2               ; _ENV assert
	150	LT 1 -41 0                    ; 39 -
	151	JMP 0 1                       ; to pc 153
	152	LOADBOOL 2 0 1
	153	LOADBOOL 2 1 0
	154	LOADK 3 -42                   ; test 18 failed
	155	CALL 1 3 1
	156	GETTABUP 1 0 -2               ; _ENV assert
	157	LE 1 -38 0                    ; 40 -
	158	JMP 0 1                       ; to pc 160
	159	LOADBOOL 2 0 1
	160	LOADBOOL 2 1 0
	161	LOADK 3 -43                   ; test 19 failed
	162	CALL 1 3 1
	163	GETTABUP 1 0 -2               ; _ENV assert
	164	LT 1 0 -44                    ; - 41
	165	JMP 0 1                       ; to pc 167
	166	LOADBOOL 2 0 1
	167	LOADBOOL 2 1 0
	168	LOADK 3 -45                   ; test 20 failed
	169	CALL 1 3 1
	170	GETTABUP 1 0 -2               ; _ENV assert
	171	LE 1 0 -38                    ; - 40
	172	JMP 0 1                       ; to pc 174
	173	LOADBOOL 2 0 1
	174	LOADBOOL 2 1 0
	175	LOADK 3 -46                   ; test 21 failed
	176	CALL 1 3 1
	177	LOADBOOL 0 0 0
	178	GETTABUP 1 0 -2               ; _ENV assert
	179	NOT 2 0
	180	LOADK 3 -47                   ; test 22 failed
	181	CALL 1 3 1
	182	LOADK 0 -48                   ; Heyyy
	183	GETTABUP 1 0 -2               ; _ENV assert
	184	LEN 2 0
	185	EQ 1 2 -14                    ; - 5
	186	JMP 0 1                       ; to pc 188
	187	LOADBOOL 2 0 1
	188	LOADBOOL 2 1 0
	189	LOADK 3 -49                   ; test 23 failed
	190	CALL 1 3 1
	191	LOADK 1 -6                    ; 1
	192	LOADK 2 -11                   ; 10
	193	LOADK 3 -6                    ; 1
	194	FORPREP 1 3                   ; to pc 198
	195	MOVE 5 0
	196	LOADK 6 -50                   ; y
	197	CONCAT 0 5 6
	198	FORLOOP 1 -4                  ; to pc 195
	199	GETTABUP 1 0 -2               ; _ENV assert
	200	EQ 1 0 -51                    ; - Heyyyyyyyyyyyyy
	201	JMP 0 1                       ; to pc 203
	202	LOADBOOL 2 0 1
	203	LOADBOOL 2 1 0
	204	LOADK 3 -52                   ; test 24 failed
	205	CALL 1 3 1
	206	CLOSURE 1 0                   ; func1
	207	MOVE 0 1
	208	GETTABUP 1 0 -2               ; _ENV assert
	209	MOVE 2 0
	210	CALL 2 1 2
	211	EQ 1 2 -1                     ; - 1337
	212	JMP 0 1                       ; to pc 214
	213	LOADBOOL 2 0 1
	214	LOADBOOL 2 1 0
	215	LOADK 3 -53                   ; test 25 failed
	216	CALL 1 3 1
	217	LOADBOOL 0 1 0
	218	TEST 0 0
	219	JMP 0 3                       ; to pc 223
	220	LOADK 1 -11                   ; 10
	221	TESTSET 0 1 1
	222	JMP 0 1                       ; to pc 224
	223	LOADK 0 -54                   ; 100
	224	GETTABUP 1 0 -2               ; _ENV assert
	225	EQ 1 0 -11                    ; - 10
	226	JMP 0 1                       ; to pc 228
	227	LOADBOOL 2 0 1
	228	LOADBOOL 2 1 0
	229	LOADK 3 -55                   ; test 26 failed
	230	CALL 1 3 1
	231	NEWTABLE 1 0 2
	232	SETTABLE 1 -56 -1             ; c 1337
	233	CLOSURE 2 1                   ; func3
	234	SETTABLE 1 -57 2              ; b
	235	MOVE 0 1
	236	GETTABUP 1 0 -2               ; _ENV assert
	237	GETTABLE 2 0 -58              ; c
	238	EQ 1 2 -1                     ; - 1337
	239	JMP 0 1                       ; to pc 241
	240	LOADBOOL 2 0 1
	241	LOADBOOL 2 1 0
	242	LOADK 3 -59                   ; test 27 failed
	243	CALL 1 3 1
	244	GETTABUP 1 0 -2               ; _ENV assert
	245	GETTABLE 2 0 -58              ; c
	246	SELF 3 0 -57                  ; b
	247	CALL 3 2 2
	248	EQ 1 2 
	249	JMP 0 1                       ; to pc 251
	250	LOADBOOL 2 0 1
	251	LOADBOOL 2 1 0
	252	LOADK 3 -60                   ; test 28 failed
	253	CALL 1 3 1
	254	CLOSURE 1 2                   ; func4
	255	MOVE 2 1
	256	LOADK 3 -61                   ; msg
	257	LOADK 4 -48                   ; Heyyy
	258	CALL 2 3 1
	259	GETTABUP 2 0 -2               ; _ENV assert
	260	GETTABLE 3 0 -61              ; msg
	261	EQ 1 3 -48                    ; - Heyyy
	262	JMP 0 1                       ; to pc 264
	263	LOADBOOL 3 0 1
	264	LOADBOOL 3 1 0
	265	LOADK 4 -62                   ; test 29 failed
	266	CALL 2 3 1
	267	LOADK 0 -19                   ; 6
	268	CLOSURE 2 3                   ; func5
	269	MOVE 1 2
	270	MOVE 2 1
	271	CALL 2 1 1
	272	GETTABUP 2 0 -2               ; _ENV assert
	273	EQ 1 0 -63                    ; - 69
	274	JMP 0 1                       ; to pc 276
	275	LOADBOOL 3 0 1
	276	LOADBOOL 3 1 0
	277	LOADK 4 -64                   ; test 30 failed
	278	CALL 2 3 1
	279	NEWTABLE 2 3 0
	280	LOADK 3 -6                    ; 1
	281	LOADK 4 -8                    ; 2
	282	LOADK 5 -65                   ; 3
	283	SETLIST 2 3 1                 ; 1
	284	MOVE 0 2
	285	LOADK 1 -6                    ; 1
	286	GETTABUP 2 0 -66              ; _ENV ipairs
	287	MOVE 3 0
	288	CALL 2 2 4
	289	JMP 0 8                       ; to pc 298
	290	GETTABUP 7 0 -2               ; _ENV assert
	291	EQ 1 1 
	292	JMP 0 1                       ; to pc 294
	293	LOADBOOL 8 0 1
	294	LOADBOOL 8 1 0
	295	LOADK 9 -67                   ; test 31 failed
	296	CALL 7 3 1
	297	ADD 1 1 -6                    ; - 1
	298	TFORCALL 2 2
	299	TFORLOOP 4 -10                ; to pc 290
	300	CLOSURE 2 4                   ; func6
	301	MOVE 1 2
	302	GETTABUP 2 0 -2               ; _ENV assert
	303	MOVE 3 1
	304	LOADK 4 -6                    ; 1
	305	LOADK 5 -8                    ; 2
	306	LOADK 6 -65                   ; 3
	307	LOADK 7 -37                   ; 4
	308	CALL 3 5 2
	309	EQ 1 3 -11                    ; - 10
	310	JMP 0 1                       ; to pc 312
	311	LOADBOOL 3 0 1
	312	LOADBOOL 3 1 0
	313	LOADK 4 -68                   ; test 32 failed
	314	CALL 2 3 1
	315	RETURN 0 1

	locals (11)
		name: a; startpc: 1; endpc: 315
		name: (for index); startpc: 193; endpc: 198
		name: (for limit); startpc: 193; endpc: 198
		name: (for step); startpc: 193; endpc: 198
		name: i; startpc: 194; endpc: 197
		name: b; startpc: 254; endpc: 315
		name: (for generator); startpc: 288; endpc: 299
		name: (for state); startpc: 288; endpc: 299
		name: (for control); startpc: 288; endpc: 299
		name: k; startpc: 289; endpc: 297
		name: v; startpc: 289; endpc: 297
	upvales (1)
		name: _ENV; instack: true; index: 0
	constants (68)
		id: 0; value: 1337
		id: 1; value: assert
		id: 2; value: test 1 failed
		id: 3; value: 
		id: 4; value: test 2 failed
		id: 5; value: 1
		id: 6; value: 8
		id: 7; value: 2
		id: 8; value: 64
		id: 9; value: test 3 failed
		id: 10; value: 10
		id: 11; value: 20
		id: 12; value: test 4 failed
		id: 13; value: 5
		id: 14; value: 15
		id: 15; value: test 5 failed
		id: 16; value: 30
		id: 17; value: test 6 failed
		id: 18; value: 6
		id: 19; value: test 7 failed
		id: 20; value: 0
		id: 21; value: test 8 failed
		id: 22; value: 100000
		id: 23; value: test 9 failed
		id: 24; value: -100000
		id: 25; value: test 10 failed
		id: 26; value: -50000
		id: 27; value: test 11 failed
		id: 28; value: 32
		id: 29; value: test 12 failed
		id: 30; value: 96
		id: 31; value: test 13 failed
		id: 32; value: 98
		id: 33; value: test 14 failed
		id: 34; value: -99
		id: 35; value: test 15 failed
		id: 36; value: 4
		id: 37; value: 40
		id: 38; value: test 16 failed
		id: 39; value: test 17 failed
		id: 40; value: 39
		id: 41; value: test 18 failed
		id: 42; value: test 19 failed
		id: 43; value: 41
		id: 44; value: test 20 failed
		id: 45; value: test 21 failed
		id: 46; value: test 22 failed
		id: 47; value: Heyyy
		id: 48; value: test 23 failed
		id: 49; value: y
		id: 50; value: Heyyyyyyyyyyyyy
		id: 51; value: test 24 failed
		id: 52; value: test 25 failed
		id: 53; value: 100
		id: 54; value: test 26 failed
		id: 55; value: c
		id: 56; value: b
		id: 57; value: c
		id: 58; value: test 27 failed
		id: 59; value: test 28 failed
		id: 60; value: msg
		id: 61; value: test 29 failed
		id: 62; value: 69
		id: 63; value: test 30 failed
		id: 64; value: 3
		id: 65; value: ipairs
		id: 66; value: test 31 failed
		id: 67; value: test 32 failed
end

0 params; 0 varargs; 2 slots; 5 opcodes; 0 constants; 0 upvalues; 1 function; 1 local
function func1()
	001	CLOSURE 0 0                   ; func2
	002	MOVE 1 0
	003	TAILCALL 1 1 0
	004	RETURN 1 0
	005	RETURN 0 1

	locals (1)
		name: b; startpc: 1; endpc: 5
	upvales (0)
	constants (0)
end

0 params; 0 varargs; 2 slots; 3 opcodes; 1 constant; 0 upvalues; 0 functions; 0 locals
function func2()
	001	LOADK 0 -1                    ; 1337
	002	RETURN 0 2
	003	RETURN 0 1

	locals (0)
	upvales (0)
	constants (1)
		id: 0; value: 1337
end

1 param; 0 varargs; 2 slots; 3 opcodes; 1 constant; 0 upvalues; 0 functions; 1 local
function func3(param1)
	001	GETTABLE 1 0 -1               ; c
	002	RETURN 1 2
	003	RETURN 0 1

	locals (1)
		name: this; startpc: 0; endpc: 3
	upvales (0)
	constants (1)
		id: 0; value: c
end

2 params; 0 varargs; 2 slots; 2 opcodes; 0 constants; 1 upvalue; 0 functions; 2 locals
function func4(param1, param2)
	001	SETTABUP 0 0 1                ; a
	002	RETURN 0 1

	locals (2)
		name: key; startpc: 0; endpc: 2
		name: val; startpc: 0; endpc: 2
	upvales (1)
		name: a; instack: true; index: 0
	constants (0)
end

0 params; 0 varargs; 2 slots; 10 opcodes; 2 constants; 1 upvalue; 0 functions; 0 locals
function func5()
	001	GETUPVAL 0 0                  ; a
	002	MUL 0 0 -1                    ; - 9
	003	SETUPVAL 0 0                  ; a
	004	GETUPVAL 0 0                  ; a
	005	ADD 0 0 -2                    ; - 6
	006	SETUPVAL 0 0                  ; a
	007	GETUPVAL 0 0                  ; a
	008	ADD 0 0 -1                    ; - 9
	009	SETUPVAL 0 0                  ; a
	010	RETURN 0 1

	locals (0)
	upvales (1)
		name: a; instack: true; index: 0
	constants (2)
		id: 0; value: 9
		id: 1; value: 6
end

0 params; n varargs; 8 slots; 13 opcodes; 2 constants; 1 upvalue; 0 functions; 7 locals
function func6(...)
	001	NEWTABLE 0 0 0
	002	VARARG 1 0
	003	SETLIST 0 0 1                 ; 1
	004	LOADK 1 -1                    ; 0
	005	GETTABUP 2 0 -2               ; _ENV ipairs
	006	MOVE 3 0
	007	CALL 2 2 4
	008	JMP 0 1                       ; to pc 10
	009	ADD 1 1 
	010	TFORCALL 2 2
	011	TFORLOOP 4 -3                 ; to pc 9
	012	RETURN 1 2
	013	RETURN 0 1

	locals (7)
		name: vals; startpc: 3; endpc: 13
		name: total; startpc: 4; endpc: 13
		name: (for generator); startpc: 7; endpc: 11
		name: (for state); startpc: 7; endpc: 11
		name: (for control); startpc: 7; endpc: 11
		name: k; startpc: 8; endpc: 9
		name: v; startpc: 8; endpc: 9
	upvales (1)
		name: _ENV; instack: false; index: 0
	constants (2)
		id: 0; value: 0
		id: 1; value: ipairs
end

Example 3

Original lua code:

local Vector3 = {}
Vector3.New = function(x, y, z)
	local this = {}
    
    this.x = x
    this.y = y
    this.z = z
    
    return this
end

local Enemy = {}
Enemy.NextId = 1
Enemy.New = function(name, health, xp, damage)
	local this = {}
    
    local Id = Enemy.NextId
    local Name = name
    local Health = health
    local Position = Vector3.New(10.0, 10.0, 10.0)
    local Dead = false
    local Xp = xp
    local Damage = damage
    local Player = nil
    local MaxHealth = health
    
    function this.Reset()
    	Health = MaxHealth
        Dead = false
        Player = nil
    end
    
    function this.ReadValue(key)
    	local data = {}
        data["id"] = Id
        data["name"] = Name
        data["health"] = Health
        data["x"] = Position.x
        data["y"] = Position.y
        data["z"] = Position.z
        data["dead"] = Dead
        data["xp"] = Xp
        data["damage"] = Damage
        data["player"] = Player
        data["maxhealth"] = MaxHealth
        return data[key]
    end
    
    function this.PrintStatus()
    	print("-----ENEMY INFO-----")
        print("Name: "..Name)
        print("Id: "..Id)
        print("Health: "..Health)
        print("XP: "..Xp)
        print("Position: "..Position.x..", "..Position.y..", "..Position.z)
        print("Attack Damage: "..Damage)
        print("--------------------")
    end
    
    function this.GetName()
    	return Name
    end
    
    function this.SetPosition(x, y, z)
    	Position.x = x
        Position.y = y
        Position.z = z
    end
    
    function this.GetX()
    	return Position.x
    end
    
    function this.GetY()
    	return Position.y
    end
    
    function this.GetZ()
    	return Position.z
    end
    
    function this.GetAttacked(damage)
    	Health = Health - damage
        if (Health <= 0) then
        	Dead = true
        end
    end
    
    function this.IsDead()
    	return Dead
    end
    
    function this.GetXp()
    	if (this.IsDead()) then
    		return Xp
        end
        return 0
    end
    
    function this.Attack()
    	if (Player ~= nil) then
			Player.GetAttacked(Damage)
    	end
    end
    
    function this.SetPlayer(player)
    	Player = player
    end
    
    Enemy.NextId = Enemy.NextId + 1
    return this
end

local Player = {}
Player.NextId = 1
Player.New = function(name)
	local this = {}
    
    local Id = Player.NextId
    local Name = name
    local Health = 10
    local Level = 1
    local Xp = 0
    local Position = Vector3.New(0.0, 0.0, 0.0)
    local Enemy = nil
    local InBattle = false
    local Damage = 1
    local MaxHealth = 10
    local Flagged = false
    local Banned = false
    
    function this.ReadValue(key)
    	local data = {}
        data["id"] = Id
        data["name"] = Name
        data["health"] = Health
        data["level"] = Level
        data["x"] = Position.x
        data["y"] = Position.y
        data["z"] = Position.z
        data["xp"] = Xp
        data["damage"] = Damage
        data["enemy"] = Enemy
        data["maxhealth"] = MaxHealth
        data["inbattle"] = InBattle
        data["flagged"] = Flagged
        data["banned"] = Banned
        return data[key]
    end
    
    function this.PrintStatus()
    	print("-----PLAYER INFO-----")
        print("Name: "..Name)
        print("Id: "..Id)
        print("Health: "..Health)
        print("Level: "..Level)
        print("XP: "..Xp)
        print("Position: "..Position.x..", "..Position.y..", "..Position.z)
        local b = "false"
        if (InBattle) then
        	b = "true"
        end
        print("In Battle: "..b)
        print("Attack Damage: "..Damage)
        print("Max Health: "..MaxHealth)
        b = "false"
        if (Banned) then
        	b = "true"
        end
        print("Banned: "..b)
        print("---------------------")
    end
    
    function this.GetName()
    	return Name
    end
    
    function this.SetPosition(x, y, z)
    	Position.x = x
        Position.y = y
        Position.z = z
    end
    
    function this.GetX()
    	return Position.x
    end
    
    function this.GetY()
    	return Position.y
    end
    
    function this.GetZ()
    	return Position.z
    end
    
    local function AttemptLevelUp()
    	if (Level == 10 or Banned) then
        	return
        end
    	local xpTable = { 0, 5, 10, 20, 50, 100, 150, 200, 300, 500 }
        local neededXp = xpTable[Level + 1]
        while (Xp >= neededXp) do
        	Level = Level + 1
        	Xp = Xp - neededXp
            MaxHealth = MaxHealth + 5
            Health = MaxHealth
            Damage = Damage + 1
            neededXp = xpTable[Level + 1]
            if (neededXp == nil) then
            	break
            end
        end
        if (Level == 10) then
        	MaxHealth = 100
        	Health = MaxHealth
            Damage = 30
        end
    end
    
    function this.GainXp(xp)
    	Xp = Xp + xp
        AttemptLevelUp()
    end
    
    function this.BattleEnemy(enemy)
    	Enemy = enemy
        Enemy.SetPlayer(this)
        InBattle = true
    end
    
    function this.IsInBattle()
    	return InBattle
    end
    
    function this.Attack()
    	if (Banned) then
        	return
        end
    	if (this.IsInBattle()) then
        	if (Enemy ~= nil) then
            	Enemy.GetAttacked(Damage)
            end
        end
    end
    
    function this.GetAttacked(damage)
    	Health = Health - damage
        if (Health <= 0) then
			Dead = true
        end
    end
    
    function this.IsDead()
    	return Dead
    end
    
    function this.ExitBattle()
    	InBattle = false
        Enemy = nil
    end
    
    function this.Reset()
        this.ExitBattle()
        Xp = 0
        Level = 1
        Damage = 1
        MaxHealth = 10
        Health = MaxHealth
        Position = Vector3.New(0.0, 0.0, 0.0)
        Dead = false
    end
    
    function this.DonateXp(player, xp)
    	if (Xp >= Xp - xp) then
        	Xp = Xp - xp
            player.GainXp(xp)
        end
    end
    
    function this.Cheat()
    	Level = 99
        Xp = 9999
        Damage = 99
        MaxHealth = 9999
        Health = MaxHealth
        Flagged = true
    end
    
    function this.IsFlagged()
    	return Flagged
    end
    
    function this.Ban()
    	Banned = true
        this.Reset()
        
    end
    
    function this.IsBanned()
    	return Banned
    end
    
    Player.NextId = Player.NextId + 1
    return this
end

function StartBattle(player, enemy)
	if (player.IsBanned()) then
    	return false
    end
	if (player.GetX() == enemy.GetX() and
    	player.GetY() == enemy.GetY() and
        player.GetZ() == enemy.GetZ()) then
        player.BattleEnemy(enemy)
        local pname = player.GetName()
        local ename = enemy.GetName()
        print("Battle started")
        print(pname.." vs "..ename)
        while true do
        	print(pname.." attacks")
        	player.Attack()
            if (enemy.IsDead()) then
            	print(ename.. " died")
                local xp = enemy.GetXp()
                print("Gained "..xp.." XP")
            	player.GainXp(xp)
                player.ExitBattle()
            	break
            end
            print(ename.." attacks")
            enemy.Attack()
            if (player.IsDead()) then
            	print(pname.." died")
                print("Reset to Level 1")
            	player.Reset()
                break
            end
        end
        print("Battle ended")
        print(" ")
        return true
    end
    return false
end

local Administrator = {}
Administrator.New = function()
	local this = {}
    
    function this.BanPlayer(player)
    	if (this.IsCheater(player)) then
        	player.Ban()
            return true
        end
        return false
    end
    
    function this.IsCheater(player)
    	return player.IsFlagged()
    end
    
    return this
end

local Factory = {}
Factory.New = function()
	local this = {}
    
    local Players = {}
    local Enemies = {}
    local Admin = nil
    
    function this.GeneratePlayer(name)
    	local player = Player.New(name)
        Players[Player.NextId - 1] = player
    	return player
    end
    
    function this.GenerateEnemy(name, health, xp, damage)
    	local enemy = Enemy.New(name, health, xp, damage)
        Enemies[Enemy.NextId - 1] = enemy
    	return enemy
    end
    
    function this.GenerateAdmin()
    	if (Admin ~= nil) then
        	return Admin
        end
    	Admin = Administrator.New()
        return Admin
    end
    
    function this.GetPlayers()
    	return Players
    end
    
    function this.GetEnemies()
    	return Enemies
    end
    
    return this
end


-- create entity generator
local generator = Factory.New()
print("Created factory")

-- create main player
local player = generator.GeneratePlayer("Jeff")
print("Created player "..player.GetName())

-- create second player
local friend = generator.GeneratePlayer("Jay")
print("Created player "..friend.GetName())

-- create admin
local admin = generator.GenerateAdmin()
print("Created admin")

-- create enemies
local enemy1 = generator.GenerateEnemy("Joe", 10, 5, 1)
local enemy2 = generator.GenerateEnemy("Jeffrey", 30, 20, 4)
local enemy3 = generator.GenerateEnemy("John", 40, 60, 5)
local enemy4 = generator.GenerateEnemy("Jane", 60, 100, 3)
local enemy5 = generator.GenerateEnemy("Jill", 100, 300, 5)
local boss = generator.GenerateEnemy("Johnny", 200, 1000, 10)

-- set positions
enemy1.SetPosition(5.0, 5.0, 5.0)
enemy2.SetPosition(10.0, 10.0, 10.0)
enemy3.SetPosition(15.0, 15.0, 15.0)
enemy4.SetPosition(100.0, 10.0, 30.0)
enemy5.SetPosition(200.0, 0.0, 0.0)
boss.SetPosition(300.0, 200.0, 100.0)

-- try to battle an enemy that's not nearby, this shouldn't work
assert(StartBattle(player, enemy3) == false, "Test 1 failed")

-- go to enemy1
player.SetPosition(5.0, 5.0, 5.0)

-- print status before battle
player.PrintStatus()
enemy1.PrintStatus()
print(" ")

-- start battle against enemy1
assert(StartBattle(player, enemy1) == true, "Test 2 failed")

-- print status after battle
player.PrintStatus()
enemy1.PrintStatus()
print(" ")

-- go to enemy2
player.SetPosition(10.0, 10.0, 10.0)

-- start battle against enemy2
assert(StartBattle(player, enemy2) == true, "Test 3 failed")

-- print status after battle
player.PrintStatus()
enemy2.PrintStatus()
print(" ")

-- reset enemy 1 and 2
enemy1.Reset()
enemy2.Reset()

-- player is now level 1 again, gain some xp
player.GainXp(10)
print(player.GetName().." gained 10 XP")
player.PrintStatus()
print(" ")
player.GainXp(20)
print(player.GetName().." gained 20 XP")
player.PrintStatus()
print(" ")

-- go to enemy1 again
player.SetPosition(5.0, 5.0, 5.0)

-- start battle against enemy1 again
assert(StartBattle(player, enemy1) == true, "Test 4 failed")

-- print status after battle
player.PrintStatus()
enemy1.PrintStatus()
print(" ")

-- go to enemy2 again
player.SetPosition(10.0, 10.0, 10.0)

-- start battle against enemy2 again
assert(StartBattle(player, enemy2) == true, "Test 5 failed")

-- print status after battle
player.PrintStatus()
enemy2.PrintStatus()
print(" ")

-- go to enemy3
player.SetPosition(enemy3.GetX(), enemy3.GetY(), enemy3.GetZ())

-- start battle against enemy3
assert(StartBattle(player, enemy3) == true, "Test 6 failed")

-- print status after battle
player.PrintStatus()
enemy3.PrintStatus()
print(" ")

-- gain some xp
player.GainXp(50)
print(player.GetName().." gained 50 XP")
player.PrintStatus()
print(" ")

-- go to enemy4
player.SetPosition(enemy4.GetX(), enemy4.GetY(), enemy4.GetZ())

-- start battle against enemy4
assert(StartBattle(player, enemy4) == true, "Test 7 failed")

-- print status after battle
player.PrintStatus()
enemy4.PrintStatus()
print(" ")

-- gain some xp
player.GainXp(150)
print(player.GetName().." gained 150 XP")
player.PrintStatus()
print(" ")
player.GainXp(150)
print(player.GetName().." gained 150 XP")
player.PrintStatus()
print(" ")

-- go to enemy5
player.SetPosition(enemy5.GetX(), enemy5.GetY(), enemy5.GetZ())

-- start battle against enemy5
assert(StartBattle(player, enemy5) == true, "Test 8 failed")

-- print status after battle
player.PrintStatus()
enemy5.PrintStatus()
print(" ")

-- gain some xp
player.GainXp(300)
print(player.GetName().." gained 300 XP")
player.PrintStatus()
print(" ")
player.GainXp(300)
print(player.GetName().." gained 300 XP")
player.PrintStatus()
print(" ")
player.GainXp(300)
print(player.GetName().." gained 300 XP")
player.PrintStatus()
print(" ")
player.GainXp(400)
print(player.GetName().." gained 400 XP")
player.PrintStatus()
print(" ")
player.GainXp(500)
print(player.GetName().." gained 500 XP")
player.PrintStatus()
print(" ")
player.GainXp(600)
print(player.GetName().." gained 600 XP")
player.PrintStatus()
print(" ")

-- go to boss
player.SetPosition(300.0, 200.0, 100.0)

-- start battle against boss
assert(StartBattle(player, boss) == true, "Test 9 failed")

-- print status after battle
player.PrintStatus()
boss.PrintStatus()
print(" ")

-- test xp donation
print(player.GetName().." gives 1015 xp to "..friend.GetName())
player.DonateXp(friend, 1015)
player.PrintStatus()
friend.PrintStatus()
print(" ")

-- friend is a cheater
print(friend.GetName().. " cheats to level 99")
friend.Cheat()
friend.PrintStatus()
print(" ")

-- admin notices that and bans them
print("Banning "..friend.GetName())
assert(admin.BanPlayer(friend) == true, "Test 10 failed")

-- print status after ban
friend.PrintStatus()
print(" ")

-- reset enemy1
enemy1.Reset()

-- go to enemy1 again
friend.SetPosition(5.0, 5.0, 5.0)
player.SetPosition(5.0, 5.0, 5.0)

-- start battle against enemy1 again
assert(StartBattle(friend, enemy1) == false, "Test 11 failed")
assert(StartBattle(player, enemy1) == true, "Test 12 failed")

-- print status after battle
player.PrintStatus()
friend.PrintStatus()
enemy1.PrintStatus()
enemy2.PrintStatus()
enemy3.PrintStatus()
enemy4.PrintStatus()
enemy5.PrintStatus()
boss.PrintStatus()
print(" ")

-- assertions
assert(player.ReadValue("id") == 1, "Test 13 failed")
assert(player.ReadValue("name") == "Jeff", "Test 14 failed")
assert(player.ReadValue("health") == 40, "Test 15 failed")
assert(player.ReadValue("level") == 10, "Test 16 failed")
assert(player.ReadValue("x") == 5.0, "Test 17 failed")
assert(player.ReadValue("y") == 5.0, "Test 18 failed")
assert(player.ReadValue("z") == 5.0, "Test 19 failed")
assert(player.ReadValue("xp") == 1055, "Test 20 failed")
assert(player.ReadValue("damage") == 30, "Test 21 failed")
assert(player.ReadValue("maxhealth") == 100, "Test 22 failed")
assert(player.ReadValue("inbattle") == false, "Test 23 failed")
assert(player.ReadValue("banned") == false, "Test 24 failed")
assert(player.ReadValue("flagged") == false, "Test 25 failed")

assert(friend.ReadValue("id") == 2, "Test 26 failed")
assert(friend.ReadValue("name") == "Jay", "Test 27 failed")
assert(friend.ReadValue("health") == 10, "Test 28 failed")
assert(friend.ReadValue("level") == 1, "Test 29 failed")
assert(friend.ReadValue("x") == 5.0, "Test 30 failed")
assert(friend.ReadValue("y") == 5.0, "Test 31 failed")
assert(friend.ReadValue("z") == 5.0, "Test 32 failed")
assert(friend.ReadValue("xp") == 0, "Test 33 failed")
assert(friend.ReadValue("damage") == 1, "Test 34 failed")
assert(friend.ReadValue("maxhealth") == 10, "Test 35 failed")
assert(friend.ReadValue("inbattle") == false, "Test 36 failed")
assert(friend.ReadValue("banned") == true, "Test 37 failed")
assert(friend.ReadValue("flagged") == true, "Test 38 failed")

assert(enemy1.ReadValue("name") == "Joe", "Test 39 failed")
assert(enemy1.ReadValue("id") == 1, "Test 40 failed")
assert(enemy1.ReadValue("health") == -20, "Test 41 failed")
assert(enemy1.ReadValue("xp") == 5, "Test 42 failed")
assert(enemy1.ReadValue("x") == 5.0, "Test 43 failed")
assert(enemy1.ReadValue("y") == 5.0, "Test 44 failed")
assert(enemy1.ReadValue("z") == 5.0, "Test 45 failed")
assert(enemy1.ReadValue("damage") == 1, "Test 46 failed")
assert(enemy1.ReadValue("maxhealth") == 10, "Test 47 failed")

assert(enemy2.ReadValue("name") == "Jeffrey", "Test 48 failed")
assert(enemy2.ReadValue("id") == 2, "Test 49 failed")
assert(enemy2.ReadValue("health") == 2, "Test 50 failed")
assert(enemy2.ReadValue("xp") == 20, "Test 51 failed")
assert(enemy2.ReadValue("x") == 10.0, "Test 52 failed")
assert(enemy2.ReadValue("y") == 10.0, "Test 53 failed")
assert(enemy2.ReadValue("z") == 10.0, "Test 54 failed")
assert(enemy2.ReadValue("damage") == 4, "Test 55 failed")
assert(enemy2.ReadValue("maxhealth") == 30, "Test 56 failed")

assert(enemy3.ReadValue("name") == "John", "Test 57 failed")
assert(enemy3.ReadValue("id") == 3, "Test 58 failed")
assert(enemy3.ReadValue("health") == 38, "Test 59 failed")
assert(enemy3.ReadValue("xp") == 60, "Test 60 failed")
assert(enemy3.ReadValue("x") == 15.0, "Test 61 failed")
assert(enemy3.ReadValue("y") == 15.0, "Test 62 failed")
assert(enemy3.ReadValue("z") == 15.0, "Test 63 failed")
assert(enemy3.ReadValue("damage") == 5, "Test 64 failed")
assert(enemy3.ReadValue("maxhealth") == 40, "Test 65 failed")

assert(enemy4.ReadValue("name") == "Jane", "Test 66 failed")
assert(enemy4.ReadValue("id") == 4, "Test 67 failed")
assert(enemy4.ReadValue("health") == 24, "Test 68 failed")
assert(enemy4.ReadValue("xp") == 100, "Test 69 failed")
assert(enemy4.ReadValue("x") == 100.0, "Test 70 failed")
assert(enemy4.ReadValue("y") == 10.0, "Test 71 failed")
assert(enemy4.ReadValue("z") == 30.0, "Test 72 failed")
assert(enemy4.ReadValue("damage") == 3, "Test 73 failed")
assert(enemy4.ReadValue("maxhealth") == 60, "Test 74 failed")

assert(enemy5.ReadValue("name") == "Jill", "Test 75 failed")
assert(enemy5.ReadValue("id") == 5, "Test 76 failed")
assert(enemy5.ReadValue("health") == 58, "Test 77 failed")
assert(enemy5.ReadValue("xp") == 300, "Test 78 failed")
assert(enemy5.ReadValue("x") == 200.0, "Test 79 failed")
assert(enemy5.ReadValue("y") == 0.0, "Test 80 failed")
assert(enemy5.ReadValue("z") == 0.0, "Test 81 failed")
assert(enemy5.ReadValue("damage") == 5, "Test 82 failed")
assert(enemy5.ReadValue("maxhealth") == 100, "Test 83 failed")

assert(boss.ReadValue("name") == "Johnny", "Test 84 failed")
assert(boss.ReadValue("id") == 6, "Test 85 failed")
assert(boss.ReadValue("health") == -10, "Test 86 failed")
assert(boss.ReadValue("xp") == 1000, "Test 87 failed")
assert(boss.ReadValue("x") == 300.0, "Test 88 failed")
assert(boss.ReadValue("y") == 200.0, "Test 89 failed")
assert(boss.ReadValue("z") == 100.0, "Test 90 failed")
assert(boss.ReadValue("damage") == 10, "Test 91 failed")
assert(boss.ReadValue("maxhealth") == 200, "Test 92 failed")

assert(player ~= nil, "Test 93 failed")
assert(friend ~= nil, "Test 94 failed")
assert(enemy1 ~= nil, "Test 95 failed")
assert(enemy2 ~= nil, "Test 96 failed")
assert(enemy3 ~= nil, "Test 97 failed")
assert(enemy4 ~= nil, "Test 98 failed")
assert(enemy5 ~= nil, "Test 99 failed")
assert(boss ~= nil, "Test 100 failed")

Compiled luac binary:

�LuaS �“
�
�����xV           (w@��@/dev/shm/luac.nlHyGPPv         ��¥�  �   l   
@ €K   J€À€¬@  J€ €‹   Š Á�ì€  ŠÀ€‚ìÀ  �À ƒË   ,�� Ê �ƒ��  lA� 
A�ƒG�B�d�€ †AB Á�� ¤A �‡ÁÂ�Á�� ¤� �ÆAB �B� G‚C�d‚€ �B��äA �ÇÁÂ��Â� ä� ��BB AB� ‡‚Ã�¤‚€ ]‚‚�$B ���Ä�$‚€ FBB �B� dB �G‚Ä��Â� Á�� �C� Aƒ  d‚€�‡‚Ä�Á‚� �Ã� A�� �C� ¤‚€�Ç‚Ä��ƒ� AÃ� ��� ÁC� ä‚€��ƒÄ�AC� ��� Áƒ� �Ä� $ƒ€�GƒÄ���� Áƒ� �D� AD� dƒ€�‡ƒÄ�Áƒ� �Ä� A�	 ��� ¤ƒ€�ÇCÉ��„	 A„	 �„	 äC �ÇCI��Ä	 AÄ	 �Ä	 äC �ÇCÉ���
 A�
 ��
 äC �ÇCI��D
 AÄ	 �„
 äC �ÇCÉ��Ä
 A�� ��� äC �ÇCI��D� AÄ
 �D
 äC �ƃK �„A @� �€�€�$„€�_ÀK��  €�D  ��€ A� äC€�ÇCI��„	 A„	 �„	 äC �ÇCL�äC€ ÇCÌ�äC€ ÆCB �„ äC �ƃK �„A @� �€�€�$„€�_ÀL��  €�D  ��€ A�
 äC€�ÇCL�äC€ ÇCÌ�äC€ ÆCB �„ äC �ÇCI��Ä	 AÄ	 �Ä	 äC �ƃK �„A @� �€� �$„€�_ÀL��  €�D  ��€ AD
 äC€�ÇCL�äC€ ÇCL�äC€ ÆCB �„ äC �ǃÍ�äC€ ǃM�äC€ ÇÃM���� äC �ÆCB �„C�$„€ A�� �D��äC �ÇCL�äC€ ÆCB �„ äC �ÇÃM���� äC �ÆCB �„C�$„€ AD� �D��äC �ÇCL�äC€ ÆCB �„ äC �ÇCI��„	 A„	 �„	 äC �ƃK �„A @� �€�€�$„€�_ÀL��  €�D  ��€ A„� äC€�ÇCL�äC€ ÇCÌ�äC€ ÆCB �„ äC �ÇCI��Ä	 AÄ	 �Ä	 äC �ƃK �„A @� �€� �$„€�_ÀL��  €�D  ��€ AÄ� äC€�ÇCL�äC€ ÇCL�äC€ ÆCB �„ äC �ÇCI���Ï�$„€ GDÏ�d„€ ‡„Ï�¤�€ äC  ƃK �„A @� �€�€�$„€�_ÀL��  €�D  ��€ AÄ� äC€�ÇCL�äC€ ÇCÌ�äC€ ÆCB �„ äC �ÇÃM���� äC �ÆCB �„C�$„€ AD� �D��äC �ÇCL�äC€ ÆCB �„ äC �ÇCI���O�$„€ GDO�d„€ ‡„O�¤�€ äC  ƃK �„A @� �€� �$„€�_ÀL��  €�D  ��€ A„� äC€�ÇCL�äC€ ÇCL�äC€ ÆCB �„ äC �ÇÃM��Ä� äC �ÆCB �„C�$„€ A�� �D��äC �ÇCL�äC€ ÆCB �„ äC �ÇÃM��Ä� äC �ÆCB �„C�$„€ A�� �D��äC �ÇCL�äC€ ÆCB �„ äC �ÇCI���Ï�$„€ GDÏ�d„€ ‡„Ï�¤�€ äC  ƃK �„A @� �€�€�$„€�_ÀL��  €�D  ��€ AD� äC€�ÇCL�äC€ ÇCÌ�äC€ ÆCB �„ äC �ÇÃM��D� äC �ÆCB �„C�$„€ A„� �D��äC �ÇCL�äC€ ÆCB �„ äC �ÇÃM��D� äC �ÆCB �„C�$„€ A„� �D��äC �ÇCL�äC€ ÆCB �„ äC �ÇÃM��D� äC �ÆCB �„C�$„€ A„� �D��äC �ÇCL�äC€ ÆCB �„ äC �ÇÃM��Ä� äC �ÆCB �„C�$„€ A�� �D��äC �ÇCL�äC€ ÆCB �„ äC �ÇÃM��D� äC �ÆCB �„C�$„€ A„� �D��äC �ÇCL�äC€ ÆCB �„ äC �ÇÃM��Ä� äC �ÆCB �„C�$„€ A�� �D��äC �ÇCL�äC€ ÆCB �„ äC �ÇCI��D� AÄ
 �D
 äC �ƃK �„A @� �€� �$„€�_ÀL��  €�D  ��€ AD� äC€�ÇCL�äC€ ÇCL�äC€ ÆCB �„ äC �ÆCB �„C�$„€ A„� ‡„Ã�¤„€ �„��äC �ÇÃS� �€�A�� äC€�ÇCL�äC€ ÇCÌ�äC€ ÆCB �„ äC �ÆCB �„Ã�$„€ AD� �D��äC �ǃÔ�äC€ ÇCÌ�äC€ ÆCB �„ äC �ÆCB �Ä� G„Ã�d„€ �D��äC �ƃK ��U�@�€�$„ �_ÀL��  €�D  ��€ AD� äC€�ÇCÌ�äC€ ÆCB �„ äC �ǃÍ�äC€ ÇCÉ��„	 A„	 �„	 äC �ÇCI��„	 A„	 �„	 äC �ƃK �„A @�€�€�€�$„€�_ÀK��  €�D  ��€ A„� äC€�ƃK �„A @� �€�€�$„€�_ÀL��  €�D  ��€ AÄ� äC€�ÇCL�äC€ ÇCÌ�äC€ ÇCÌ�äC€ ÇCL�äC€ ÇCÌ�äC€ ÇCL�äC€ ÇCÌ�äC€ ÇCL�äC€ ÆCB �„ äC �ƃK ��V�AD� $„ �_€@��  €�D  ��€ A„� äC€�ƃK ��V�AÄ� $„ �_ C��  €�D  ��€ A�� äC€�ƃK ��V�AD� $„ �_ÀF��  €�D  ��€ A„� äC€�ƃK ��V�AÄ� $„ �_ E��  €�D  ��€ A�� äC€�ƃK ��V�AD� $„ �_€I��  €�D  ��€ A„� äC€�ƃK ��V�AÄ� $„ �_€I��  €�D  ��€ A�� äC€�ƃK ��V�AD� $„ �_€I��  €�D  ��€ A„� äC€�ƃK ��V�AÄ� $„ �_ Z��  €�D  ��€ AD� äC€�ƃK ��V�A„� $„ �_ÀE��  €�D  ��€ AÄ� äC€�ƃK ��V�A�� $„ �_€G��  €�D  ��€ AD� äC€�ƃK ��V�A„� $„ �_ÀK��  €�D  ��€ AÄ� äC€�ƃK ��V�A�� $„ �_ÀK��  €�D  ��€ AD� äC€�ƃK ��V�A„� $„ �_ÀK��  €�D  ��€ AÄ� äC€�ƃK ��Ö�AD� $„ �_ ]��  €�D  ��€ AD� äC€�ƃK ��Ö�AÄ� $„ �_ÀC��  €�D  ��€ A„� äC€�ƃK ��Ö�AD� $„ �_ E��  €�D  ��€ AÄ� äC€�ƃK ��Ö�AÄ� $„ �_€@��  €�D  ��€ A�� äC€�ƃK ��Ö�AD� $„ �_€I��  €�D  ��€ AD� äC€�ƃK ��Ö�AÄ� $„ �_€I��  €�D  ��€ A„� äC€�ƃK ��Ö�AD� $„ �_€I��  €�D  ��€ AÄ� äC€�ƃK ��Ö�AÄ� $„ �_ _��  €�D  ��€ AD� äC€�ƃK ��Ö�A„� $„ �_€@��  €�D  ��€ A„� äC€�ƃK ��Ö�A�� $„ �_ E��  €�D  ��€ AÄ� äC€�ƃK ��Ö�A„� $„ �_ÀK��  €�D  ��€ A�  äC€�ƃK ��Ö�A�� $„ �_ÀL��  €�D  ��€ AD  äC€�ƃK ��Ö�A„� $„ �_ÀL��  €�D  ��€ A„  äC€�ƃK ��Ö�AÄ� $„ �_ÀD��  €�D  ��€ AÄ  äC€�ƃK ��Ö�AD� $„ �_€@��  €�D  ��€ A�! äC€�ƃK ��Ö�AD� $„ �_@a��  €�D  ��€ A„! äC€�ƃK ��Ö�AÄ� $„ �_@E��  €�D  ��€ AÄ! äC€�ƃK ��Ö�AD� $„ �_€I��  €�D  ��€ A�" äC€�ƃK ��Ö�AÄ� $„ �_€I��  €�D  ��€ AD" äC€�ƃK ��Ö�AD� $„ �_€I��  €�D  ��€ A„" äC€�ƃK ��Ö�A„� $„ �_€@��  €�D  ��€ AÄ" äC€�ƃK ��Ö�A�� $„ �_ E��  €�D  ��€ A�# äC€�ƃK ��V�AÄ� $„ �_€E��  €�D  ��€ AD# äC€�ƃK ��V�AD� $„ �_ ]��  €�D  ��€ A„# äC€�ƃK ��V�AD� $„ �_ ]��  €�D  ��€ AÄ# äC€�ƃK ��V�AÄ� $„ �_ F��  €�D  ��€ A�$ äC€�ƃK ��V�AD� $„ �_ÀI��  €�D  ��€ AD$ äC€�ƃK ��V�AÄ� $„ �_ÀI��  €�D  ��€ A„$ äC€�ƃK ��V�AD� $„ �_ÀI��  €�D  ��€ AÄ$ äC€�ƃK ��V�A„� $„ �_@F��  €�D  ��€ A�% äC€�ƃK ��V�A�� $„ �_ÀE��  €�D  ��€ AD% äC€�ƃK ��Ö�AÄ� $„ �_€F��  €�D  ��€ A„% äC€�ƃK ��Ö�AD� $„ �_ÀG��  €�D  ��€ AÄ% äC€�ƃK ��Ö�AD� $„ �_ f��  €�D  ��€ AD& äC€�ƃK ��Ö�AÄ� $„ �_ G��  €�D  ��€ A„& äC€�ƃK ��Ö�AD� $„ �_ J��  €�D  ��€ AÄ& äC€�ƃK ��Ö�AÄ� $„ �_ J��  €�D  ��€ A�' äC€�ƃK ��Ö�AD� $„ �_ J��  €�D  ��€ AD' äC€�ƃK ��Ö�A„� $„ �_@E��  €�D  ��€ A„' äC€�ƃK ��Ö�A�� $„ �_ÀF��  €�D  ��€ AÄ' äC€�ƃK ��V�AÄ� $„ �_@G��  €�D  ��€ A�( äC€�ƃK ��V�AD� $„ �_@F��  €�D  ��€ AD( äC€�ƃK ��V�AD� $„ �_€h��  €�D  ��€ AÄ( äC€�ƃK ��V�AÄ� $„ �_€G��  €�D  ��€ A�) äC€�ƃK ��V�AD� $„ �_@J��  €�D  ��€ AD) äC€�ƃK ��V�AÄ� $„ �_ÀI��  €�D  ��€ A„) äC€�ƃK ��V�AD� $„ �_€J��  €�D  ��€ AÄ) äC€�ƃK ��V�A„� $„ �_ÀG��  €�D  ��€ A�* äC€�ƃK ��V�A�� $„ �_ G��  €�D  ��€ AD* äC€�ƃK ��Ö�AÄ� $„ �_ H��  €�D  ��€ A„* äC€�ƃK ��Ö�AD� $„ �_@E��  €�D  ��€ AÄ* äC€�ƃK ��Ö�AD� $„ �_ k��  €�D  ��€ AD+ äC€�ƃK ��Ö�AÄ� $„ �_@H��  €�D  ��€ A„+ äC€�ƃK ��Ö�AD� $„ �_ÀJ��  €�D  ��€ AÄ+ äC€�ƃK ��Ö�AÄ� $„ �_ K��  €�D  ��€ A�, äC€�ƃK ��Ö�AD� $„ �_ K��  €�D  ��€ AD, äC€�ƃK ��Ö�A„� $„ �_@E��  €�D  ��€ A„, äC€�ƃK ��Ö�A�� $„ �_€G��  €�D  ��€ AÄ, äC€�ƃK ��V�AÄ� $„ �_€H��  €�D  ��€ A�- äC€�ƃK ��V�AD� $„ �_@m��  €�D  ��€ A„- äC€�ƃK ��V�AD� $„ �_Àm��  €�D  ��€ A�. äC€�ƃK ��V�AÄ� $„ �_ I��  €�D  ��€ AD. äC€�ƃK ��V�AD� $„ �_@K��  €�D  ��€ A„. äC€�ƃK ��V�AÄ� $„ �_ÀJ��  €�D  ��€ AÄ. äC€�ƃK ��V�AD� $„ �_@J��  €�D  ��€ A�/ äC€�ƃK ��V�A„� $„ �_ E��  €�D  ��€ AD/ äC€�ƃK ��V�A�� $„ �_ÀH��  €�D  ��€ A„/ äC€�ƃK �Ào��  €�D  ��€ A�0 äC€�ƃK �Àï��  €�D  ��€ AD0 äC€�ƃK �Àï��  €�D  ��€ A„0 äC€�ƃK �Ào��  €�D  ��€ AÄ0 äC€�ƃK �Àï��  €�D  ��€ A�1 äC€�ƃK �Ào��  €�D  ��€ AD1 äC€�ƃK �Àï��  €�D  ��€ A„1 äC€�ƃK �Ào��  €�D  ��€ AÄ1 äC€�& € È   ��New��NextId��       ��NextId��       ��New�StartBattle��New��New��print��Created factory��GeneratePlayer��Jeff��Created player ��GetName��Jay��GenerateAdmin��Created admin��GenerateEnemy��Joe�
       ��       ��Jeffrey��       ��       ��       ��John�(       �<       ��Jane�d       ��       ��Jill�,�      ��Johnny�È       �è�      �SetPosition�      �@�      $@�      .@�      Y@�      >@�      i@�        �     Àr@��assert� ��Test 1 failed�PrintStatus�� ����Test 2 failed��Test 3 failed��Reset��GainXp�� gained 10 XP�� gained 20 XP��Test 4 failed��Test 5 failed��GetX��GetY��GetZ��Test 6 failed�2       �� gained 50 XP��Test 7 failed�–       �� gained 150 XP��Test 8 failed�� gained 300 XP���      �� gained 400 XP�ô�      �� gained 500 XP�X�      �� gained 600 XP��Test 9 failed�� gives 1015 xp to �	DonateXp�÷�      �� cheats to level 99��Cheat�	Banning �
BanPlayer��Test 10 failed��Test 11 failed��Test 12 failed�
ReadValue��id��Test 13 failed��name��Test 14 failed��health��Test 15 failed��level��Test 16 failed��x��Test 17 failed��y��Test 18 failed��z��Test 19 failed��xp���      ��Test 20 failed��damage��Test 21 failed�
maxhealth��Test 22 failed�	inbattle��Test 23 failed��banned��Test 24 failed��flagged��Test 25 failed��       ��Test 26 failed��Test 27 failed��Test 28 failed��Test 29 failed��Test 30 failed��Test 31 failed��Test 32 failed�        ��Test 33 failed��Test 34 failed��Test 35 failed��Test 36 failed��Test 37 failed��Test 38 failed��Test 39 failed��Test 40 failed�ìÿÿÿÿÿÿÿ��Test 41 failed��Test 42 failed��Test 43 failed��Test 44 failed��Test 45 failed��Test 46 failed��Test 47 failed��Test 48 failed��Test 49 failed��Test 50 failed��Test 51 failed��Test 52 failed��Test 53 failed��Test 54 failed��Test 55 failed��Test 56 failed��Test 57 failed��Test 58 failed�&       ��Test 59 failed��Test 60 failed��Test 61 failed��Test 62 failed��Test 63 failed��Test 64 failed��Test 65 failed��Test 66 failed��Test 67 failed��       ��Test 68 failed��Test 69 failed��Test 70 failed��Test 71 failed��Test 72 failed��Test 73 failed��Test 74 failed��Test 75 failed��Test 76 failed�:       ��Test 77 failed��Test 78 failed��Test 79 failed��Test 80 failed��Test 81 failed��Test 82 failed��Test 83 failed��Test 84 failed��       ��Test 85 failed�öÿÿÿÿÿÿÿ��Test 86 failed��Test 87 failed��Test 88 failed��Test 89 failed��Test 90 failed��Test 91 failed��Test 92 failed ��Test 93 failed��Test 94 failed��Test 95 failed��Test 96 failed��Test 97 failed��Test 98 failed��Test 99 failed��Test 100 failed�   � �    �   
   � ��   Ë   Ê  €Ê@€€Ê€ �æ  �& € �   ��x��y��z        �   �   �   �   �   	   
   �   �x    �   �y    �   �z    �   �this�   �        �   p   � �-   ��  F�@ €�  À�€ �BÀ A‚  �‚  Á‚  $‚ �C�  €� �À�€���  @�€ ¬�  
�ƒ�¬C  
��‚¬ƒ  
�ƒ‚¬Ã  
��ƒ¬�� 
�ƒƒ¬C� 
��„¬ƒ� 
�ƒ„¬Ã� 
��…¬�� 
�ƒ…¬C� 
��†¬ƒ� 
�ƒ†¬Ã� 
��‡¬�� 
�ƒ‡†�@ ��D��€�€&� �& € �   ��NextId��New�      $@��Reset�
ReadValue�PrintStatus��GetName�SetPosition��GetX��GetY��GetZ�GetAttacked��IsDead��GetXp��Attack�
SetPlayer��       �   ���   
    �   �     ��   � € 	   �   	  ��   	 €�& €     �   ���
�	�    �   �   �   �   �   �   �   �       �   �Health
MaxHealth�Dead�Player !   /   � ��   K   …   J€ €… € J€€€…  �J€ �†ÀÀ�J€€�† Á�J€ ‚†@Á�J€€‚…  �J€ ƒ… €�J€€ƒ…  �J€ „… €�J€€„…  �J€ …‡ € ¦  �& € �   ��id��name��health��x��y��z��dead��xp��damage��player�
maxhealth	   ���������	�
����
    �   "   #   #   $   $   %   %   &   &   '   '   (   (   )   )   *   *   +   +   ,   ,   -   -   .   .   /   �   �key    �   �data�   �   	   �Id�Name�Health	Position�Dead�Xp�Damage�Player
MaxHealth 1   :     �)   � @ A@  $@ �� @ A€  … € ]€€ $@ �� @ AÀ  …  �]€€ $@ �� @ A � … €�]€€ $@ �� @ A@� …  �]€€ $@ �� @ A€� †ÀÁ�Á � �AÂ�A�� †�Â�]€� $@ �� @ AÀ� …  �]€€ $@ �� @ A � $@ �& € 
   ��print��-----ENEMY INFO-----��Name: ��Id: �	Health: ��XP: ��Position: ��x��, ��y��z��Attack Damage: ��--------------------�    ��������
����    )   2   2   2   3   3   3   3   3   4   4   4   4   4   5   5   5   5   5   6   6   6   6   6   7   7   7   7   7   7   7   7   7   8   8   8   8   8   9   9   9   :       �   �_ENV�Name�Id�Health�Xp	Position�Damage <   >     ��   �   &  �& €     �   ��    �   =   =   >       �   �Name @   D   � ��   �  €�@€€�€ �& € �   ��x��y��z�   ��    �   A   B   C   D   �   �x    �   �y    �   �z    �   �   	Position F   H     ��   � @ &  �& € �   ��x�   ��    �   G   G   H       �   	Position J   L     ��   � @ &  �& € �   ��y�   ��    �   K   K   L       �   	Position N   P     ��   � @ &  �& € �   ��z�   ��    �   O   O   P       �   	Position R   W   � �	   E   N € I   E   ! À �@ €C € I € & € �   �        �   ���	    	   S   S   S   T   T   T   U   U   W   �   �damage    	   �   �Health�Dead Y   [     ��   �   &  �& €     �   �	    �   Z   Z   [       �   �Dead ]   b     �	   � @ $€€ "   �@ €� € &  ��@  &  �& € �   ��IsDead�        �   ���
    	   ^   ^   ^   ^   _   _   a   a   b       �   �this�Xp d   h     ��   �   _ @ �€ €�@@ E € $@ �& € �    �GetAttacked�   ���    �   e   e   e   f   f   f   h       �   �Player�Damage j   l   � ��   	   & €     �   �    �   k   l   �   �player    �   �   �Player-   �   �   �   �   �   �   �   �   �   �   �   �   �   �   �   �   /   !   :   1   >   <   D   @   H   F   L   J   P   N   W   R   [   Y   b   ]   h   d   l   j   n   n   n   o   p   �   �name    -   �health    -   �xp    -   �damage    -   �this�   -   �Id�   -   �Name�   -   �Health�   -   	Position	   -   �Dead
   -   �Xp�   -   �Damage   -   �Player
   -   
MaxHealth�   -   �   �Enemy�Vector3�_ENV t   1�  � �?   K   † @ À   �A  A�  �Á  Æ�Á �B� AB� �B� ä� ���  C�  �‚  ÁB  ��  C�  ¬�  J€�ƒ¬C  J€ƒƒ¬ƒ  J€�„¬Ã  J€ƒ„¬�� J€�…¬C� J€ƒ…¬ƒ� J€�†¬Ã� ì�� JÀƒ†ìC� JÀ�‡ìƒ� JÀƒ‡ìÃ� JÀ�ˆì�� JÀƒˆìC� JÀ�‰ìƒ� JÀƒ‰ìÃ� JÀ�Šì�� JÀƒŠìC� JÀ�‹ìƒ� JÀƒ‹ìÃ� JÀ�Œì�� JÀƒŒÆ�@ ̓À��À�€f  �& € �   ��NextId�
       ��       �        ��New�        �
ReadValue�PrintStatus��GetName�SetPosition��GetX��GetY��GetZ��GainXp�BattleEnemy��IsInBattle��Attack�GetAttacked��IsDead��ExitBattle��Reset�	DonateXp��Cheat�
IsFlagged��Ban�	IsBanned�   ���   �    „   •   � �    K   …   J€ €… € J€€€…  �J€ �… €�J€€�† A�J€ ‚†@A�J€€‚†€A�J€ ƒ… €�J€€ƒ…  �J€ „… €�J€€„…  �J€ …… €�J€€……  �J€ †… €�J€€†‡ € ¦  �& € �   ��id��name��health��level��x��y��z��xp��damage��enemy�
maxhealth�	inbattle��flagged��banned   �������������
�����	��
        …   †   †   ‡   ‡   ˆ   ˆ   ‰   ‰   Š   Š   ‹   ‹   Œ   Œ   �   �   Ž   Ž   �   �   �   �   ‘   ‘   ’   ’   “   “   ”   ”   •   �   �key        �data�          �Id�Name�Health�Level	Position�Xp�Damage�Enemy
MaxHealth	InBattle�Flagged�Banned —   ¬     �G   � @ A@  $@ �� @ A€  … € ]€€ $@ �� @ AÀ  …  �]€€ $@ �� @ A � … €�]€€ $@ �� @ A@� …  �]€€ $@ �� @ A€� … €�]€€ $@ �� @ AÀ� † B�Á@� ��B�AA� †ÁB�]€� $@ �� � E €�b   �  €�@� F @ �€� À   �À �d@ �F @ �À� Å  ��À �d@ �F @ � � Å €��À �d@ �� � E  �b   �  €�@� F @ �@� À   �À �d@ �F @ �€� d@ �& € �   ��print��-----PLAYER INFO-----��Name: ��Id: �	Health: ��Level: ��XP: ��Position: ��x��, ��y��z��false��true�In Battle: ��Attack Damage: �
Max Health: �	Banned: ��---------------------�    ��������������	�
���
    G   ˜   ˜   ˜   ™   ™   ™   ™   ™   š   š   š   š   š   ›   ›   ›   ›   ›   œ   œ   œ   œ   œ   �   �   �   �   �   ž   ž   ž   ž   ž   ž   ž   ž   ž   Ÿ               ¡   £   £   £   £   £   ¤   ¤   ¤   ¤   ¤   ¥   ¥   ¥   ¥   ¥   ¦   §   §   §   ¨   ª   ª   ª   ª   ª   «   «   «   ¬   �   �b&   G   �   �_ENV�Name�Id�Health�Level�Xp	Position	InBattle�Damage
MaxHealth�Banned ®   °     ��   �   &  �& €     �   ��    �   ¯   ¯   °       �   �Name ²   ¶   � ��   �  €�@€€�€ �& € �   ��x��y��z�   ��    �   ³   ´   µ   ¶   �   �x    �   �y    �   �z    �   �   	Position ¸   º     ��   � @ &  �& € �   ��x�   ��    �   ¹   ¹   º       �   	Position ¼   ¾     ��   � @ &  �& € �   ��y�   ��    �   ½   ½   ¾       �   	Position À        ��   � @ &  �& € �   ��z�   ��    �   Á   Á          �   	Position Ä   Ú     �7   �   _ @ �€ €� € "   �  €& € �  �A@  �€  Á   �Á  A�� �A� Á�� �Â� A�� �B� +@ �E   M€Â G@  …  �!€€ �À�€…   �€B�‰   …  �Ž@ �‰  �… €��€@�‰ €�… €�‰  �… €��€B�‰ €�…   �€B�G€  _À �  €� ú�…   � @��@�€�@� ‰ €�… €�‰  �� � ‰ €�& € 
   �
       �        ��       ��       �2       �d       �–       �È       �,�      �ô�      ��        ��       �   ���
�������
    7   Å   Å   Å   Å   Å   Å   Æ   È   È   È   È   È   È   È   È   È   È   È   È   É   É   É   Ê   Ê   Ê   Ë   Ë   Ë   Ì   Ì   Ì   Í   Í   Í   Î   Î   Ï   Ï   Ï   Ð   Ð   Ð   Ñ   Ñ   Ó   Õ   Õ   Õ   Ö   Ö   ×   ×   Ø   Ø   Ú   �   �xpTable�   7   	neededXp�   7   �   �Level�Banned�Xp
MaxHealth�Health�Damage Ü   ß   � ��   E   M € I   E € d@€ & €     �   ����    �   Ý   Ý   Ý   Þ   Þ   ß   �   �xp    �   �   �Xp�AttemptLevelUp á   å   � ��   	   F @ … € d@ �C € I  �& € �   �
SetPlayer�   �����	    �   â   ã   ã   ã   ä   ä   å   �   �enemy    �   �   �Enemy�this	InBattle ç   é     ��   �   &  �& €     �   �	    �   è   è   é       �   	InBattle ë   ô     ��   �   "   �  €& € � À $€€ "   �@�€�  �_@@ �€ €�€@�E €�$@ �& € �   ��IsInBattle �GetAttacked�   �
�����
    �   ì   ì   ì   í   ï   ï   ï   ï   ð   ð   ð   ñ   ñ   ñ   ô       �   �Banned�this�Enemy�Damage ö   û   � ��   E   N € I   E   ! À �  €H€À€& € �   �        ��Dead���   �� �    �   ÷   ÷   ÷   ø   ø   ø   ù   û   �   �damage    �   �   �Health�_ENV ý   ÿ     ��   � @ &  �& € �   ��Dead�    �    �   þ   þ   ÿ       �   �_ENV ��  ��    ��   �   	   �   	 € & €     �   �	��    �   ��  ��  ��  ��  ��      �   	InBattle�Enemy ��  ��    ��   � @ $@€ �@  	 € �€  	  ��€  	 €��À  	  ��  �	 €�� Á�A@� �@� Á@� $€ �	  ��ÂAƒ& € �   ��ExitBattle�        ��       �
       ��New�        ��Dead� 	   �������
������ � �    �   ��  ��  ��  ��  	�  	�  
�  
�  ��  ��  �  �  
�  
�  
�  
�  
�  
�  ��  ��      	   �this�Xp�Level�Damage
MaxHealth�Health	Position�Vector3�_ENV ��  ��  � �   …   Å   Î@€�!€€��@�€…   Ž@ �‰   ‡ @ À € ¤@ �& € �   ��GainXp�   ��       ��  ��  ��  ��  ��  ��  ��  ��  ��  ��  ��  ��  �   �player       �xp       �   �Xp ��  ��    �
   �   	   �@  	 € �   	  ��@  	 €�� €�	  �� € 	 €�& € �   �c       ��'      �   �����
�����    
   ��  ��  ��  ��  ��  ��  ��  ��  ��  ��  ��  ��  ��      �   �Level�Xp�Damage
MaxHealth�Health�Flagged !�  #�    ��   �   &  �& €     �   �    �   "�  "�  #�      �   �Flagged %�  )�    ��   � € 	   � À $@€ & € �   ��Reset�   �
��    �   &�  &�  '�  '�  )�      �   �Banned�this +�  -�    ��   �   &  �& €     �   �
    �   ,�  ,�  -�      �   �Banned?   u   w   x   y   z   {   |   |   |   |   |   }   ~   �   €   �   ‚   •   „   ¬   —   °   ®   ¶   ²   º   ¸   ¾   ¼      À   Ú   ß   Ü   å   á   é   ç   ô   ë   û   ö   ÿ   ý   ��  ��  ��  ��  ��  ��  ��  ��  #�  !�  )�  %�  -�  +�  /�  /�  /�  0�  1�  �   �name    ?   �this�   ?   �Id�   ?   �Name�   ?   �Health�   ?   �Level�   ?   �Xp�   ?   	Position�   ?   �Enemy   ?   	InBattle
   ?   �Damage�   ?   
MaxHealth�   ?   �Flagged�   ?   �Banned�   ?   �AttemptLevelUp    ?   �   �Player�Vector3�_ENV 3�  X�  � 	h   ‡ @ ¤€€ ¢   �@ €ƒ   ¦  �‡@@ ¤€€ Ç@À 䀀 �À �� �€‡€@ ¤€€ Ç€À 䀀 �À ��€�€‡À@ ¤€€ ÇÀÀ 䀀 �À �� �€‡ A À € ¤@ �‡@A ¤€€ Ç@Á 䀀 ��A AÁ� $A ���A @� ���� À�€�]Á��$A ���A @� ��A� ]���$A ���B $A€ �Á $�€ "�  �€�€��A @�€���� ]���$A ��Aà $�€ F�A ��� À� ��Â� ����dA �G�D €� �dA �GAD dA€ �€�€��A @�€��A� ]���$A ��� $A€ �ÁB $�€ "�  �€õ���A @� ���� ]���$A ���A A�� $A ��ÁD $A€ �  €�€ò���A A�� $A ���A AA� $A ���€ &� �ƒ   ¦  �& € �   �	IsBanned��GetX��GetY��GetZ�BattleEnemy��GetName��print��Battle started�� vs �	 attacks��Attack��IsDead�� died��GetXp��Gained �� XP��GainXp��ExitBattle��Reset to Level 1��Reset�
Battle ended�� �         h   4�  4�  4�  4�  5�  5�  7�  7�  7�  7�  7�  7�  8�  8�  8�  8�  8�  8�  9�  9�  9�  9�  9�  9�  :�  :�  :�  ;�  ;�  <�  <�  =�  =�  =�  >�  >�  >�  >�  >�  >�  @�  @�  @�  @�  @�  A�  A�  B�  B�  B�  B�  C�  C�  C�  C�  C�  D�  D�  E�  E�  E�  E�  E�  E�  F�  F�  F�  G�  G�  G�  J�  J�  J�  J�  J�  K�  K�  L�  L�  L�  L�  M�  M�  M�  M�  M�  N�  N�  N�  O�  O�  O�  Q�  S�  S�  S�  T�  T�  T�  U�  U�  W�  W�  X�  �   �player    h   �enemy    h   �pname�   e   �ename�   e   �xp:   F   �   �_ENV [�  k�    ��   �   l   
@ €l@  
@€€&  �& € �   �
BanPlayer�
IsCheater    �    ^�  d�  � �   F @ €   d€ �b   �À €G@@ d@€ C € f  �C   f  �& € �   �
IsCheater��Ban�   �        _�  _�  _�  _�  _�  `�  `�  a�  a�  c�  c�  d�  �   �player       �   �this f�  h�  � ��   G @ e € f   & € �   �
IsFlagged        �   g�  g�  g�  h�  �   �player    �       �   \�  d�  ^�  h�  f�  j�  k�  �   �this�   �        n�  ’�    ��   �   K   ‹   Ä   ,�  
 �€,A  
 �€,�  
 ��,Á  
 ��,�� 
 �‚&  �& € �   ��GeneratePlayer��GenerateEnemy��GenerateAdmin��GetPlayers��GetEnemies�   �������    u�  y�  � ��   F @ €   d€ �†@@ Ž€@�H@ �f  �& € �   ��New��NextId��       �     ��    �   v�  v�  v�  w�  w�  w�  x�  y�  �   �name    �   �player�   �   �   �Player�Players {�  ��  � 	�   ��@ @�  €�€ À� � �€�$�€�FA@ N�À�H ��&� �& € �   ��New��NextId��       �    ���    �   |�  |�  |�  |�  |�  |�  }�  }�  }�  ~�  ��  �   �name    �   �health    �   �xp    �   �damage    �   �enemy�   �   �   �Enemy�Enemies ��  ‡�    ��   �   _ @ �@ €�   &  ��@À $€€ 	   �   &  �& € �    ��New�   �� �    �   ‚�  ‚�  ‚�  ƒ�  ƒ�  …�  …�  …�  †�  †�  ‡�      �   �Admin�Administrator ‰�  ‹�    ��   �   &  �& €     �   ��    �   Š�  Š�  ‹�      �   �Players ��  ��    ��   �   &  �& €     �   ��    �   Ž�  Ž�  ��      �   �Enemies�   o�  q�  r�  s�  y�  u�  ��  {�  ‡�  ��  ‹�  ‰�  ��  ��  ‘�  ’�  �   �this�   �   �Players�   �   �Enemies�   �   �Admin�   �   �   �Player�Enemy�Administrator¥�  �   
   
      
   p   p   r   s   1�  1�  X�  3�  Z�  k�  k�  m�  ’�  ’�  –�  –�  —�  —�  —�  š�  š�  š�  ›�  ›�  ›�  ›�  ›�  ›�  ž�  ž�  ž�  Ÿ�  Ÿ�  Ÿ�  Ÿ�  Ÿ�  Ÿ�  ¢�  ¢�  £�  £�  £�  ¦�  ¦�  ¦�  ¦�  ¦�  ¦�  §�  §�  §�  §�  §�  §�  ¨�  ¨�  ¨�  ¨�  ¨�  ¨�  ©�  ©�  ©�  ©�  ©�  ©�  ª�  ª�  ª�  ª�  ª�  ª�  «�  «�  «�  «�  «�  «�  ®�  ®�  ®�  ®�  ®�  ¯�  ¯�  ¯�  ¯�  ¯�  °�  °�  °�  °�  °�  ±�  ±�  ±�  ±�  ±�  ²�  ²�  ²�  ²�  ²�  ³�  ³�  ³�  ³�  ³�  ¶�  ¶�  ¶�  ¶�  ¶�  ¶�  ¶�  ¶�  ¶�  ¶�  ¶�  ¹�  ¹�  ¹�  ¹�  ¹�  ¼�  ¼�  ½�  ½�  ¾�  ¾�  ¾�  Á�  Á�  Á�  Á�  Á�  Á�  Á�  Á�  Á�  Á�  Á�  Ä�  Ä�  Å�  Å�  Æ�  Æ�  Æ�  É�  É�  É�  É�  É�  Ì�  Ì�  Ì�  Ì�  Ì�  Ì�  Ì�  Ì�  Ì�  Ì�  Ì�  Ï�  Ï�  Ð�  Ð�  Ñ�  Ñ�  Ñ�  Ô�  Ô�  Õ�  Õ�  Ø�  Ø�  Ø�  Ù�  Ù�  Ù�  Ù�  Ù�  Ù�  Ú�  Ú�  Û�  Û�  Û�  Ü�  Ü�  Ü�  Ý�  Ý�  Ý�  Ý�  Ý�  Ý�  Þ�  Þ�  ß�  ß�  ß�  â�  â�  â�  â�  â�  å�  å�  å�  å�  å�  å�  å�  å�  å�  å�  å�  è�  è�  é�  é�  ê�  ê�  ê�  í�  í�  í�  í�  í�  ð�  ð�  ð�  ð�  ð�  ð�  ð�  ð�  ð�  ð�  ð�  ó�  ó�  ô�  ô�  õ�  õ�  õ�  ø�  ø�  ø�  ø�  ø�  ø�  ø�  ø�  û�  û�  û�  û�  û�  û�  û�  û�  û�  û�  û�  þ�  þ�  ÿ�  ÿ�   �   �   �  ��  ��  ��  ��  ��  ��  ��  ��  ��  ��  ��  ��  ��  ��  	�  	�  	�  	�  	�  	�  	�  	�  �  �  �  �  �  �  �  �  �  �  �  ��  ��  ��  ��  ��  ��  ��  ��  ��  ��  ��  ��  ��  ��  ��  ��  ��  ��  ��  ��  ��  ��  ��  ��  ��  ��  ��  ��  ��  ��  ��  ��  ��  ��  ��  ��  ��  ��  ��  ��  ��  ��  ��  !�  !�  !�  !�  !�  !�  !�  !�  !�  !�  !�  $�  $�  %�  %�  &�  &�  &�  )�  )�  )�  *�  *�  *�  *�  *�  *�  +�  +�  ,�  ,�  ,�  -�  -�  -�  .�  .�  .�  .�  .�  .�  /�  /�  0�  0�  0�  1�  1�  1�  2�  2�  2�  2�  2�  2�  3�  3�  4�  4�  4�  5�  5�  5�  6�  6�  6�  6�  6�  6�  7�  7�  8�  8�  8�  9�  9�  9�  :�  :�  :�  :�  :�  :�  ;�  ;�  <�  <�  <�  =�  =�  =�  >�  >�  >�  >�  >�  >�  ?�  ?�  @�  @�  @�  C�  C�  C�  C�  C�  F�  F�  F�  F�  F�  F�  F�  F�  F�  F�  F�  I�  I�  J�  J�  K�  K�  K�  N�  N�  N�  N�  N�  N�  N�  N�  O�  O�  O�  O�  P�  P�  Q�  Q�  R�  R�  R�  U�  U�  U�  U�  U�  U�  V�  V�  W�  W�  X�  X�  X�  [�  [�  [�  [�  [�  [�  \�  \�  \�  \�  \�  \�  \�  \�  \�  \�  _�  _�  `�  `�  `�  c�  c�  f�  f�  f�  f�  f�  g�  g�  g�  g�  g�  j�  j�  j�  j�  j�  j�  j�  j�  j�  j�  j�  k�  k�  k�  k�  k�  k�  k�  k�  k�  k�  k�  n�  n�  o�  o�  p�  p�  q�  q�  r�  r�  s�  s�  t�  t�  u�  u�  v�  v�  v�  y�  y�  y�  y�  y�  y�  y�  y�  y�  y�  z�  z�  z�  z�  z�  z�  z�  z�  z�  z�  {�  {�  {�  {�  {�  {�  {�  {�  {�  {�  |�  |�  |�  |�  |�  |�  |�  |�  |�  |�  }�  }�  }�  }�  }�  }�  }�  }�  }�  }�  ~�  ~�  ~�  ~�  ~�  ~�  ~�  ~�  ~�  ~�  ��  ��  ��  ��  ��  ��  ��  ��  ��  ��  €�  €�  €�  €�  €�  €�  €�  €�  €�  €�  ��  ��  ��  ��  ��  ��  ��  ��  ��  ��  ‚�  ‚�  ‚�  ‚�  ‚�  ‚�  ‚�  ‚�  ‚�  ‚�  ƒ�  ƒ�  ƒ�  ƒ�  ƒ�  ƒ�  ƒ�  ƒ�  ƒ�  ƒ�  „�  „�  „�  „�  „�  „�  „�  „�  „�  „�  …�  …�  …�  …�  …�  …�  …�  …�  …�  …�  ‡�  ‡�  ‡�  ‡�  ‡�  ‡�  ‡�  ‡�  ‡�  ‡�  ˆ�  ˆ�  ˆ�  ˆ�  ˆ�  ˆ�  ˆ�  ˆ�  ˆ�  ˆ�  ‰�  ‰�  ‰�  ‰�  ‰�  ‰�  ‰�  ‰�  ‰�  ‰�  Š�  Š�  Š�  Š�  Š�  Š�  Š�  Š�  Š�  Š�  ‹�  ‹�  ‹�  ‹�  ‹�  ‹�  ‹�  ‹�  ‹�  ‹�  Œ�  Œ�  Œ�  Œ�  Œ�  Œ�  Œ�  Œ�  Œ�  Œ�  ��  ��  ��  ��  ��  ��  ��  ��  ��  ��  Ž�  Ž�  Ž�  Ž�  Ž�  Ž�  Ž�  Ž�  Ž�  Ž�  ��  ��  ��  ��  ��  ��  ��  ��  ��  ��  ��  ��  ��  ��  ��  ��  ��  ��  ��  ��  ‘�  ‘�  ‘�  ‘�  ‘�  ‘�  ‘�  ‘�  ‘�  ‘�  ’�  ’�  ’�  ’�  ’�  ’�  ’�  ’�  ’�  ’�  “�  “�  “�  “�  “�  “�  “�  “�  “�  “�  •�  •�  •�  •�  •�  •�  •�  •�  •�  •�  –�  –�  –�  –�  –�  –�  –�  –�  –�  –�  —�  —�  —�  —�  —�  —�  —�  —�  —�  —�  ˜�  ˜�  ˜�  ˜�  ˜�  ˜�  ˜�  ˜�  ˜�  ˜�  ™�  ™�  ™�  ™�  ™�  ™�  ™�  ™�  ™�  ™�  š�  š�  š�  š�  š�  š�  š�  š�  š�  š�  ›�  ›�  ›�  ›�  ›�  ›�  ›�  ›�  ›�  ›�  œ�  œ�  œ�  œ�  œ�  œ�  œ�  œ�  œ�  œ�  ��  ��  ��  ��  ��  ��  ��  ��  ��  ��  Ÿ�  Ÿ�  Ÿ�  Ÿ�  Ÿ�  Ÿ�  Ÿ�  Ÿ�  Ÿ�  Ÿ�   �   �   �   �   �   �   �   �   �   �  ¡�  ¡�  ¡�  ¡�  ¡�  ¡�  ¡�  ¡�  ¡�  ¡�  ¢�  ¢�  ¢�  ¢�  ¢�  ¢�  ¢�  ¢�  ¢�  ¢�  £�  £�  £�  £�  £�  £�  £�  £�  £�  £�  ¤�  ¤�  ¤�  ¤�  ¤�  ¤�  ¤�  ¤�  ¤�  ¤�  ¥�  ¥�  ¥�  ¥�  ¥�  ¥�  ¥�  ¥�  ¥�  ¥�  ¦�  ¦�  ¦�  ¦�  ¦�  ¦�  ¦�  ¦�  ¦�  ¦�  §�  §�  §�  §�  §�  §�  §�  §�  §�  §�  ©�  ©�  ©�  ©�  ©�  ©�  ©�  ©�  ©�  ©�  ª�  ª�  ª�  ª�  ª�  ª�  ª�  ª�  ª�  ª�  «�  «�  «�  «�  «�  «�  «�  «�  «�  «�  ¬�  ¬�  ¬�  ¬�  ¬�  ¬�  ¬�  ¬�  ¬�  ¬�  ­�  ­�  ­�  ­�  ­�  ­�  ­�  ­�  ­�  ­�  ®�  ®�  ®�  ®�  ®�  ®�  ®�  ®�  ®�  ®�  ¯�  ¯�  ¯�  ¯�  ¯�  ¯�  ¯�  ¯�  ¯�  ¯�  °�  °�  °�  °�  °�  °�  °�  °�  °�  °�  ±�  ±�  ±�  ±�  ±�  ±�  ±�  ±�  ±�  ±�  ³�  ³�  ³�  ³�  ³�  ³�  ³�  ³�  ³�  ³�  ´�  ´�  ´�  ´�  ´�  ´�  ´�  ´�  ´�  ´�  µ�  µ�  µ�  µ�  µ�  µ�  µ�  µ�  µ�  µ�  ¶�  ¶�  ¶�  ¶�  ¶�  ¶�  ¶�  ¶�  ¶�  ¶�  ·�  ·�  ·�  ·�  ·�  ·�  ·�  ·�  ·�  ·�  ¸�  ¸�  ¸�  ¸�  ¸�  ¸�  ¸�  ¸�  ¸�  ¸�  ¹�  ¹�  ¹�  ¹�  ¹�  ¹�  ¹�  ¹�  ¹�  ¹�  º�  º�  º�  º�  º�  º�  º�  º�  º�  º�  »�  »�  »�  »�  »�  »�  »�  »�  »�  »�  ½�  ½�  ½�  ½�  ½�  ½�  ½�  ½�  ½�  ½�  ¾�  ¾�  ¾�  ¾�  ¾�  ¾�  ¾�  ¾�  ¾�  ¾�  ¿�  ¿�  ¿�  ¿�  ¿�  ¿�  ¿�  ¿�  ¿�  ¿�  À�  À�  À�  À�  À�  À�  À�  À�  À�  À�  Á�  Á�  Á�  Á�  Á�  Á�  Á�  Á�  Á�  Á�  Â�  Â�  Â�  Â�  Â�  Â�  Â�  Â�  Â�  Â�  Ã�  Ã�  Ã�  Ã�  Ã�  Ã�  Ã�  Ã�  Ã�  Ã�  Ä�  Ä�  Ä�  Ä�  Ä�  Ä�  Ä�  Ä�  Ä�  Ä�  Å�  Å�  Å�  Å�  Å�  Å�  Å�  Å�  Å�  Å�  Ç�  Ç�  Ç�  Ç�  Ç�  Ç�  Ç�  Ç�  Ç�  Ç�  È�  È�  È�  È�  È�  È�  È�  È�  È�  È�  É�  É�  É�  É�  É�  É�  É�  É�  É�  É�  Ê�  Ê�  Ê�  Ê�  Ê�  Ê�  Ê�  Ê�  Ê�  Ê�  Ë�  Ë�  Ë�  Ë�  Ë�  Ë�  Ë�  Ë�  Ë�  Ë�  Ì�  Ì�  Ì�  Ì�  Ì�  Ì�  Ì�  Ì�  Ì�  Ì�  Í�  Í�  Í�  Í�  Í�  Í�  Í�  Í�  Í�  Í�  Î�  Î�  Î�  Î�  Î�  Î�  Î�  Î�  Î�  Î�  Ï�  Ï�  Ï�  Ï�  Ï�  Ï�  Ï�  Ï�  Ï�  Ï�  Ñ�  Ñ�  Ñ�  Ñ�  Ñ�  Ñ�  Ñ�  Ò�  Ò�  Ò�  Ò�  Ò�  Ò�  Ò�  Ó�  Ó�  Ó�  Ó�  Ó�  Ó�  Ó�  Ô�  Ô�  Ô�  Ô�  Ô�  Ô�  Ô�  Õ�  Õ�  Õ�  Õ�  Õ�  Õ�  Õ�  Ö�  Ö�  Ö�  Ö�  Ö�  Ö�  Ö�  ×�  ×�  ×�  ×�  ×�  ×�  ×�  Ø�  Ø�  Ø�  Ø�  Ø�  Ø�  Ø�  Ø�  �   �Vector3�   ¥�  �Enemy�   ¥�  �Player�   ¥�  �Administrator�   ¥�  �Factory�   ¥�  
generator�   ¥�  �player�   ¥�  �friend$   ¥�  �admin,   ¥�  �enemy15   ¥�  �enemy2;   ¥�  �enemy3A   ¥�  �enemy4G   ¥�  �enemy5M   ¥�  �bossS   ¥�  �   �_ENV

Output of the LuaAssemblyPrinter after reading the binary:

0 params; n varargs; 19 slots; 1445 opcodes; 200 constants; 1 upvalue; 6 functions; 15 locals
function func0(...)
	0001	NEWTABLE 0 0 0
	0002	CLOSURE 1 0                        ; func1
	0003	SETTABLE 0 -1 1                    ; New
	0004	NEWTABLE 1 0 0
	0005	SETTABLE 1 -2 -3                   ; NextId 1
	0006	CLOSURE 2 1                        ; func2
	0007	SETTABLE 1 -1 2                    ; New
	0008	NEWTABLE 2 0 0
	0009	SETTABLE 2 -4 -5                   ; NextId 1
	0010	CLOSURE 3 2                        ; func16
	0011	SETTABLE 2 -6 3                    ; New
	0012	CLOSURE 3 3                        ; func38
	0013	SETTABUP 0 -7 3                    ; _ENV StartBattle
	0014	NEWTABLE 3 0 0
	0015	CLOSURE 4 4                        ; func39
	0016	SETTABLE 3 -8 4                    ; New
	0017	NEWTABLE 4 0 0
	0018	CLOSURE 5 5                        ; func42
	0019	SETTABLE 4 -8 5                    ; New
	0020	GETTABLE 5 4 -9                    ; New
	0021	CALL 5 1 2
	0022	GETTABUP 6 0 -10                   ; _ENV print
	0023	LOADK 7 -11                        ; Created factory
	0024	CALL 6 2 1
	0025	GETTABLE 6 5 -12                   ; GeneratePlayer
	0026	LOADK 7 -13                        ; Jeff
	0027	CALL 6 2 2
	0028	GETTABUP 7 0 -10                   ; _ENV print
	0029	LOADK 8 -14                        ; Created player 
	0030	GETTABLE 9 6 -15                   ; GetName
	0031	CALL 9 1 2
	0032	CONCAT 8 8 9
	0033	CALL 7 2 1
	0034	GETTABLE 7 5 -12                   ; GeneratePlayer
	0035	LOADK 8 -16                        ; Jay
	0036	CALL 7 2 2
	0037	GETTABUP 8 0 -10                   ; _ENV print
	0038	LOADK 9 -14                        ; Created player 
	0039	GETTABLE 10 7 -15                  ; GetName
	0040	CALL 10 1 2
	0041	CONCAT 9 9 10
	0042	CALL 8 2 1
	0043	GETTABLE 8 5 -17                   ; GenerateAdmin
	0044	CALL 8 1 2
	0045	GETTABUP 9 0 -10                   ; _ENV print
	0046	LOADK 10 -18                       ; Created admin
	0047	CALL 9 2 1
	0048	GETTABLE 9 5 -19                   ; GenerateEnemy
	0049	LOADK 10 -20                       ; Joe
	0050	LOADK 11 -21                       ; 10
	0051	LOADK 12 -22                       ; 5
	0052	LOADK 13 -3                        ; 1
	0053	CALL 9 5 2
	0054	GETTABLE 10 5 -19                  ; GenerateEnemy
	0055	LOADK 11 -23                       ; Jeffrey
	0056	LOADK 12 -24                       ; 30
	0057	LOADK 13 -25                       ; 20
	0058	LOADK 14 -26                       ; 4
	0059	CALL 10 5 2
	0060	GETTABLE 11 5 -19                  ; GenerateEnemy
	0061	LOADK 12 -27                       ; John
	0062	LOADK 13 -28                       ; 40
	0063	LOADK 14 -29                       ; 60
	0064	LOADK 15 -22                       ; 5
	0065	CALL 11 5 2
	0066	GETTABLE 12 5 -19                  ; GenerateEnemy
	0067	LOADK 13 -30                       ; Jane
	0068	LOADK 14 -29                       ; 60
	0069	LOADK 15 -31                       ; 100
	0070	LOADK 16 -32                       ; 3
	0071	CALL 12 5 2
	0072	GETTABLE 13 5 -19                  ; GenerateEnemy
	0073	LOADK 14 -33                       ; Jill
	0074	LOADK 15 -31                       ; 100
	0075	LOADK 16 -34                       ; 300
	0076	LOADK 17 -22                       ; 5
	0077	CALL 13 5 2
	0078	GETTABLE 14 5 -19                  ; GenerateEnemy
	0079	LOADK 15 -35                       ; Johnny
	0080	LOADK 16 -36                       ; 200
	0081	LOADK 17 -37                       ; 1000
	0082	LOADK 18 -21                       ; 10
	0083	CALL 14 5 2
	0084	GETTABLE 15 9 -38                  ; SetPosition
	0085	LOADK 16 -39                       ; 5
	0086	LOADK 17 -39                       ; 5
	0087	LOADK 18 -39                       ; 5
	0088	CALL 15 4 1
	0089	GETTABLE 15 10 -38                 ; SetPosition
	0090	LOADK 16 -40                       ; 10
	0091	LOADK 17 -40                       ; 10
	0092	LOADK 18 -40                       ; 10
	0093	CALL 15 4 1
	0094	GETTABLE 15 11 -38                 ; SetPosition
	0095	LOADK 16 -41                       ; 15
	0096	LOADK 17 -41                       ; 15
	0097	LOADK 18 -41                       ; 15
	0098	CALL 15 4 1
	0099	GETTABLE 15 12 -38                 ; SetPosition
	0100	LOADK 16 -42                       ; 100
	0101	LOADK 17 -40                       ; 10
	0102	LOADK 18 -43                       ; 30
	0103	CALL 15 4 1
	0104	GETTABLE 15 13 -38                 ; SetPosition
	0105	LOADK 16 -44                       ; 200
	0106	LOADK 17 -45                       ; 0
	0107	LOADK 18 -45                       ; 0
	0108	CALL 15 4 1
	0109	GETTABLE 15 14 -38                 ; SetPosition
	0110	LOADK 16 -46                       ; 300
	0111	LOADK 17 -44                       ; 200
	0112	LOADK 18 -42                       ; 100
	0113	CALL 15 4 1
	0114	GETTABUP 15 0 -47                  ; _ENV assert
	0115	GETTABUP 16 0 -7                   ; _ENV StartBattle
	0116	MOVE 17 6
	0117	MOVE 18 11
	0118	CALL 16 3 2
	0119	EQ 1 16 -48                        ; - False
	0120	JMP 0 1                            ; to pc 122
	0121	LOADBOOL 16 0 1
	0122	LOADBOOL 16 1 0
	0123	LOADK 17 -49                       ; Test 1 failed
	0124	CALL 15 3 1
	0125	GETTABLE 15 6 -38                  ; SetPosition
	0126	LOADK 16 -39                       ; 5
	0127	LOADK 17 -39                       ; 5
	0128	LOADK 18 -39                       ; 5
	0129	CALL 15 4 1
	0130	GETTABLE 15 6 -50                  ; PrintStatus
	0131	CALL 15 1 1
	0132	GETTABLE 15 9 -50                  ; PrintStatus
	0133	CALL 15 1 1
	0134	GETTABUP 15 0 -10                  ; _ENV print
	0135	LOADK 16 -51                       ;  
	0136	CALL 15 2 1
	0137	GETTABUP 15 0 -47                  ; _ENV assert
	0138	GETTABUP 16 0 -7                   ; _ENV StartBattle
	0139	MOVE 17 6
	0140	MOVE 18 9
	0141	CALL 16 3 2
	0142	EQ 1 16 -52                        ; - True
	0143	JMP 0 1                            ; to pc 145
	0144	LOADBOOL 16 0 1
	0145	LOADBOOL 16 1 0
	0146	LOADK 17 -53                       ; Test 2 failed
	0147	CALL 15 3 1
	0148	GETTABLE 15 6 -50                  ; PrintStatus
	0149	CALL 15 1 1
	0150	GETTABLE 15 9 -50                  ; PrintStatus
	0151	CALL 15 1 1
	0152	GETTABUP 15 0 -10                  ; _ENV print
	0153	LOADK 16 -51                       ;  
	0154	CALL 15 2 1
	0155	GETTABLE 15 6 -38                  ; SetPosition
	0156	LOADK 16 -40                       ; 10
	0157	LOADK 17 -40                       ; 10
	0158	LOADK 18 -40                       ; 10
	0159	CALL 15 4 1
	0160	GETTABUP 15 0 -47                  ; _ENV assert
	0161	GETTABUP 16 0 -7                   ; _ENV StartBattle
	0162	MOVE 17 6
	0163	MOVE 18 10
	0164	CALL 16 3 2
	0165	EQ 1 16 -52                        ; - True
	0166	JMP 0 1                            ; to pc 168
	0167	LOADBOOL 16 0 1
	0168	LOADBOOL 16 1 0
	0169	LOADK 17 -54                       ; Test 3 failed
	0170	CALL 15 3 1
	0171	GETTABLE 15 6 -50                  ; PrintStatus
	0172	CALL 15 1 1
	0173	GETTABLE 15 10 -50                 ; PrintStatus
	0174	CALL 15 1 1
	0175	GETTABUP 15 0 -10                  ; _ENV print
	0176	LOADK 16 -51                       ;  
	0177	CALL 15 2 1
	0178	GETTABLE 15 9 -55                  ; Reset
	0179	CALL 15 1 1
	0180	GETTABLE 15 10 -55                 ; Reset
	0181	CALL 15 1 1
	0182	GETTABLE 15 6 -56                  ; GainXp
	0183	LOADK 16 -21                       ; 10
	0184	CALL 15 2 1
	0185	GETTABUP 15 0 -10                  ; _ENV print
	0186	GETTABLE 16 6 -15                  ; GetName
	0187	CALL 16 1 2
	0188	LOADK 17 -57                       ;  gained 10 XP
	0189	CONCAT 16 16 17
	0190	CALL 15 2 1
	0191	GETTABLE 15 6 -50                  ; PrintStatus
	0192	CALL 15 1 1
	0193	GETTABUP 15 0 -10                  ; _ENV print
	0194	LOADK 16 -51                       ;  
	0195	CALL 15 2 1
	0196	GETTABLE 15 6 -56                  ; GainXp
	0197	LOADK 16 -25                       ; 20
	0198	CALL 15 2 1
	0199	GETTABUP 15 0 -10                  ; _ENV print
	0200	GETTABLE 16 6 -15                  ; GetName
	0201	CALL 16 1 2
	0202	LOADK 17 -58                       ;  gained 20 XP
	0203	CONCAT 16 16 17
	0204	CALL 15 2 1
	0205	GETTABLE 15 6 -50                  ; PrintStatus
	0206	CALL 15 1 1
	0207	GETTABUP 15 0 -10                  ; _ENV print
	0208	LOADK 16 -51                       ;  
	0209	CALL 15 2 1
	0210	GETTABLE 15 6 -38                  ; SetPosition
	0211	LOADK 16 -39                       ; 5
	0212	LOADK 17 -39                       ; 5
	0213	LOADK 18 -39                       ; 5
	0214	CALL 15 4 1
	0215	GETTABUP 15 0 -47                  ; _ENV assert
	0216	GETTABUP 16 0 -7                   ; _ENV StartBattle
	0217	MOVE 17 6
	0218	MOVE 18 9
	0219	CALL 16 3 2
	0220	EQ 1 16 -52                        ; - True
	0221	JMP 0 1                            ; to pc 223
	0222	LOADBOOL 16 0 1
	0223	LOADBOOL 16 1 0
	0224	LOADK 17 -59                       ; Test 4 failed
	0225	CALL 15 3 1
	0226	GETTABLE 15 6 -50                  ; PrintStatus
	0227	CALL 15 1 1
	0228	GETTABLE 15 9 -50                  ; PrintStatus
	0229	CALL 15 1 1
	0230	GETTABUP 15 0 -10                  ; _ENV print
	0231	LOADK 16 -51                       ;  
	0232	CALL 15 2 1
	0233	GETTABLE 15 6 -38                  ; SetPosition
	0234	LOADK 16 -40                       ; 10
	0235	LOADK 17 -40                       ; 10
	0236	LOADK 18 -40                       ; 10
	0237	CALL 15 4 1
	0238	GETTABUP 15 0 -47                  ; _ENV assert
	0239	GETTABUP 16 0 -7                   ; _ENV StartBattle
	0240	MOVE 17 6
	0241	MOVE 18 10
	0242	CALL 16 3 2
	0243	EQ 1 16 -52                        ; - True
	0244	JMP 0 1                            ; to pc 246
	0245	LOADBOOL 16 0 1
	0246	LOADBOOL 16 1 0
	0247	LOADK 17 -60                       ; Test 5 failed
	0248	CALL 15 3 1
	0249	GETTABLE 15 6 -50                  ; PrintStatus
	0250	CALL 15 1 1
	0251	GETTABLE 15 10 -50                 ; PrintStatus
	0252	CALL 15 1 1
	0253	GETTABUP 15 0 -10                  ; _ENV print
	0254	LOADK 16 -51                       ;  
	0255	CALL 15 2 1
	0256	GETTABLE 15 6 -38                  ; SetPosition
	0257	GETTABLE 16 11 -61                 ; GetX
	0258	CALL 16 1 2
	0259	GETTABLE 17 11 -62                 ; GetY
	0260	CALL 17 1 2
	0261	GETTABLE 18 11 -63                 ; GetZ
	0262	CALL 18 1 0
	0263	CALL 15 0 1
	0264	GETTABUP 15 0 -47                  ; _ENV assert
	0265	GETTABUP 16 0 -7                   ; _ENV StartBattle
	0266	MOVE 17 6
	0267	MOVE 18 11
	0268	CALL 16 3 2
	0269	EQ 1 16 -52                        ; - True
	0270	JMP 0 1                            ; to pc 272
	0271	LOADBOOL 16 0 1
	0272	LOADBOOL 16 1 0
	0273	LOADK 17 -64                       ; Test 6 failed
	0274	CALL 15 3 1
	0275	GETTABLE 15 6 -50                  ; PrintStatus
	0276	CALL 15 1 1
	0277	GETTABLE 15 11 -50                 ; PrintStatus
	0278	CALL 15 1 1
	0279	GETTABUP 15 0 -10                  ; _ENV print
	0280	LOADK 16 -51                       ;  
	0281	CALL 15 2 1
	0282	GETTABLE 15 6 -56                  ; GainXp
	0283	LOADK 16 -65                       ; 50
	0284	CALL 15 2 1
	0285	GETTABUP 15 0 -10                  ; _ENV print
	0286	GETTABLE 16 6 -15                  ; GetName
	0287	CALL 16 1 2
	0288	LOADK 17 -66                       ;  gained 50 XP
	0289	CONCAT 16 16 17
	0290	CALL 15 2 1
	0291	GETTABLE 15 6 -50                  ; PrintStatus
	0292	CALL 15 1 1
	0293	GETTABUP 15 0 -10                  ; _ENV print
	0294	LOADK 16 -51                       ;  
	0295	CALL 15 2 1
	0296	GETTABLE 15 6 -38                  ; SetPosition
	0297	GETTABLE 16 12 -61                 ; GetX
	0298	CALL 16 1 2
	0299	GETTABLE 17 12 -62                 ; GetY
	0300	CALL 17 1 2
	0301	GETTABLE 18 12 -63                 ; GetZ
	0302	CALL 18 1 0
	0303	CALL 15 0 1
	0304	GETTABUP 15 0 -47                  ; _ENV assert
	0305	GETTABUP 16 0 -7                   ; _ENV StartBattle
	0306	MOVE 17 6
	0307	MOVE 18 12
	0308	CALL 16 3 2
	0309	EQ 1 16 -52                        ; - True
	0310	JMP 0 1                            ; to pc 312
	0311	LOADBOOL 16 0 1
	0312	LOADBOOL 16 1 0
	0313	LOADK 17 -67                       ; Test 7 failed
	0314	CALL 15 3 1
	0315	GETTABLE 15 6 -50                  ; PrintStatus
	0316	CALL 15 1 1
	0317	GETTABLE 15 12 -50                 ; PrintStatus
	0318	CALL 15 1 1
	0319	GETTABUP 15 0 -10                  ; _ENV print
	0320	LOADK 16 -51                       ;  
	0321	CALL 15 2 1
	0322	GETTABLE 15 6 -56                  ; GainXp
	0323	LOADK 16 -68                       ; 150
	0324	CALL 15 2 1
	0325	GETTABUP 15 0 -10                  ; _ENV print
	0326	GETTABLE 16 6 -15                  ; GetName
	0327	CALL 16 1 2
	0328	LOADK 17 -69                       ;  gained 150 XP
	0329	CONCAT 16 16 17
	0330	CALL 15 2 1
	0331	GETTABLE 15 6 -50                  ; PrintStatus
	0332	CALL 15 1 1
	0333	GETTABUP 15 0 -10                  ; _ENV print
	0334	LOADK 16 -51                       ;  
	0335	CALL 15 2 1
	0336	GETTABLE 15 6 -56                  ; GainXp
	0337	LOADK 16 -68                       ; 150
	0338	CALL 15 2 1
	0339	GETTABUP 15 0 -10                  ; _ENV print
	0340	GETTABLE 16 6 -15                  ; GetName
	0341	CALL 16 1 2
	0342	LOADK 17 -69                       ;  gained 150 XP
	0343	CONCAT 16 16 17
	0344	CALL 15 2 1
	0345	GETTABLE 15 6 -50                  ; PrintStatus
	0346	CALL 15 1 1
	0347	GETTABUP 15 0 -10                  ; _ENV print
	0348	LOADK 16 -51                       ;  
	0349	CALL 15 2 1
	0350	GETTABLE 15 6 -38                  ; SetPosition
	0351	GETTABLE 16 13 -61                 ; GetX
	0352	CALL 16 1 2
	0353	GETTABLE 17 13 -62                 ; GetY
	0354	CALL 17 1 2
	0355	GETTABLE 18 13 -63                 ; GetZ
	0356	CALL 18 1 0
	0357	CALL 15 0 1
	0358	GETTABUP 15 0 -47                  ; _ENV assert
	0359	GETTABUP 16 0 -7                   ; _ENV StartBattle
	0360	MOVE 17 6
	0361	MOVE 18 13
	0362	CALL 16 3 2
	0363	EQ 1 16 -52                        ; - True
	0364	JMP 0 1                            ; to pc 366
	0365	LOADBOOL 16 0 1
	0366	LOADBOOL 16 1 0
	0367	LOADK 17 -70                       ; Test 8 failed
	0368	CALL 15 3 1
	0369	GETTABLE 15 6 -50                  ; PrintStatus
	0370	CALL 15 1 1
	0371	GETTABLE 15 13 -50                 ; PrintStatus
	0372	CALL 15 1 1
	0373	GETTABUP 15 0 -10                  ; _ENV print
	0374	LOADK 16 -51                       ;  
	0375	CALL 15 2 1
	0376	GETTABLE 15 6 -56                  ; GainXp
	0377	LOADK 16 -34                       ; 300
	0378	CALL 15 2 1
	0379	GETTABUP 15 0 -10                  ; _ENV print
	0380	GETTABLE 16 6 -15                  ; GetName
	0381	CALL 16 1 2
	0382	LOADK 17 -71                       ;  gained 300 XP
	0383	CONCAT 16 16 17
	0384	CALL 15 2 1
	0385	GETTABLE 15 6 -50                  ; PrintStatus
	0386	CALL 15 1 1
	0387	GETTABUP 15 0 -10                  ; _ENV print
	0388	LOADK 16 -51                       ;  
	0389	CALL 15 2 1
	0390	GETTABLE 15 6 -56                  ; GainXp
	0391	LOADK 16 -34                       ; 300
	0392	CALL 15 2 1
	0393	GETTABUP 15 0 -10                  ; _ENV print
	0394	GETTABLE 16 6 -15                  ; GetName
	0395	CALL 16 1 2
	0396	LOADK 17 -71                       ;  gained 300 XP
	0397	CONCAT 16 16 17
	0398	CALL 15 2 1
	0399	GETTABLE 15 6 -50                  ; PrintStatus
	0400	CALL 15 1 1
	0401	GETTABUP 15 0 -10                  ; _ENV print
	0402	LOADK 16 -51                       ;  
	0403	CALL 15 2 1
	0404	GETTABLE 15 6 -56                  ; GainXp
	0405	LOADK 16 -34                       ; 300
	0406	CALL 15 2 1
	0407	GETTABUP 15 0 -10                  ; _ENV print
	0408	GETTABLE 16 6 -15                  ; GetName
	0409	CALL 16 1 2
	0410	LOADK 17 -71                       ;  gained 300 XP
	0411	CONCAT 16 16 17
	0412	CALL 15 2 1
	0413	GETTABLE 15 6 -50                  ; PrintStatus
	0414	CALL 15 1 1
	0415	GETTABUP 15 0 -10                  ; _ENV print
	0416	LOADK 16 -51                       ;  
	0417	CALL 15 2 1
	0418	GETTABLE 15 6 -56                  ; GainXp
	0419	LOADK 16 -72                       ; 400
	0420	CALL 15 2 1
	0421	GETTABUP 15 0 -10                  ; _ENV print
	0422	GETTABLE 16 6 -15                  ; GetName
	0423	CALL 16 1 2
	0424	LOADK 17 -73                       ;  gained 400 XP
	0425	CONCAT 16 16 17
	0426	CALL 15 2 1
	0427	GETTABLE 15 6 -50                  ; PrintStatus
	0428	CALL 15 1 1
	0429	GETTABUP 15 0 -10                  ; _ENV print
	0430	LOADK 16 -51                       ;  
	0431	CALL 15 2 1
	0432	GETTABLE 15 6 -56                  ; GainXp
	0433	LOADK 16 -74                       ; 500
	0434	CALL 15 2 1
	0435	GETTABUP 15 0 -10                  ; _ENV print
	0436	GETTABLE 16 6 -15                  ; GetName
	0437	CALL 16 1 2
	0438	LOADK 17 -75                       ;  gained 500 XP
	0439	CONCAT 16 16 17
	0440	CALL 15 2 1
	0441	GETTABLE 15 6 -50                  ; PrintStatus
	0442	CALL 15 1 1
	0443	GETTABUP 15 0 -10                  ; _ENV print
	0444	LOADK 16 -51                       ;  
	0445	CALL 15 2 1
	0446	GETTABLE 15 6 -56                  ; GainXp
	0447	LOADK 16 -76                       ; 600
	0448	CALL 15 2 1
	0449	GETTABUP 15 0 -10                  ; _ENV print
	0450	GETTABLE 16 6 -15                  ; GetName
	0451	CALL 16 1 2
	0452	LOADK 17 -77                       ;  gained 600 XP
	0453	CONCAT 16 16 17
	0454	CALL 15 2 1
	0455	GETTABLE 15 6 -50                  ; PrintStatus
	0456	CALL 15 1 1
	0457	GETTABUP 15 0 -10                  ; _ENV print
	0458	LOADK 16 -51                       ;  
	0459	CALL 15 2 1
	0460	GETTABLE 15 6 -38                  ; SetPosition
	0461	LOADK 16 -46                       ; 300
	0462	LOADK 17 -44                       ; 200
	0463	LOADK 18 -42                       ; 100
	0464	CALL 15 4 1
	0465	GETTABUP 15 0 -47                  ; _ENV assert
	0466	GETTABUP 16 0 -7                   ; _ENV StartBattle
	0467	MOVE 17 6
	0468	MOVE 18 14
	0469	CALL 16 3 2
	0470	EQ 1 16 -52                        ; - True
	0471	JMP 0 1                            ; to pc 473
	0472	LOADBOOL 16 0 1
	0473	LOADBOOL 16 1 0
	0474	LOADK 17 -78                       ; Test 9 failed
	0475	CALL 15 3 1
	0476	GETTABLE 15 6 -50                  ; PrintStatus
	0477	CALL 15 1 1
	0478	GETTABLE 15 14 -50                 ; PrintStatus
	0479	CALL 15 1 1
	0480	GETTABUP 15 0 -10                  ; _ENV print
	0481	LOADK 16 -51                       ;  
	0482	CALL 15 2 1
	0483	GETTABUP 15 0 -10                  ; _ENV print
	0484	GETTABLE 16 6 -15                  ; GetName
	0485	CALL 16 1 2
	0486	LOADK 17 -79                       ;  gives 1015 xp to 
	0487	GETTABLE 18 7 -15                  ; GetName
	0488	CALL 18 1 2
	0489	CONCAT 16 16 18
	0490	CALL 15 2 1
	0491	GETTABLE 15 6 -80                  ; DonateXp
	0492	MOVE 16 7
	0493	LOADK 17 -81                       ; 1015
	0494	CALL 15 3 1
	0495	GETTABLE 15 6 -50                  ; PrintStatus
	0496	CALL 15 1 1
	0497	GETTABLE 15 7 -50                  ; PrintStatus
	0498	CALL 15 1 1
	0499	GETTABUP 15 0 -10                  ; _ENV print
	0500	LOADK 16 -51                       ;  
	0501	CALL 15 2 1
	0502	GETTABUP 15 0 -10                  ; _ENV print
	0503	GETTABLE 16 7 -15                  ; GetName
	0504	CALL 16 1 2
	0505	LOADK 17 -82                       ;  cheats to level 99
	0506	CONCAT 16 16 17
	0507	CALL 15 2 1
	0508	GETTABLE 15 7 -83                  ; Cheat
	0509	CALL 15 1 1
	0510	GETTABLE 15 7 -50                  ; PrintStatus
	0511	CALL 15 1 1
	0512	GETTABUP 15 0 -10                  ; _ENV print
	0513	LOADK 16 -51                       ;  
	0514	CALL 15 2 1
	0515	GETTABUP 15 0 -10                  ; _ENV print
	0516	LOADK 16 -84                       ; Banning 
	0517	GETTABLE 17 7 -15                  ; GetName
	0518	CALL 17 1 2
	0519	CONCAT 16 16 17
	0520	CALL 15 2 1
	0521	GETTABUP 15 0 -47                  ; _ENV assert
	0522	GETTABLE 16 8 -85                  ; BanPlayer
	0523	MOVE 17 7
	0524	CALL 16 2 2
	0525	EQ 1 16 -52                        ; - True
	0526	JMP 0 1                            ; to pc 528
	0527	LOADBOOL 16 0 1
	0528	LOADBOOL 16 1 0
	0529	LOADK 17 -86                       ; Test 10 failed
	0530	CALL 15 3 1
	0531	GETTABLE 15 7 -50                  ; PrintStatus
	0532	CALL 15 1 1
	0533	GETTABUP 15 0 -10                  ; _ENV print
	0534	LOADK 16 -51                       ;  
	0535	CALL 15 2 1
	0536	GETTABLE 15 9 -55                  ; Reset
	0537	CALL 15 1 1
	0538	GETTABLE 15 7 -38                  ; SetPosition
	0539	LOADK 16 -39                       ; 5
	0540	LOADK 17 -39                       ; 5
	0541	LOADK 18 -39                       ; 5
	0542	CALL 15 4 1
	0543	GETTABLE 15 6 -38                  ; SetPosition
	0544	LOADK 16 -39                       ; 5
	0545	LOADK 17 -39                       ; 5
	0546	LOADK 18 -39                       ; 5
	0547	CALL 15 4 1
	0548	GETTABUP 15 0 -47                  ; _ENV assert
	0549	GETTABUP 16 0 -7                   ; _ENV StartBattle
	0550	MOVE 17 7
	0551	MOVE 18 9
	0552	CALL 16 3 2
	0553	EQ 1 16 -48                        ; - False
	0554	JMP 0 1                            ; to pc 556
	0555	LOADBOOL 16 0 1
	0556	LOADBOOL 16 1 0
	0557	LOADK 17 -87                       ; Test 11 failed
	0558	CALL 15 3 1
	0559	GETTABUP 15 0 -47                  ; _ENV assert
	0560	GETTABUP 16 0 -7                   ; _ENV StartBattle
	0561	MOVE 17 6
	0562	MOVE 18 9
	0563	CALL 16 3 2
	0564	EQ 1 16 -52                        ; - True
	0565	JMP 0 1                            ; to pc 567
	0566	LOADBOOL 16 0 1
	0567	LOADBOOL 16 1 0
	0568	LOADK 17 -88                       ; Test 12 failed
	0569	CALL 15 3 1
	0570	GETTABLE 15 6 -50                  ; PrintStatus
	0571	CALL 15 1 1
	0572	GETTABLE 15 7 -50                  ; PrintStatus
	0573	CALL 15 1 1
	0574	GETTABLE 15 9 -50                  ; PrintStatus
	0575	CALL 15 1 1
	0576	GETTABLE 15 10 -50                 ; PrintStatus
	0577	CALL 15 1 1
	0578	GETTABLE 15 11 -50                 ; PrintStatus
	0579	CALL 15 1 1
	0580	GETTABLE 15 12 -50                 ; PrintStatus
	0581	CALL 15 1 1
	0582	GETTABLE 15 13 -50                 ; PrintStatus
	0583	CALL 15 1 1
	0584	GETTABLE 15 14 -50                 ; PrintStatus
	0585	CALL 15 1 1
	0586	GETTABUP 15 0 -10                  ; _ENV print
	0587	LOADK 16 -51                       ;  
	0588	CALL 15 2 1
	0589	GETTABUP 15 0 -47                  ; _ENV assert
	0590	GETTABLE 16 6 -89                  ; ReadValue
	0591	LOADK 17 -90                       ; id
	0592	CALL 16 2 2
	0593	EQ 1 16 -3                         ; - 1
	0594	JMP 0 1                            ; to pc 596
	0595	LOADBOOL 16 0 1
	0596	LOADBOOL 16 1 0
	0597	LOADK 17 -91                       ; Test 13 failed
	0598	CALL 15 3 1
	0599	GETTABUP 15 0 -47                  ; _ENV assert
	0600	GETTABLE 16 6 -89                  ; ReadValue
	0601	LOADK 17 -92                       ; name
	0602	CALL 16 2 2
	0603	EQ 1 16 -13                        ; - Jeff
	0604	JMP 0 1                            ; to pc 606
	0605	LOADBOOL 16 0 1
	0606	LOADBOOL 16 1 0
	0607	LOADK 17 -93                       ; Test 14 failed
	0608	CALL 15 3 1
	0609	GETTABUP 15 0 -47                  ; _ENV assert
	0610	GETTABLE 16 6 -89                  ; ReadValue
	0611	LOADK 17 -94                       ; health
	0612	CALL 16 2 2
	0613	EQ 1 16 -28                        ; - 40
	0614	JMP 0 1                            ; to pc 616
	0615	LOADBOOL 16 0 1
	0616	LOADBOOL 16 1 0
	0617	LOADK 17 -95                       ; Test 15 failed
	0618	CALL 15 3 1
	0619	GETTABUP 15 0 -47                  ; _ENV assert
	0620	GETTABLE 16 6 -89                  ; ReadValue
	0621	LOADK 17 -96                       ; level
	0622	CALL 16 2 2
	0623	EQ 1 16 -21                        ; - 10
	0624	JMP 0 1                            ; to pc 626
	0625	LOADBOOL 16 0 1
	0626	LOADBOOL 16 1 0
	0627	LOADK 17 -97                       ; Test 16 failed
	0628	CALL 15 3 1
	0629	GETTABUP 15 0 -47                  ; _ENV assert
	0630	GETTABLE 16 6 -89                  ; ReadValue
	0631	LOADK 17 -98                       ; x
	0632	CALL 16 2 2
	0633	EQ 1 16 -39                        ; - 5
	0634	JMP 0 1                            ; to pc 636
	0635	LOADBOOL 16 0 1
	0636	LOADBOOL 16 1 0
	0637	LOADK 17 -99                       ; Test 17 failed
	0638	CALL 15 3 1
	0639	GETTABUP 15 0 -47                  ; _ENV assert
	0640	GETTABLE 16 6 -89                  ; ReadValue
	0641	LOADK 17 -100                      ; y
	0642	CALL 16 2 2
	0643	EQ 1 16 -39                        ; - 5
	0644	JMP 0 1                            ; to pc 646
	0645	LOADBOOL 16 0 1
	0646	LOADBOOL 16 1 0
	0647	LOADK 17 -101                      ; Test 18 failed
	0648	CALL 15 3 1
	0649	GETTABUP 15 0 -47                  ; _ENV assert
	0650	GETTABLE 16 6 -89                  ; ReadValue
	0651	LOADK 17 -102                      ; z
	0652	CALL 16 2 2
	0653	EQ 1 16 -39                        ; - 5
	0654	JMP 0 1                            ; to pc 656
	0655	LOADBOOL 16 0 1
	0656	LOADBOOL 16 1 0
	0657	LOADK 17 -103                      ; Test 19 failed
	0658	CALL 15 3 1
	0659	GETTABUP 15 0 -47                  ; _ENV assert
	0660	GETTABLE 16 6 -89                  ; ReadValue
	0661	LOADK 17 -104                      ; xp
	0662	CALL 16 2 2
	0663	EQ 1 16 -105                       ; - 1055
	0664	JMP 0 1                            ; to pc 666
	0665	LOADBOOL 16 0 1
	0666	LOADBOOL 16 1 0
	0667	LOADK 17 -106                      ; Test 20 failed
	0668	CALL 15 3 1
	0669	GETTABUP 15 0 -47                  ; _ENV assert
	0670	GETTABLE 16 6 -89                  ; ReadValue
	0671	LOADK 17 -107                      ; damage
	0672	CALL 16 2 2
	0673	EQ 1 16 -24                        ; - 30
	0674	JMP 0 1                            ; to pc 676
	0675	LOADBOOL 16 0 1
	0676	LOADBOOL 16 1 0
	0677	LOADK 17 -108                      ; Test 21 failed
	0678	CALL 15 3 1
	0679	GETTABUP 15 0 -47                  ; _ENV assert
	0680	GETTABLE 16 6 -89                  ; ReadValue
	0681	LOADK 17 -109                      ; maxhealth
	0682	CALL 16 2 2
	0683	EQ 1 16 -31                        ; - 100
	0684	JMP 0 1                            ; to pc 686
	0685	LOADBOOL 16 0 1
	0686	LOADBOOL 16 1 0
	0687	LOADK 17 -110                      ; Test 22 failed
	0688	CALL 15 3 1
	0689	GETTABUP 15 0 -47                  ; _ENV assert
	0690	GETTABLE 16 6 -89                  ; ReadValue
	0691	LOADK 17 -111                      ; inbattle
	0692	CALL 16 2 2
	0693	EQ 1 16 -48                        ; - False
	0694	JMP 0 1                            ; to pc 696
	0695	LOADBOOL 16 0 1
	0696	LOADBOOL 16 1 0
	0697	LOADK 17 -112                      ; Test 23 failed
	0698	CALL 15 3 1
	0699	GETTABUP 15 0 -47                  ; _ENV assert
	0700	GETTABLE 16 6 -89                  ; ReadValue
	0701	LOADK 17 -113                      ; banned
	0702	CALL 16 2 2
	0703	EQ 1 16 -48                        ; - False
	0704	JMP 0 1                            ; to pc 706
	0705	LOADBOOL 16 0 1
	0706	LOADBOOL 16 1 0
	0707	LOADK 17 -114                      ; Test 24 failed
	0708	CALL 15 3 1
	0709	GETTABUP 15 0 -47                  ; _ENV assert
	0710	GETTABLE 16 6 -89                  ; ReadValue
	0711	LOADK 17 -115                      ; flagged
	0712	CALL 16 2 2
	0713	EQ 1 16 -48                        ; - False
	0714	JMP 0 1                            ; to pc 716
	0715	LOADBOOL 16 0 1
	0716	LOADBOOL 16 1 0
	0717	LOADK 17 -116                      ; Test 25 failed
	0718	CALL 15 3 1
	0719	GETTABUP 15 0 -47                  ; _ENV assert
	0720	GETTABLE 16 7 -89                  ; ReadValue
	0721	LOADK 17 -90                       ; id
	0722	CALL 16 2 2
	0723	EQ 1 16 -117                       ; - 2
	0724	JMP 0 1                            ; to pc 726
	0725	LOADBOOL 16 0 1
	0726	LOADBOOL 16 1 0
	0727	LOADK 17 -118                      ; Test 26 failed
	0728	CALL 15 3 1
	0729	GETTABUP 15 0 -47                  ; _ENV assert
	0730	GETTABLE 16 7 -89                  ; ReadValue
	0731	LOADK 17 -92                       ; name
	0732	CALL 16 2 2
	0733	EQ 1 16 -16                        ; - Jay
	0734	JMP 0 1                            ; to pc 736
	0735	LOADBOOL 16 0 1
	0736	LOADBOOL 16 1 0
	0737	LOADK 17 -119                      ; Test 27 failed
	0738	CALL 15 3 1
	0739	GETTABUP 15 0 -47                  ; _ENV assert
	0740	GETTABLE 16 7 -89                  ; ReadValue
	0741	LOADK 17 -94                       ; health
	0742	CALL 16 2 2
	0743	EQ 1 16 -21                        ; - 10
	0744	JMP 0 1                            ; to pc 746
	0745	LOADBOOL 16 0 1
	0746	LOADBOOL 16 1 0
	0747	LOADK 17 -120                      ; Test 28 failed
	0748	CALL 15 3 1
	0749	GETTABUP 15 0 -47                  ; _ENV assert
	0750	GETTABLE 16 7 -89                  ; ReadValue
	0751	LOADK 17 -96                       ; level
	0752	CALL 16 2 2
	0753	EQ 1 16 -3                         ; - 1
	0754	JMP 0 1                            ; to pc 756
	0755	LOADBOOL 16 0 1
	0756	LOADBOOL 16 1 0
	0757	LOADK 17 -121                      ; Test 29 failed
	0758	CALL 15 3 1
	0759	GETTABUP 15 0 -47                  ; _ENV assert
	0760	GETTABLE 16 7 -89                  ; ReadValue
	0761	LOADK 17 -98                       ; x
	0762	CALL 16 2 2
	0763	EQ 1 16 -39                        ; - 5
	0764	JMP 0 1                            ; to pc 766
	0765	LOADBOOL 16 0 1
	0766	LOADBOOL 16 1 0
	0767	LOADK 17 -122                      ; Test 30 failed
	0768	CALL 15 3 1
	0769	GETTABUP 15 0 -47                  ; _ENV assert
	0770	GETTABLE 16 7 -89                  ; ReadValue
	0771	LOADK 17 -100                      ; y
	0772	CALL 16 2 2
	0773	EQ 1 16 -39                        ; - 5
	0774	JMP 0 1                            ; to pc 776
	0775	LOADBOOL 16 0 1
	0776	LOADBOOL 16 1 0
	0777	LOADK 17 -123                      ; Test 31 failed
	0778	CALL 15 3 1
	0779	GETTABUP 15 0 -47                  ; _ENV assert
	0780	GETTABLE 16 7 -89                  ; ReadValue
	0781	LOADK 17 -102                      ; z
	0782	CALL 16 2 2
	0783	EQ 1 16 -39                        ; - 5
	0784	JMP 0 1                            ; to pc 786
	0785	LOADBOOL 16 0 1
	0786	LOADBOOL 16 1 0
	0787	LOADK 17 -124                      ; Test 32 failed
	0788	CALL 15 3 1
	0789	GETTABUP 15 0 -47                  ; _ENV assert
	0790	GETTABLE 16 7 -89                  ; ReadValue
	0791	LOADK 17 -104                      ; xp
	0792	CALL 16 2 2
	0793	EQ 1 16 -125                       ; - 0
	0794	JMP 0 1                            ; to pc 796
	0795	LOADBOOL 16 0 1
	0796	LOADBOOL 16 1 0
	0797	LOADK 17 -126                      ; Test 33 failed
	0798	CALL 15 3 1
	0799	GETTABUP 15 0 -47                  ; _ENV assert
	0800	GETTABLE 16 7 -89                  ; ReadValue
	0801	LOADK 17 -107                      ; damage
	0802	CALL 16 2 2
	0803	EQ 1 16 -3                         ; - 1
	0804	JMP 0 1                            ; to pc 806
	0805	LOADBOOL 16 0 1
	0806	LOADBOOL 16 1 0
	0807	LOADK 17 -127                      ; Test 34 failed
	0808	CALL 15 3 1
	0809	GETTABUP 15 0 -47                  ; _ENV assert
	0810	GETTABLE 16 7 -89                  ; ReadValue
	0811	LOADK 17 -109                      ; maxhealth
	0812	CALL 16 2 2
	0813	EQ 1 16 -21                        ; - 10
	0814	JMP 0 1                            ; to pc 816
	0815	LOADBOOL 16 0 1
	0816	LOADBOOL 16 1 0
	0817	LOADK 17 -128                      ; Test 35 failed
	0818	CALL 15 3 1
	0819	GETTABUP 15 0 -47                  ; _ENV assert
	0820	GETTABLE 16 7 -89                  ; ReadValue
	0821	LOADK 17 -111                      ; inbattle
	0822	CALL 16 2 2
	0823	EQ 1 16 -48                        ; - False
	0824	JMP 0 1                            ; to pc 826
	0825	LOADBOOL 16 0 1
	0826	LOADBOOL 16 1 0
	0827	LOADK 17 -129                      ; Test 36 failed
	0828	CALL 15 3 1
	0829	GETTABUP 15 0 -47                  ; _ENV assert
	0830	GETTABLE 16 7 -89                  ; ReadValue
	0831	LOADK 17 -113                      ; banned
	0832	CALL 16 2 2
	0833	EQ 1 16 -52                        ; - True
	0834	JMP 0 1                            ; to pc 836
	0835	LOADBOOL 16 0 1
	0836	LOADBOOL 16 1 0
	0837	LOADK 17 -130                      ; Test 37 failed
	0838	CALL 15 3 1
	0839	GETTABUP 15 0 -47                  ; _ENV assert
	0840	GETTABLE 16 7 -89                  ; ReadValue
	0841	LOADK 17 -115                      ; flagged
	0842	CALL 16 2 2
	0843	EQ 1 16 -52                        ; - True
	0844	JMP 0 1                            ; to pc 846
	0845	LOADBOOL 16 0 1
	0846	LOADBOOL 16 1 0
	0847	LOADK 17 -131                      ; Test 38 failed
	0848	CALL 15 3 1
	0849	GETTABUP 15 0 -47                  ; _ENV assert
	0850	GETTABLE 16 9 -89                  ; ReadValue
	0851	LOADK 17 -92                       ; name
	0852	CALL 16 2 2
	0853	EQ 1 16 -20                        ; - Joe
	0854	JMP 0 1                            ; to pc 856
	0855	LOADBOOL 16 0 1
	0856	LOADBOOL 16 1 0
	0857	LOADK 17 -132                      ; Test 39 failed
	0858	CALL 15 3 1
	0859	GETTABUP 15 0 -47                  ; _ENV assert
	0860	GETTABLE 16 9 -89                  ; ReadValue
	0861	LOADK 17 -90                       ; id
	0862	CALL 16 2 2
	0863	EQ 1 16 -3                         ; - 1
	0864	JMP 0 1                            ; to pc 866
	0865	LOADBOOL 16 0 1
	0866	LOADBOOL 16 1 0
	0867	LOADK 17 -133                      ; Test 40 failed
	0868	CALL 15 3 1
	0869	GETTABUP 15 0 -47                  ; _ENV assert
	0870	GETTABLE 16 9 -89                  ; ReadValue
	0871	LOADK 17 -94                       ; health
	0872	CALL 16 2 2
	0873	EQ 1 16 -134                       ; - -20
	0874	JMP 0 1                            ; to pc 876
	0875	LOADBOOL 16 0 1
	0876	LOADBOOL 16 1 0
	0877	LOADK 17 -135                      ; Test 41 failed
	0878	CALL 15 3 1
	0879	GETTABUP 15 0 -47                  ; _ENV assert
	0880	GETTABLE 16 9 -89                  ; ReadValue
	0881	LOADK 17 -104                      ; xp
	0882	CALL 16 2 2
	0883	EQ 1 16 -22                        ; - 5
	0884	JMP 0 1                            ; to pc 886
	0885	LOADBOOL 16 0 1
	0886	LOADBOOL 16 1 0
	0887	LOADK 17 -136                      ; Test 42 failed
	0888	CALL 15 3 1
	0889	GETTABUP 15 0 -47                  ; _ENV assert
	0890	GETTABLE 16 9 -89                  ; ReadValue
	0891	LOADK 17 -98                       ; x
	0892	CALL 16 2 2
	0893	EQ 1 16 -39                        ; - 5
	0894	JMP 0 1                            ; to pc 896
	0895	LOADBOOL 16 0 1
	0896	LOADBOOL 16 1 0
	0897	LOADK 17 -137                      ; Test 43 failed
	0898	CALL 15 3 1
	0899	GETTABUP 15 0 -47                  ; _ENV assert
	0900	GETTABLE 16 9 -89                  ; ReadValue
	0901	LOADK 17 -100                      ; y
	0902	CALL 16 2 2
	0903	EQ 1 16 -39                        ; - 5
	0904	JMP 0 1                            ; to pc 906
	0905	LOADBOOL 16 0 1
	0906	LOADBOOL 16 1 0
	0907	LOADK 17 -138                      ; Test 44 failed
	0908	CALL 15 3 1
	0909	GETTABUP 15 0 -47                  ; _ENV assert
	0910	GETTABLE 16 9 -89                  ; ReadValue
	0911	LOADK 17 -102                      ; z
	0912	CALL 16 2 2
	0913	EQ 1 16 -39                        ; - 5
	0914	JMP 0 1                            ; to pc 916
	0915	LOADBOOL 16 0 1
	0916	LOADBOOL 16 1 0
	0917	LOADK 17 -139                      ; Test 45 failed
	0918	CALL 15 3 1
	0919	GETTABUP 15 0 -47                  ; _ENV assert
	0920	GETTABLE 16 9 -89                  ; ReadValue
	0921	LOADK 17 -107                      ; damage
	0922	CALL 16 2 2
	0923	EQ 1 16 -3                         ; - 1
	0924	JMP 0 1                            ; to pc 926
	0925	LOADBOOL 16 0 1
	0926	LOADBOOL 16 1 0
	0927	LOADK 17 -140                      ; Test 46 failed
	0928	CALL 15 3 1
	0929	GETTABUP 15 0 -47                  ; _ENV assert
	0930	GETTABLE 16 9 -89                  ; ReadValue
	0931	LOADK 17 -109                      ; maxhealth
	0932	CALL 16 2 2
	0933	EQ 1 16 -21                        ; - 10
	0934	JMP 0 1                            ; to pc 936
	0935	LOADBOOL 16 0 1
	0936	LOADBOOL 16 1 0
	0937	LOADK 17 -141                      ; Test 47 failed
	0938	CALL 15 3 1
	0939	GETTABUP 15 0 -47                  ; _ENV assert
	0940	GETTABLE 16 10 -89                 ; ReadValue
	0941	LOADK 17 -92                       ; name
	0942	CALL 16 2 2
	0943	EQ 1 16 -23                        ; - Jeffrey
	0944	JMP 0 1                            ; to pc 946
	0945	LOADBOOL 16 0 1
	0946	LOADBOOL 16 1 0
	0947	LOADK 17 -142                      ; Test 48 failed
	0948	CALL 15 3 1
	0949	GETTABUP 15 0 -47                  ; _ENV assert
	0950	GETTABLE 16 10 -89                 ; ReadValue
	0951	LOADK 17 -90                       ; id
	0952	CALL 16 2 2
	0953	EQ 1 16 -117                       ; - 2
	0954	JMP 0 1                            ; to pc 956
	0955	LOADBOOL 16 0 1
	0956	LOADBOOL 16 1 0
	0957	LOADK 17 -143                      ; Test 49 failed
	0958	CALL 15 3 1
	0959	GETTABUP 15 0 -47                  ; _ENV assert
	0960	GETTABLE 16 10 -89                 ; ReadValue
	0961	LOADK 17 -94                       ; health
	0962	CALL 16 2 2
	0963	EQ 1 16 -117                       ; - 2
	0964	JMP 0 1                            ; to pc 966
	0965	LOADBOOL 16 0 1
	0966	LOADBOOL 16 1 0
	0967	LOADK 17 -144                      ; Test 50 failed
	0968	CALL 15 3 1
	0969	GETTABUP 15 0 -47                  ; _ENV assert
	0970	GETTABLE 16 10 -89                 ; ReadValue
	0971	LOADK 17 -104                      ; xp
	0972	CALL 16 2 2
	0973	EQ 1 16 -25                        ; - 20
	0974	JMP 0 1                            ; to pc 976
	0975	LOADBOOL 16 0 1
	0976	LOADBOOL 16 1 0
	0977	LOADK 17 -145                      ; Test 51 failed
	0978	CALL 15 3 1
	0979	GETTABUP 15 0 -47                  ; _ENV assert
	0980	GETTABLE 16 10 -89                 ; ReadValue
	0981	LOADK 17 -98                       ; x
	0982	CALL 16 2 2
	0983	EQ 1 16 -40                        ; - 10
	0984	JMP 0 1                            ; to pc 986
	0985	LOADBOOL 16 0 1
	0986	LOADBOOL 16 1 0
	0987	LOADK 17 -146                      ; Test 52 failed
	0988	CALL 15 3 1
	0989	GETTABUP 15 0 -47                  ; _ENV assert
	0990	GETTABLE 16 10 -89                 ; ReadValue
	0991	LOADK 17 -100                      ; y
	0992	CALL 16 2 2
	0993	EQ 1 16 -40                        ; - 10
	0994	JMP 0 1                            ; to pc 996
	0995	LOADBOOL 16 0 1
	0996	LOADBOOL 16 1 0
	0997	LOADK 17 -147                      ; Test 53 failed
	0998	CALL 15 3 1
	0999	GETTABUP 15 0 -47                  ; _ENV assert
	1000	GETTABLE 16 10 -89                 ; ReadValue
	1001	LOADK 17 -102                      ; z
	1002	CALL 16 2 2
	1003	EQ 1 16 -40                        ; - 10
	1004	JMP 0 1                            ; to pc 1006
	1005	LOADBOOL 16 0 1
	1006	LOADBOOL 16 1 0
	1007	LOADK 17 -148                      ; Test 54 failed
	1008	CALL 15 3 1
	1009	GETTABUP 15 0 -47                  ; _ENV assert
	1010	GETTABLE 16 10 -89                 ; ReadValue
	1011	LOADK 17 -107                      ; damage
	1012	CALL 16 2 2
	1013	EQ 1 16 -26                        ; - 4
	1014	JMP 0 1                            ; to pc 1016
	1015	LOADBOOL 16 0 1
	1016	LOADBOOL 16 1 0
	1017	LOADK 17 -149                      ; Test 55 failed
	1018	CALL 15 3 1
	1019	GETTABUP 15 0 -47                  ; _ENV assert
	1020	GETTABLE 16 10 -89                 ; ReadValue
	1021	LOADK 17 -109                      ; maxhealth
	1022	CALL 16 2 2
	1023	EQ 1 16 -24                        ; - 30
	1024	JMP 0 1                            ; to pc 1026
	1025	LOADBOOL 16 0 1
	1026	LOADBOOL 16 1 0
	1027	LOADK 17 -150                      ; Test 56 failed
	1028	CALL 15 3 1
	1029	GETTABUP 15 0 -47                  ; _ENV assert
	1030	GETTABLE 16 11 -89                 ; ReadValue
	1031	LOADK 17 -92                       ; name
	1032	CALL 16 2 2
	1033	EQ 1 16 -27                        ; - John
	1034	JMP 0 1                            ; to pc 1036
	1035	LOADBOOL 16 0 1
	1036	LOADBOOL 16 1 0
	1037	LOADK 17 -151                      ; Test 57 failed
	1038	CALL 15 3 1
	1039	GETTABUP 15 0 -47                  ; _ENV assert
	1040	GETTABLE 16 11 -89                 ; ReadValue
	1041	LOADK 17 -90                       ; id
	1042	CALL 16 2 2
	1043	EQ 1 16 -32                        ; - 3
	1044	JMP 0 1                            ; to pc 1046
	1045	LOADBOOL 16 0 1
	1046	LOADBOOL 16 1 0
	1047	LOADK 17 -152                      ; Test 58 failed
	1048	CALL 15 3 1
	1049	GETTABUP 15 0 -47                  ; _ENV assert
	1050	GETTABLE 16 11 -89                 ; ReadValue
	1051	LOADK 17 -94                       ; health
	1052	CALL 16 2 2
	1053	EQ 1 16 -153                       ; - 38
	1054	JMP 0 1                            ; to pc 1056
	1055	LOADBOOL 16 0 1
	1056	LOADBOOL 16 1 0
	1057	LOADK 17 -154                      ; Test 59 failed
	1058	CALL 15 3 1
	1059	GETTABUP 15 0 -47                  ; _ENV assert
	1060	GETTABLE 16 11 -89                 ; ReadValue
	1061	LOADK 17 -104                      ; xp
	1062	CALL 16 2 2
	1063	EQ 1 16 -29                        ; - 60
	1064	JMP 0 1                            ; to pc 1066
	1065	LOADBOOL 16 0 1
	1066	LOADBOOL 16 1 0
	1067	LOADK 17 -155                      ; Test 60 failed
	1068	CALL 15 3 1
	1069	GETTABUP 15 0 -47                  ; _ENV assert
	1070	GETTABLE 16 11 -89                 ; ReadValue
	1071	LOADK 17 -98                       ; x
	1072	CALL 16 2 2
	1073	EQ 1 16 -41                        ; - 15
	1074	JMP 0 1                            ; to pc 1076
	1075	LOADBOOL 16 0 1
	1076	LOADBOOL 16 1 0
	1077	LOADK 17 -156                      ; Test 61 failed
	1078	CALL 15 3 1
	1079	GETTABUP 15 0 -47                  ; _ENV assert
	1080	GETTABLE 16 11 -89                 ; ReadValue
	1081	LOADK 17 -100                      ; y
	1082	CALL 16 2 2
	1083	EQ 1 16 -41                        ; - 15
	1084	JMP 0 1                            ; to pc 1086
	1085	LOADBOOL 16 0 1
	1086	LOADBOOL 16 1 0
	1087	LOADK 17 -157                      ; Test 62 failed
	1088	CALL 15 3 1
	1089	GETTABUP 15 0 -47                  ; _ENV assert
	1090	GETTABLE 16 11 -89                 ; ReadValue
	1091	LOADK 17 -102                      ; z
	1092	CALL 16 2 2
	1093	EQ 1 16 -41                        ; - 15
	1094	JMP 0 1                            ; to pc 1096
	1095	LOADBOOL 16 0 1
	1096	LOADBOOL 16 1 0
	1097	LOADK 17 -158                      ; Test 63 failed
	1098	CALL 15 3 1
	1099	GETTABUP 15 0 -47                  ; _ENV assert
	1100	GETTABLE 16 11 -89                 ; ReadValue
	1101	LOADK 17 -107                      ; damage
	1102	CALL 16 2 2
	1103	EQ 1 16 -22                        ; - 5
	1104	JMP 0 1                            ; to pc 1106
	1105	LOADBOOL 16 0 1
	1106	LOADBOOL 16 1 0
	1107	LOADK 17 -159                      ; Test 64 failed
	1108	CALL 15 3 1
	1109	GETTABUP 15 0 -47                  ; _ENV assert
	1110	GETTABLE 16 11 -89                 ; ReadValue
	1111	LOADK 17 -109                      ; maxhealth
	1112	CALL 16 2 2
	1113	EQ 1 16 -28                        ; - 40
	1114	JMP 0 1                            ; to pc 1116
	1115	LOADBOOL 16 0 1
	1116	LOADBOOL 16 1 0
	1117	LOADK 17 -160                      ; Test 65 failed
	1118	CALL 15 3 1
	1119	GETTABUP 15 0 -47                  ; _ENV assert
	1120	GETTABLE 16 12 -89                 ; ReadValue
	1121	LOADK 17 -92                       ; name
	1122	CALL 16 2 2
	1123	EQ 1 16 -30                        ; - Jane
	1124	JMP 0 1                            ; to pc 1126
	1125	LOADBOOL 16 0 1
	1126	LOADBOOL 16 1 0
	1127	LOADK 17 -161                      ; Test 66 failed
	1128	CALL 15 3 1
	1129	GETTABUP 15 0 -47                  ; _ENV assert
	1130	GETTABLE 16 12 -89                 ; ReadValue
	1131	LOADK 17 -90                       ; id
	1132	CALL 16 2 2
	1133	EQ 1 16 -26                        ; - 4
	1134	JMP 0 1                            ; to pc 1136
	1135	LOADBOOL 16 0 1
	1136	LOADBOOL 16 1 0
	1137	LOADK 17 -162                      ; Test 67 failed
	1138	CALL 15 3 1
	1139	GETTABUP 15 0 -47                  ; _ENV assert
	1140	GETTABLE 16 12 -89                 ; ReadValue
	1141	LOADK 17 -94                       ; health
	1142	CALL 16 2 2
	1143	EQ 1 16 -163                       ; - 24
	1144	JMP 0 1                            ; to pc 1146
	1145	LOADBOOL 16 0 1
	1146	LOADBOOL 16 1 0
	1147	LOADK 17 -164                      ; Test 68 failed
	1148	CALL 15 3 1
	1149	GETTABUP 15 0 -47                  ; _ENV assert
	1150	GETTABLE 16 12 -89                 ; ReadValue
	1151	LOADK 17 -104                      ; xp
	1152	CALL 16 2 2
	1153	EQ 1 16 -31                        ; - 100
	1154	JMP 0 1                            ; to pc 1156
	1155	LOADBOOL 16 0 1
	1156	LOADBOOL 16 1 0
	1157	LOADK 17 -165                      ; Test 69 failed
	1158	CALL 15 3 1
	1159	GETTABUP 15 0 -47                  ; _ENV assert
	1160	GETTABLE 16 12 -89                 ; ReadValue
	1161	LOADK 17 -98                       ; x
	1162	CALL 16 2 2
	1163	EQ 1 16 -42                        ; - 100
	1164	JMP 0 1                            ; to pc 1166
	1165	LOADBOOL 16 0 1
	1166	LOADBOOL 16 1 0
	1167	LOADK 17 -166                      ; Test 70 failed
	1168	CALL 15 3 1
	1169	GETTABUP 15 0 -47                  ; _ENV assert
	1170	GETTABLE 16 12 -89                 ; ReadValue
	1171	LOADK 17 -100                      ; y
	1172	CALL 16 2 2
	1173	EQ 1 16 -40                        ; - 10
	1174	JMP 0 1                            ; to pc 1176
	1175	LOADBOOL 16 0 1
	1176	LOADBOOL 16 1 0
	1177	LOADK 17 -167                      ; Test 71 failed
	1178	CALL 15 3 1
	1179	GETTABUP 15 0 -47                  ; _ENV assert
	1180	GETTABLE 16 12 -89                 ; ReadValue
	1181	LOADK 17 -102                      ; z
	1182	CALL 16 2 2
	1183	EQ 1 16 -43                        ; - 30
	1184	JMP 0 1                            ; to pc 1186
	1185	LOADBOOL 16 0 1
	1186	LOADBOOL 16 1 0
	1187	LOADK 17 -168                      ; Test 72 failed
	1188	CALL 15 3 1
	1189	GETTABUP 15 0 -47                  ; _ENV assert
	1190	GETTABLE 16 12 -89                 ; ReadValue
	1191	LOADK 17 -107                      ; damage
	1192	CALL 16 2 2
	1193	EQ 1 16 -32                        ; - 3
	1194	JMP 0 1                            ; to pc 1196
	1195	LOADBOOL 16 0 1
	1196	LOADBOOL 16 1 0
	1197	LOADK 17 -169                      ; Test 73 failed
	1198	CALL 15 3 1
	1199	GETTABUP 15 0 -47                  ; _ENV assert
	1200	GETTABLE 16 12 -89                 ; ReadValue
	1201	LOADK 17 -109                      ; maxhealth
	1202	CALL 16 2 2
	1203	EQ 1 16 -29                        ; - 60
	1204	JMP 0 1                            ; to pc 1206
	1205	LOADBOOL 16 0 1
	1206	LOADBOOL 16 1 0
	1207	LOADK 17 -170                      ; Test 74 failed
	1208	CALL 15 3 1
	1209	GETTABUP 15 0 -47                  ; _ENV assert
	1210	GETTABLE 16 13 -89                 ; ReadValue
	1211	LOADK 17 -92                       ; name
	1212	CALL 16 2 2
	1213	EQ 1 16 -33                        ; - Jill
	1214	JMP 0 1                            ; to pc 1216
	1215	LOADBOOL 16 0 1
	1216	LOADBOOL 16 1 0
	1217	LOADK 17 -171                      ; Test 75 failed
	1218	CALL 15 3 1
	1219	GETTABUP 15 0 -47                  ; _ENV assert
	1220	GETTABLE 16 13 -89                 ; ReadValue
	1221	LOADK 17 -90                       ; id
	1222	CALL 16 2 2
	1223	EQ 1 16 -22                        ; - 5
	1224	JMP 0 1                            ; to pc 1226
	1225	LOADBOOL 16 0 1
	1226	LOADBOOL 16 1 0
	1227	LOADK 17 -172                      ; Test 76 failed
	1228	CALL 15 3 1
	1229	GETTABUP 15 0 -47                  ; _ENV assert
	1230	GETTABLE 16 13 -89                 ; ReadValue
	1231	LOADK 17 -94                       ; health
	1232	CALL 16 2 2
	1233	EQ 1 16 -173                       ; - 58
	1234	JMP 0 1                            ; to pc 1236
	1235	LOADBOOL 16 0 1
	1236	LOADBOOL 16 1 0
	1237	LOADK 17 -174                      ; Test 77 failed
	1238	CALL 15 3 1
	1239	GETTABUP 15 0 -47                  ; _ENV assert
	1240	GETTABLE 16 13 -89                 ; ReadValue
	1241	LOADK 17 -104                      ; xp
	1242	CALL 16 2 2
	1243	EQ 1 16 -34                        ; - 300
	1244	JMP 0 1                            ; to pc 1246
	1245	LOADBOOL 16 0 1
	1246	LOADBOOL 16 1 0
	1247	LOADK 17 -175                      ; Test 78 failed
	1248	CALL 15 3 1
	1249	GETTABUP 15 0 -47                  ; _ENV assert
	1250	GETTABLE 16 13 -89                 ; ReadValue
	1251	LOADK 17 -98                       ; x
	1252	CALL 16 2 2
	1253	EQ 1 16 -44                        ; - 200
	1254	JMP 0 1                            ; to pc 1256
	1255	LOADBOOL 16 0 1
	1256	LOADBOOL 16 1 0
	1257	LOADK 17 -176                      ; Test 79 failed
	1258	CALL 15 3 1
	1259	GETTABUP 15 0 -47                  ; _ENV assert
	1260	GETTABLE 16 13 -89                 ; ReadValue
	1261	LOADK 17 -100                      ; y
	1262	CALL 16 2 2
	1263	EQ 1 16 -45                        ; - 0
	1264	JMP 0 1                            ; to pc 1266
	1265	LOADBOOL 16 0 1
	1266	LOADBOOL 16 1 0
	1267	LOADK 17 -177                      ; Test 80 failed
	1268	CALL 15 3 1
	1269	GETTABUP 15 0 -47                  ; _ENV assert
	1270	GETTABLE 16 13 -89                 ; ReadValue
	1271	LOADK 17 -102                      ; z
	1272	CALL 16 2 2
	1273	EQ 1 16 -45                        ; - 0
	1274	JMP 0 1                            ; to pc 1276
	1275	LOADBOOL 16 0 1
	1276	LOADBOOL 16 1 0
	1277	LOADK 17 -178                      ; Test 81 failed
	1278	CALL 15 3 1
	1279	GETTABUP 15 0 -47                  ; _ENV assert
	1280	GETTABLE 16 13 -89                 ; ReadValue
	1281	LOADK 17 -107                      ; damage
	1282	CALL 16 2 2
	1283	EQ 1 16 -22                        ; - 5
	1284	JMP 0 1                            ; to pc 1286
	1285	LOADBOOL 16 0 1
	1286	LOADBOOL 16 1 0
	1287	LOADK 17 -179                      ; Test 82 failed
	1288	CALL 15 3 1
	1289	GETTABUP 15 0 -47                  ; _ENV assert
	1290	GETTABLE 16 13 -89                 ; ReadValue
	1291	LOADK 17 -109                      ; maxhealth
	1292	CALL 16 2 2
	1293	EQ 1 16 -31                        ; - 100
	1294	JMP 0 1                            ; to pc 1296
	1295	LOADBOOL 16 0 1
	1296	LOADBOOL 16 1 0
	1297	LOADK 17 -180                      ; Test 83 failed
	1298	CALL 15 3 1
	1299	GETTABUP 15 0 -47                  ; _ENV assert
	1300	GETTABLE 16 14 -89                 ; ReadValue
	1301	LOADK 17 -92                       ; name
	1302	CALL 16 2 2
	1303	EQ 1 16 -35                        ; - Johnny
	1304	JMP 0 1                            ; to pc 1306
	1305	LOADBOOL 16 0 1
	1306	LOADBOOL 16 1 0
	1307	LOADK 17 -181                      ; Test 84 failed
	1308	CALL 15 3 1
	1309	GETTABUP 15 0 -47                  ; _ENV assert
	1310	GETTABLE 16 14 -89                 ; ReadValue
	1311	LOADK 17 -90                       ; id
	1312	CALL 16 2 2
	1313	EQ 1 16 -182                       ; - 6
	1314	JMP 0 1                            ; to pc 1316
	1315	LOADBOOL 16 0 1
	1316	LOADBOOL 16 1 0
	1317	LOADK 17 -183                      ; Test 85 failed
	1318	CALL 15 3 1
	1319	GETTABUP 15 0 -47                  ; _ENV assert
	1320	GETTABLE 16 14 -89                 ; ReadValue
	1321	LOADK 17 -94                       ; health
	1322	CALL 16 2 2
	1323	EQ 1 16 -184                       ; - -10
	1324	JMP 0 1                            ; to pc 1326
	1325	LOADBOOL 16 0 1
	1326	LOADBOOL 16 1 0
	1327	LOADK 17 -185                      ; Test 86 failed
	1328	CALL 15 3 1
	1329	GETTABUP 15 0 -47                  ; _ENV assert
	1330	GETTABLE 16 14 -89                 ; ReadValue
	1331	LOADK 17 -104                      ; xp
	1332	CALL 16 2 2
	1333	EQ 1 16 -37                        ; - 1000
	1334	JMP 0 1                            ; to pc 1336
	1335	LOADBOOL 16 0 1
	1336	LOADBOOL 16 1 0
	1337	LOADK 17 -186                      ; Test 87 failed
	1338	CALL 15 3 1
	1339	GETTABUP 15 0 -47                  ; _ENV assert
	1340	GETTABLE 16 14 -89                 ; ReadValue
	1341	LOADK 17 -98                       ; x
	1342	CALL 16 2 2
	1343	EQ 1 16 -46                        ; - 300
	1344	JMP 0 1                            ; to pc 1346
	1345	LOADBOOL 16 0 1
	1346	LOADBOOL 16 1 0
	1347	LOADK 17 -187                      ; Test 88 failed
	1348	CALL 15 3 1
	1349	GETTABUP 15 0 -47                  ; _ENV assert
	1350	GETTABLE 16 14 -89                 ; ReadValue
	1351	LOADK 17 -100                      ; y
	1352	CALL 16 2 2
	1353	EQ 1 16 -44                        ; - 200
	1354	JMP 0 1                            ; to pc 1356
	1355	LOADBOOL 16 0 1
	1356	LOADBOOL 16 1 0
	1357	LOADK 17 -188                      ; Test 89 failed
	1358	CALL 15 3 1
	1359	GETTABUP 15 0 -47                  ; _ENV assert
	1360	GETTABLE 16 14 -89                 ; ReadValue
	1361	LOADK 17 -102                      ; z
	1362	CALL 16 2 2
	1363	EQ 1 16 -42                        ; - 100
	1364	JMP 0 1                            ; to pc 1366
	1365	LOADBOOL 16 0 1
	1366	LOADBOOL 16 1 0
	1367	LOADK 17 -189                      ; Test 90 failed
	1368	CALL 15 3 1
	1369	GETTABUP 15 0 -47                  ; _ENV assert
	1370	GETTABLE 16 14 -89                 ; ReadValue
	1371	LOADK 17 -107                      ; damage
	1372	CALL 16 2 2
	1373	EQ 1 16 -21                        ; - 10
	1374	JMP 0 1                            ; to pc 1376
	1375	LOADBOOL 16 0 1
	1376	LOADBOOL 16 1 0
	1377	LOADK 17 -190                      ; Test 91 failed
	1378	CALL 15 3 1
	1379	GETTABUP 15 0 -47                  ; _ENV assert
	1380	GETTABLE 16 14 -89                 ; ReadValue
	1381	LOADK 17 -109                      ; maxhealth
	1382	CALL 16 2 2
	1383	EQ 1 16 -36                        ; - 200
	1384	JMP 0 1                            ; to pc 1386
	1385	LOADBOOL 16 0 1
	1386	LOADBOOL 16 1 0
	1387	LOADK 17 -191                      ; Test 92 failed
	1388	CALL 15 3 1
	1389	GETTABUP 15 0 -47                  ; _ENV assert
	1390	EQ 0 6 -192                        ; - 
	1391	JMP 0 1                            ; to pc 1393
	1392	LOADBOOL 16 0 1
	1393	LOADBOOL 16 1 0
	1394	LOADK 17 -193                      ; Test 93 failed
	1395	CALL 15 3 1
	1396	GETTABUP 15 0 -47                  ; _ENV assert
	1397	EQ 0 7 -192                        ; - 
	1398	JMP 0 1                            ; to pc 1400
	1399	LOADBOOL 16 0 1
	1400	LOADBOOL 16 1 0
	1401	LOADK 17 -194                      ; Test 94 failed
	1402	CALL 15 3 1
	1403	GETTABUP 15 0 -47                  ; _ENV assert
	1404	EQ 0 9 -192                        ; - 
	1405	JMP 0 1                            ; to pc 1407
	1406	LOADBOOL 16 0 1
	1407	LOADBOOL 16 1 0
	1408	LOADK 17 -195                      ; Test 95 failed
	1409	CALL 15 3 1
	1410	GETTABUP 15 0 -47                  ; _ENV assert
	1411	EQ 0 10 -192                       ; - 
	1412	JMP 0 1                            ; to pc 1414
	1413	LOADBOOL 16 0 1
	1414	LOADBOOL 16 1 0
	1415	LOADK 17 -196                      ; Test 96 failed
	1416	CALL 15 3 1
	1417	GETTABUP 15 0 -47                  ; _ENV assert
	1418	EQ 0 11 -192                       ; - 
	1419	JMP 0 1                            ; to pc 1421
	1420	LOADBOOL 16 0 1
	1421	LOADBOOL 16 1 0
	1422	LOADK 17 -197                      ; Test 97 failed
	1423	CALL 15 3 1
	1424	GETTABUP 15 0 -47                  ; _ENV assert
	1425	EQ 0 12 -192                       ; - 
	1426	JMP 0 1                            ; to pc 1428
	1427	LOADBOOL 16 0 1
	1428	LOADBOOL 16 1 0
	1429	LOADK 17 -198                      ; Test 98 failed
	1430	CALL 15 3 1
	1431	GETTABUP 15 0 -47                  ; _ENV assert
	1432	EQ 0 13 -192                       ; - 
	1433	JMP 0 1                            ; to pc 1435
	1434	LOADBOOL 16 0 1
	1435	LOADBOOL 16 1 0
	1436	LOADK 17 -199                      ; Test 99 failed
	1437	CALL 15 3 1
	1438	GETTABUP 15 0 -47                  ; _ENV assert
	1439	EQ 0 14 -192                       ; - 
	1440	JMP 0 1                            ; to pc 1442
	1441	LOADBOOL 16 0 1
	1442	LOADBOOL 16 1 0
	1443	LOADK 17 -200                      ; Test 100 failed
	1444	CALL 15 3 1
	1445	RETURN 0 1

	locals (15)
		name: Vector3; startpc: 1; endpc: 1445
		name: Enemy; startpc: 4; endpc: 1445
		name: Player; startpc: 8; endpc: 1445
		name: Administrator; startpc: 14; endpc: 1445
		name: Factory; startpc: 17; endpc: 1445
		name: generator; startpc: 21; endpc: 1445
		name: player; startpc: 27; endpc: 1445
		name: friend; startpc: 36; endpc: 1445
		name: admin; startpc: 44; endpc: 1445
		name: enemy1; startpc: 53; endpc: 1445
		name: enemy2; startpc: 59; endpc: 1445
		name: enemy3; startpc: 65; endpc: 1445
		name: enemy4; startpc: 71; endpc: 1445
		name: enemy5; startpc: 77; endpc: 1445
		name: boss; startpc: 83; endpc: 1445
	upvales (1)
		name: _ENV; instack: true; index: 0
	constants (200)
		id: 0; value: New
		id: 1; value: NextId
		id: 2; value: 1
		id: 3; value: NextId
		id: 4; value: 1
		id: 5; value: New
		id: 6; value: StartBattle
		id: 7; value: New
		id: 8; value: New
		id: 9; value: print
		id: 10; value: Created factory
		id: 11; value: GeneratePlayer
		id: 12; value: Jeff
		id: 13; value: Created player 
		id: 14; value: GetName
		id: 15; value: Jay
		id: 16; value: GenerateAdmin
		id: 17; value: Created admin
		id: 18; value: GenerateEnemy
		id: 19; value: Joe
		id: 20; value: 10
		id: 21; value: 5
		id: 22; value: Jeffrey
		id: 23; value: 30
		id: 24; value: 20
		id: 25; value: 4
		id: 26; value: John
		id: 27; value: 40
		id: 28; value: 60
		id: 29; value: Jane
		id: 30; value: 100
		id: 31; value: 3
		id: 32; value: Jill
		id: 33; value: 300
		id: 34; value: Johnny
		id: 35; value: 200
		id: 36; value: 1000
		id: 37; value: SetPosition
		id: 38; value: 5
		id: 39; value: 10
		id: 40; value: 15
		id: 41; value: 100
		id: 42; value: 30
		id: 43; value: 200
		id: 44; value: 0
		id: 45; value: 300
		id: 46; value: assert
		id: 47; value: False
		id: 48; value: Test 1 failed
		id: 49; value: PrintStatus
		id: 50; value:  
		id: 51; value: True
		id: 52; value: Test 2 failed
		id: 53; value: Test 3 failed
		id: 54; value: Reset
		id: 55; value: GainXp
		id: 56; value:  gained 10 XP
		id: 57; value:  gained 20 XP
		id: 58; value: Test 4 failed
		id: 59; value: Test 5 failed
		id: 60; value: GetX
		id: 61; value: GetY
		id: 62; value: GetZ
		id: 63; value: Test 6 failed
		id: 64; value: 50
		id: 65; value:  gained 50 XP
		id: 66; value: Test 7 failed
		id: 67; value: 150
		id: 68; value:  gained 150 XP
		id: 69; value: Test 8 failed
		id: 70; value:  gained 300 XP
		id: 71; value: 400
		id: 72; value:  gained 400 XP
		id: 73; value: 500
		id: 74; value:  gained 500 XP
		id: 75; value: 600
		id: 76; value:  gained 600 XP
		id: 77; value: Test 9 failed
		id: 78; value:  gives 1015 xp to 
		id: 79; value: DonateXp
		id: 80; value: 1015
		id: 81; value:  cheats to level 99
		id: 82; value: Cheat
		id: 83; value: Banning 
		id: 84; value: BanPlayer
		id: 85; value: Test 10 failed
		id: 86; value: Test 11 failed
		id: 87; value: Test 12 failed
		id: 88; value: ReadValue
		id: 89; value: id
		id: 90; value: Test 13 failed
		id: 91; value: name
		id: 92; value: Test 14 failed
		id: 93; value: health
		id: 94; value: Test 15 failed
		id: 95; value: level
		id: 96; value: Test 16 failed
		id: 97; value: x
		id: 98; value: Test 17 failed
		id: 99; value: y
		id: 100; value: Test 18 failed
		id: 101; value: z
		id: 102; value: Test 19 failed
		id: 103; value: xp
		id: 104; value: 1055
		id: 105; value: Test 20 failed
		id: 106; value: damage
		id: 107; value: Test 21 failed
		id: 108; value: maxhealth
		id: 109; value: Test 22 failed
		id: 110; value: inbattle
		id: 111; value: Test 23 failed
		id: 112; value: banned
		id: 113; value: Test 24 failed
		id: 114; value: flagged
		id: 115; value: Test 25 failed
		id: 116; value: 2
		id: 117; value: Test 26 failed
		id: 118; value: Test 27 failed
		id: 119; value: Test 28 failed
		id: 120; value: Test 29 failed
		id: 121; value: Test 30 failed
		id: 122; value: Test 31 failed
		id: 123; value: Test 32 failed
		id: 124; value: 0
		id: 125; value: Test 33 failed
		id: 126; value: Test 34 failed
		id: 127; value: Test 35 failed
		id: 128; value: Test 36 failed
		id: 129; value: Test 37 failed
		id: 130; value: Test 38 failed
		id: 131; value: Test 39 failed
		id: 132; value: Test 40 failed
		id: 133; value: -20
		id: 134; value: Test 41 failed
		id: 135; value: Test 42 failed
		id: 136; value: Test 43 failed
		id: 137; value: Test 44 failed
		id: 138; value: Test 45 failed
		id: 139; value: Test 46 failed
		id: 140; value: Test 47 failed
		id: 141; value: Test 48 failed
		id: 142; value: Test 49 failed
		id: 143; value: Test 50 failed
		id: 144; value: Test 51 failed
		id: 145; value: Test 52 failed
		id: 146; value: Test 53 failed
		id: 147; value: Test 54 failed
		id: 148; value: Test 55 failed
		id: 149; value: Test 56 failed
		id: 150; value: Test 57 failed
		id: 151; value: Test 58 failed
		id: 152; value: 38
		id: 153; value: Test 59 failed
		id: 154; value: Test 60 failed
		id: 155; value: Test 61 failed
		id: 156; value: Test 62 failed
		id: 157; value: Test 63 failed
		id: 158; value: Test 64 failed
		id: 159; value: Test 65 failed
		id: 160; value: Test 66 failed
		id: 161; value: Test 67 failed
		id: 162; value: 24
		id: 163; value: Test 68 failed
		id: 164; value: Test 69 failed
		id: 165; value: Test 70 failed
		id: 166; value: Test 71 failed
		id: 167; value: Test 72 failed
		id: 168; value: Test 73 failed
		id: 169; value: Test 74 failed
		id: 170; value: Test 75 failed
		id: 171; value: Test 76 failed
		id: 172; value: 58
		id: 173; value: Test 77 failed
		id: 174; value: Test 78 failed
		id: 175; value: Test 79 failed
		id: 176; value: Test 80 failed
		id: 177; value: Test 81 failed
		id: 178; value: Test 82 failed
		id: 179; value: Test 83 failed
		id: 180; value: Test 84 failed
		id: 181; value: 6
		id: 182; value: Test 85 failed
		id: 183; value: -10
		id: 184; value: Test 86 failed
		id: 185; value: Test 87 failed
		id: 186; value: Test 88 failed
		id: 187; value: Test 89 failed
		id: 188; value: Test 90 failed
		id: 189; value: Test 91 failed
		id: 190; value: Test 92 failed
		id: 191; value: 
		id: 192; value: Test 93 failed
		id: 193; value: Test 94 failed
		id: 194; value: Test 95 failed
		id: 195; value: Test 96 failed
		id: 196; value: Test 97 failed
		id: 197; value: Test 98 failed
		id: 198; value: Test 99 failed
		id: 199; value: Test 100 failed
end

3 params; 0 varargs; 4 slots; 6 opcodes; 3 constants; 0 upvalues; 0 functions; 4 locals
function func1(param1, param2, param3)
	0001	NEWTABLE 3 0 0
	0002	SETTABLE 3 -1 0                    ; x
	0003	SETTABLE 3 -2 1                    ; y
	0004	SETTABLE 3 -3 2                    ; z
	0005	RETURN 3 2
	0006	RETURN 0 1

	locals (4)
		name: x; startpc: 0; endpc: 6
		name: y; startpc: 0; endpc: 6
		name: z; startpc: 0; endpc: 6
		name: this; startpc: 1; endpc: 6
	upvales (0)
	constants (3)
		id: 0; value: x
		id: 1; value: y
		id: 2; value: z
end

4 params; 0 varargs; 15 slots; 45 opcodes; 17 constants; 3 upvalues; 13 functions; 14 locals
function func2(param1, param2, param3, param4)
	0001	NEWTABLE 4 0 0
	0002	GETTABUP 5 0 -1                    ; Enemy NextId
	0003	MOVE 6 0
	0004	MOVE 7 1
	0005	GETTABUP 8 1 -2                    ; Vector3 New
	0006	LOADK 9 -3                         ; 10
	0007	LOADK 10 -3                        ; 10
	0008	LOADK 11 -3                        ; 10
	0009	CALL 8 4 2
	0010	LOADBOOL 9 0 0
	0011	MOVE 10 2
	0012	MOVE 11 3
	0013	LOADNIL 12 0
	0014	MOVE 13 1
	0015	CLOSURE 14 0                       ; func3
	0016	SETTABLE 4 -4 14                   ; Reset
	0017	CLOSURE 14 1                       ; func4
	0018	SETTABLE 4 -5 14                   ; ReadValue
	0019	CLOSURE 14 2                       ; func5
	0020	SETTABLE 4 -6 14                   ; PrintStatus
	0021	CLOSURE 14 3                       ; func6
	0022	SETTABLE 4 -7 14                   ; GetName
	0023	CLOSURE 14 4                       ; func7
	0024	SETTABLE 4 -8 14                   ; SetPosition
	0025	CLOSURE 14 5                       ; func8
	0026	SETTABLE 4 -9 14                   ; GetX
	0027	CLOSURE 14 6                       ; func9
	0028	SETTABLE 4 -10 14                  ; GetY
	0029	CLOSURE 14 7                       ; func10
	0030	SETTABLE 4 -11 14                  ; GetZ
	0031	CLOSURE 14 8                       ; func11
	0032	SETTABLE 4 -12 14                  ; GetAttacked
	0033	CLOSURE 14 9                       ; func12
	0034	SETTABLE 4 -13 14                  ; IsDead
	0035	CLOSURE 14 10                      ; func13
	0036	SETTABLE 4 -14 14                  ; GetXp
	0037	CLOSURE 14 11                      ; func14
	0038	SETTABLE 4 -15 14                  ; Attack
	0039	CLOSURE 14 12                      ; func15
	0040	SETTABLE 4 -16 14                  ; SetPlayer
	0041	GETTABUP 14 0 -1                   ; Enemy NextId
	0042	ADD 14 14 -17                      ; - 1
	0043	SETTABUP 0 -1 14                   ; Enemy NextId
	0044	RETURN 4 2
	0045	RETURN 0 1

	locals (14)
		name: name; startpc: 0; endpc: 45
		name: health; startpc: 0; endpc: 45
		name: xp; startpc: 0; endpc: 45
		name: damage; startpc: 0; endpc: 45
		name: this; startpc: 1; endpc: 45
		name: Id; startpc: 2; endpc: 45
		name: Name; startpc: 3; endpc: 45
		name: Health; startpc: 4; endpc: 45
		name: Position; startpc: 9; endpc: 45
		name: Dead; startpc: 10; endpc: 45
		name: Xp; startpc: 11; endpc: 45
		name: Damage; startpc: 12; endpc: 45
		name: Player; startpc: 13; endpc: 45
		name: MaxHealth; startpc: 14; endpc: 45
	upvales (3)
		name: Enemy; instack: true; index: 1
		name: Vector3; instack: true; index: 0
		name: _ENV; instack: false; index: 0
	constants (17)
		id: 0; value: NextId
		id: 1; value: New
		id: 2; value: 10
		id: 3; value: Reset
		id: 4; value: ReadValue
		id: 5; value: PrintStatus
		id: 6; value: GetName
		id: 7; value: SetPosition
		id: 8; value: GetX
		id: 9; value: GetY
		id: 10; value: GetZ
		id: 11; value: GetAttacked
		id: 12; value: IsDead
		id: 13; value: GetXp
		id: 14; value: Attack
		id: 15; value: SetPlayer
		id: 16; value: 1
end

0 params; 0 varargs; 2 slots; 7 opcodes; 0 constants; 4 upvalues; 0 functions; 0 locals
function func3()
	0001	GETUPVAL 0 1                       ; MaxHealth
	0002	SETUPVAL 0 0                       ; Health
	0003	LOADBOOL 0 0 0
	0004	SETUPVAL 0 2                       ; Dead
	0005	LOADNIL 0 0
	0006	SETUPVAL 0 3                       ; Player
	0007	RETURN 0 1

	locals (0)
	upvales (4)
		name: Health; instack: true; index: 7
		name: MaxHealth; instack: true; index: 13
		name: Dead; instack: true; index: 9
		name: Player; instack: true; index: 12
	constants (0)
end

1 param; 0 varargs; 3 slots; 26 opcodes; 11 constants; 9 upvalues; 0 functions; 2 locals
function func4(param1)
	0001	NEWTABLE 1 0 0
	0002	GETUPVAL 2 0                       ; Id
	0003	SETTABLE 1 -1 2                    ; id
	0004	GETUPVAL 2 1                       ; Name
	0005	SETTABLE 1 -2 2                    ; name
	0006	GETUPVAL 2 2                       ; Health
	0007	SETTABLE 1 -3 2                    ; health
	0008	GETTABUP 2 3 -4                    ; Position x
	0009	SETTABLE 1 -4 2                    ; x
	0010	GETTABUP 2 3 -5                    ; Position y
	0011	SETTABLE 1 -5 2                    ; y
	0012	GETTABUP 2 3 -6                    ; Position z
	0013	SETTABLE 1 -6 2                    ; z
	0014	GETUPVAL 2 4                       ; Dead
	0015	SETTABLE 1 -7 2                    ; dead
	0016	GETUPVAL 2 5                       ; Xp
	0017	SETTABLE 1 -8 2                    ; xp
	0018	GETUPVAL 2 6                       ; Damage
	0019	SETTABLE 1 -9 2                    ; damage
	0020	GETUPVAL 2 7                       ; Player
	0021	SETTABLE 1 -10 2                   ; player
	0022	GETUPVAL 2 8                       ; MaxHealth
	0023	SETTABLE 1 -11 2                   ; maxhealth
	0024	GETTABLE 2 1 0
	0025	RETURN 2 2
	0026	RETURN 0 1

	locals (2)
		name: key; startpc: 0; endpc: 26
		name: data; startpc: 1; endpc: 26
	upvales (9)
		name: Id; instack: true; index: 5
		name: Name; instack: true; index: 6
		name: Health; instack: true; index: 7
		name: Position; instack: true; index: 8
		name: Dead; instack: true; index: 9
		name: Xp; instack: true; index: 10
		name: Damage; instack: true; index: 11
		name: Player; instack: true; index: 12
		name: MaxHealth; instack: true; index: 13
	constants (11)
		id: 0; value: id
		id: 1; value: name
		id: 2; value: health
		id: 3; value: x
		id: 4; value: y
		id: 5; value: z
		id: 6; value: dead
		id: 7; value: xp
		id: 8; value: damage
		id: 9; value: player
		id: 10; value: maxhealth
end

0 params; 0 varargs; 7 slots; 41 opcodes; 13 constants; 7 upvalues; 0 functions; 0 locals
function func5()
	0001	GETTABUP 0 0 -1                    ; _ENV print
	0002	LOADK 1 -2                         ; -----ENEMY INFO-----
	0003	CALL 0 2 1
	0004	GETTABUP 0 0 -1                    ; _ENV print
	0005	LOADK 1 -3                         ; Name: 
	0006	GETUPVAL 2 1                       ; Name
	0007	CONCAT 1 1 2
	0008	CALL 0 2 1
	0009	GETTABUP 0 0 -1                    ; _ENV print
	0010	LOADK 1 -4                         ; Id: 
	0011	GETUPVAL 2 2                       ; Id
	0012	CONCAT 1 1 2
	0013	CALL 0 2 1
	0014	GETTABUP 0 0 -1                    ; _ENV print
	0015	LOADK 1 -5                         ; Health: 
	0016	GETUPVAL 2 3                       ; Health
	0017	CONCAT 1 1 2
	0018	CALL 0 2 1
	0019	GETTABUP 0 0 -1                    ; _ENV print
	0020	LOADK 1 -6                         ; XP: 
	0021	GETUPVAL 2 4                       ; Xp
	0022	CONCAT 1 1 2
	0023	CALL 0 2 1
	0024	GETTABUP 0 0 -1                    ; _ENV print
	0025	LOADK 1 -7                         ; Position: 
	0026	GETTABUP 2 5 -8                    ; Position x
	0027	LOADK 3 -9                         ; , 
	0028	GETTABUP 4 5 -10                   ; Position y
	0029	LOADK 5 -9                         ; , 
	0030	GETTABUP 6 5 -11                   ; Position z
	0031	CONCAT 1 1 6
	0032	CALL 0 2 1
	0033	GETTABUP 0 0 -1                    ; _ENV print
	0034	LOADK 1 -12                        ; Attack Damage: 
	0035	GETUPVAL 2 6                       ; Damage
	0036	CONCAT 1 1 2
	0037	CALL 0 2 1
	0038	GETTABUP 0 0 -1                    ; _ENV print
	0039	LOADK 1 -13                        ; --------------------
	0040	CALL 0 2 1
	0041	RETURN 0 1

	locals (0)
	upvales (7)
		name: _ENV; instack: false; index: 2
		name: Name; instack: true; index: 6
		name: Id; instack: true; index: 5
		name: Health; instack: true; index: 7
		name: Xp; instack: true; index: 10
		name: Position; instack: true; index: 8
		name: Damage; instack: true; index: 11
	constants (13)
		id: 0; value: print
		id: 1; value: -----ENEMY INFO-----
		id: 2; value: Name: 
		id: 3; value: Id: 
		id: 4; value: Health: 
		id: 5; value: XP: 
		id: 6; value: Position: 
		id: 7; value: x
		id: 8; value: , 
		id: 9; value: y
		id: 10; value: z
		id: 11; value: Attack Damage: 
		id: 12; value: --------------------
end

0 params; 0 varargs; 2 slots; 3 opcodes; 0 constants; 1 upvalue; 0 functions; 0 locals
function func6()
	0001	GETUPVAL 0 0                       ; Name
	0002	RETURN 0 2
	0003	RETURN 0 1

	locals (0)
	upvales (1)
		name: Name; instack: true; index: 6
	constants (0)
end

3 params; 0 varargs; 3 slots; 4 opcodes; 3 constants; 1 upvalue; 0 functions; 3 locals
function func7(param1, param2, param3)
	0001	SETTABUP 0 -1 0                    ; Position x
	0002	SETTABUP 0 -2 1                    ; Position y
	0003	SETTABUP 0 -3 2                    ; Position z
	0004	RETURN 0 1

	locals (3)
		name: x; startpc: 0; endpc: 4
		name: y; startpc: 0; endpc: 4
		name: z; startpc: 0; endpc: 4
	upvales (1)
		name: Position; instack: true; index: 8
	constants (3)
		id: 0; value: x
		id: 1; value: y
		id: 2; value: z
end

0 params; 0 varargs; 2 slots; 3 opcodes; 1 constant; 1 upvalue; 0 functions; 0 locals
function func8()
	0001	GETTABUP 0 0 -1                    ; Position x
	0002	RETURN 0 2
	0003	RETURN 0 1

	locals (0)
	upvales (1)
		name: Position; instack: true; index: 8
	constants (1)
		id: 0; value: x
end

0 params; 0 varargs; 2 slots; 3 opcodes; 1 constant; 1 upvalue; 0 functions; 0 locals
function func9()
	0001	GETTABUP 0 0 -1                    ; Position y
	0002	RETURN 0 2
	0003	RETURN 0 1

	locals (0)
	upvales (1)
		name: Position; instack: true; index: 8
	constants (1)
		id: 0; value: y
end

0 params; 0 varargs; 2 slots; 3 opcodes; 1 constant; 1 upvalue; 0 functions; 0 locals
function func10()
	0001	GETTABUP 0 0 -1                    ; Position z
	0002	RETURN 0 2
	0003	RETURN 0 1

	locals (0)
	upvales (1)
		name: Position; instack: true; index: 8
	constants (1)
		id: 0; value: z
end

1 param; 0 varargs; 2 slots; 9 opcodes; 1 constant; 2 upvalues; 0 functions; 1 local
function func11(param1)
	0001	GETUPVAL 1 0                       ; Health
	0002	SUB 1 1 
	0003	SETUPVAL 1 0                       ; Health
	0004	GETUPVAL 1 0                       ; Health
	0005	LE 0 1 -1                          ; - 0
	0006	JMP 0 2                            ; to pc 9
	0007	LOADBOOL 1 1 0
	0008	SETUPVAL 1 1                       ; Dead
	0009	RETURN 0 1

	locals (1)
		name: damage; startpc: 0; endpc: 9
	upvales (2)
		name: Health; instack: true; index: 7
		name: Dead; instack: true; index: 9
	constants (1)
		id: 0; value: 0
end

0 params; 0 varargs; 2 slots; 3 opcodes; 0 constants; 1 upvalue; 0 functions; 0 locals
function func12()
	0001	GETUPVAL 0 0                       ; Dead
	0002	RETURN 0 2
	0003	RETURN 0 1

	locals (0)
	upvales (1)
		name: Dead; instack: true; index: 9
	constants (0)
end

0 params; 0 varargs; 2 slots; 9 opcodes; 2 constants; 2 upvalues; 0 functions; 0 locals
function func13()
	0001	GETTABUP 0 0 -1                    ; this IsDead
	0002	CALL 0 1 2
	0003	TEST 0 0
	0004	JMP 0 2                            ; to pc 7
	0005	GETUPVAL 0 1                       ; Xp
	0006	RETURN 0 2
	0007	LOADK 0 -2                         ; 0
	0008	RETURN 0 2
	0009	RETURN 0 1

	locals (0)
	upvales (2)
		name: this; instack: true; index: 4
		name: Xp; instack: true; index: 10
	constants (2)
		id: 0; value: IsDead
		id: 1; value: 0
end

0 params; 0 varargs; 2 slots; 7 opcodes; 2 constants; 2 upvalues; 0 functions; 0 locals
function func14()
	0001	GETUPVAL 0 0                       ; Player
	0002	EQ 1 0 -1                          ; - 
	0003	JMP 0 3                            ; to pc 7
	0004	GETTABUP 0 0 -2                    ; Player GetAttacked
	0005	GETUPVAL 1 1                       ; Damage
	0006	CALL 0 2 1
	0007	RETURN 0 1

	locals (0)
	upvales (2)
		name: Player; instack: true; index: 12
		name: Damage; instack: true; index: 11
	constants (2)
		id: 0; value: 
		id: 1; value: GetAttacked
end

1 param; 0 varargs; 2 slots; 2 opcodes; 0 constants; 1 upvalue; 0 functions; 1 local
function func15(param1)
	0001	SETUPVAL 0 0                       ; Player
	0002	RETURN 0 1

	locals (1)
		name: player; startpc: 0; endpc: 2
	upvales (1)
		name: Player; instack: true; index: 12
	constants (0)
end

1 param; 0 varargs; 16 slots; 63 opcodes; 26 constants; 3 upvalues; 21 functions; 15 locals
function func16(param1)
	0001	NEWTABLE 1 0 0
	0002	GETTABUP 2 0 -1                    ; Player NextId
	0003	MOVE 3 0
	0004	LOADK 4 -2                         ; 10
	0005	LOADK 5 -3                         ; 1
	0006	LOADK 6 -4                         ; 0
	0007	GETTABUP 7 1 -5                    ; Vector3 New
	0008	LOADK 8 -6                         ; 0
	0009	LOADK 9 -6                         ; 0
	0010	LOADK 10 -6                        ; 0
	0011	CALL 7 4 2
	0012	LOADNIL 8 0
	0013	LOADBOOL 9 0 0
	0014	LOADK 10 -3                        ; 1
	0015	LOADK 11 -2                        ; 10
	0016	LOADBOOL 12 0 0
	0017	LOADBOOL 13 0 0
	0018	CLOSURE 14 0                       ; func17
	0019	SETTABLE 1 -7 14                   ; ReadValue
	0020	CLOSURE 14 1                       ; func18
	0021	SETTABLE 1 -8 14                   ; PrintStatus
	0022	CLOSURE 14 2                       ; func19
	0023	SETTABLE 1 -9 14                   ; GetName
	0024	CLOSURE 14 3                       ; func20
	0025	SETTABLE 1 -10 14                  ; SetPosition
	0026	CLOSURE 14 4                       ; func21
	0027	SETTABLE 1 -11 14                  ; GetX
	0028	CLOSURE 14 5                       ; func22
	0029	SETTABLE 1 -12 14                  ; GetY
	0030	CLOSURE 14 6                       ; func23
	0031	SETTABLE 1 -13 14                  ; GetZ
	0032	CLOSURE 14 7                       ; func24
	0033	CLOSURE 15 8                       ; func25
	0034	SETTABLE 1 -14 15                  ; GainXp
	0035	CLOSURE 15 9                       ; func26
	0036	SETTABLE 1 -15 15                  ; BattleEnemy
	0037	CLOSURE 15 10                      ; func27
	0038	SETTABLE 1 -16 15                  ; IsInBattle
	0039	CLOSURE 15 11                      ; func28
	0040	SETTABLE 1 -17 15                  ; Attack
	0041	CLOSURE 15 12                      ; func29
	0042	SETTABLE 1 -18 15                  ; GetAttacked
	0043	CLOSURE 15 13                      ; func30
	0044	SETTABLE 1 -19 15                  ; IsDead
	0045	CLOSURE 15 14                      ; func31
	0046	SETTABLE 1 -20 15                  ; ExitBattle
	0047	CLOSURE 15 15                      ; func32
	0048	SETTABLE 1 -21 15                  ; Reset
	0049	CLOSURE 15 16                      ; func33
	0050	SETTABLE 1 -22 15                  ; DonateXp
	0051	CLOSURE 15 17                      ; func34
	0052	SETTABLE 1 -23 15                  ; Cheat
	0053	CLOSURE 15 18                      ; func35
	0054	SETTABLE 1 -24 15                  ; IsFlagged
	0055	CLOSURE 15 19                      ; func36
	0056	SETTABLE 1 -25 15                  ; Ban
	0057	CLOSURE 15 20                      ; func37
	0058	SETTABLE 1 -26 15                  ; IsBanned
	0059	GETTABUP 15 0 -1                   ; Player NextId
	0060	ADD 15 15 -3                       ; - 1
	0061	SETTABUP 0 -1 15                   ; Player NextId
	0062	RETURN 1 2
	0063	RETURN 0 1

	locals (15)
		name: name; startpc: 0; endpc: 63
		name: this; startpc: 1; endpc: 63
		name: Id; startpc: 2; endpc: 63
		name: Name; startpc: 3; endpc: 63
		name: Health; startpc: 4; endpc: 63
		name: Level; startpc: 5; endpc: 63
		name: Xp; startpc: 6; endpc: 63
		name: Position; startpc: 11; endpc: 63
		name: Enemy; startpc: 12; endpc: 63
		name: InBattle; startpc: 13; endpc: 63
		name: Damage; startpc: 14; endpc: 63
		name: MaxHealth; startpc: 15; endpc: 63
		name: Flagged; startpc: 16; endpc: 63
		name: Banned; startpc: 17; endpc: 63
		name: AttemptLevelUp; startpc: 32; endpc: 63
	upvales (3)
		name: Player; instack: true; index: 2
		name: Vector3; instack: true; index: 0
		name: _ENV; instack: false; index: 0
	constants (26)
		id: 0; value: NextId
		id: 1; value: 10
		id: 2; value: 1
		id: 3; value: 0
		id: 4; value: New
		id: 5; value: 0
		id: 6; value: ReadValue
		id: 7; value: PrintStatus
		id: 8; value: GetName
		id: 9; value: SetPosition
		id: 10; value: GetX
		id: 11; value: GetY
		id: 12; value: GetZ
		id: 13; value: GainXp
		id: 14; value: BattleEnemy
		id: 15; value: IsInBattle
		id: 16; value: Attack
		id: 17; value: GetAttacked
		id: 18; value: IsDead
		id: 19; value: ExitBattle
		id: 20; value: Reset
		id: 21; value: DonateXp
		id: 22; value: Cheat
		id: 23; value: IsFlagged
		id: 24; value: Ban
		id: 25; value: IsBanned
end

1 param; 0 varargs; 3 slots; 32 opcodes; 14 constants; 12 upvalues; 0 functions; 2 locals
function func17(param1)
	0001	NEWTABLE 1 0 0
	0002	GETUPVAL 2 0                       ; Id
	0003	SETTABLE 1 -1 2                    ; id
	0004	GETUPVAL 2 1                       ; Name
	0005	SETTABLE 1 -2 2                    ; name
	0006	GETUPVAL 2 2                       ; Health
	0007	SETTABLE 1 -3 2                    ; health
	0008	GETUPVAL 2 3                       ; Level
	0009	SETTABLE 1 -4 2                    ; level
	0010	GETTABUP 2 4 -5                    ; Position x
	0011	SETTABLE 1 -5 2                    ; x
	0012	GETTABUP 2 4 -6                    ; Position y
	0013	SETTABLE 1 -6 2                    ; y
	0014	GETTABUP 2 4 -7                    ; Position z
	0015	SETTABLE 1 -7 2                    ; z
	0016	GETUPVAL 2 5                       ; Xp
	0017	SETTABLE 1 -8 2                    ; xp
	0018	GETUPVAL 2 6                       ; Damage
	0019	SETTABLE 1 -9 2                    ; damage
	0020	GETUPVAL 2 7                       ; Enemy
	0021	SETTABLE 1 -10 2                   ; enemy
	0022	GETUPVAL 2 8                       ; MaxHealth
	0023	SETTABLE 1 -11 2                   ; maxhealth
	0024	GETUPVAL 2 9                       ; InBattle
	0025	SETTABLE 1 -12 2                   ; inbattle
	0026	GETUPVAL 2 10                      ; Flagged
	0027	SETTABLE 1 -13 2                   ; flagged
	0028	GETUPVAL 2 11                      ; Banned
	0029	SETTABLE 1 -14 2                   ; banned
	0030	GETTABLE 2 1 0
	0031	RETURN 2 2
	0032	RETURN 0 1

	locals (2)
		name: key; startpc: 0; endpc: 32
		name: data; startpc: 1; endpc: 32
	upvales (12)
		name: Id; instack: true; index: 2
		name: Name; instack: true; index: 3
		name: Health; instack: true; index: 4
		name: Level; instack: true; index: 5
		name: Position; instack: true; index: 7
		name: Xp; instack: true; index: 6
		name: Damage; instack: true; index: 10
		name: Enemy; instack: true; index: 8
		name: MaxHealth; instack: true; index: 11
		name: InBattle; instack: true; index: 9
		name: Flagged; instack: true; index: 12
		name: Banned; instack: true; index: 13
	constants (14)
		id: 0; value: id
		id: 1; value: name
		id: 2; value: health
		id: 3; value: level
		id: 4; value: x
		id: 5; value: y
		id: 6; value: z
		id: 7; value: xp
		id: 8; value: damage
		id: 9; value: enemy
		id: 10; value: maxhealth
		id: 11; value: inbattle
		id: 12; value: flagged
		id: 13; value: banned
end

0 params; 0 varargs; 7 slots; 71 opcodes; 19 constants; 11 upvalues; 0 functions; 1 local
function func18()
	0001	GETTABUP 0 0 -1                    ; _ENV print
	0002	LOADK 1 -2                         ; -----PLAYER INFO-----
	0003	CALL 0 2 1
	0004	GETTABUP 0 0 -1                    ; _ENV print
	0005	LOADK 1 -3                         ; Name: 
	0006	GETUPVAL 2 1                       ; Name
	0007	CONCAT 1 1 2
	0008	CALL 0 2 1
	0009	GETTABUP 0 0 -1                    ; _ENV print
	0010	LOADK 1 -4                         ; Id: 
	0011	GETUPVAL 2 2                       ; Id
	0012	CONCAT 1 1 2
	0013	CALL 0 2 1
	0014	GETTABUP 0 0 -1                    ; _ENV print
	0015	LOADK 1 -5                         ; Health: 
	0016	GETUPVAL 2 3                       ; Health
	0017	CONCAT 1 1 2
	0018	CALL 0 2 1
	0019	GETTABUP 0 0 -1                    ; _ENV print
	0020	LOADK 1 -6                         ; Level: 
	0021	GETUPVAL 2 4                       ; Level
	0022	CONCAT 1 1 2
	0023	CALL 0 2 1
	0024	GETTABUP 0 0 -1                    ; _ENV print
	0025	LOADK 1 -7                         ; XP: 
	0026	GETUPVAL 2 5                       ; Xp
	0027	CONCAT 1 1 2
	0028	CALL 0 2 1
	0029	GETTABUP 0 0 -1                    ; _ENV print
	0030	LOADK 1 -8                         ; Position: 
	0031	GETTABUP 2 6 -9                    ; Position x
	0032	LOADK 3 -10                        ; , 
	0033	GETTABUP 4 6 -11                   ; Position y
	0034	LOADK 5 -10                        ; , 
	0035	GETTABUP 6 6 -12                   ; Position z
	0036	CONCAT 1 1 6
	0037	CALL 0 2 1
	0038	LOADK 0 -13                        ; false
	0039	GETUPVAL 1 7                       ; InBattle
	0040	TEST 1 0
	0041	JMP 0 1                            ; to pc 43
	0042	LOADK 0 -14                        ; true
	0043	GETTABUP 1 0 -1                    ; _ENV print
	0044	LOADK 2 -15                        ; In Battle: 
	0045	MOVE 3 0
	0046	CONCAT 2 2 3
	0047	CALL 1 2 1
	0048	GETTABUP 1 0 -1                    ; _ENV print
	0049	LOADK 2 -16                        ; Attack Damage: 
	0050	GETUPVAL 3 8                       ; Damage
	0051	CONCAT 2 2 3
	0052	CALL 1 2 1
	0053	GETTABUP 1 0 -1                    ; _ENV print
	0054	LOADK 2 -17                        ; Max Health: 
	0055	GETUPVAL 3 9                       ; MaxHealth
	0056	CONCAT 2 2 3
	0057	CALL 1 2 1
	0058	LOADK 0 -13                        ; false
	0059	GETUPVAL 1 10                      ; Banned
	0060	TEST 1 0
	0061	JMP 0 1                            ; to pc 63
	0062	LOADK 0 -14                        ; true
	0063	GETTABUP 1 0 -1                    ; _ENV print
	0064	LOADK 2 -18                        ; Banned: 
	0065	MOVE 3 0
	0066	CONCAT 2 2 3
	0067	CALL 1 2 1
	0068	GETTABUP 1 0 -1                    ; _ENV print
	0069	LOADK 2 -19                        ; ---------------------
	0070	CALL 1 2 1
	0071	RETURN 0 1

	locals (1)
		name: b; startpc: 38; endpc: 71
	upvales (11)
		name: _ENV; instack: false; index: 2
		name: Name; instack: true; index: 3
		name: Id; instack: true; index: 2
		name: Health; instack: true; index: 4
		name: Level; instack: true; index: 5
		name: Xp; instack: true; index: 6
		name: Position; instack: true; index: 7
		name: InBattle; instack: true; index: 9
		name: Damage; instack: true; index: 10
		name: MaxHealth; instack: true; index: 11
		name: Banned; instack: true; index: 13
	constants (19)
		id: 0; value: print
		id: 1; value: -----PLAYER INFO-----
		id: 2; value: Name: 
		id: 3; value: Id: 
		id: 4; value: Health: 
		id: 5; value: Level: 
		id: 6; value: XP: 
		id: 7; value: Position: 
		id: 8; value: x
		id: 9; value: , 
		id: 10; value: y
		id: 11; value: z
		id: 12; value: false
		id: 13; value: true
		id: 14; value: In Battle: 
		id: 15; value: Attack Damage: 
		id: 16; value: Max Health: 
		id: 17; value: Banned: 
		id: 18; value: ---------------------
end

0 params; 0 varargs; 2 slots; 3 opcodes; 0 constants; 1 upvalue; 0 functions; 0 locals
function func19()
	0001	GETUPVAL 0 0                       ; Name
	0002	RETURN 0 2
	0003	RETURN 0 1

	locals (0)
	upvales (1)
		name: Name; instack: true; index: 3
	constants (0)
end

3 params; 0 varargs; 3 slots; 4 opcodes; 3 constants; 1 upvalue; 0 functions; 3 locals
function func20(param1, param2, param3)
	0001	SETTABUP 0 -1 0                    ; Position x
	0002	SETTABUP 0 -2 1                    ; Position y
	0003	SETTABUP 0 -3 2                    ; Position z
	0004	RETURN 0 1

	locals (3)
		name: x; startpc: 0; endpc: 4
		name: y; startpc: 0; endpc: 4
		name: z; startpc: 0; endpc: 4
	upvales (1)
		name: Position; instack: true; index: 7
	constants (3)
		id: 0; value: x
		id: 1; value: y
		id: 2; value: z
end

0 params; 0 varargs; 2 slots; 3 opcodes; 1 constant; 1 upvalue; 0 functions; 0 locals
function func21()
	0001	GETTABUP 0 0 -1                    ; Position x
	0002	RETURN 0 2
	0003	RETURN 0 1

	locals (0)
	upvales (1)
		name: Position; instack: true; index: 7
	constants (1)
		id: 0; value: x
end

0 params; 0 varargs; 2 slots; 3 opcodes; 1 constant; 1 upvalue; 0 functions; 0 locals
function func22()
	0001	GETTABUP 0 0 -1                    ; Position y
	0002	RETURN 0 2
	0003	RETURN 0 1

	locals (0)
	upvales (1)
		name: Position; instack: true; index: 7
	constants (1)
		id: 0; value: y
end

0 params; 0 varargs; 2 slots; 3 opcodes; 1 constant; 1 upvalue; 0 functions; 0 locals
function func23()
	0001	GETTABUP 0 0 -1                    ; Position z
	0002	RETURN 0 2
	0003	RETURN 0 1

	locals (0)
	upvales (1)
		name: Position; instack: true; index: 7
	constants (1)
		id: 0; value: z
end

0 params; 0 varargs; 11 slots; 55 opcodes; 13 constants; 6 upvalues; 0 functions; 2 locals
function func24()
	0001	GETUPVAL 0 0                       ; Level
	0002	EQ 1 0 -1                          ; - 10
	0003	JMP 0 3                            ; to pc 7
	0004	GETUPVAL 0 1                       ; Banned
	0005	TEST 0 0
	0006	JMP 0 1                            ; to pc 8
	0007	RETURN 0 1
	0008	NEWTABLE 0 10 0
	0009	LOADK 1 -2                         ; 0
	0010	LOADK 2 -3                         ; 5
	0011	LOADK 3 -1                         ; 10
	0012	LOADK 4 -4                         ; 20
	0013	LOADK 5 -5                         ; 50
	0014	LOADK 6 -6                         ; 100
	0015	LOADK 7 -7                         ; 150
	0016	LOADK 8 -8                         ; 200
	0017	LOADK 9 -9                         ; 300
	0018	LOADK 10 -10                       ; 500
	0019	SETLIST 0 10 1                     ; 1
	0020	GETUPVAL 1 0                       ; Level
	0021	ADD 1 1 -11                        ; - 1
	0022	GETTABLE 1 0 1
	0023	GETUPVAL 2 2                       ; Xp
	0024	LE 0 1 
	0025	JMP 0 20                           ; to pc 46
	0026	GETUPVAL 2 0                       ; Level
	0027	ADD 2 2 -11                        ; - 1
	0028	SETUPVAL 2 0                       ; Level
	0029	GETUPVAL 2 2                       ; Xp
	0030	SUB 2 2 
	0031	SETUPVAL 2 2                       ; Xp
	0032	GETUPVAL 2 3                       ; MaxHealth
	0033	ADD 2 2 -3                         ; - 5
	0034	SETUPVAL 2 3                       ; MaxHealth
	0035	GETUPVAL 2 3                       ; MaxHealth
	0036	SETUPVAL 2 4                       ; Health
	0037	GETUPVAL 2 5                       ; Damage
	0038	ADD 2 2 -11                        ; - 1
	0039	SETUPVAL 2 5                       ; Damage
	0040	GETUPVAL 2 0                       ; Level
	0041	ADD 2 2 -11                        ; - 1
	0042	GETTABLE 1 0 2
	0043	EQ 1 1 -12                         ; - 
	0044	JMP 0 1                            ; to pc 46
	0045	JMP 0 -23                          ; to pc 23
	0046	GETUPVAL 2 0                       ; Level
	0047	EQ 0 2 -1                          ; - 10
	0048	JMP 0 6                            ; to pc 55
	0049	LOADK 2 -6                         ; 100
	0050	SETUPVAL 2 3                       ; MaxHealth
	0051	GETUPVAL 2 3                       ; MaxHealth
	0052	SETUPVAL 2 4                       ; Health
	0053	LOADK 2 -13                        ; 30
	0054	SETUPVAL 2 5                       ; Damage
	0055	RETURN 0 1

	locals (2)
		name: xpTable; startpc: 19; endpc: 55
		name: neededXp; startpc: 22; endpc: 55
	upvales (6)
		name: Level; instack: true; index: 5
		name: Banned; instack: true; index: 13
		name: Xp; instack: true; index: 6
		name: MaxHealth; instack: true; index: 11
		name: Health; instack: true; index: 4
		name: Damage; instack: true; index: 10
	constants (13)
		id: 0; value: 10
		id: 1; value: 0
		id: 2; value: 5
		id: 3; value: 20
		id: 4; value: 50
		id: 5; value: 100
		id: 6; value: 150
		id: 7; value: 200
		id: 8; value: 300
		id: 9; value: 500
		id: 10; value: 1
		id: 11; value: 
		id: 12; value: 30
end

1 param; 0 varargs; 2 slots; 6 opcodes; 0 constants; 2 upvalues; 0 functions; 1 local
function func25(param1)
	0001	GETUPVAL 1 0                       ; Xp
	0002	ADD 1 1 
	0003	SETUPVAL 1 0                       ; Xp
	0004	GETUPVAL 1 1                       ; AttemptLevelUp
	0005	CALL 1 1 1
	0006	RETURN 0 1

	locals (1)
		name: xp; startpc: 0; endpc: 6
	upvales (2)
		name: Xp; instack: true; index: 6
		name: AttemptLevelUp; instack: true; index: 14
	constants (0)
end

1 param; 0 varargs; 3 slots; 7 opcodes; 1 constant; 3 upvalues; 0 functions; 1 local
function func26(param1)
	0001	SETUPVAL 0 0                       ; Enemy
	0002	GETTABUP 1 0 -1                    ; Enemy SetPlayer
	0003	GETUPVAL 2 1                       ; this
	0004	CALL 1 2 1
	0005	LOADBOOL 1 1 0
	0006	SETUPVAL 1 2                       ; InBattle
	0007	RETURN 0 1

	locals (1)
		name: enemy; startpc: 0; endpc: 7
	upvales (3)
		name: Enemy; instack: true; index: 8
		name: this; instack: true; index: 1
		name: InBattle; instack: true; index: 9
	constants (1)
		id: 0; value: SetPlayer
end

0 params; 0 varargs; 2 slots; 3 opcodes; 0 constants; 1 upvalue; 0 functions; 0 locals
function func27()
	0001	GETUPVAL 0 0                       ; InBattle
	0002	RETURN 0 2
	0003	RETURN 0 1

	locals (0)
	upvales (1)
		name: InBattle; instack: true; index: 9
	constants (0)
end

0 params; 0 varargs; 2 slots; 15 opcodes; 3 constants; 4 upvalues; 0 functions; 0 locals
function func28()
	0001	GETUPVAL 0 0                       ; Banned
	0002	TEST 0 0
	0003	JMP 0 1                            ; to pc 5
	0004	RETURN 0 1
	0005	GETTABUP 0 1 -1                    ; this IsInBattle
	0006	CALL 0 1 2
	0007	TEST 0 0
	0008	JMP 0 6                            ; to pc 15
	0009	GETUPVAL 0 2                       ; Enemy
	0010	EQ 1 0 -2                          ; - 
	0011	JMP 0 3                            ; to pc 15
	0012	GETTABUP 0 2 -3                    ; Enemy GetAttacked
	0013	GETUPVAL 1 3                       ; Damage
	0014	CALL 0 2 1
	0015	RETURN 0 1

	locals (0)
	upvales (4)
		name: Banned; instack: true; index: 13
		name: this; instack: true; index: 1
		name: Enemy; instack: true; index: 8
		name: Damage; instack: true; index: 10
	constants (3)
		id: 0; value: IsInBattle
		id: 1; value: 
		id: 2; value: GetAttacked
end

1 param; 0 varargs; 2 slots; 8 opcodes; 3 constants; 2 upvalues; 0 functions; 1 local
function func29(param1)
	0001	GETUPVAL 1 0                       ; Health
	0002	SUB 1 1 
	0003	SETUPVAL 1 0                       ; Health
	0004	GETUPVAL 1 0                       ; Health
	0005	LE 0 1 -1                          ; - 0
	0006	JMP 0 1                            ; to pc 8
	0007	SETTABUP 1 -2 -3                   ; _ENV Dead True
	0008	RETURN 0 1

	locals (1)
		name: damage; startpc: 0; endpc: 8
	upvales (2)
		name: Health; instack: true; index: 4
		name: _ENV; instack: false; index: 2
	constants (3)
		id: 0; value: 0
		id: 1; value: Dead
		id: 2; value: True
end

0 params; 0 varargs; 2 slots; 3 opcodes; 1 constant; 1 upvalue; 0 functions; 0 locals
function func30()
	0001	GETTABUP 0 0 -1                    ; _ENV Dead
	0002	RETURN 0 2
	0003	RETURN 0 1

	locals (0)
	upvales (1)
		name: _ENV; instack: false; index: 2
	constants (1)
		id: 0; value: Dead
end

0 params; 0 varargs; 2 slots; 5 opcodes; 0 constants; 2 upvalues; 0 functions; 0 locals
function func31()
	0001	LOADBOOL 0 0 0
	0002	SETUPVAL 0 0                       ; InBattle
	0003	LOADNIL 0 0
	0004	SETUPVAL 0 1                       ; Enemy
	0005	RETURN 0 1

	locals (0)
	upvales (2)
		name: InBattle; instack: true; index: 9
		name: Enemy; instack: true; index: 8
	constants (0)
end

0 params; 0 varargs; 4 slots; 20 opcodes; 8 constants; 9 upvalues; 0 functions; 0 locals
function func32()
	0001	GETTABUP 0 0 -1                    ; this ExitBattle
	0002	CALL 0 1 1
	0003	LOADK 0 -2                         ; 0
	0004	SETUPVAL 0 1                       ; Xp
	0005	LOADK 0 -3                         ; 1
	0006	SETUPVAL 0 2                       ; Level
	0007	LOADK 0 -3                         ; 1
	0008	SETUPVAL 0 3                       ; Damage
	0009	LOADK 0 -4                         ; 10
	0010	SETUPVAL 0 4                       ; MaxHealth
	0011	GETUPVAL 0 4                       ; MaxHealth
	0012	SETUPVAL 0 5                       ; Health
	0013	GETTABUP 0 7 -5                    ; Vector3 New
	0014	LOADK 1 -6                         ; 0
	0015	LOADK 2 -6                         ; 0
	0016	LOADK 3 -6                         ; 0
	0017	CALL 0 4 2
	0018	SETUPVAL 0 6                       ; Position
	0019	SETTABUP 8 -7 -8                   ; _ENV Dead False
	0020	RETURN 0 1

	locals (0)
	upvales (9)
		name: this; instack: true; index: 1
		name: Xp; instack: true; index: 6
		name: Level; instack: true; index: 5
		name: Damage; instack: true; index: 10
		name: MaxHealth; instack: true; index: 11
		name: Health; instack: true; index: 4
		name: Position; instack: true; index: 7
		name: Vector3; instack: false; index: 1
		name: _ENV; instack: false; index: 2
	constants (8)
		id: 0; value: ExitBattle
		id: 1; value: 0
		id: 2; value: 1
		id: 3; value: 10
		id: 4; value: New
		id: 5; value: 0
		id: 6; value: Dead
		id: 7; value: False
end

2 params; 0 varargs; 4 slots; 12 opcodes; 1 constant; 1 upvalue; 0 functions; 2 locals
function func33(param1, param2)
	0001	GETUPVAL 2 0                       ; Xp
	0002	GETUPVAL 3 0                       ; Xp
	0003	SUB 3 3 
	0004	LE 0 3 
	0005	JMP 0 6                            ; to pc 12
	0006	GETUPVAL 2 0                       ; Xp
	0007	SUB 2 2 
	0008	SETUPVAL 2 0                       ; Xp
	0009	GETTABLE 2 0 -1                    ; GainXp
	0010	MOVE 3 1
	0011	CALL 2 2 1
	0012	RETURN 0 1

	locals (2)
		name: player; startpc: 0; endpc: 12
		name: xp; startpc: 0; endpc: 12
	upvales (1)
		name: Xp; instack: true; index: 6
	constants (1)
		id: 0; value: GainXp
end

0 params; 0 varargs; 2 slots; 13 opcodes; 2 constants; 6 upvalues; 0 functions; 0 locals
function func34()
	0001	LOADK 0 -1                         ; 99
	0002	SETUPVAL 0 0                       ; Level
	0003	LOADK 0 -2                         ; 9999
	0004	SETUPVAL 0 1                       ; Xp
	0005	LOADK 0 -1                         ; 99
	0006	SETUPVAL 0 2                       ; Damage
	0007	LOADK 0 -2                         ; 9999
	0008	SETUPVAL 0 3                       ; MaxHealth
	0009	GETUPVAL 0 3                       ; MaxHealth
	0010	SETUPVAL 0 4                       ; Health
	0011	LOADBOOL 0 1 0
	0012	SETUPVAL 0 5                       ; Flagged
	0013	RETURN 0 1

	locals (0)
	upvales (6)
		name: Level; instack: true; index: 5
		name: Xp; instack: true; index: 6
		name: Damage; instack: true; index: 10
		name: MaxHealth; instack: true; index: 11
		name: Health; instack: true; index: 4
		name: Flagged; instack: true; index: 12
	constants (2)
		id: 0; value: 99
		id: 1; value: 9999
end

0 params; 0 varargs; 2 slots; 3 opcodes; 0 constants; 1 upvalue; 0 functions; 0 locals
function func35()
	0001	GETUPVAL 0 0                       ; Flagged
	0002	RETURN 0 2
	0003	RETURN 0 1

	locals (0)
	upvales (1)
		name: Flagged; instack: true; index: 12
	constants (0)
end

0 params; 0 varargs; 2 slots; 5 opcodes; 1 constant; 2 upvalues; 0 functions; 0 locals
function func36()
	0001	LOADBOOL 0 1 0
	0002	SETUPVAL 0 0                       ; Banned
	0003	GETTABUP 0 1 -1                    ; this Reset
	0004	CALL 0 1 1
	0005	RETURN 0 1

	locals (0)
	upvales (2)
		name: Banned; instack: true; index: 13
		name: this; instack: true; index: 1
	constants (1)
		id: 0; value: Reset
end

0 params; 0 varargs; 2 slots; 3 opcodes; 0 constants; 1 upvalue; 0 functions; 0 locals
function func37()
	0001	GETUPVAL 0 0                       ; Banned
	0002	RETURN 0 2
	0003	RETURN 0 1

	locals (0)
	upvales (1)
		name: Banned; instack: true; index: 13
	constants (0)
end

2 params; 0 varargs; 9 slots; 104 opcodes; 22 constants; 1 upvalue; 0 functions; 5 locals
function func38(param1, param2)
	0001	GETTABLE 2 0 -1                    ; IsBanned
	0002	CALL 2 1 2
	0003	TEST 2 0
	0004	JMP 0 2                            ; to pc 7
	0005	LOADBOOL 2 0 0
	0006	RETURN 2 2
	0007	GETTABLE 2 0 -2                    ; GetX
	0008	CALL 2 1 2
	0009	GETTABLE 3 1 -2                    ; GetX
	0010	CALL 3 1 2
	0011	EQ 0 2 
	0012	JMP 0 89                           ; to pc 102
	0013	GETTABLE 2 0 -3                    ; GetY
	0014	CALL 2 1 2
	0015	GETTABLE 3 1 -3                    ; GetY
	0016	CALL 3 1 2
	0017	EQ 0 2 
	0018	JMP 0 83                           ; to pc 102
	0019	GETTABLE 2 0 -4                    ; GetZ
	0020	CALL 2 1 2
	0021	GETTABLE 3 1 -4                    ; GetZ
	0022	CALL 3 1 2
	0023	EQ 0 2 
	0024	JMP 0 77                           ; to pc 102
	0025	GETTABLE 2 0 -5                    ; BattleEnemy
	0026	MOVE 3 1
	0027	CALL 2 2 1
	0028	GETTABLE 2 0 -6                    ; GetName
	0029	CALL 2 1 2
	0030	GETTABLE 3 1 -6                    ; GetName
	0031	CALL 3 1 2
	0032	GETTABUP 4 0 -7                    ; _ENV print
	0033	LOADK 5 -8                         ; Battle started
	0034	CALL 4 2 1
	0035	GETTABUP 4 0 -7                    ; _ENV print
	0036	MOVE 5 2
	0037	LOADK 6 -9                         ;  vs 
	0038	MOVE 7 3
	0039	CONCAT 5 5 7
	0040	CALL 4 2 1
	0041	GETTABUP 4 0 -7                    ; _ENV print
	0042	MOVE 5 2
	0043	LOADK 6 -10                        ;  attacks
	0044	CONCAT 5 5 6
	0045	CALL 4 2 1
	0046	GETTABLE 4 0 -11                   ; Attack
	0047	CALL 4 1 1
	0048	GETTABLE 4 1 -12                   ; IsDead
	0049	CALL 4 1 2
	0050	TEST 4 0
	0051	JMP 0 19                           ; to pc 71
	0052	GETTABUP 4 0 -7                    ; _ENV print
	0053	MOVE 5 3
	0054	LOADK 6 -13                        ;  died
	0055	CONCAT 5 5 6
	0056	CALL 4 2 1
	0057	GETTABLE 4 1 -14                   ; GetXp
	0058	CALL 4 1 2
	0059	GETTABUP 5 0 -7                    ; _ENV print
	0060	LOADK 6 -15                        ; Gained 
	0061	MOVE 7 4
	0062	LOADK 8 -16                        ;  XP
	0063	CONCAT 6 6 8
	0064	CALL 5 2 1
	0065	GETTABLE 5 0 -17                   ; GainXp
	0066	MOVE 6 4
	0067	CALL 5 2 1
	0068	GETTABLE 5 0 -18                   ; ExitBattle
	0069	CALL 5 1 1
	0070	JMP 0 23                           ; to pc 94
	0071	GETTABUP 4 0 -7                    ; _ENV print
	0072	MOVE 5 3
	0073	LOADK 6 -10                        ;  attacks
	0074	CONCAT 5 5 6
	0075	CALL 4 2 1
	0076	GETTABLE 4 1 -11                   ; Attack
	0077	CALL 4 1 1
	0078	GETTABLE 4 0 -12                   ; IsDead
	0079	CALL 4 1 2
	0080	TEST 4 0
	0081	JMP 0 -41                          ; to pc 41
	0082	GETTABUP 4 0 -7                    ; _ENV print
	0083	MOVE 5 2
	0084	LOADK 6 -13                        ;  died
	0085	CONCAT 5 5 6
	0086	CALL 4 2 1
	0087	GETTABUP 4 0 -7                    ; _ENV print
	0088	LOADK 5 -19                        ; Reset to Level 1
	0089	CALL 4 2 1
	0090	GETTABLE 4 0 -20                   ; Reset
	0091	CALL 4 1 1
	0092	JMP 0 1                            ; to pc 94
	0093	JMP 0 -53                          ; to pc 41
	0094	GETTABUP 4 0 -7                    ; _ENV print
	0095	LOADK 5 -21                        ; Battle ended
	0096	CALL 4 2 1
	0097	GETTABUP 4 0 -7                    ; _ENV print
	0098	LOADK 5 -22                        ;  
	0099	CALL 4 2 1
	0100	LOADBOOL 4 1 0
	0101	RETURN 4 2
	0102	LOADBOOL 2 0 0
	0103	RETURN 2 2
	0104	RETURN 0 1

	locals (5)
		name: player; startpc: 0; endpc: 104
		name: enemy; startpc: 0; endpc: 104
		name: pname; startpc: 29; endpc: 101
		name: ename; startpc: 31; endpc: 101
		name: xp; startpc: 58; endpc: 70
	upvales (1)
		name: _ENV; instack: false; index: 0
	constants (22)
		id: 0; value: IsBanned
		id: 1; value: GetX
		id: 2; value: GetY
		id: 3; value: GetZ
		id: 4; value: BattleEnemy
		id: 5; value: GetName
		id: 6; value: print
		id: 7; value: Battle started
		id: 8; value:  vs 
		id: 9; value:  attacks
		id: 10; value: Attack
		id: 11; value: IsDead
		id: 12; value:  died
		id: 13; value: GetXp
		id: 14; value: Gained 
		id: 15; value:  XP
		id: 16; value: GainXp
		id: 17; value: ExitBattle
		id: 18; value: Reset to Level 1
		id: 19; value: Reset
		id: 20; value: Battle ended
		id: 21; value:  
end

0 params; 0 varargs; 2 slots; 7 opcodes; 2 constants; 0 upvalues; 2 functions; 1 local
function func39()
	0001	NEWTABLE 0 0 0
	0002	CLOSURE 1 0                        ; func40
	0003	SETTABLE 0 -1 1                    ; BanPlayer
	0004	CLOSURE 1 1                        ; func41
	0005	SETTABLE 0 -2 1                    ; IsCheater
	0006	RETURN 0 2
	0007	RETURN 0 1

	locals (1)
		name: this; startpc: 1; endpc: 7
	upvales (0)
	constants (2)
		id: 0; value: BanPlayer
		id: 1; value: IsCheater
end

1 param; 0 varargs; 3 slots; 12 opcodes; 2 constants; 1 upvalue; 0 functions; 1 local
function func40(param1)
	0001	GETTABUP 1 0 -1                    ; this IsCheater
	0002	MOVE 2 0
	0003	CALL 1 2 2
	0004	TEST 1 0
	0005	JMP 0 4                            ; to pc 10
	0006	GETTABLE 1 0 -2                    ; Ban
	0007	CALL 1 1 1
	0008	LOADBOOL 1 1 0
	0009	RETURN 1 2
	0010	LOADBOOL 1 0 0
	0011	RETURN 1 2
	0012	RETURN 0 1

	locals (1)
		name: player; startpc: 0; endpc: 12
	upvales (1)
		name: this; instack: true; index: 0
	constants (2)
		id: 0; value: IsCheater
		id: 1; value: Ban
end

1 param; 0 varargs; 2 slots; 4 opcodes; 1 constant; 0 upvalues; 0 functions; 1 local
function func41(param1)
	0001	GETTABLE 1 0 -1                    ; IsFlagged
	0002	TAILCALL 1 1 0
	0003	RETURN 1 0
	0004	RETURN 0 1

	locals (1)
		name: player; startpc: 0; endpc: 4
	upvales (0)
	constants (1)
		id: 0; value: IsFlagged
end

0 params; 0 varargs; 5 slots; 16 opcodes; 5 constants; 3 upvalues; 5 functions; 4 locals
function func42()
	0001	NEWTABLE 0 0 0
	0002	NEWTABLE 1 0 0
	0003	NEWTABLE 2 0 0
	0004	LOADNIL 3 0
	0005	CLOSURE 4 0                        ; func43
	0006	SETTABLE 0 -1 4                    ; GeneratePlayer
	0007	CLOSURE 4 1                        ; func44
	0008	SETTABLE 0 -2 4                    ; GenerateEnemy
	0009	CLOSURE 4 2                        ; func45
	0010	SETTABLE 0 -3 4                    ; GenerateAdmin
	0011	CLOSURE 4 3                        ; func46
	0012	SETTABLE 0 -4 4                    ; GetPlayers
	0013	CLOSURE 4 4                        ; func47
	0014	SETTABLE 0 -5 4                    ; GetEnemies
	0015	RETURN 0 2
	0016	RETURN 0 1

	locals (4)
		name: this; startpc: 1; endpc: 16
		name: Players; startpc: 2; endpc: 16
		name: Enemies; startpc: 3; endpc: 16
		name: Admin; startpc: 4; endpc: 16
	upvales (3)
		name: Player; instack: true; index: 2
		name: Enemy; instack: true; index: 1
		name: Administrator; instack: true; index: 3
	constants (5)
		id: 0; value: GeneratePlayer
		id: 1; value: GenerateEnemy
		id: 2; value: GenerateAdmin
		id: 3; value: GetPlayers
		id: 4; value: GetEnemies
end

1 param; 0 varargs; 3 slots; 8 opcodes; 3 constants; 2 upvalues; 0 functions; 2 locals
function func43(param1)
	0001	GETTABUP 1 0 -1                    ; Player New
	0002	MOVE 2 0
	0003	CALL 1 2 2
	0004	GETTABUP 2 0 -2                    ; Player NextId
	0005	SUB 2 2 -3                         ; - 1
	0006	SETTABUP 1 2 1                     ; Players
	0007	RETURN 1 2
	0008	RETURN 0 1

	locals (2)
		name: name; startpc: 0; endpc: 8
		name: player; startpc: 3; endpc: 8
	upvales (2)
		name: Player; instack: false; index: 0
		name: Players; instack: true; index: 1
	constants (3)
		id: 0; value: New
		id: 1; value: NextId
		id: 2; value: 1
end

4 params; 0 varargs; 9 slots; 11 opcodes; 3 constants; 2 upvalues; 0 functions; 5 locals
function func44(param1, param2, param3, param4)
	0001	GETTABUP 4 0 -1                    ; Enemy New
	0002	MOVE 5 0
	0003	MOVE 6 1
	0004	MOVE 7 2
	0005	MOVE 8 3
	0006	CALL 4 5 2
	0007	GETTABUP 5 0 -2                    ; Enemy NextId
	0008	SUB 5 5 -3                         ; - 1
	0009	SETTABUP 1 5 4                     ; Enemies
	0010	RETURN 4 2
	0011	RETURN 0 1

	locals (5)
		name: name; startpc: 0; endpc: 11
		name: health; startpc: 0; endpc: 11
		name: xp; startpc: 0; endpc: 11
		name: damage; startpc: 0; endpc: 11
		name: enemy; startpc: 6; endpc: 11
	upvales (2)
		name: Enemy; instack: false; index: 1
		name: Enemies; instack: true; index: 2
	constants (3)
		id: 0; value: New
		id: 1; value: NextId
		id: 2; value: 1
end

0 params; 0 varargs; 2 slots; 11 opcodes; 2 constants; 2 upvalues; 0 functions; 0 locals
function func45()
	0001	GETUPVAL 0 0                       ; Admin
	0002	EQ 1 0 -1                          ; - 
	0003	JMP 0 2                            ; to pc 6
	0004	GETUPVAL 0 0                       ; Admin
	0005	RETURN 0 2
	0006	GETTABUP 0 1 -2                    ; Administrator New
	0007	CALL 0 1 2
	0008	SETUPVAL 0 0                       ; Admin
	0009	GETUPVAL 0 0                       ; Admin
	0010	RETURN 0 2
	0011	RETURN 0 1

	locals (0)
	upvales (2)
		name: Admin; instack: true; index: 3
		name: Administrator; instack: false; index: 2
	constants (2)
		id: 0; value: 
		id: 1; value: New
end

0 params; 0 varargs; 2 slots; 3 opcodes; 0 constants; 1 upvalue; 0 functions; 0 locals
function func46()
	0001	GETUPVAL 0 0                       ; Players
	0002	RETURN 0 2
	0003	RETURN 0 1

	locals (0)
	upvales (1)
		name: Players; instack: true; index: 1
	constants (0)
end

0 params; 0 varargs; 2 slots; 3 opcodes; 0 constants; 1 upvalue; 0 functions; 0 locals
function func47()
	0001	GETUPVAL 0 0                       ; Enemies
	0002	RETURN 0 2
	0003	RETURN 0 1

	locals (0)
	upvales (1)
		name: Enemies; instack: true; index: 2
	constants (0)
end

About

A nicer way to visualize lua assembly code

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages