aboutsummaryrefslogtreecommitdiff
path: root/debug/ui.lua.X
blob: a4c941d92d037aeb802ef5c8c0b6ee248f54cab3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
Pos	Lua	>>	Moon
24	 1:[ local bp = require("broadphase") ] >> 2:[ bp = require "broadphase" ]
50	 2:[ local main = require("main") ] >> 3:[ main = require "main" ]
72	 3:[ local action = require("action") ] >> 4:[ action = require "action" ]
98	 4:[ local color = require("color") ] >> 5:[ color = require "color" ]
122	 5:[ local reg = require("ability_reg") ] >> 6:[ reg = require "ability_reg" ]
150	 6:[ local char = require("char") ] >> 7:[ char = require "char" ]
189	 8:[ Enemy = char.Enemy ] >> 8:[ import Enemy from char ]
195	 9:[ local mod = ... ] >> 9:[ mod = ... ]
206	 10:[ mod.big_frame_top_left = { ] >> 11:[ mod.big_frame_top_left = { ]
242	 11:[ texture = "ui.png", ] >> 12:[ texture: "ui.png", ]
257	 12:[ s1 = 0, ] >> 13:[ s1: 0 ]
264	 13:[ t1 = 0, ] >> 14:[ t1: 0 ]
271	 14:[ s2 = 0, ] >> 15:[ s2: 0 ]
278	 15:[ t2 = 0 ] >> 16:[ t2: 0 ]
206	 16:[ } ] >> 11:[ mod.big_frame_top_left = { ]
375	 17:[ mod.create_big_button = function(node, segments, x, y) ] >> 20:[ mod.create_big_button = (node, segments, x, y) -> ]
439	 18:[ local section_width = 32 ] >> 22:[ section_width = 32 ]
460	 19:[ local ret = { } ] >> 24:[ ret = {} ]
470	 20:[ local trans = am.translate(x, y) ] >> 25:[ trans = am.translate(x,y) ]
497	 21:[ local button = am.group() ] >> 26:[ button = am.group! ]
517	 22:[ button:append(trans ^ am.sprite("data/big_frame_top_left.png", vec4(1, 1, 1, 1), "left", "top")) ] >> 27:[ button\append(trans^ am.sprite("data/big_frame_top_left.png",vec4(1,1,1,1),"left","top")) ]
615	 23:[ for i = 1, segments - 2 do ] >> 28:[ for i = 1,segments - 2 ]
633	 24:[ button:append(am.translate(((-32) * (segments / 2)) + 32 * i, y) ^ am.sprite("data/big_frame_top_mid.png", vec4(1, 1, 1, 1), "left", "top")) ] >> 29:[ button\append(am.translate(((-32)*(segments/2)) + 32*i,y)^ am.sprite("data/big_frame_top_mid.png",vec4(1,1,1,1),"left","top")) ]
608	 25:[ end ] >> 28:[ for i = 1,segments - 2 ]
761	 26:[ button:append(am.translate((32 * ((segments / 2) - 1)), y) ^ am.sprite("data/big_frame_top_right.png", vec4(1, 1, 1, 1), "left", "top")) ] >> 30:[ button\append(am.translate((32*((segments/2)-1)),y)^ am.sprite("data/big_frame_top_right.png",vec4(1,1,1,1),"left","top")) ]
885	 27:[ ret["node"] = button ] >> 31:[ ret["node"] = button ]
907	 28:[ bp.add(ret, x, y, segments * 32, 64) ] >> 32:[ bp.add(ret,x,y,segments*32,64) ]
939	 29:[ node:append(button) ] >> 33:[ node\append(button) ]
960	 30:[ return ret ] >> 34:[ ret ]
375	 31:[ end ] >> 20:[ mod.create_big_button = (node, segments, x, y) -> ]
966	 32:[ mod.create_small_button = function(node, segments, x, y) ] >> 37:[ mod.create_small_button = (node, segments, x, y) -> ]
1019	 33:[ assert(node ~= nil, "node was nil") ] >> 38:[ assert(node ~= nil, "node was nil") ]
1056	 34:[ assert(type(segments) == "number", "segments must be a numbeR") ] >> 39:[ assert(type(segments) == "number","segments must be a numbeR") ]
1120	 35:[ assert(segments > 1, "segments must be at least 2") ] >> 40:[ assert(segments > 1, "segments must be at least 2") ]
1186	 36:[ local section_width = 18 ] >> 42:[ section_width = 18 ]
1206	 37:[ local section_height = 40 ] >> 43:[ section_height = 40 ]
1228	 38:[ local ret = { } ] >> 45:[ ret = {} ]
1238	 39:[ local trans = am.translate(x, y) ] >> 46:[ trans = am.translate(x,y) ]
1265	 40:[ local button = am.group() ] >> 47:[ button = am.group! ]
1285	 41:[ button:append(trans ^ am.sprite("data/small_frame_left.png", vec4(1, 1, 1, 1), "left", "top")) ] >> 48:[ button\append(trans^ am.sprite("data/small_frame_left.png",vec4(1,1,1,1),"left","top")) ]
1381	 42:[ for i = 1, segments - 2 do ] >> 49:[ for i = 1,segments - 2 ]
1399	 43:[ button:append(am.translate(x + (section_width * i), y) ^ am.sprite("data/small_frame_mid.png", vec4(1, 1, 1, 1), "left", "top")) ] >> 50:[ button\append(am.translate(x + (section_width*i),y)^ am.sprite("data/small_frame_mid.png",vec4(1,1,1,1),"left","top")) ]
1374	 44:[ end ] >> 49:[ for i = 1,segments - 2 ]
1519	 45:[ button:append(am.translate(x + (section_width * (segments - 1)), y) ^ am.sprite("data/small_frame_right.png", vec4(1, 1, 1, 1), "left", "top")) ] >> 51:[ button\append(am.translate(x+(section_width*(segments - 1)),y)^ am.sprite("data/small_frame_right.png",vec4(1,1,1,1),"left","top")) ]
1652	 46:[ ret["node"] = button ] >> 52:[ ret["node"] = button ]
1674	 47:[ bp.add(ret, x, y, segments * section_width, section_height) ] >> 53:[ bp.add(ret,x,y,segments*section_width,section_height) ]
1729	 48:[ node:append(button) ] >> 54:[ node\append(button) ]
1750	 49:[ return ret ] >> 55:[ ret ]
966	 50:[ end ] >> 37:[ mod.create_small_button = (node, segments, x, y) -> ]
1755	 51:[ mod.create_any_button = function(node, x_segs, y_segs, x, y) ] >> 57:[ mod.create_any_button = (node, x_segs, y_segs, x, y) -> ]
1812	 52:[ assert(x_segs >= 2, "x must have at least 2 segments") ] >> 58:[ assert(x_segs >= 2, "x must have at least 2 segments") ]
1868	 53:[ assert(y_segs >= 2, "y must have at leats 2 segments") ] >> 59:[ assert(y_segs >= 2, "y must have at leats 2 segments") ]
1924	 54:[ local section_width, section_height = 32, 32 ] >> 60:[ section_width, section_height = 32,32 ]
1963	 55:[ local ret = { } ] >> 61:[ ret = {} ]
1973	 56:[ local button = am.group() ] >> 62:[ button = am.group! ]
1993	 57:[ button:append(am.translate(x, y) ^ am.sprite("data/any_frame_top_left.png", vec4(1, 1, 1, 1), "left", "top")) ] >> 63:[ button\append(am.translate(x,y)^ am.sprite("data/any_frame_top_left.png",vec4(1,1,1,1),"left","top")) ]
2103	 58:[ for i = 1, x_segs - 2 do ] >> 64:[ for i = 1, x_segs - 2 ]
2120	 59:[ button:append(am.translate(x + (i * section_width), y) ^ am.sprite("data/any_frame_top_mid.png", vec4(1, 1, 1, 1), "left", "top")) ] >> 65:[ button\append(am.translate(x + (i * section_width),y)^ am.sprite("data/any_frame_top_mid.png",vec4(1,1,1,1),"left","top")) ]
2096	 60:[ end ] >> 64:[ for i = 1, x_segs - 2 ]
2244	 61:[ button:append(am.translate(x + ((x_segs - 1) * section_width), y) ^ am.sprite("data/any_frame_top_right.png", vec4(1, 1, 1, 1), "left", "top")) ] >> 66:[ button\append(am.translate(x + ((x_segs-1)*section_width),y)^ am.sprite("data/any_frame_top_right.png",vec4(1,1,1,1),"left","top")) ]
2384	 62:[ for i = 1, y_segs - 2 do ] >> 67:[ for i = 1, y_segs - 2 ]
2401	 63:[ button:append(am.translate(x, y - (i * section_height)) ^ am.sprite("data/any_frame_mid_left.png", vec4(1, 1, 1, 1), "left", "top")) ] >> 68:[ button\append(am.translate(x,y - (i * section_height))^ am.sprite("data/any_frame_mid_left.png",vec4(1,1,1,1),"left","top")) ]
2535	 64:[ for j = 1, x_segs - 2 do ] >> 69:[ for j = 1, x_segs - 2 ]
2553	 65:[ button:append(am.translate(x + (j * section_width), y - (i * section_height)) ^ am.sprite("data/any_frame_mid_mid.png", vec4(1, 1, 1, 1), "left", "top")) ] >> 70:[ button\append(am.translate(x + (j * section_width),y - (i * section_height))^ am.sprite("data/any_frame_mid_mid.png",vec4(1,1,1,1),"left","top")) ]
2528	 66:[ end ] >> 69:[ for j = 1, x_segs - 2 ]
2701	 67:[ button:append(am.translate(x + ((x_segs - 1) * section_width), y - (i * section_height)) ^ am.sprite("data/any_frame_mid_right.png", vec4(1, 1, 1, 1), "left", "top")) ] >> 71:[ button\append(am.translate(x + ((x_segs-1)*section_width),y - (i * section_height))^ am.sprite("data/any_frame_mid_right.png",vec4(1,1,1,1),"left","top")) ]
2377	 68:[ end ] >> 67:[ for i = 1, y_segs - 2 ]
2857	 69:[ button:append(am.translate(x, y - ((y_segs - 1) * section_height)) ^ am.sprite("data/any_frame_bot_left.png", vec4(1, 1, 1, 1), "left", "top")) ] >> 72:[ button\append(am.translate(x,y - ((y_segs-1)*section_height))^ am.sprite("data/any_frame_bot_left.png",vec4(1,1,1,1),"left","top")) ]
2997	 70:[ for i = 1, x_segs - 2 do ] >> 73:[ for i = 1, x_segs - 2 ]
3014	 71:[ button:append(am.translate(x + (i * section_width), y - ((y_segs - 1) * section_height)) ^ am.sprite("data/any_frame_bot_mid.png", vec4(1, 1, 1, 1), "left", "top")) ] >> 74:[ button\append(am.translate(x + (i * section_width),y - ((y_segs-1)*section_height))^ am.sprite("data/any_frame_bot_mid.png",vec4(1,1,1,1),"left","top")) ]
2990	 72:[ end ] >> 73:[ for i = 1, x_segs - 2 ]
3168	 73:[ button:append(am.translate(x + ((x_segs - 1) * section_width), y - ((y_segs - 1) * section_height)) ^ am.sprite("data/any_frame_bot_right.png", vec4(1, 1, 1, 1), "left", "top")) ] >> 75:[ button\append(am.translate(x+((x_segs-1)*section_width),y - ((y_segs-1)*section_height))^ am.sprite("data/any_frame_bot_right.png",vec4(1,1,1,1),"left","top")) ]
3329	 74:[ button:append(am.translate(x, y):tag("loc")) ] >> 76:[ button\append(am.translate(x,y)\tag("loc")) ]
3374	 75:[ ret["node"] = button ] >> 77:[ ret["node"] = button ]
3396	 76:[ bp.add(ret, x, y, x_segs * section_width, y_segs * section_height) ] >> 78:[ bp.add(ret,x,y,x_segs*section_width,y_segs*section_height) ]
3456	 77:[ node:append(button) ] >> 79:[ node\append(button) ]
3477	 78:[ return ret ] >> 80:[ ret ]
1755	 79:[ end ] >> 57:[ mod.create_any_button = (node, x_segs, y_segs, x, y) -> ]
3482	 80:[ mod.create_char_selector2 = function(node) ] >> 82:[ mod.create_char_selector2 = (node) -> ]
3521	 81:[ local left = mod.create_any_button(node, 2, 2, 96, 100) ] >> 83:[ left = mod.create_any_button(node,2,2,96,100) ]
3568	 82:[ local right = mod.create_any_button(node, 2, 2, -96 - (32 * 2), 100) ] >> 84:[ right = mod.create_any_button(node,2,2,-96-(32*2),100) ]
3624	 83:[ local text = am.text("Loading...", vec4(1, 1, 1, 1), "center", "top") ] >> 85:[ text = am.text("Loading...",vec4(1,1,1,1),"center","top") ]
3683	 84:[ node:append(am.translate(0, 100) ^ text) ] >> 86:[ node\append(am.translate(0,100)^ text) ]
3724	 86:[ left, ] >> 87:[ {left, right, text} ]
3729	 87:[ right, ] >> 87:[ {left, right, text} ]
3736	 88:[ text ] >> 87:[ {left, right, text} ]
3482	 90:[ end ] >> 82:[ mod.create_char_selector2 = (node) -> ]
3744	 91:[ mod.create_lobby_player = function(node, peerid) ] >> 89:[ mod.create_lobby_player = (node, peerid) -> ]
3789	 92:[ local floor_y = -200 ] >> 90:[ floor_y = -200 ]
3805	 93:[ local rng_x = math.random(main.width) - (main.width / 2) ] >> 91:[ rng_x = math.random(main.width) - (main.width/2) ]
3744	 94:[ end ] >> 89:[ mod.create_lobby_player = (node, peerid) -> ]
3855	 95:[ mod.create_char_selector = function(node) ] >> 93:[ mod.create_char_selector = (node) -> ]
3893	 96:[ local s = am.group() ] >> 94:[ s = am.group! ]
3908	 97:[ local slx = (-96 / 2) - 18 ] >> 95:[ slx = (-96/2)-18 ]
3926	 98:[ local sly = (96 / 2) ] >> 96:[ sly = (96/2) ]
3940	 99:[ local srx = (96 / 2) ] >> 97:[ srx = (96/2) ]
3954	 100:[ local sry = (96 / 2) ] >> 98:[ sry = (96/2) ]
3968	 101:[ local scroll_left_node = am.translate(slx, sly) ^ am.sprite("data/selector_left.png", vec4(1, 1, 1, 1), "left", "top") ] >> 99:[ scroll_left_node = am.translate(slx,sly)^ am.sprite("data/selector_left.png", vec4(1,1,1,1), "left","top") ]
4076	 102:[ local scroll_left = { ] >> 100:[ scroll_left = { ]
4099	 103:[ node = scroll_left_node ] >> 101:[ node: scroll_left_node ]
4076	 104:[ } ] >> 100:[ scroll_left = { ]
4121	 105:[ local scroll_right_node = am.translate(srx, sry) ^ am.sprite("data/selector_right.png", vec4(1, 1, 1, 1), "left", "top") ] >> 103:[ scroll_right_node = am.translate(srx,sry)^ am.sprite("data/selector_right.png", vec4(1,1,1,1), "left","top") ]
4231	 106:[ local scroll_right = { ] >> 104:[ scroll_right = { ]
4255	 107:[ node = scroll_right_node ] >> 105:[ node: scroll_right_node ]
4231	 108:[ } ] >> 104:[ scroll_right = { ]
4278	 109:[ s:append(scroll_left_node) ] >> 107:[ s\append(scroll_left_node) ]
4306	 110:[ s:append(scroll_right_node) ] >> 108:[ s\append(scroll_right_node) ]
4335	 111:[ bp.add(scroll_left, slx, sly, 18, 40) ] >> 109:[ bp.add(scroll_left,slx,sly,18,40) ]
4370	 112:[ bp.add(scroll_right, srx, sry, 18, 40) ] >> 110:[ bp.add(scroll_right,srx,sry,18,40) ]
4406	 113:[ node:append(s) ] >> 111:[ node\append(s) ]
4423	 115:[ scroll_left, ] >> 112:[ {scroll_left, scroll_right} ]
4435	 116:[ scroll_right ] >> 112:[ {scroll_left, scroll_right} ]
3855	 118:[ end ] >> 93:[ mod.create_char_selector = (node) -> ]
4451	 119:[ mod.fadeout = function() ] >> 114:[ mod.fadeout = () -> ]
4472	 120:[ local fadeout_walltime = 0.1 ] >> 115:[ fadeout_walltime = 0.1 ]
4496	 121:[ local screen = main.root("screen") ] >> 116:[ screen = main.root("screen") ]
4526	 122:[ local hw = main.width / 2 ] >> 117:[ hw = main.width/2 ]
4545	 123:[ local hh = main.height / 2 ] >> 118:[ hh = main.height/2 ]
4565	 124:[ local bg = color.bg ] >> 119:[ bg = color.bg ]
4580	 125:[ local start_color = vec4(bg.r, bg.g, bg.b, 0) ] >> 120:[ start_color = vec4(bg.r,bg.g,bg.b,0) ]
4618	 126:[ local fadeout = am.rect(-hw, hh, hw, -hh, color.bg):tag("fade") ] >> 121:[ fadeout = am.rect(-hw,hh,hw,-hh,color.bg)\tag("fade") ]
4673	 127:[ return screen:action(am.tween(0.1, { ] >> 122:[ screen\action(am.tween(0.1, { ]
4711	 128:[ color = color.bg ] >> 123:[ color: color.bg ]
4673	 129:[ })) ] >> 122:[ screen\action(am.tween(0.1, { ]
4451	 130:[ end ] >> 114:[ mod.fadeout = () -> ]
4727	 131:[ mod.fadein = function() ] >> 126:[ mod.fadein = () -> ]
4747	 132:[ local fadein_walltime = 0.1 ] >> 127:[ fadein_walltime = 0.1 ]
4770	 133:[ local fade = main.root("fade") ] >> 128:[ fade = main.root("fade") ]
4796	 134:[ return fade:action(am.tween(0.1, { ] >> 129:[ fade\action(am.tween(0.1, { ]
4832	 135:[ color = color.transparent ] >> 130:[ color: color.transparent ]
4796	 136:[ })) ] >> 129:[ fade\action(am.tween(0.1, { ]
4727	 137:[ end ] >> 126:[ mod.fadein = () -> ]
4857	 138:[ mod.create_join_input = function(node) ] >> 133:[ mod.create_join_input = (node) -> ]
4892	 139:[ local segments = 3 ] >> 134:[ segments=3 ]
4904	 140:[ local button_width = segments * 18 ] >> 135:[ button_width = segments*18 ]
4932	 141:[ local button_height = 40 ] >> 136:[ button_height = 40 ]
4952	 142:[ local cell_padding = 18 ] >> 137:[ cell_padding = 18 ]
4971	 143:[ local grid_w = 4 ] >> 138:[ grid_w = 4 ]
4983	 144:[ local grid_h = 4 ] >> 139:[ grid_h = 4 ]
4995	 145:[ local buttons = { } ] >> 140:[ buttons = {} ]
5056	 146:[ local start_x = cell_padding - ((grid_w / 2) * button_width) - (((grid_w - 1) / 2) * cell_padding) ] >> 142:[ start_x = cell_padding - ((grid_w/2) * button_width) - (((grid_w - 1)/2) * cell_padding) ]
5146	 147:[ local start_y = 0 + ((grid_h / 2) * button_height) + (((grid_h - 1) / 2) * cell_padding) ] >> 143:[ start_y = 0 + ((grid_h/2) * button_height) + (((grid_h - 1)/2) * cell_padding) ]
5233	 148:[ for i = 0, grid_h - 1 do ] >> 144:[ for i = 0,grid_h - 1 ]
5256	 149:[ for j = 0, grid_w - 1 do ] >> 145:[ for j = 0, grid_w - 1 ]
5274	 150:[ local button_x = start_x + (j * button_width) + ((j - 1) * cell_padding) ] >> 146:[ button_x = start_x + (j * button_width) + ((j-1) * cell_padding) ]
5342	 151:[ local button_y = start_y - (i * button_height) - ((i - 1) * cell_padding) ] >> 147:[ button_y = start_y - (i * button_height) - ((i-1) * cell_padding) ]
5411	 152:[ local small_button = mod.create_small_button(node, 3, button_x, button_y) ] >> 148:[ small_button = mod.create_small_button(node,3,button_x,button_y) ]
5479	 153:[ table.insert(buttons, small_button) ] >> 149:[ table.insert(buttons, small_button) ]
5518	 154:[ local rnode = small_button.node ] >> 150:[ rnode = small_button.node ]
5547	 155:[ local text_map = { ] >> 151:[ text_map = { ]
5564	 156:[ "0", ] >> 152:[ "0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f" ]
5568	 157:[ "1", ] >> 152:[ "0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f" ]
5572	 158:[ "2", ] >> 152:[ "0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f" ]
5576	 159:[ "3", ] >> 152:[ "0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f" ]
5580	 160:[ "4", ] >> 152:[ "0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f" ]
5584	 161:[ "5", ] >> 152:[ "0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f" ]
5588	 162:[ "6", ] >> 152:[ "0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f" ]
5592	 163:[ "7", ] >> 152:[ "0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f" ]
5596	 164:[ "8", ] >> 152:[ "0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f" ]
5600	 165:[ "9", ] >> 152:[ "0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f" ]
5604	 166:[ "a", ] >> 152:[ "0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f" ]
5608	 167:[ "b", ] >> 152:[ "0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f" ]
5612	 168:[ "c", ] >> 152:[ "0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f" ]
5616	 169:[ "d", ] >> 152:[ "0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f" ]
5620	 170:[ "e", ] >> 152:[ "0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f" ]
5624	 171:[ "f" ] >> 152:[ "0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f" ]
5547	 172:[ } ] >> 151:[ text_map = { ]
5636	 173:[ local bt = text_map[(i * grid_w) + j + 1] ] >> 154:[ bt = text_map[(i * grid_w) + j + 1] ]
5675	 174:[ rnode:append(am.translate(button_x + 16, button_y - 10) ^ am.text(bt, vec4(1, 1, 1, 1), "left", "top")) ] >> 155:[ rnode\append(am.translate(button_x+16,button_y-10)^ am.text(bt,vec4(1,1,1,1),"left","top")) ]
5770	 175:[ small_button["text"] = bt ] >> 156:[ small_button["text"] = bt ]
5249	 176:[ end ] >> 145:[ for j = 0, grid_w - 1 ]
5226	 177:[ end ] >> 144:[ for i = 0,grid_h - 1 ]
5801	 178:[ local selected = mod.create_big_button(node, 6, -32 * 3, -100) ] >> 158:[ selected = mod.create_big_button(node,6,-32*3,-100) ]
5854	 179:[ return buttons ] >> 159:[ buttons ]
4857	 180:[ end ] >> 133:[ mod.create_join_input = (node) -> ]
5863	 181:[ mod.tween_hit = function(char, target, at_f) ] >> 161:[ mod.tween_hit = (char, target, at_f) -> -- char is a character, target is a location (number) ]
5958	 182:[ local x_from, x_to = char.node("char_translate").x, 0 ] >> 162:[ x_from, x_to = char.node("char_translate").x, 0 ]
6007	 183:[ local room = char.room ] >> 163:[ room = char.room ]
6027	 184:[ if char.__class == Enemy then ] >> 164:[ if char.__class == Enemy then ]
6113	 185:[ x_to = room:player_location_of(target) ] >> 166:[ x_to = room\player_location_of(target) ]
6217	 187:[ x_to = room:enemy_location_of(target) ] >> 169:[ x_to = room\enemy_location_of(target) ]
6256	 189:[ am.wait(am.tween(char.node("char_translate"), 0.1, { ] >> 170:[ am.wait(am.tween(char.node("char_translate"), 0.1, {x: x_to},am.windup)) ]
6310	 190:[ x = x_to ] >> 170:[ am.wait(am.tween(char.node("char_translate"), 0.1, {x: x_to},am.windup)) ]
6256	 191:[ }, am.windup)) ] >> 170:[ am.wait(am.tween(char.node("char_translate"), 0.1, {x: x_to},am.windup)) ]
6332	 192:[ if at_f then ] >> 171:[ if at_f ]
6340	 193:[ at_f() ] >> 172:[ at_f! ]
6330	 194:[ end ] >> 171:[ if at_f ]
6347	 195:[ return am.wait(am.tween(char.node("char_translate"), 0.1, { ] >> 173:[ am.wait(am.tween(char.node("char_translate"), 0.1, {x: x_from},am.linear)) ]
6401	 196:[ x = x_from ] >> 173:[ am.wait(am.tween(char.node("char_translate"), 0.1, {x: x_from},am.linear)) ]
6347	 197:[ }, am.linear)) ] >> 173:[ am.wait(am.tween(char.node("char_translate"), 0.1, {x: x_from},am.linear)) ]
5863	 198:[ end ] >> 161:[ mod.tween_hit = (char, target, at_f) -> -- char is a character, target is a location (number) ]
6423	 199:[ mod.build_infocard = function(node, ability) ] >> 175:[ mod.build_infocard = (node, ability) -> ]
6464	 200:[ local x_segs = 10 ] >> 176:[ x_segs = 10 ]
6477	 201:[ local y_segs = 4 ] >> 177:[ y_segs = 4 ]
6489	 202:[ local x = -310 ] >> 178:[ x = -310 ]
6499	 203:[ local y = 80 ] >> 179:[ y = 80 ]
6508	 204:[ local section_width, section_height = 32, 32 ] >> 180:[ section_width, section_height = 32,32 ]
6547	 205:[ local button = am.group() ] >> 181:[ button = am.group! ]
6567	 206:[ button:append(am.translate(x, y) ^ am.sprite("data/any_frame_top_left.png", vec4(1, 1, 1, 1), "left", "top")) ] >> 182:[ button\append(am.translate(x,y)^ am.sprite("data/any_frame_top_left.png",vec4(1,1,1,1),"left","top")) ]
6677	 207:[ for i = 1, x_segs - 2 do ] >> 183:[ for i = 1, x_segs - 2 ]
6694	 208:[ button:append(am.translate(x + (i * section_width), y) ^ am.sprite("data/any_frame_top_mid.png", vec4(1, 1, 1, 1), "left", "top")) ] >> 184:[ button\append(am.translate(x + (i * section_width),y)^ am.sprite("data/any_frame_top_mid.png",vec4(1,1,1,1),"left","top")) ]
6670	 209:[ end ] >> 183:[ for i = 1, x_segs - 2 ]
6818	 210:[ button:append(am.translate(x + ((x_segs - 1) * section_width), y) ^ am.sprite("data/any_frame_top_right.png", vec4(1, 1, 1, 1), "left", "top")) ] >> 185:[ button\append(am.translate(x + ((x_segs-1)*section_width),y)^ am.sprite("data/any_frame_top_right.png",vec4(1,1,1,1),"left","top")) ]
6958	 211:[ for i = 1, y_segs - 2 do ] >> 186:[ for i = 1, y_segs - 2 ]
6975	 212:[ button:append(am.translate(x, y - (i * section_height)) ^ am.sprite("data/any_frame_mid_left.png", vec4(1, 1, 1, 1), "left", "top")) ] >> 187:[ button\append(am.translate(x,y - (i * section_height))^ am.sprite("data/any_frame_mid_left.png",vec4(1,1,1,1),"left","top")) ]
7109	 213:[ for j = 1, x_segs - 2 do ] >> 188:[ for j = 1, x_segs - 2 ]
7127	 214:[ button:append(am.translate(x + (j * section_width), y - (i * section_height)) ^ am.sprite("data/any_frame_mid_mid.png", vec4(1, 1, 1, 1), "left", "top")) ] >> 189:[ button\append(am.translate(x + (j * section_width),y - (i * section_height))^ am.sprite("data/any_frame_mid_mid.png",vec4(1,1,1,1),"left","top")) ]
7102	 215:[ end ] >> 188:[ for j = 1, x_segs - 2 ]
7275	 216:[ button:append(am.translate(x + ((x_segs - 1) * section_width), y - (i * section_height)) ^ am.sprite("data/any_frame_mid_right.png", vec4(1, 1, 1, 1), "left", "top")) ] >> 190:[ button\append(am.translate(x + ((x_segs-1)*section_width),y - (i * section_height))^ am.sprite("data/any_frame_mid_right.png",vec4(1,1,1,1),"left","top")) ]
6951	 217:[ end ] >> 186:[ for i = 1, y_segs - 2 ]
7431	 218:[ button:append(am.translate(x, y - ((y_segs - 1) * section_height)) ^ am.sprite("data/any_frame_bot_left.png", vec4(1, 1, 1, 1), "left", "top")) ] >> 191:[ button\append(am.translate(x,y - ((y_segs-1)*section_height))^ am.sprite("data/any_frame_bot_left.png",vec4(1,1,1,1),"left","top")) ]
7571	 219:[ for i = 1, x_segs - 2 do ] >> 192:[ for i = 1, x_segs - 2 ]
7588	 220:[ button:append(am.translate(x + (i * section_width), y - ((y_segs - 1) * section_height)) ^ am.sprite("data/any_frame_bot_mid.png", vec4(1, 1, 1, 1), "left", "top")) ] >> 193:[ button\append(am.translate(x + (i * section_width),y - ((y_segs-1)*section_height))^ am.sprite("data/any_frame_bot_mid.png",vec4(1,1,1,1),"left","top")) ]
7564	 221:[ end ] >> 192:[ for i = 1, x_segs - 2 ]
7742	 222:[ button:append(am.translate(x + ((x_segs - 1) * section_width), y - ((y_segs - 1) * section_height)) ^ am.sprite("data/any_frame_bot_right.png", vec4(1, 1, 1, 1), "left", "top")) ] >> 194:[ button\append(am.translate(x+((x_segs-1)*section_width),y - ((y_segs-1)*section_height))^ am.sprite("data/any_frame_bot_right.png",vec4(1,1,1,1),"left","top")) ]
7903	 223:[ button:append(am.translate(x, y):tag("loc")) ] >> 195:[ button\append(am.translate(x,y)\tag("loc")) ]
7948	 224:[ button("loc"):append(am.scale(2) ^ am.translate(16, -8) ^ am.text(ability.text, color.fg, "left", "top")) ] >> 196:[ button("loc")\append(am.scale(2)^ am.translate(16,-8)^ am.text(ability.text, color.fg, "left","top")) ]
8051	 225:[ button("loc"):append(am.scale(1) ^ am.translate(16, -48) ^ am.text(ability.description, color.fg, "left", "top")) ] >> 197:[ button("loc")\append(am.scale(1)^ am.translate(16,-48)^ am.text(ability.description, color.fg, "left","top")) ]
8162	 226:[ button("loc"):append(am.scale(1) ^ am.translate(16, -80) ^ am.text("Speed:" .. tostring(ability.speed), color.fg, "left", "top")) ] >> 198:[ button("loc")\append(am.scale(1)^ am.translate(16,-80)^ am.text("Speed:" .. tostring(ability.speed), color.fg, "left","top")) ]
8289	 227:[ button("loc"):append(am.scale(1) ^ am.translate(16, -108) ^ am.text("Hits:", color.fg, "left", "center")) ] >> 199:[ button("loc")\append(am.scale(1)^ am.translate(16,-108)^ am.text("Hits:",color.fg,"left","center")) ]
8397	 228:[ for i = 1, 8 do ] >> 200:[ for i = 1,8 ]
8404	 229:[ button("loc"):append(am.translate(42 + (i * 24), -96) ^ am.sprite("data/pip_frame.png", color.white, "left", "top")) ] >> 201:[ button("loc")\append(am.translate(42 + (i*24), -96)^ am.sprite("data/pip_frame.png",color.white,"left","top")) ]
8519	 230:[ if ability.hits_icon[i] == 1 then ] >> 202:[ if ability.hits_icon[i] == 1 ]
8549	 231:[ button("loc"):append(am.translate(42 + (i * 24), -96) ^ am.sprite("data/pip_light.png", color.white, "left", "top")) ] >> 203:[ button("loc")\append(am.translate(42 + (i*24), -96)^ am.sprite("data/pip_light.png",color.white,"left","top")) ]
8517	 232:[ end ] >> 202:[ if ability.hits_icon[i] == 1 ]
8390	 233:[ end ] >> 200:[ for i = 1,8 ]
8662	 234:[ node:append(button) ] >> 205:[ node\append(button) ]
8683	 235:[ return button ] >> 206:[ button ]
6423	 236:[ end ] >> 175:[ mod.build_infocard = (node, ability) -> ]
8693	 237:[ mod.battle_log = function(text) ] >> 209:[ mod.battle_log = (text) -> ]
8721	 238:[ local sx, sy = math.random(-100, 100), math.random(-40, 40) ] >> 210:[ sx, sy = math.random(-100,100), math.random(-40,40) ]
8774	 239:[ local trans = am.translate(sx, sy) ] >> 211:[ trans = am.translate(sx,sy) ]
8803	 240:[ trans:action(am.tween(3, { ] >> 212:[ trans\action(am.tween(3,{y:sy + 40})) ]
8830	 241:[ y = sy + 40 ] >> 212:[ trans\action(am.tween(3,{y:sy + 40})) ]
8803	 242:[ })) ] >> 212:[ trans\action(am.tween(3,{y:sy + 40})) ]
8842	 243:[ local t = am.text(text, color.fg) ] >> 213:[ t = am.text(text, color.fg) ]
8871	 244:[ t:action(am.tween(3, { ] >> 214:[ t\action(am.tween(3,{color:color.transparent})) ]
8898	 245:[ color = color.transparent ] >> 214:[ t\action(am.tween(3,{color:color.transparent})) ]
8871	 246:[ })) ] >> 214:[ t\action(am.tween(3,{color:color.transparent})) ]
8920	 247:[ t:action(coroutine.create(function() ] >> 215:[ t\action(coroutine.create( () -> ]
8955	 248:[ am.wait(am.delay(4)) ] >> 216:[ am.wait(am.delay(4)) ]
8978	 249:[ return main.root("screen"):remove(trans) ] >> 217:[ main.root("screen")\remove(trans) ]
8920	 250:[ end)) ] >> 215:[ t\action(coroutine.create( () -> ]
9017	 251:[ return main.root("screen"):append(trans ^ t) ] >> 219:[ main.root("screen")\append(trans^ t) ]
8693	 252:[ end ] >> 209:[ mod.battle_log = (text) -> ]
9055	 253:[ return mod ] >> 221:[ mod ]