Deltarune (Chapter 4) script viewer

← back to main script listing

gml_Object_obj_gerson_hammer_bounce_down_Step_0

(view raw script w/o annotations or w/e)
1
timer++;
2
if (y > (obj_growtangle.y + 120))
3
    image_alpha -= 0.3;
4
if (image_alpha < 0.8)
5
    active = 0;
6
if (y >= (
scr_get_box
scr_get_box

function
scr_get_box(arg0)
{ switch (arg0) { case 0: return obj_growtangle.x + (obj_growtangle.sprite_width * 0.5); break; case 1: return obj_growtangle.y - (obj_growtangle.sprite_height * 0.5); break; case 2: return obj_growtangle.x - (obj_growtangle.sprite_width * 0.5); break; case 3: return obj_growtangle.y + (obj_growtangle.sprite_height * 0.5); break; case 4: return obj_growtangle.x; break; case 5: return obj_growtangle.y; break; return false; } }
(3) - 20) && !bounce)
7
{
8
    bounce = true;
9
    me_flash = 
scr_oflash
scr_oflash

function
scr_oflash()
{ _oflash = instance_create(x, y, obj_oflash); _oflash.image_xscale = image_xscale; _oflash.image_speed = 0; _oflash.image_index = image_index; _oflash.image_yscale = image_yscale; _oflash.sprite_index = sprite_index; _oflash.depth = depth - 1; _oflash.target = id; return _oflash; }
();
10
    with (me_flash)
11
        target = other.id;
12
    snd_play_pitch(snd_metal_hit_reverb, 2);
13
    y = 
scr_get_box
scr_get_box

function
scr_get_box(arg0)
{ switch (arg0) { case 0: return obj_growtangle.x + (obj_growtangle.sprite_width * 0.5); break; case 1: return obj_growtangle.y - (obj_growtangle.sprite_height * 0.5); break; case 2: return obj_growtangle.x - (obj_growtangle.sprite_width * 0.5); break; case 3: return obj_growtangle.y + (obj_growtangle.sprite_height * 0.5); break; case 4: return obj_growtangle.x; break; case 5: return obj_growtangle.y; break; return false; } }
(3) - 20;
14
    vspeed = -20;
15
    hspeed = 0;
16
    gravity_direction = 270;
17
    gravity = 1.2;
18
}
19
if (bounce)
20
{
21
    if ((timer % 2) == 0)
22
        image_angle -= 40;
23
}
24
else
25
{
26
    image_angle += 40;
27
}
28
if (!bounce)
29
{
30
    with (
scr_afterimagefast
scr_afterimagefast

function
scr_afterimagefast()
{ afterimage = instance_create(x, y, obj_afterimage); 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; afterimage.fadeSpeed = 0.08; return afterimage; }
())
31
        fadeSpeed *= 3;
32
}