Deltarune (Chapter 2) script viewer

← back to main script listing

gml_Object_obj_sneo_wallbullet_new_Step_0

(view raw script w/o annotations or w/e)
1
if (global.turntimer < 1)
2
    instance_destroy();
3
if (i_ex(obj_sneo_wall_controller_new))
4
    x += obj_sneo_wall_controller_new.wallspeed[wallnumber];
5
if (wallcontroller > -1)
6
{
7
    if (obj_sneo_wall_controller_new.walltype[wallnumber] == 0)
8
    {
9
        timer++;
10
        if (timer < 9)
11
            obj_sneo_wall_controller_new.wallspeed[wallnumber] = lerp(-16, -6, timer / 9);
12
        else if (timer < 150)
13
            obj_sneo_wall_controller_new.wallspeed[wallnumber] = lerp(-6, -6, (timer - 9) / 130);
14
    }
15
    if (obj_sneo_wall_controller_new.walltype[wallnumber] == 1)
16
    {
17
        timer++;
18
        if (timer < 16)
19
            obj_sneo_wall_controller_new.wallspeed[wallnumber] = lerp(-21, -5, timer / 15);
20
        else if (timer < 90)
21
            obj_sneo_wall_controller_new.wallspeed[wallnumber] = lerp(-5, -13, (timer - 15) / 70);
22
    }
23
}
24
if (sprite_index == spr_sneo_crew)
25
{
26
    hitshot = collision_rectangle(x - 18, y - 22, x + 19, y + 22, obj_yheart_shot, true, false);
27
    if (hitshot != -4)
28
    {
29
        if (destroyable == 0 && hitshot.big == 1)
30
        {
31
            if ((hitshot.y < y && instance_place(x, y - 40, obj_sneo_wallbullet_new) && instance_nearest(x, y - 40, obj_sneo_wallbullet_new).sprite_index == spr_sneo_mail) || (hitshot.y > y && instance_place(x, y + 40, obj_sneo_wallbullet_new) && instance_nearest(x, y + 40, obj_sneo_wallbullet_new).sprite_index == spr_sneo_mail))
32
            {
33
            }
34
            else if (abs(hitshot.y - y) > 12)
35
            {
36
                exit;
37
            }
38
        }
39
        event_user(0);
40
        if (destroyable == 1 && active == 1)
41
        {
42
            if (instance_exists(hitshot))
43
            {
44
                if (hitshot.big == 0)
45
                {
46
                    with (hitshot)
47
                        event_user(0);
48
                }
49
            }
50
            snd_play_pitch(snd_bomb, 1.1 + random(0.2));
51
            scr_afterimage_cut
scr_afterimage_cut

function scr_afterimage_cut() { afterimage = instance_create(x, y, obj_afterimage_cut); afterimage.sprite_index = sprite_index; afterimage.image_index = image_index; afterimage.image_blend = image_blend; afterimage.image_speed = 0; afterimage.depth = depth; afterimage.image_xscale = image_xscale; afterimage.image_yscale = image_yscale; afterimage.image_angle = image_angle; with (afterimage) event_user(0); return afterimage; }
();
52
            anim = instance_create(x, y, obj_yshot_anim);
53
            anim.image_xscale = image_xscale;
54
            anim.image_yscale = image_yscale;
55
            with (anim)
56
                sprite_index = spr_yheart_shot_hit3;
57
            instance_destroy();
58
        }
59
    }
60
}