Deltarune (Chapter 4) script viewer

← back to main script listing

gml_Object_obj_elnina_umbrella_Collision_obj_regularbullet_elnina

(view raw script w/o annotations or w/e)
1
var bouncingbullet = 0;
2
if (other.object_index == obj_elnina_bouncingbullet)
3
    bouncingbullet = 1;
4
if ((sprite_index == spr_ch3_elnina_umbrella && other.sprite_index == spr_ch3_bullet_raindrop) || (sprite_index == spr_ch3_elnina_sunglasses && other.sprite_index == spr_ch3_bullet_sun) || (sprite_index == spr_ch3_elnina_warmhat && other.sprite_index == spr_ch3_bullet_ice) || (sprite_index == spr_ch3_elnina_telescope && other.sprite_index == spr_ch3_bullet_moon))
5
{
6
    mercy += 1.6;
7
    snd_stop(snd_wing);
8
    snd_play_x(snd_wing, 1, 1 + (count / 40));
9
}
10
else if (other.sprite_index == spr_lanino_fire)
11
{
12
    mercy -= 5;
13
    snd_play_x(snd_motor_upper_2, 1, 1.3);
14
    image_alpha2 = 1.4;
15
    with (other)
16
    {
17
        var _aft = 
scr_afterimage_grow
scr_afterimage_grow

function
scr_afterimage_grow()
{ afterimage = instance_create(x, y, obj_afterimage_grow); 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.image_alpha = image_alpha; return afterimage; }
();
18
        _aft.fade = 0.2;
19
    }
20
}
21
else
22
{
23
    mercy += 0.8;
24
    snd_stop(snd_wing);
25
    snd_play_x(snd_wing, 1, 1 + (count / 40));
26
}
27
if (i_ex(obj_elnina_rematch_enemy) && global.mercymod[obj_elnina_rematch_enemy.myself] < 90)
28
{
29
    if ((mercy + global.mercymod[obj_elnina_rematch_enemy.myself]) > 90)
30
        mercy = 90 - global.mercymod[obj_elnina_rematch_enemy.myself];
31
    if (mercy < 0)
32
        mercy = 0;
33
    if (!i_ex(obj_dmgwriter_boogie))
34
    {
35
        with (obj_lanino_rematch_enemy)
36
        {
37
            __mercydmgwriter = instance_create_depth(global.monsterx[myself], global.monstery[myself] + 40, depth - 99999, obj_dmgwriter_boogie);
38
            __mercydmgwriter.damage = other.mercy;
39
            __mercydmgwriter.type = 5;
40
        }
41
        with (obj_elnina_rematch_enemy)
42
        {
43
            __mercydmgwriter = instance_create_depth(global.monsterx[myself], global.monstery[myself] + 40, depth - 99999, obj_dmgwriter_boogie);
44
            __mercydmgwriter.damage = other.mercy;
45
            __mercydmgwriter.type = 5;
46
        }
47
    }
48
}
49
else
50
{
51
    mercy = 0;
52
}
53
image_alpha = 1.2;
54
count++;
55
if (!bouncingbullet)
56
{
57
    with (other)
58
    {
59
        var afterimage = 
scr_afterimage
scr_afterimage

function
scr_afterimage()
{ 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; return afterimage; }
();
60
        afterimage.sprite_index = spr_rabbick_dustorb;
61
        afterimage.direction = random(360);
62
        afterimage.image_alpha = 0.8;
63
        afterimage.speed = 4;
64
        afterimage.image_xscale = 0.5;
65
        afterimage.image_yscale = 0.5;
66
        afterimage.friction = 0.334;
67
        instance_destroy();
68
    }
69
}