aboutsummaryrefslogtreecommitdiff
path: root/debug/ui.lua.X
diff options
context:
space:
mode:
authorAlexander M Pickering <alex@cogarr.net>2024-01-29 16:20:10 -0600
committerAlexander M Pickering <alex@cogarr.net>2024-01-29 16:20:10 -0600
commitc2926c5ec74d7e37da395c8c32a7ff2b4cae7d06 (patch)
treeac2bb208dab1274cdc5e9059ffe014ae19181a4c /debug/ui.lua.X
downloadfools_rush_in-c2926c5ec74d7e37da395c8c32a7ff2b4cae7d06.tar.gz
fools_rush_in-c2926c5ec74d7e37da395c8c32a7ff2b4cae7d06.tar.bz2
fools_rush_in-c2926c5ec74d7e37da395c8c32a7ff2b4cae7d06.zip
All the files
Diffstat (limited to 'debug/ui.lua.X')
-rw-r--r--debug/ui.lua.X247
1 files changed, 247 insertions, 0 deletions
diff --git a/debug/ui.lua.X b/debug/ui.lua.X
new file mode 100644
index 0000000..a4c941d
--- /dev/null
+++ b/debug/ui.lua.X
@@ -0,0 +1,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 ]