Deltarune (Chapter 4) script viewer

← back to main script listing

gml_Object_obj_mike_lancer_Step_0

(view raw script w/o annotations or w/e)
1
var _width = 64 + (obj_mike_controller.line_width / 2);
2
vspeed = clamp(vspeed, -12, 7 + hits);
3
x = clamp(x, (room_width / 2) - _width, (room_width / 2) + _width);
4
if (act == 0)
5
{
6
    gravity = lerp(gravity, 1 + (hits * 0.5), 0.1);
7
    sprite_index = spr_lancer_ball;
8
}
9
if (act == 1)
10
{
11
    hspeed *= 0.99;
12
    sprite_index = spr_lancer_wave;
13
    image_index = max(4, image_index);
14
    if (y < 200)
15
        vspeed *= 0.95;
16
}
17
if (image_index > 8)
18
    image_index = 4;
19
if (y > room_height)
20
{
21
    
scr_sparkle
scr_sparkle

function
scr_sparkle(arg0)
{ var num = arg0; dir = irandom(360); for (i = 0; i < num; i++) { var _ob = instance_create_depth(x + lengthdir_x(16, dir + ((i / num) * 360)), y + lengthdir_y(16, dir + ((i / num) * 360)), depth - 1, obj_heart_sparkle); _ob.speed = 4; _ob.direction = (i / num) * 360; } } function scr_sparkle_pos(arg0, arg1, arg2) { var num = arg0; dir = irandom(360); for (i = 0; i < num; i++) { var _ob = instance_create_depth(arg1 + lengthdir_x(16, dir + ((i / num) * 360)), arg2 + lengthdir_y(16, dir + ((i / num) * 360)), depth - 1, obj_heart_sparkle); _ob.speed = 4; _ob.direction = (i / num) * 360; } } function scr_sparkle_colour(arg0, arg1) { var num = arg0; dir = 0; for (i = 0; i < num; i++) { var _ob = instance_create_depth(x + lengthdir_x(16, dir + ((i / num) * 360)), y + lengthdir_y(16, dir + ((i / num) * 360)), depth - 5, obj_heart_sparkle); _ob.speed = 4; _ob.direction = (i / num) * 360; _ob.image_blend = arg1; } } function scr_sparkle_random(arg0) { var num = arg0; dir = irandom(360); for (i = 0; i < num; i++) { with (instance_create_depth(x + lengthdir_x(16, (i / num) * 360), y + lengthdir_y(16, (i / num) * 360), depth - 1, obj_heart_sparkle)) motion_set(other.dir, irandom_range(4, 6)); dir += irandom(30); } }
(8);
22
    with (obj_mike_minigame_controller)
23
        game_over = true;
24
    instance_destroy();
25
}
26
if (hits >= max_hits)
27
{
28
    act = 2;
29
    gravity_direction = 90;
30
}
31
if (act == 2)
32
{
33
    sprite_index = spr_lancer_wave;
34
    image_index = max(4, image_index);
35
    if (y < -32)
36
        instance_destroy();
37
}