index += 1; if (con == 16) { scr_lerpvar("overlay_alpha", 1, 0, 90); sus_index += 0.25; if (sus_v >= 0) { sus_f = 0; sus_v += 0.005; } timer += 1; threshold = 80; if (quick_mode == 1) threshold = 30; if (timer >= threshold) { timer = 0; con = 17; sus_index = 0; } } if (con == 17) { draw_rect = 0; linecon = 1; sus_x_current = sus_x; kris_x_current = kris_x; sus_sprite = spr_susie_lw_fall_turn; kris_sprite = spr_kris_fall_turnaround; con = 18; soundcon = 1; radius = 60; } if (soundcon == 1) { dronetimer = 0; soundcon = 2; } if (soundcon == 2) { dronetimer++; if (quick_mode == 1) dronetimer++; dronepitch = dronetimer / 80; if (dronepitch >= 1) { dronepitch = 1; soundcon = 3; } } if (con == 18) { timer += 1; if (quick_mode == 1) timer += 1; sus_index = (timer / 36) * 5; if (kris_only == 0) kris_x = kris_x_current + (sin(degtorad(timer * 2.5)) * radius); if (timer >= 35) { sus_sprite = spr_susie_lw_fall_d; kris_sprite = spr_kris_fall_d_lw; sus_index = 0; con = 19; timer = 0; } } if (con == 19) { sus_index += 0.2; timer += 1; if (quick_mode == 1) timer = 8; if (timer >= 8) { con = 30; timer = 0; sus_draw = 0; } } if (con == 30) { if (kris_only == 0) draw_sprite_ext(spr_susie_lw_fall_d, index / 4, sus_x, sus_y, 1, 1, 0, c_white, char_alpha); timer += 1; if (quick_mode == 1) timer += 1; if (timer >= 15) { con = 31; timer = 0; sus_width = sprite_get_width(spr_susie_dw_fall_d); sus_height = sprite_get_height(spr_susie_dw_fall_d); sus_top = sus_height; kris_width = sprite_get_width(spr_kris_fall_d_dw); kris_height = sprite_get_height(spr_kris_fall_d_dw); kris_top = kris_height; } } if (con == 31) { timer += 1; if (kris_only == 0) draw_sprite_part(spr_susie_lw_fall_d, index / 4, 0, 0, sus_width, sus_top, sus_x, sus_y); if (kris_only == 0) draw_sprite_part(spr_susie_dw_fall_d, index / 4, 0, sus_top, sus_width, sus_height - sus_top, sus_x, sus_y + sus_top); if (timer >= 4) { if (sus_top > 2) { sus_top -= 0.5; if (quick_mode == 1) sus_top -= 1.5; } else { sus_top = 0; } if (sus_top >= 2 && kris_only == 0) { sus_particle = instance_create(sus_x + 3 + random(sus_width - 6), sus_y + sus_top, obj_dw_transition_particle); draw_sprite_part(spr_susie_white_fall_d, index / 4, 0, sus_top, sus_width, 1, sus_x, sus_y + sus_top); } } threshold = 130; if (quick_mode == 1) threshold = 40; if (timer >= threshold) { if (quick_mode == 1) linecon = 0; sus_y = round(sus_y); sus_x = round(sus_x); kris_y = round(kris_y); kris_x = round(kris_x); timer = 0; sus_v = -0.2; sus_f = 0.01; con = 32; } } else if (con == 32) { if (timer == 0) { megablack = scr_dark_marker(-10, -10, spr_whitepixel); with (megablack) { depth = 150; image_alpha = 1; y = -999; image_xscale = 999; image_yscale = 999; image_blend = c_black; persistent = 1; } } if (timer == 2) megablack.y = 0; timer += 1; if (timer >= 0 && timer < 8) { sus_v -= 0.5; if (kris_only == 0) draw_sprite_ext(spr_susie_dw_fall_smear, 0, sus_x, sus_y, 1, 1, 0, c_white, char_alpha); } if (timer >= 8 && timer < 12) { sus_v += 1; sus_f = 0; if (kris_only == 0) draw_sprite_ext(spr_susie_dw_fall_smear, 1, sus_x, sus_y, 1, 1, 0, c_white, char_alpha); } if (timer >= 12 && timer <= 13) { sus_v += 4; if (kris_only == 0) draw_sprite_ext(spr_susie_dw_fall_smear, 2, sus_x, sus_y, 1, 1, 0, c_white, char_alpha); } if (timer >= 14) { soundcon = 4; sus_v = 13; sus_f = 0; timer = 0; con = 33; rect_draw = 0; } } if (con == 33) { timer += 1; if (quick_mode == 1 && timer < 31) timer = 31; if (kris_only == 0) { draw_sprite_ext(spr_susie_dw_fall_ball, timer / 2, sus_x, sus_y - (sus_v * 2), 1, 1, 0, c_white, 0.25); draw_sprite_ext(spr_susie_dw_fall_ball, timer / 2, sus_x, sus_y - sus_v, 1, 1, 0, c_white, 0.5); draw_sprite_ext(spr_susie_dw_fall_ball, timer / 2, sus_x, sus_y, 1, 1, 0, c_white, 1); } if (timer == 14) linecon = 0; if (timer == 30) { sus_y = -20; kris_y = -14; } if (timer > 30) { if (skiprunback == 1) { var _offset = -1; if (room == room_schooldoor) _offset = 0; if (timer == (36 + _offset)) { } } else { var _offset = -1; if (room == room_schooldoor) _offset = 0; } if (sus_y >= (finaly - 8)) { con = 34; timer = 0; sus_v = 0; kris_y = finaly + 6; sus_y = finaly; getup_index = 0; fake_screenshake = 1; fake_shakeamount = 8; remkrisx = kris_x - camerax(); remkrisy = kris_y - cameray(); remsusx = sus_x - camerax(); remsusy = sus_y - cameray(); } } } if (con == 34) { timer += 1; if (quick_mode == 1 && timer < 15) timer = 15; if (timer > 1) { if (kris_only == 0) draw_sprite_ext(spr_susie_dw_landed, getup_index, (sus_x * dz) + fake_shakeamount, sus_y * dz, 1 * dz, 1 * dz, 0, c_white, 1); } if (timer == 26) { kris_x = remkrisx; kris_y = remkrisy; sus_x = remsusx; sus_y = remsusy; scr_become_dark(); dz = global.darkzone + 1; room_goto(nextroom); } if (timer == 27) { with (obj_mainchara) { x = -999; cutscene = 1; visible = 0; } with (obj_caterpillarchara) { x = -999; visible = 0; } } if (timer >= 30 && timer < 60) { with (megablack) image_alpha -= 0.05; if (quick_mode == 1) { with (megablack) image_alpha -= 0.05; } } if (timer == 50) getup_index = 1; if (timer == 53) getup_index = 2; if (timer == 55) { with (megablack) instance_destroy(); persistent = 0; if (i_ex(global.cinstance[1])) { with (global.cinstance[1]) instance_destroy(); } if (kris_only == 0 && i_ex(global.cinstance[0])) { global.cinstance[0].x = (sus_x * 2) + 10; global.cinstance[0].y = sus_y * 2; with (obj_caterpillarchara) { visible = 1; scr_caterpillar_interpolate(); facing[target] = 0; sprite_index = dsprite; } } instance_destroy(); } } if (con >= 17) { if (sus_draw == 1) { if (instance_exists(obj_kris_headobj)) { obj_kris_headobj.x = kris_x + 14; obj_kris_headobj.y = kris_y - 2; } if (global.darkzone == 0) { if (kris_only == 0) draw_sprite_ext(sus_sprite, sus_index, sus_x + fake_shakeamount, sus_y, 1, 1, 0, c_white, char_alpha); } else if (kris_only == 0) { draw_sprite_ext(sus_sprite, sus_index, (sus_x * 2) + fake_shakeamount, sus_y * 2, 2, 2, 0, c_white, char_alpha); } } }