Deltarune (Chapter 4) script viewer

← back to main script listing

gml_Object_obj_elnina_bouncingbullet_Collision_obj_elnina_umbrella

(view raw script w/o annotations or w/e)
1
if (bounce_buffer <= 0)
2
{
3
    snd_stop(snd_bump);
4
    var bouncespeed = 9;
5
    bounce_buffer = 3;
6
    vspeed = -bouncespeed;
7
    var plusdirection = point_direction(other.x, other.y, x, y) - 90;
8
    direction += plusdirection;
9
    if (up_h())
10
        vspeed -= 2;
11
    if (down_h())
12
    {
13
        if (vspeed < -3)
14
            vspeed += 3;
15
    }
16
    if (right_h())
17
        hspeed += 2;
18
    if (left_h())
19
        hspeed -= 2;
20
    with (object_index)
21
    {
22
        if (bounce_count == 1)
23
        {
24
            with (obj_lanino_rematch_enemy)
25
                
scr_mercyadd
scr_mercyadd

function
scr_mercyadd(arg0, arg1)
{ global.mercymod[arg0] += arg1; if (global.mercymod[arg0] < 0) global.mercymod[arg0] = 0; if (global.mercymod[arg0] >= 100) global.mercymod[arg0] = 100; var _playsound = 1; if (arg1 <= 0) _playsound = 0; with (obj_dmgwriter) { if (type == 5 && mercytimer < 8) _playsound = 0; } if (_playsound) { var _pitch = 0.8; if (arg1 < 99) _pitch = 1; if (arg1 <= 50) _pitch = 1.2; if (arg1 <= 25) _pitch = 1.4; snd_play_x(snd_mercyadd, 0.8, _pitch); } __mercydmgwriter = instance_create(global.monsterx[arg0], (global.monstery[arg0] + 20) - (global.hittarget[arg0] * 20), obj_dmgwriter); __mercydmgwriter.damage = arg1; __mercydmgwriter.type = 5; global.hittarget[arg0]++; }
(myself, 5);
26
            with (obj_elnina_rematch_enemy)
27
                
scr_mercyadd
scr_mercyadd

function
scr_mercyadd(arg0, arg1)
{ global.mercymod[arg0] += arg1; if (global.mercymod[arg0] < 0) global.mercymod[arg0] = 0; if (global.mercymod[arg0] >= 100) global.mercymod[arg0] = 100; var _playsound = 1; if (arg1 <= 0) _playsound = 0; with (obj_dmgwriter) { if (type == 5 && mercytimer < 8) _playsound = 0; } if (_playsound) { var _pitch = 0.8; if (arg1 < 99) _pitch = 1; if (arg1 <= 50) _pitch = 1.2; if (arg1 <= 25) _pitch = 1.4; snd_play_x(snd_mercyadd, 0.8, _pitch); } __mercydmgwriter = instance_create(global.monsterx[arg0], (global.monstery[arg0] + 20) - (global.hittarget[arg0] * 20), obj_dmgwriter); __mercydmgwriter.damage = arg1; __mercydmgwriter.type = 5; global.hittarget[arg0]++; }
(myself, 5);
28
        }
29
        if (bounce_count > 0)
30
            bounce_count--;
31
    }
32
}