if (!init) { init = 1; with (obj_castlereflect_manager) { add_sprite_offset(554, 0, -6); add_sprite_offset(3364, 0, -6); add_sprite_offset(8439, 0, -6); add_sprite_offset(5432, 0, -6); add_sprite_offset(163, 0, -6); add_sprite_offset(5168, 0, -6); add_sprite_offset(7619, 0, -6); } with (obj_custom_interactable_solid) { if (extflag == "documents_fusuma") { trigger_event = scr_resolve_documents_fusuma_text; } else { seen_event = function() { myinteract = 3; scr_resolve_documents_text_2x(); global.interact = 1; mydialoguer = instance_create(0, 0, obj_dialoguer); }; show_debug_message_concat("havent seen doc, or either doc"); if (!scr_check_documents_read()) { trigger_event = method(id, function() { with (obj_marker) { if (sprite_index == spr_shine_white) instance_destroy(); } global.interact = 1; cutscenecon = 1; trigger_event = seen_event; read_documents = true; cutscene_master = scr_cutscene_make(); scr_maincharacters_actors(); c_pannable(1); c_mus2("volume", 0, 30); var markerL = scr_heromarker("kr", "papersL"); var markerM = scr_heromarker("kr", "papersM"); var markerR = scr_heromarker("kr", "papersR"); var left = 0; var mid = 0; var right = 0; var left_actor = -4; var mid_actor = -4; var right_actor = -4; if (kr_actor.x < ra_actor.x && kr_actor.x < su_actor.x) { left_actor = kr_actor; left = kr; } else if (kr_actor.x >= ra_actor.x && kr_actor.x >= su_actor.x) { right_actor = kr_actor; right = kr; } else { mid_actor = kr_actor; mid = kr; } if (ra_actor.x < su_actor.x) { if (kr_actor == left_actor) { mid_actor = ra_actor; right_actor = su_actor; mid = ra; right = su; } else if (kr_actor == mid_actor) { left_actor = ra_actor; right_actor = su_actor; left = ra; right = su; } else { left_actor = ra_actor; mid_actor = su_actor; left = ra; mid = su; } } else if (kr_actor == left_actor) { mid_actor = su_actor; right_actor = ra_actor; mid = su; right = ra; } else if (kr_actor == mid_actor) { left_actor = su_actor; right_actor = ra_actor; left = su; right = ra; } else { left_actor = su_actor; mid_actor = ra_actor; left = su; mid = ra; } if (left == ra) { markerL[0] -= 4; markerL[1] -= 12; } if (mid == ra) { markerM[0] -= 4; markerM[1] -= 12; } if (right == ra) { markerR[0] -= 4; markerR[1] -= 12; } if (left == su) { markerL[0] -= 6; markerL[1] -= 18; } if (mid == su) { markerM[0] -= 6; markerM[1] -= 18; } if (right == su) { markerR[0] -= 6; markerR[1] -= 18; } c_msgside("bottom"); c_sel(left); var walktime_left = scr_calculate_move_distance(left_actor.x, left_actor.y, markerL[0], markerL[1], 4); c_walkdirect(markerL[0], markerL[1], walktime_left, "u"); c_sel(mid); var walktime_mid = scr_calculate_move_distance(mid_actor.x, mid_actor.y, markerM[0], markerM[1], 4); c_walkdirect(markerM[0], markerM[1], walktime_mid, "u"); c_sel(right); var walktime_right = scr_calculate_move_distance(right_actor.x, right_actor.y, markerR[0], markerR[1], 4); c_walkdirect(markerR[0], markerR[1], walktime_right, "u"); c_wait(max(walktime_left, walktime_mid, walktime_right)); c_sel(kr); c_facing("u"); c_sel(su); c_sprite(spr_susie_kneel_up); c_sel(ra); c_sprite(spr_ralsei_kneel_up); scr_resolve_documents_text(); c_talk_wait(); c_mus2("volume", 1, 30); c_actortokris(); c_actortocaterpillar(); c_terminatekillactors(); }); } else { trigger_event = seen_event; } } } } if (con == 0) { if (scr_trigcheck("cutstart") && global.interact == 0) { show_debug_message_concat("cutscene start"); con = 1; global.interact = 1; } } if (con == 1) { cutscene_master = scr_cutscene_make(); scr_maincharacters_actors(); scr_miniface_init_flowers(); c_mus2("volume", 0, 30); pos_asgore = findspriteinfo(spr_asgore_armor_walk_up, "CUTSCENE_ASSETS"); pos_flowery = findspriteinfo(spr_flowery_walk_downleft_jacket, "CUTSCENE_ASSETS"); pos_yellow = findspriteinfo(spr_yellow_quarter, "CUTSCENE_ASSETS"); pos_aqua = findspriteinfo(spr_enemy_aqua_pose, "CUTSCENE_ASSETS"); pos_seth = findspriteinfo(spr_seth_idle, "CUTSCENE_ASSETS"); pos_green = findspriteinfo(spr_green_nods_left, "CUTSCENE_ASSETS"); pos_desk = findspriteinfo(spr_documentdesk, "CUTSCENE_ASSETS"); pos_docs1 = findspriteinfo(spr_documents, "CUTSCENE_ASSETS", c_white); yellow_marker = scr_makemarker_fromstruct(pos_yellow); yellow_marker.sprite_index = spr_yellow_embarassed; var _leftwingplot = scr_flag_get(1454); if (_leftwingplot >= 10 && _leftwingplot <= 80) { yellow_marker.visible = false; } else { } aqua_marker = scr_makemarker_fromstruct(pos_aqua); seth_marker = scr_makemarker_fromstruct(pos_seth); green_marker = scr_makemarker_fromstruct(pos_green); green_marker.sprite_index = spr_green_guilty; green_marker.image_speed = 0.125; desk_marker = scr_makemarker_fromstruct(pos_desk); docs1_marker = scr_makemarker_fromstruct(pos_docs1); docs1_marker.sprite_index = spr_documents_spread; with (obj_castlereflect_manager) { add_reflection(other.desk_marker); add_reflection(other.aqua_marker); add_reflection(other.seth_marker); add_reflection(other.green_marker); add_reflection(other.docs1_marker); add_reflection(other.yellow_marker); substitute_sprite(1597, 918); add_sprite_offset(1597, -6, 0); add_sprite_offset(6096, -2, 0); } desk_marker.depth += 100; with (obj_marker) { image_index = 0; image_blend = c_white; } docs1_marker.depth = desk_marker.depth - 2; asg = ++actor_count; asgore_actor = scr_actor_quick_setup(pos_asgore, asg, "asgorearmour"); fl = ++actor_count; flowery_actor = scr_actor_quick_setup(pos_flowery, fl, "flowery_jacketleft"); cam_region = findspriteinfo(spr_debug_cameraregionpreview, "CUTSCENE_ASSETS", c_white); cam_region2 = findspriteinfo(spr_debug_cameraregionpreview, "CUTSCENE_ASSETS", c_red); cam_region3 = findspriteinfo(spr_debug_cameraregionpreview, "CUTSCENE_ASSETS", c_lime); c_sel_facing(kr, "u"); c_sel_facing(su, "u"); c_sel_facing(ra, "u"); c_wait(10); c_pannable(true); c_pan(cam_region.x, cam_region.y, 45); c_wait(45); c_mus2("free"); c_mus2("initloop", "asgore_serious.ogg", 0); c_mus2("volume", 0, 0); c_mus2("volume", 1, 1); c_wait(15); c_msgside("bottom"); c_speaker("asgore"); c_msgsetloc(0, "\\EV* This strange world..^1. the Dark Fountain.../", "obj_ch5_DWCR_documents_slash_Step_0_gml_270_0"); c_msgnextloc("\\EW* All of this..^1. I have to prove it's true.../", "obj_ch5_DWCR_documents_slash_Step_0_gml_271_0"); c_msgnextloc("\\El* Here^1, if I can just compare it..^1. to my old notes!/%", "obj_ch5_DWCR_documents_slash_Step_0_gml_272_0"); c_sel(asg); c_msgcmd("autowalk", false); c_msgsprite(asg, 3364, 0); c_talk_wait(); c_wait(30); c_shakeobj(); c_speaker("asgore"); c_msgsetloc(0, "\\Eg* !!?/", "obj_ch5_DWCR_documents_slash_Step_0_gml_290_0"); c_msgnextloc("\\Eh* I^1, I can't read them^1! The words are.../%", "obj_ch5_DWCR_documents_slash_Step_0_gml_291_0"); c_msgcmd("soundplay", 300); c_msgsprite(asg, 3364, 1); c_talk_wait(); c_wait(20); c_spriteimage(3364, 0, 0); c_snd_play(snd_wing); c_wait(20); c_speaker("asgore"); c_msgsetloc(0, "\\EV* The words are..^1. mixed up!!/%", "obj_ch5_DWCR_documents_slash_Step_0_gml_307_0"); c_talk_wait(); c_wait(20); c_spriteimage(3364, 1, 0); c_snd_play(snd_wing); c_wait(40); c_spriteimage(8439, 0, 0); var _animtime = c_animate_complex(asgore_actor, 8439, 1, [0.1, 0.1, 0.05, 0.1, 0.1, 0.1, 0.1, 0.5], "seconds"); c_wait(12); c_shake(); c_snd_play(snd_impact); c_lerp_var_instance(docs1_marker, "image_index", 0, 4, 8); c_wait(5); c_speaker("asgore"); c_msgsetloc(0, "\\ES* Damn it!/%", "obj_ch5_DWCR_documents_slash_Step_0_gml_333_0"); c_talk_wait(); c_sel_sprite(fl, 7345); c_autofacing(false); c_sel_walkdirect(fl, pos_asgore.x + 200, pos_flowery.y, 30); c_wait(45); c_sel_walkdirect(fl, pos_asgore.x + 80, pos_flowery.y, 30); c_wait(30); c_sel_spriteimage(fl, 5920, 1); c_sel(asg); c_shakeobj(); c_speaker("flowery"); c_msgsetloc(0, "\\E0\\VW* Hey^1, Fruitjuice^1. You been working 2much2play./", "obj_ch5_DWCR_documents_slash_Step_0_gml_349_0"); c_msgnextloc("\\E3\\VQ* Knock those socks off after a hard day.../", "obj_ch5_DWCR_documents_slash_Step_0_gml_350_0"); c_sel(asg); c_msgcmd("shakeobj"); c_msgnextloc("\\E0\\Va* And enjoy some of your Ideal World in Diner 2./%", "obj_ch5_DWCR_documents_slash_Step_0_gml_353_0"); c_talk_wait(); c_sel_spriteimage(asg, 5432, 0); c_wait(2); c_imageindex(1); c_wait(5); c_lerp_var_instance(asgore_actor, "image_index", 1, 4, 6); c_snd_play_x(snd_wing, 1, 0.8); c_wait(3); c_var_lerp_to_instance(flowery_actor, "x", pos_asgore.x + 170, 20, 2, "out"); c_wait(20); _animtime = c_animate_complex(asgore_actor, 8439, 1, [0.05, 0.05, 0.05, 0.1, 0.1, 0.1, 0.1, 0.5], "seconds"); c_wait(10); c_shake(); c_snd_play(snd_impact); c_lerp_var_instance(docs1_marker, "image_index", 0, 4, 8); c_wait(_animtime - 12); c_sel(asg); c_shakeobj(); c_speaker("asgore"); c_msgsetloc(0, "\\ES* Flowery^1, can't you see I'm BUSY here!?/", "obj_ch5_DWCR_documents_slash_Step_0_gml_388_0"); c_msgnextloc("\\EV* If I can just PROVE this..^1. I'll finally.../%", "obj_ch5_DWCR_documents_slash_Step_0_gml_389_0"); c_talk_wait(); c_sel_sprite(fl, 4294); c_wait(10); c_mus2("volume", 0, 10); c_var_instance(id, "wind_on", true); c_customfunc(function() { snd_volume(wind_sound, 1, 15); }); c_var_lerp_instance(wind_effect, "image_alpha", 0, 0.6, 15); c_var_lerp_instance(wind_effect, "spd_multiplier", 0.5, 5.5, 15); c_wait(10); c_var_instance(desk_marker, "depth", asgore_actor.depth + 100); c_var_instance(docs1_marker, "depth", asgore_actor.depth + 96); c_var_instance(docs1_marker, "sprite_index", spr_documents); c_var_instance(docs1_marker, "image_index", 0); repeat (6) { c_customfunc(function() { for (var i = 0; i < 4; i++) { with (instance_create_depth(docs1_marker.x + (30 * i), docs1_marker.y + (docs1_marker.image_index * 6), desk_marker.depth - 50, obj_orbitparticle)) { orbit_angle = random(10); sprite_index = choose(spr_document_part, spr_document_partB); scr_darksize(); orbit_depth = depth - 100; orbit_dist = 0; orbit_speed = 24; orbit_dist_target = 35; orbit_target_follow = false; orbit_eject_angle_range = orbit_speed + 1 + random_range(5, 15); grav = -0.05; image_alpha = 1; alarm[1] = 15; event_perform(ev_step, ev_step_normal); } } with (docs1_marker) image_index += ((image_number - 1) / 6); }); c_wait(2); } c_wait(10); c_sel_sprite(asg, 5168); c_wait(20); c_var_lerp_to_instance(wind_effect, "image_alpha", 0, 25); c_var_lerp_to_instance(wind_effect, "spd_multiplier", 2, 25); c_customfunc(function() { snd_volume(wind_sound, 0, 35); }); c_wait(35); c_var_instance(id, "wind_on", false); c_speaker("flowery"); c_msgsetloc(0, "\\E2\\VS* Woah^1, mysterious wind!/%", "obj_ch5_DWCR_documents_slash_Step_0_gml_475_0"); c_talk_wait(); c_speaker("asgore"); c_msgsetloc(0, "\\EW* Wh..^1. what the!?/%", "obj_ch5_DWCR_documents_slash_Step_0_gml_481_0"); c_talk_wait(); var _massagey = pos_flowery.y + 8; var _massagex = pos_asgore.x + 47; c_sel_walkdirect(fl, _massagex, _massagey, 30); c_autofacing(true); c_wait(30); flowery_actor.xstart = _massagex; flowery_actor.ystart = _massagey; flowery_actor.timer = 0; flowery_actor.massage = true; flowery_massage = function() { if (massage) { timer++; x = xstart + (sin((timer / 30) * 2 * pi) * 2); y = ystart + (cos((timer / 10) * 2 * pi) * 2); } }; c_sel(fl); c_step_func(flowery_massage); c_sprite(spr_flowery_massage); c_imagespeed(0.25); c_autodepth(false); c_depth(74000); c_speaker("flowery"); c_msgsetloc(0, "\\E2\\VR* Hey^1, forget about your families trouble./%", "obj_ch5_DWCR_documents_slash_Step_0_gml_513_0"); c_talk_wait(); c_var_instance(flowery_actor, "massage", false); c_sel_walkdirect(fl, pos_asgore.x + 180, pos_flowery.y - 10, 30); c_wait(10); c_sel_spriteimage(asg, 163, 0, 0); c_wait(20); c_speaker("flowery"); c_msgsetloc(0, "\\E0\\Vo* Friendship's just a smile away./%", "obj_ch5_DWCR_documents_slash_Step_0_gml_530_0"); c_sel(asg); c_talk_wait(); c_sel(fl); c_autodepth(true); c_sprite(spr_flowery_gestureup_right); c_var_instance(seth_marker, "sprite_index", spr_seth_book_embarassed); c_var_instance(seth_marker, "image_index", 0); c_var_instance(aqua_marker, "sprite_index", spr_enemy_aqua_idle); c_var_instance(aqua_marker, "image_speed", 0.4); c_pan(cam_region3.x, cam_region3.y, 30); c_wait(30); c_sel_spriteimage(asg, 163, 1, 0); c_speaker("seth"); c_msgsetsubloc(0, "~1* A-Asgore^1, sir..^1. I..^1. I^1, ~2we're s-sorry to interrupt ~2you.../", (global.lang == "ja") ? "\\m1\t\t\t" : "\\m1\t\t", (global.lang == "ja") ? "&\t\t\t\t" : "&\t\t", "obj_ch5_DWCR_documents_slash_Step_0_gml_550_0"); c_facenext("flowery", 0); c_msgnextloc("* Hey^1, don't be sorey^1. Show your Gorey your storey./", "obj_ch5_DWCR_documents_slash_Step_0_gml_552_0"); c_facenext("seth", 0); c_msgnextsubloc("~1* R-right^1! Umm^1, Asgore^1, sir!/%", (global.lang == "ja") ? "\\m1\t\t\t" : "\\m1\t\t", (global.lang == "ja") ? "&\t\t\t\t" : "&\t\t", "obj_ch5_DWCR_documents_slash_Step_0_gml_554_0"); c_talk_wait(); c_var_instance(seth_marker, "image_index", 1); c_shaketarget(seth_marker); c_speaker("seth"); c_msgsetsubloc(0, "~1* I have a book I want to read ~2you!/", (global.lang == "ja") ? "\\m1\t\t\t" : "\\m1\t\t", (global.lang == "ja") ? "&\t\t\t\t" : "&\t\t", "obj_ch5_DWCR_documents_slash_Step_0_gml_562_0"); c_facenext("aqua", 0); c_msgnextsubloc("~1* Uuu^1, and I have a tooth I ~2want to smile you!/%", (global.lang == "ja") ? "\\m0\t\t\t" : "\\m0\t\t", (global.lang == "ja") ? "&\t\t\t\t" : "&\t\t", "obj_ch5_DWCR_documents_slash_Step_0_gml_564_0"); c_sel(asg); c_spritenext(163, 2); c_msgcmd("var", aqua_marker, "sprite_index", 5485); c_talk_wait(); c_speaker("flowery"); c_msgsetloc(0, "\\E2\\VT* Look^1, my King^1. When you're with us.../", "obj_ch5_DWCR_documents_slash_Step_0_gml_573_0"); c_msgnextloc("\\E0\\Vb* You're with the boys^1. Even when some of them's girls./%", "obj_ch5_DWCR_documents_slash_Step_0_gml_574_0"); c_msgcmd("var", aqua_marker, "sprite_index", 6096); c_msgcmd("var", seth_marker, "image_index", 0); c_talk_wait(); c_sel_spriteimage(asg, 163, 2); c_wait(10); c_speaker("asgore"); c_msgsetloc(0, "\\EU* Hah.../%", "obj_ch5_DWCR_documents_slash_Step_0_gml_583_0"); c_talk_wait(); c_wait(10); c_sel_spriteimage(asg, 163, 3); c_speaker("asgore"); c_msgsetloc(0, "\\E9* ..^1. I suppose you're right./%", "obj_ch5_DWCR_documents_slash_Step_0_gml_590_0"); c_talk_wait(); c_sel_walkdirect(asg, pos_seth.x - 115, pos_asgore.y, 60); c_autowalk(true); c_wait(60); c_speaker("asgore"); c_msgsetloc(0, "\\E3* Come along^1, little ones./%", "obj_ch5_DWCR_documents_slash_Step_0_gml_598_0"); c_msgcmd("var", yellow_marker, "sprite_index", 5820); c_msgcmd("var", green_marker, "sprite_index", 7454); c_msgcmd("var", green_marker, "image_speed", 0); c_msgcmd("var", green_marker, "image_index", 0); c_talk_wait(); c_wait(15); c_markerwalkdirect(seth_marker, pos_seth.x + 240, pos_seth.y, 60, 4189, 0.25); c_markerwalkdirect(aqua_marker, pos_aqua.x + 240, pos_aqua.y, 60, 3449, 0.25); c_markerwalkdirect(yellow_marker, pos_yellow.x + 240, pos_yellow.y, 60, 5786, 0.25); c_markerwalkdirect(green_marker, pos_green.x + 240, pos_green.y, 60, 3147, 0.25); c_wait(45); c_sel_spriteimage(asg, 7619, 1, 0, 0); c_msgstay(5); c_speaker("asgore"); c_msgsetloc(0, "\\ET* Flowery^1. Just have those documents for me..^1. later./%", "obj_ch5_DWCR_documents_slash_Step_0_gml_617_0"); c_talk_wait(); c_sel_sprite(fl, 7984); c_speaker("flowery"); c_msgsetloc(0, "\\E0\\Va* Hey^1. So says the world to me^1, champ./%", "obj_ch5_DWCR_documents_slash_Step_0_gml_623_0"); c_talk_wait(); c_sel(asg); c_autowalk(true); c_walk("r", 4, 120); c_wait(20); c_sel_walk(fl, "r", 4, 120); c_wait(60); c_pan(cam_region2.x, cam_region2.y, 45); c_wait(15); c_var_lerp_to_instance(document_markers[0], "x", doc_pos_end.x, 45, 2, "out"); c_var_lerp_to_instance(document_markers[0], "y", doc_pos_end.y, 45, 5, "out"); for (var i = 1; i < 4; i++) { c_wait(4); c_var_lerp_to_instance(document_markers[i], "x", doc_pos_end.x + document_markers[i].offx, 45, 2, "out"); c_var_lerp_to_instance(document_markers[i], "y", doc_pos_end.y + document_markers[i].offy, 45, 5, "out"); } c_wait(45); c_customfunc(make_shine); c_pannable(false); c_sel_facing(kr, "d"); c_wait(1); c_mus2("free"); c_actortokris(); c_actortocaterpillar(); c_terminatekillactors(); con = 2; } if (con == 2 && !i_ex(obj_cutscene_master)) { show_debug_message_concat("cutscene ended"); global.interact = 0; global.facing = 0; if (plot_check_on) scr_flag_set(plot_flag, plot_post); con = 999; var i = 1; while (i < 4) i++; } if (wind_on) { windtimer++; if (windtimer > 12) { windtimer = 0; with (obj_plat_conspiracy_new) { hit_cooldown = 1; image_speed = 2; spin_cooldown = 80; rope_active = true; add_force(-5, -1); } } }