palette_index = obj_pl.palette_index shader_on = obj_pl.shader_on switch scene { case 1: y += fly_speed if (y > 0) mail_whale_shadow_alpha += 0.025 if (y > mail_whale_y_target && fly_speed > 0) fly_speed -= 0.2 else if (fly_speed == 0) scene = 2 break case 2: if (global.player_can_travel == true) { scr_text() with (msg) { portrait = false message[0] = "* Hello - greetings - hip hip# hooray!" message[1] = "* What can I do for you today?" ch_msg = 1 ch[1] = "Mail" ch[2] = "Travel" if (outcome == 1) other.mail_whale_mail_noloop = true if (outcome == 2) other.mail_whale_travel_noloop = true if other.mail_whale_mail_noloop { message[2] = "* You have a watch? If you don't,# that's fine!" message[3] = "* Cause you know what time it is?# Mail time! Mail time! " if ds_list_empty(global.mail_unclaimed_list) { message[4] = "* Do you have mail to claim?" message[5] = "* Let's take a look. You don't!# What a shame." message[6] = "* If you want to check again,# just ring the bell!" message[7] = "* Until we meet again; I bid you# farewell!" other.scene++ } else { portrait = false message[4] = "* (You received mail!)" message[5] = "* I truly hope you like your# mail!" message[6] = "* As for me, I must set sail!" if (message_current == 4) { audio_play_sound(snd_success, 1, 0) scr_mail_claim() other.scene = 3 } } } if other.mail_whale_travel_noloop { message[2] = "* Where in the world would you# like to fly?" message[3] = "* Just choose the place and the# UGPS sign!" global.cutscene = true other.scene = 4 } } } else { scr_text() if ds_list_empty(global.mail_unclaimed_list) { with (msg) { portrait = false message[0] = "* Hello again, friend! Do you# have mail to claim?" message[1] = "* Let's take a look. You don't!# What a shame." message[2] = "* If you want to check again,# just ring the bell!" message[3] = "* Until we meet again; I bid you# farewell!" } scene++ } else { with (msg) { portrait = false message[0] = "* You have a watch? If you don't,# that's fine!" message[1] = "* Cause you know what time it is?# Mail time! Mail time! " message[2] = "* (You received mail!)" message[3] = "* I truly hope you like your# mail!" message[4] = "* As for me, I must set sail!" if (message_current == 2) { audio_play_sound(snd_success, 1, 0) scr_mail_claim() other.scene++ } } } } break case 3: if instance_exists(obj_dialogue) return; y -= fly_speed mail_whale_shadow_alpha -= 0.05 if (y > ystart && fly_speed < 2) fly_speed += 0.2 if (y <= ystart) { instance_destroy() scr_cutscene_end() instance_destroy() } break case 4: if instance_exists(obj_dialogue) return; instance_create(0, 0, obj_fast_travel_menu) scene++ break case 5: if instance_exists(obj_fast_travel_menu) return; if (global.fast_travel_point == "None") { scr_text() with (msg) message[0] = "* OOF." scene = 3 } else { scr_text() with (msg) { message[0] = "* A very fine choice, I cannot# scoff!" message[1] = "* Hop into my basket and we'll# takeoff!" } scene = 6 } break case 6: if global.dialogue_open return; depth = (-y) - 10 if (!instance_exists(obj_player_npc)) instance_create(obj_pl.x, obj_pl.y, obj_player_npc) else { var yy = y + 40 if (room == rm_steamworks_32) yy = y + 20 cutscene_npc_walk(1168, x, yy, 2, "nothing", "up") } break case 7: cutscene_wait(0.5) break case 8: audio_play_sound(snd_playerjump, 1, 0) with (obj_doorway) instance_destroy() obj_player_npc.image_alpha = 0 sprite_index = spr_mail_whale_basket_clover_yellow cutscene_advance() break case 9: cutscene_wait(1) break case 10: depth = (-room_height) + 1 y -= fly_speed mail_whale_shadow_alpha -= 0.05 if (y > -40 && fly_speed < 2) fly_speed += 0.2 if (y <= (camera_get_view_y(view_camera[0]) - 40)) event_user(1) break }