| 1 | var actor_toriel = 1159; | 
    
    
        | 2 | switch (scene) | 
    
    
        | 3 | { | 
    
    
        | 4 |     case 0: | 
    
    
        | 5 |         cutscene_wait(0.25); | 
    
    
        | 6 |         break; | 
    
    
        | 7 |     case 1: | 
    
    
        | 8 |         scr_textscr_text();function scr_text ()
{
    if (!instance_exists(obj_dialogue))
        msg = instance_create(x, y, obj_dialogue);
} | 
    
    
        | 9 |         with (msg) | 
    
    
        | 10 |         { | 
    
    
        | 11 |             talker[0] = actor_toriel; | 
    
    
        | 12 |             message[0] = "* In this room, you will#  need to trigger several#  switches."; | 
    
    
        | 13 |             message[1] = "* Do not worry, I have#  labelled the ones that#  you need to flip."; | 
    
    
        | 14 |             prt[0] = 343; | 
    
    
        | 15 |             prt[1] = 343; | 
    
    
        | 16 |         } | 
    
    
        | 17 |         if (!global.dialogue_open) | 
    
    
        | 18 |         { | 
    
    
        | 19 |             scene++; | 
    
    
        | 20 |             scr_cutscene_end(); | 
    
    
        | 21 |         } | 
    
    
        | 22 |         break; | 
    
    
        | 23 |     case 2: | 
    
    
        | 24 |         cutscene_npc_walk(actor_toriel, 470, 140, 3 + (obj_pl.is_sprinting * 2), "x", "left", "nothing"); | 
    
    
        | 25 |         break; | 
    
    
        | 26 |     case 3: | 
    
    
        | 27 |         if (actor_toriel.interact) | 
    
    
        | 28 |         { | 
    
    
        | 29 |             scr_textscr_text();function scr_text ()
{
    if (!instance_exists(obj_dialogue))
        msg = instance_create(x, y, obj_dialogue);
} | 
    
    
        | 30 |             with (msg) | 
    
    
        | 31 |             { | 
    
    
        | 32 |                 talker[0] = actor_toriel; | 
    
    
        | 33 |                 message[0] = "* Oh, do you need some#  help?"; | 
    
    
        | 34 |                 message[1] = "* Please flip the switch#  on the north wall."; | 
    
    
        | 35 |                 prt[0] = 340; | 
    
    
        | 36 |                 prt[1] = 343; | 
    
    
        | 37 |             } | 
    
    
        | 38 |         } | 
    
    
        | 39 |         with (obj_switch2) | 
    
    
        | 40 |         { | 
    
    
        | 41 |             if (scr_interactscr_interact() && keyboard_multicheck_pressed(0))function scr_interact ()
{
    if (distance_to_object(obj_pl) < 20 && obj_pl.state == scr_normal_state)
    {
        var pl_dir = obj_pl.direction;
        var pl_x = 0;
        var pl_y = 0;
        var check_distance_x = 0;
        var check_distance_y = 0;
        switch (pl_dir)
        {
            case 0:
                pl_x = obj_pl.bbox_right;
                pl_y = obj_pl.bbox_top + 1;
                check_distance_x = 20;
                break;
            case 180:
                pl_x = obj_pl.bbox_left;
                pl_y = obj_pl.bbox_top + 1;
                check_distance_x = -20;
                break;
            case 90:
                pl_x = obj_pl.x;
                pl_y = obj_pl.bbox_top;
                check_distance_y = -20;
                break;
            case 270:
                pl_x = obj_pl.x;
                pl_y = obj_pl.bbox_bottom;
                check_distance_y = 20;
                break;
        }
        if (collision_line_first(pl_x, pl_y, pl_x + check_distance_x, pl_y + check_distance_y, id, false, false))
            return true;
    }
} | 
    
    
        | 42 |             { | 
    
    
        | 43 |                 audio_play_sound(snd_switch, 1, 0); | 
    
    
        | 44 |                 image_index = 1; | 
    
    
        | 45 |                 other.scene += 1; | 
    
    
        | 46 |                 instance_destroy(obj_inviswall); | 
    
    
        | 47 |             } | 
    
    
        | 48 |         } | 
    
    
        | 49 |         break; | 
    
    
        | 50 |     case 4: | 
    
    
        | 51 |         cutscene_dialogue(); | 
    
    
        | 52 |         with (msg) | 
    
    
        | 53 |         { | 
    
    
        | 54 |             talker[0] = actor_toriel; | 
    
    
        | 55 |             message[0] = "* Splendid! I am proud#  of you my child. "; | 
    
    
        | 56 |             prt[0] = 343; | 
    
    
        | 57 |         } | 
    
    
        | 58 |         actor_toriel.npc_direction = "up"; | 
    
    
        | 59 |         break; | 
    
    
        | 60 |     case 5: | 
    
    
        | 61 |         cutscene_npc_walk(actor_toriel, 688, 140, 3 + (obj_pl.is_sprinting * 2), "x", "left"); | 
    
    
        | 62 |         actor_toriel.walk_speed_x = 3 + (obj_pl.is_sprinting * 2); | 
    
    
        | 63 |         break; | 
    
    
        | 64 |     case 6: | 
    
    
        | 65 |         if (actor_toriel.interact) | 
    
    
        | 66 |         { | 
    
    
        | 67 |             scr_textscr_text();function scr_text ()
{
    if (!instance_exists(obj_dialogue))
        msg = instance_create(x, y, obj_dialogue);
} | 
    
    
        | 68 |             with (msg) | 
    
    
        | 69 |             { | 
    
    
        | 70 |                 talker[0] = actor_toriel; | 
    
    
        | 71 |                 message[0] = "* Go on, I believe in#  you!"; | 
    
    
        | 72 |                 message[1] = "* Only one more switch#  remains."; | 
    
    
        | 73 |                 prt[0] = 343; | 
    
    
        | 74 |                 prt[1] = 343; | 
    
    
        | 75 |             } | 
    
    
        | 76 |         } | 
    
    
        | 77 |         with (obj_switch3) | 
    
    
        | 78 |         { | 
    
    
        | 79 |             if (scr_interactscr_interact() && keyboard_multicheck_pressed(0))function scr_interact ()
{
    if (distance_to_object(obj_pl) < 20 && obj_pl.state == scr_normal_state)
    {
        var pl_dir = obj_pl.direction;
        var pl_x = 0;
        var pl_y = 0;
        var check_distance_x = 0;
        var check_distance_y = 0;
        switch (pl_dir)
        {
            case 0:
                pl_x = obj_pl.bbox_right;
                pl_y = obj_pl.bbox_top + 1;
                check_distance_x = 20;
                break;
            case 180:
                pl_x = obj_pl.bbox_left;
                pl_y = obj_pl.bbox_top + 1;
                check_distance_x = -20;
                break;
            case 90:
                pl_x = obj_pl.x;
                pl_y = obj_pl.bbox_top;
                check_distance_y = -20;
                break;
            case 270:
                pl_x = obj_pl.x;
                pl_y = obj_pl.bbox_bottom;
                check_distance_y = 20;
                break;
        }
        if (collision_line_first(pl_x, pl_y, pl_x + check_distance_x, pl_y + check_distance_y, id, false, false))
            return true;
    }
} | 
    
    
        | 80 |             { | 
    
    
        | 81 |                 audio_play_sound(snd_switch, 1, 0); | 
    
    
        | 82 |                 image_index = 1; | 
    
    
        | 83 |                 other.scene += 1; | 
    
    
        | 84 |                 global.cutscene = true; | 
    
    
        | 85 |             } | 
    
    
        | 86 |         } | 
    
    
        | 87 |         with (obj_switch4) | 
    
    
        | 88 |         { | 
    
    
        | 89 |             if (scr_interactscr_interact() && keyboard_multicheck_pressed(0))function scr_interact ()
{
    if (distance_to_object(obj_pl) < 20 && obj_pl.state == scr_normal_state)
    {
        var pl_dir = obj_pl.direction;
        var pl_x = 0;
        var pl_y = 0;
        var check_distance_x = 0;
        var check_distance_y = 0;
        switch (pl_dir)
        {
            case 0:
                pl_x = obj_pl.bbox_right;
                pl_y = obj_pl.bbox_top + 1;
                check_distance_x = 20;
                break;
            case 180:
                pl_x = obj_pl.bbox_left;
                pl_y = obj_pl.bbox_top + 1;
                check_distance_x = -20;
                break;
            case 90:
                pl_x = obj_pl.x;
                pl_y = obj_pl.bbox_top;
                check_distance_y = -20;
                break;
            case 270:
                pl_x = obj_pl.x;
                pl_y = obj_pl.bbox_bottom;
                check_distance_y = 20;
                break;
        }
        if (collision_line_first(pl_x, pl_y, pl_x + check_distance_x, pl_y + check_distance_y, id, false, false))
            return true;
    }
} | 
    
    
        | 90 |             { | 
    
    
        | 91 |                 scr_textscr_text();function scr_text ()
{
    if (!instance_exists(obj_dialogue))
        msg = instance_create(x, y, obj_dialogue);
} | 
    
    
        | 92 |                 with (msg) | 
    
    
        | 93 |                 { | 
    
    
        | 94 |                     talker[0] = actor_toriel; | 
    
    
        | 95 |                     message[0] = "* Oh no, my child! That#  is the wrong switch."; | 
    
    
        | 96 |                     message[1] = "* I have labelled the one#  you need to flip."; | 
    
    
        | 97 |                     prt[0] = 340; | 
    
    
        | 98 |                     prt[1] = 343; | 
    
    
        | 99 |                 } | 
    
    
        | 100 |             } | 
    
    
        | 101 |         } | 
    
    
        | 102 |         with (obj_switch2) | 
    
    
        | 103 |         { | 
    
    
        | 104 |             if (scr_interactscr_interact() && keyboard_multicheck_pressed(0))function scr_interact ()
{
    if (distance_to_object(obj_pl) < 20 && obj_pl.state == scr_normal_state)
    {
        var pl_dir = obj_pl.direction;
        var pl_x = 0;
        var pl_y = 0;
        var check_distance_x = 0;
        var check_distance_y = 0;
        switch (pl_dir)
        {
            case 0:
                pl_x = obj_pl.bbox_right;
                pl_y = obj_pl.bbox_top + 1;
                check_distance_x = 20;
                break;
            case 180:
                pl_x = obj_pl.bbox_left;
                pl_y = obj_pl.bbox_top + 1;
                check_distance_x = -20;
                break;
            case 90:
                pl_x = obj_pl.x;
                pl_y = obj_pl.bbox_top;
                check_distance_y = -20;
                break;
            case 270:
                pl_x = obj_pl.x;
                pl_y = obj_pl.bbox_bottom;
                check_distance_y = 20;
                break;
        }
        if (collision_line_first(pl_x, pl_y, pl_x + check_distance_x, pl_y + check_distance_y, id, false, false))
            return true;
    }
} | 
    
    
        | 105 |             { | 
    
    
        | 106 |                 scr_textscr_text();function scr_text ()
{
    if (!instance_exists(obj_dialogue))
        msg = instance_create(x, y, obj_dialogue);
} | 
    
    
        | 107 |                 with (msg) | 
    
    
        | 108 |                 { | 
    
    
        | 109 |                     talker[0] = actor_toriel; | 
    
    
        | 110 |                     message[0] = "* That switch has already#  been flipped."; | 
    
    
        | 111 |                     message[1] = "* Why don't you come back#  across the bridge?"; | 
    
    
        | 112 |                     prt[0] = 340; | 
    
    
        | 113 |                     prt[1] = 343; | 
    
    
        | 114 |                 } | 
    
    
        | 115 |             } | 
    
    
        | 116 |         } | 
    
    
        | 117 |         break; | 
    
    
        | 118 |     case 7: | 
    
    
        | 119 |         cutscene_npc_direction(actor_toriel, "up"); | 
    
    
        | 120 |         break; | 
    
    
        | 121 |     case 8: | 
    
    
        | 122 |         cutscene_wait(1); | 
    
    
        | 123 |         break; | 
    
    
        | 124 |     case 9: | 
    
    
        | 125 |         cutscene_dialogue(); | 
    
    
        | 126 |         with (msg) | 
    
    
        | 127 |         { | 
    
    
        | 128 |             talker[0] = actor_toriel; | 
    
    
        | 129 |             message[0] = "* ...It should have opened#  by now..."; | 
    
    
        | 130 |             message[1] = "* I am sure I labelled the#  correct lever..."; | 
    
    
        | 131 |             message[2] = "* Ah, do not worry, little#  one! Try flipping the#  other switch."; | 
    
    
        | 132 |             prt[0] = 340; | 
    
    
        | 133 |             prt[1] = 340; | 
    
    
        | 134 |             prt[2] = 343; | 
    
    
        | 135 |         } | 
    
    
        | 136 |         break; | 
    
    
        | 137 |     case 10: | 
    
    
        | 138 |         scr_cutscene_end(); | 
    
    
        | 139 |         cutscene_npc_direction(actor_toriel, "left"); | 
    
    
        | 140 |         break; | 
    
    
        | 141 |     case 11: | 
    
    
        | 142 |         if (actor_toriel.interact) | 
    
    
        | 143 |         { | 
    
    
        | 144 |             scr_textscr_text();function scr_text ()
{
    if (!instance_exists(obj_dialogue))
        msg = instance_create(x, y, obj_dialogue);
} | 
    
    
        | 145 |             with (msg) | 
    
    
        | 146 |             { | 
    
    
        | 147 |                 talker[0] = actor_toriel; | 
    
    
        | 148 |                 message[0] = "* I am unsure as to why#  this switch is not#  working..."; | 
    
    
        | 149 |                 message[1] = "* Please, try flipping#  the other switch."; | 
    
    
        | 150 |                 prt[0] = 340; | 
    
    
        | 151 |                 prt[1] = 343; | 
    
    
        | 152 |             } | 
    
    
        | 153 |         } | 
    
    
        | 154 |         with (obj_switch4) | 
    
    
        | 155 |         { | 
    
    
        | 156 |             if (scr_interactscr_interact() && keyboard_multicheck_pressed(0))function scr_interact ()
{
    if (distance_to_object(obj_pl) < 20 && obj_pl.state == scr_normal_state)
    {
        var pl_dir = obj_pl.direction;
        var pl_x = 0;
        var pl_y = 0;
        var check_distance_x = 0;
        var check_distance_y = 0;
        switch (pl_dir)
        {
            case 0:
                pl_x = obj_pl.bbox_right;
                pl_y = obj_pl.bbox_top + 1;
                check_distance_x = 20;
                break;
            case 180:
                pl_x = obj_pl.bbox_left;
                pl_y = obj_pl.bbox_top + 1;
                check_distance_x = -20;
                break;
            case 90:
                pl_x = obj_pl.x;
                pl_y = obj_pl.bbox_top;
                check_distance_y = -20;
                break;
            case 270:
                pl_x = obj_pl.x;
                pl_y = obj_pl.bbox_bottom;
                check_distance_y = 20;
                break;
        }
        if (collision_line_first(pl_x, pl_y, pl_x + check_distance_x, pl_y + check_distance_y, id, false, false))
            return true;
    }
} | 
    
    
        | 157 |             { | 
    
    
        | 158 |                 audio_play_sound(snd_switch, 1, 0); | 
    
    
        | 159 |                 image_index = 1; | 
    
    
        | 160 |                 other.scene += 1; | 
    
    
        | 161 |                 global.cutscene = true; | 
    
    
        | 162 |             } | 
    
    
        | 163 |         } | 
    
    
        | 164 |         with (obj_switch3) | 
    
    
        | 165 |         { | 
    
    
        | 166 |             if (scr_interactscr_interact() && keyboard_multicheck_pressed(0))function scr_interact ()
{
    if (distance_to_object(obj_pl) < 20 && obj_pl.state == scr_normal_state)
    {
        var pl_dir = obj_pl.direction;
        var pl_x = 0;
        var pl_y = 0;
        var check_distance_x = 0;
        var check_distance_y = 0;
        switch (pl_dir)
        {
            case 0:
                pl_x = obj_pl.bbox_right;
                pl_y = obj_pl.bbox_top + 1;
                check_distance_x = 20;
                break;
            case 180:
                pl_x = obj_pl.bbox_left;
                pl_y = obj_pl.bbox_top + 1;
                check_distance_x = -20;
                break;
            case 90:
                pl_x = obj_pl.x;
                pl_y = obj_pl.bbox_top;
                check_distance_y = -20;
                break;
            case 270:
                pl_x = obj_pl.x;
                pl_y = obj_pl.bbox_bottom;
                check_distance_y = 20;
                break;
        }
        if (collision_line_first(pl_x, pl_y, pl_x + check_distance_x, pl_y + check_distance_y, id, false, false))
            return true;
    }
} | 
    
    
        | 167 |             { | 
    
    
        | 168 |                 scr_textscr_text();function scr_text ()
{
    if (!instance_exists(obj_dialogue))
        msg = instance_create(x, y, obj_dialogue);
} | 
    
    
        | 169 |                 with (msg) | 
    
    
        | 170 |                 { | 
    
    
        | 171 |                     talker[0] = actor_toriel; | 
    
    
        | 172 |                     message[0] = "* I must have labelled the#  wrong switch."; | 
    
    
        | 173 |                     message[1] = "* I apologize if I have#  confused you, my child."; | 
    
    
        | 174 |                     message[2] = "* Please flip the switch#  that is not labelled."; | 
    
    
        | 175 |                     prt[0] = 340; | 
    
    
        | 176 |                     prt[1] = 340; | 
    
    
        | 177 |                     prt[2] = 343; | 
    
    
        | 178 |                 } | 
    
    
        | 179 |             } | 
    
    
        | 180 |         } | 
    
    
        | 181 |         with (obj_switch2) | 
    
    
        | 182 |         { | 
    
    
        | 183 |             if (scr_interactscr_interact() && keyboard_multicheck_pressed(0))function scr_interact ()
{
    if (distance_to_object(obj_pl) < 20 && obj_pl.state == scr_normal_state)
    {
        var pl_dir = obj_pl.direction;
        var pl_x = 0;
        var pl_y = 0;
        var check_distance_x = 0;
        var check_distance_y = 0;
        switch (pl_dir)
        {
            case 0:
                pl_x = obj_pl.bbox_right;
                pl_y = obj_pl.bbox_top + 1;
                check_distance_x = 20;
                break;
            case 180:
                pl_x = obj_pl.bbox_left;
                pl_y = obj_pl.bbox_top + 1;
                check_distance_x = -20;
                break;
            case 90:
                pl_x = obj_pl.x;
                pl_y = obj_pl.bbox_top;
                check_distance_y = -20;
                break;
            case 270:
                pl_x = obj_pl.x;
                pl_y = obj_pl.bbox_bottom;
                check_distance_y = 20;
                break;
        }
        if (collision_line_first(pl_x, pl_y, pl_x + check_distance_x, pl_y + check_distance_y, id, false, false))
            return true;
    }
} | 
    
    
        | 184 |             { | 
    
    
        | 185 |                 scr_textscr_text();function scr_text ()
{
    if (!instance_exists(obj_dialogue))
        msg = instance_create(x, y, obj_dialogue);
} | 
    
    
        | 186 |                 with (msg) | 
    
    
        | 187 |                 { | 
    
    
        | 188 |                     talker[0] = actor_toriel; | 
    
    
        | 189 |                     message[0] = "* Um..."; | 
    
    
        | 190 |                     message[1] = "* That is not what I#  meant."; | 
    
    
        | 191 |                     message[2] = "* You need to flip the#  switch you have not#  flipped yet."; | 
    
    
        | 192 |                     prt[0] = 340; | 
    
    
        | 193 |                     prt[1] = 340; | 
    
    
        | 194 |                     prt[2] = 343; | 
    
    
        | 195 |                 } | 
    
    
        | 196 |             } | 
    
    
        | 197 |         } | 
    
    
        | 198 |         break; | 
    
    
        | 199 |     case 12: | 
    
    
        | 200 |         cutscene_npc_direction(actor_toriel, "up"); | 
    
    
        | 201 |         break; | 
    
    
        | 202 |     case 13: | 
    
    
        | 203 |         instance_create(obj_pl.x, obj_pl.y, obj_playerfall); | 
    
    
        | 204 |         instance_destroy(obj_pl); | 
    
    
        | 205 |         cutscene_advance(); | 
    
    
        | 206 |         break; | 
    
    
        | 207 |     case 14: | 
    
    
        | 208 |         cutscene_audio_fade(obj_radio.current_song, 0, 500, 1, false); | 
    
    
        | 209 |         break; | 
    
    
        | 210 |     case 15: | 
    
    
        | 211 |         cutscene_dialogue(); | 
    
    
        | 212 |         with (msg) | 
    
    
        | 213 |         { | 
    
    
        | 214 |             skippable = false; | 
    
    
        | 215 |             message[0] = "* !..."; | 
    
    
        | 216 |             prt[0] = 341; | 
    
    
        | 217 |         } | 
    
    
        | 218 |         if (cutscene_wait(1)) | 
    
    
        | 219 |             instance_destroy(msg); | 
    
    
        | 220 |         break; | 
    
    
        | 221 |     case 16: | 
    
    
        | 222 |         cutscene_npc_walk(actor_toriel, 638, 80, 4, "x", "up"); | 
    
    
        | 223 |         break; | 
    
    
        | 224 |     case 17: | 
    
    
        | 225 |         cutscene_wait(2); | 
    
    
        | 226 |         break; | 
    
    
        | 227 |     case 18: | 
    
    
        | 228 |         global.item_slot[1] = "Nothing"; | 
    
    
        | 229 |         if (!instance_exists(obj_transition2)) | 
    
    
        | 230 |         { | 
    
    
        | 231 |             trn = instance_create(x, y, obj_transition2); | 
    
    
        | 232 |             trn.newRoom = 11; | 
    
    
        | 233 |             trn.xx = x; | 
    
    
        | 234 |             trn.yy = y; | 
    
    
        | 235 |             trn.fadespeed = 1; | 
    
    
        | 236 |             scene++; | 
    
    
        | 237 |         } | 
    
    
        | 238 |         break; | 
    
    
        | 239 | } |