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