Deltarune (Chapter 4) script viewer

← back to main script listing

gml_Object_obj_growtangle_Step_0

(view raw script w/o annotations or w/e)
1
if (!init)
2
{
3
    if (visible && (maxxscale != 2 || maxyscale != 2) && sprite_index == spr_battlebg_0)
4
    {
5
        customBox = true;
6
        sprite_index = spr_battlebg_stretch_hitbox;
7
        if ((maxxscale % 2) != 0)
8
            maxxscale = round(maxxscale * 37.5) / 37.5;
9
        if ((maxyscale % 2) != 0)
10
            maxyscale = round(maxyscale * 37.5) / 37.5;
11
        image_xscale = maxxscale / 2;
12
        image_yscale = maxyscale / 2;
13
        var _tempxscale = sprite_width;
14
        var _tempyscale = sprite_height;
15
        var surf = surface_create(sprite_width, sprite_height);
16
        surface_set_target(surf);
17
        draw_clear_alpha(c_black, 0);
18
        draw_sprite_ext(spr_battlebg_stretch, 0, sprite_xoffset, sprite_yoffset, image_xscale, image_yscale, 0, c_white, 1);
19
        spr_custom_box = sprite_create_from_surface(surf, 0, 0, sprite_width, sprite_height, false, false, sprite_xoffset, sprite_yoffset);
20
        sprite_index = spr_battlebg_stretch_hitbox;
21
        surface_reset_target();
22
        surface_free(surf);
23
    }
24
    init = 1;
25
}
26
growth = 0;
27
if (timer < maxtimer && growcon == 1)
28
    growth = 1;
29
if (timer > 0 && growcon == 3)
30
    growth = 1;
31
if (growth == 1)
32
{
33
    if (growcon == 1)
34
        timer += 1;
35
    if (growcon == 3)
36
        timer -= 1;
37
    sizer = timer / maxtimer;
38
    image_xscale = maxxscale * sizer;
39
    image_yscale = maxyscale * sizer;
40
    image_angle = 180 + (180 * (timer / maxtimer)) + target_angle;
41
    image_alpha = 0.5 + ((timer / maxtimer) * 0.5);
42
    if (visible && !instance_exists(obj_ghosthouse_fadein))
43
    {
44
        d = instance_create(x, y, obj_afterimage);
45
        d.sprite_index = spr_custom_box;
46
        var _scale = sizer * growscale;
47
        d.image_xscale = _scale;
48
        d.image_yscale = _scale;
49
        d.image_angle = image_angle;
50
        d.depth = depth - 1;
51
        d.image_blend = image_blend;
52
        d.image_alpha = (1 - image_alpha) + 0.1;
53
        d.image_speed = 0;
54
    }
55
    if (timer >= maxtimer && growcon == 1)
56
    {
57
        growcon = 2;
58
        image_angle = target_angle;
59
    }
60
    if (timer <= 0 && growcon == 3)
61
        instance_destroy();
62
}