| 1 | switch (attack_state) | 
    
    
        | 2 | { | 
    
    
        | 3 |     case 0: | 
    
    
        | 4 |         if (image_alpha < 0.99) | 
    
    
        | 5 |         { | 
    
    
        | 6 |             image_alpha = lerp(image_alpha, 1, 0.25); | 
    
    
        | 7 |         } | 
    
    
        | 8 |         else | 
    
    
        | 9 |         { | 
    
    
        | 10 |             image_alpha = 1; | 
    
    
        | 11 |             attack_state++; | 
    
    
        | 12 |         } | 
    
    
        | 13 |         break; | 
    
    
        | 14 |     case 1: | 
    
    
        | 15 |         var target_y = ystart - 50; | 
    
    
        | 16 |         if (y > (target_y + 0.01)) | 
    
    
        | 17 |         { | 
    
    
        | 18 |             y = lerp(y, target_y, 0.4); | 
    
    
        | 19 |         } | 
    
    
        | 20 |         else | 
    
    
        | 21 |         { | 
    
    
        | 22 |             audio_play_sound(snd_undertale_swoosh, 1, 0); | 
    
    
        | 23 |             attack_state++; | 
    
    
        | 24 |         } | 
    
    
        | 25 |         break; | 
    
    
        | 26 |     case 2: | 
    
    
        | 27 |         var grav = 2; | 
    
    
        | 28 |         var fall_speed_max = 30; | 
    
    
        | 29 |         var battle_box = 3154; | 
    
    
        | 30 |         var y_max = battle_box.bbox_bottom - 4; | 
    
    
        | 31 |         if ((bbox_bottom + fall_speed_max) >= y_max) | 
    
    
        | 32 |         { | 
    
    
        | 33 |             vspeed = 0; | 
    
    
        | 34 |             y = y_max; | 
    
    
        | 35 |             attack_state = -1; | 
    
    
        | 36 |             scr_screenshake_battlescr_screenshake_battle(10, 1);function scr_screenshake_battle ()
{
    instance_destroy(obj_screenshake_battle);
    var screenshake = instance_create(0, 0, obj_screenshake_battle);
    battle_screenshake_duration = argument[0];
    battle_screenshake_intensity = argument[1];
    battle_screenshake_dec = battle_screenshake_intensity / battle_screenshake_duration;
} | 
    
    
        | 37 |             audio_play_sound(snd_feisty_moray_stab_impact, 1, 0); | 
    
    
        | 38 |         } | 
    
    
        | 39 |         else | 
    
    
        | 40 |         { | 
    
    
        | 41 |             vspeed = clamp(vspeed + grav, 0, fall_speed_max); | 
    
    
        | 42 |         } | 
    
    
        | 43 |         break; | 
    
    
        | 44 | } |