if (view_current != 0) exit; var cam = scr_getcam(); var _cx = camerax(); var _cy = cameray(); if (menu) { fadecaterpillars(0); var maxnum = 6; var mx = _cx + 350; var my = _cy + 119; var space = 32; var newpage = false; var update = false; if (!menuinit) { camstart = scr_getcam(); cammove = 0; remmpos = mpos; if (mpos > maxnum) page = floor(mpos / maxnum); setTable(menuOptions[mpos].cutscene); menuinit = 1; } var resetcamtime = 15; cammove = clamp(cammove + 1, 0, resetcamtime); var camtarg = findspriteinfo(spr_debug_cameraregionpreview, undefined, #BDFF16); var targ = { x: round(lerp_inout_circ(_cx, camtarg.x, cammove / resetcamtime)), y: round(lerp_inout_circ(_cy, camtarg.y, cammove / resetcamtime)) }; camera_setxy(targ.x, targ.y); var menuLength = array_length(menuOptions); var pagecount = ceil(menuLength / maxnum); if (menu == 1) { if (left_p()) { page--; newpage = true; } if (right_p()) { page++; newpage = true; } if (down_p()) { mpos++; update = true; } if (up_p()) { mpos--; update = true; } } if (page > (pagecount - 1)) { page = 0; newpage = true; } if (page < 0) { page = pagecount - 1; newpage = true; } if (newpage && pagecount > 1) { mpos = page * maxnum; update = true; } draw_set_font(scr_84_get_font("mainbig")); draw_set_halign(fa_left); draw_set_valign(fa_top); var dboxbord = 16; var boxwid = 260; if (global.lang == "ja") { boxwid = 304; mx -= 22; } var linecount = min(menuLength, maxnum); var bonbot = 0; if (pagecount > 1) bonbot = 30; var prog = cammove / resetcamtime; var flyoff = lerp_inout_cubic(80, 0, prog); var _my = my + flyoff; scr_darkbox_black((mx - 36 - dboxbord) + 14, _my - 8 - dboxbord - 83, ((mx + boxwid) - 14) + dboxbord, my + (space * 2) + maxnum + dboxbord + bonbot); var fltextbox = stringsetsubloc("Flower Tea Time!\nF$: $~1", string(global.flag[1411]), "obj_dw_fcastle_cafe_slash_Draw_0_gml_99_0"); var allseen = true; for (var i = 0; i < menuLength; i++) { if (menuOptions[i].watched == false) allseen = false; } var set = 0; var haveall = !(27 - menuLength); if (allseen) { set = 1; fltextbox = stringsetloc("Make more friends,\nhave more breaks?", "obj_dw_fcastle_cafe_slash_Draw_0_gml_109_0"); } if (haveall && allseen) { set = 2; fltextbox = stringsetloc("Everyone is\nfully relaxed!", "obj_dw_fcastle_cafe_slash_Draw_0_gml_115_0"); } if (global.lang == "ja") { var _posx = mx - 16; var _posy = _my - 88; if (set == 1) { _posx = (mx - 16) + 52; _posy = (_my - 88) + 1; } if (set == 2) { _posx = ((mx - 16) + 52) - 20 - 8 - 10; _posy = (_my - 88) + 1 + 18; } draw_text(_posx, _posy, fltextbox); } else { draw_text(mx, (_my - 101) + 13, fltextbox); } scr_darkbox_black(mx - 36 - dboxbord, my - 8 - dboxbord, mx + boxwid + dboxbord, my + (space * linecount) + maxnum + dboxbord + bonbot); mencount = 0; for (var i = 0; i < maxnum; i++) { if ((i + (page * maxnum)) < menuLength) { var thisMenuOpt = menuOptions[i + (page * maxnum)]; var col = 16777215; var col2 = 16777215; if (thisMenuOpt.bought == false) { col2 = 8087653; col = col2; } if ((i + (page * maxnum)) == mpos) { col = 65535; col2 = merge_color(col2, c_yellow, 0.25); } if (!thisMenuOpt.watched) { col = 16777215; col2 = 65535; if ((i + (page * maxnum)) == mpos) col2 = merge_color(c_white, c_yellow, 0.25); } draw_set_font(scr_84_get_font("mainbig")); if (global.lang == "ja") { var drawfancy = true; if (drawfancy) { var x1 = mx + 40 + 4; draw_set_halign(fa_center); draw_text_color(x1, my + (space * i), thisMenuOpt.name1, col, col, col2, col2, 1); var x2 = mx + 116 + 2; if (thisMenuOpt.name2 != "") draw_text_color(x2, my + (space * i), nameAnd, col, col, col2, col2, 1); var x3 = mx + 94 + 106 + 6; draw_text_color(x3, my + (space * i), thisMenuOpt.name2, col, col, col2, col2, 1); draw_set_halign(fa_left); } else { draw_text_color(mx - 10, my + (space * i), thisMenuOpt.desc, col, col, col2, col2, 1); } } else { draw_text_color(mx, my + (space * i), thisMenuOpt.desc, col, col, col2, col2, 1); } var str = stringsetloc("NEW", "obj_dw_fcastle_cafe_slash_Draw_0_gml_153_0"); if (!thisMenuOpt.watched) { var c = { a: 16777215, b: 65535 }; if ((i + (page * maxnum)) == mpos) { c.a = -1; c.b = 7536639; } draw_set_halign(fa_right); if (global.lang == "ja") draw_text_transformed_color((((mx + boxwid) - 11) + 8 + 2) - 2, my + (space * i) + 8, str, 0.5, 0.5, 0, c.a, c.a, c.b, c.b, 1); else draw_text_color((mx + boxwid) - 11, my + (space * i), str, c.a, c.a, c.b, c.b, 1); draw_set_halign(fa_left); } draw_set_halign(fa_left); mencount++; } } draw_set_color(c_white); if (mpos < (page * maxnum)) { mpos = ((page * maxnum) + mencount) - 1; update = true; } if (mpos > (((page * maxnum) + mencount) - 1)) { mpos = page * maxnum; update = true; } var gray = 8087653; var thismpos = mpos - (page * maxnum); if (thismpos >= mencount) thismpos = 0; if (menu == 1) { var off = 0; if (global.lang == "ja") off = -8; draw_sprite_ext(spr_heart, 0, (mx - 22) + off, my + (space * (mpos - (page * maxnum))) + 8, 1, 1, 0, c_white, 1); } if (pagecount > 1) { draw_set_font(fnt_mainbig); var numspace = 24; var totalnumberwidth = (pagecount * (numspace / 2)) + ((pagecount - 1) * (numspace / 2)); var actualboxwid = boxwid + 41; var boxl = mx - 38; var truex = (boxl + (actualboxwid / 2)) - (totalnumberwidth / 2); var thisy = my + (space * maxnum) + 8; for (var i = 0; i < pagecount; i++) { var thisx = truex + (i * numspace); draw_set_color(gray); if (i == page) draw_set_color(c_white); draw_text(thisx - 3, thisy - 9, string(i + 1)); var coll = 16777215; var colr = 16777215; if (menu == 1) { coll = merge_color(gray, c_white, left_h()); colr = merge_color(gray, c_white, right_h()); } if (i == 0) draw_sprite_ext(spr_ui_arrow_left, 0, thisx - 18, thisy + 8, 1, 1, 0, coll, 1); if (i == (pagecount - 1)) draw_sprite_ext(spr_ui_arrow_left, 0, thisx + 24, thisy + 8, -1, 1, 0, colr, 1); if (!instance_exists(obj_choicer_neo)) { if (i == 0) { if (left_p()) { with (instance_create(thisx - 18, thisy + 8, obj_afterimage)) { sprite_index = spr_ui_arrow_left; image_xscale = 1; hspeed = -3; friction = 0.4; fadeSpeed = 0.16666666666666666; } } } if (i == (pagecount - 1)) { if (right_p()) { with (instance_create(thisx + 24, thisy + 8, obj_afterimage)) { sprite_index = spr_ui_arrow_left; image_xscale = -1; hspeed = 3; friction = 0.4; fadeSpeed = 0.16666666666666666; } } } } } draw_set_color(-1); draw_set_halign(-1); } if (menu == 1) { if (button1_p()) { menu = 0; with (tableselect) myinteract = 0; if (mpos == 0) { cutscene = 0; resetcamera = true; resetcameratimer = 0; global.interact = 0; } else { var opt1 = stringsetloc("Break", "obj_dw_fcastle_cafe_slash_Draw_0_gml_242_0"); var opt2 = stringsetloc("Do not", "obj_dw_fcastle_cafe_slash_Draw_0_gml_243_0"); var bought = menuOptions[mpos].bought; if (bought == 0) { choice = 0; menu = 2; var cost = menuOptions[mpos].cost; scr_speaker("no_name"); msgsetsubloc(0, "* Take a break for ~1 Flowery Dollars?/", cost, "obj_dw_fcastle_cafe_slash_Draw_0_gml_251_0"); scr_readychoicer(opt1, opt2); d_make(); } else { choice = 0; menu = 2; menuOptions[mpos].cost = 0; scr_speaker("no_name"); msgsetloc(0, "* Have this break?/", "obj_dw_fcastle_cafe_slash_Draw_0_gml_262_0"); if (menuOptions[mpos].watched) msgsetloc(0, "* Have this break again?/", "obj_dw_fcastle_cafe_slash_Draw_0_gml_265_0"); scr_readychoicer(opt1, opt2); d_make(); } } } else if (button2_p()) { resetcamera = true; resetcameratimer = 0; mpos = remmpos; menu = 0; global.interact = 0; with (tableselect) myinteract = 0; setTable(0); } } if (update) { snd_play(snd_menumove); setTable(menuOptions[mpos].cutscene); } } if (menu == 2 && global.choice != -1) { if (global.choice == 0) { var cost = menuOptions[mpos].cost; var haveenough = false; if (global.flag[1411] >= cost) haveenough = true; if (haveenough) { global.flag[1411] -= cost; snd_play(snd_item); scr_flowercutsceneFlag_set(menuOptions[mpos].key, 1); scr_flowercutsceneWatchedFlag_set(menuOptions[mpos].key, 1); menuOptions[mpos].bought = true; menuOptions[mpos].watched = true; menu = 0; with (tableselect) myinteract = 0; cutscene = 1; global.interact = 1; k_d(); } else { k_d(1); scr_speaker("no_name"); msgsetloc(0, "* You don't have enough Flowery Dollars.../%", "obj_dw_fcastle_cafe_slash_Draw_0_gml_321_0"); d_make(); menu = 2.01; } } if (global.choice == 1) { menu = 1; k_d(); } } if (menu == 2.01 && !d_ex()) { menu = 1; k_d(); }