Deltarune (Chapter 4) script viewer

← back to main script listing

gml_Object_obj_gerson_rudebuster_Draw_0

(view raw script w/o annotations or w/e)
1
if (susieattackcon == 2)
2
{
3
    var scale = 1;
4
    if (susieattacktimer == 7)
5
        scale = 1.2;
6
    if (susieattacktimer == 8)
7
        scale = 0.8;
8
    if (susieattacktimer == 9)
9
        scale = 0.6;
10
    if (susieattacktimer == 10)
11
        scale = 0.5;
12
    if (susieattacktimer > 3)
13
        draw_sprite_ext(spr_gerson_rude_orb2, 0, (obj_heroparent.x + 200) - 38, (obj_heroparent.y + 37) - 10, 0.6 * scale, 0.9 * scale, image_angle - (susieattacktimer * 80), image_blend, image_alpha);
14
    if (susieattacktimer < 7)
15
    {
16
        var px = (obj_heroparent.x + 200) - 36;
17
        var py = (obj_heroparent.y + 37) - 10;
18
        repeat (4)
19
        {
20
            var randdir = irandom(360);
21
            var dist = 40 + irandom(180);
22
            var randsizex = 0.35 + random(0.85);
23
            var randsizey = 0.45 + random(0.55);
24
            with (instance_create(px + lengthdir_x(dist, randdir), py + lengthdir_y(dist, randdir), obj_particle_generic))
25
            {
26
                image_xscale = randsizex;
27
                image_yscale = randsizey;
28
                direction = point_direction(x, y, px, py);
29
                image_angle = direction;
30
                
scr_lerpvar
scr_lerpvar

function
scr_lerpvar()
{ if (argument_count < 6) ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3]);
else ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3], argument[4], argument[5]);
return ___lerpvar; } function scr_lerpvar_respect() { if (argument_count < 6) ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3]);
else ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3], argument[4], argument[5]);
___lerpvar.respectglobalinteract = true; return ___lerpvar; }
("speed", 30, 60 + irandom(8), 6, 1, "in");
31
                
scr_lerpvar
scr_lerpvar

function
scr_lerpvar()
{ if (argument_count < 6) ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3]);
else ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3], argument[4], argument[5]);
return ___lerpvar; } function scr_lerpvar_respect() { if (argument_count < 6) ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3]);
else ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3], argument[4], argument[5]);
___lerpvar.respectglobalinteract = true; return ___lerpvar; }
("image_xscale", image_xscale * 16, 0, 6, 1, "in");
32
                
scr_lerpvar
scr_lerpvar

function
scr_lerpvar()
{ if (argument_count < 6) ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3]);
else ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3], argument[4], argument[5]);
return ___lerpvar; } function scr_lerpvar_respect() { if (argument_count < 6) ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3]);
else ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3], argument[4], argument[5]);
___lerpvar.respectglobalinteract = true; return ___lerpvar; }
("image_yscale", image_yscale, image_xscale * 0.5, 6, 1, "in");
33
            }
34
        }
35
        with (obj_particle_generic)
36
        {
37
            if (point_distance(x, y, px, py) <= 60)
38
                instance_destroy();
39
        }
40
    }
41
    exit;
42
}
43
draw_self();
44
if (susieattackcon == 0 && x < (camerax() + 330))
45
{
46
    textcolortimer += 0.1;
47
    textcolor = merge_color(c_white, c_red, 0.5 + (sin(textcolortimer) / 2));
48
    draw_set_alpha(0.5);
49
    ossafe_fill_rectangle(obj_herosusie.x + 86, obj_herosusie.y + 33, obj_herosusie.x + 90 + 70, obj_herosusie.y + 30 + 30, false);
50
    draw_set_alpha(1);
51
    if (global.is_console || obj_gamecontroller.gamepad_active)
52
    {
53
        draw_text_color(obj_herosusie.x + 90, obj_herosusie.y + 30, stringsetloc(
PRESS
"PRESS", "obj_gerson_rudebuster_slash_Draw_0_gml_57_0"
), textcolor, textcolor, textcolor, textcolor, 1);
54
        draw_sprite_ext(
scr_getbuttonsprite
scr_getbuttonsprite

function
scr_getbuttonsprite(arg0, arg1)
{ var control = arg0; var isString = arg1; var button = noone; var is_dualshock = os_type == os_ps4 || global.gamepad_type == "Sony DualShock 4"; var is_dualsense = os_type == os_ps5 || global.gamepad_type == "DualSense Wireless Controller"; var button_sprite = button_questionmark; var invert = is_dualshock && (global.typer == 50 || global.typer == 70 || global.typer == 71); if (isString) { if (control == "A") { button_sprite = button_xbox_left; if (scr_is_switch_os()) { button_sprite = button_switch_left_0; } else if (is_dualshock || is_dualsense) { button_sprite = invert ? button_ps4_dpad_left_dark : button_ps4_dpad_left; if (is_dualsense) button_sprite = invert ? button_ps4_dpad_left_dark : button_ps5_dpad_left; } return button_sprite; } if (control == "D") { button_sprite = button_xbox_right; if (scr_is_switch_os()) { button_sprite = button_switch_right_0; } else if (is_dualshock || is_dualsense) { button_sprite = invert ? button_ps4_dpad_right_dark : button_ps4_dpad_right; if (is_dualsense) button_sprite = invert ? button_ps4_dpad_right_dark : button_ps5_dpad_right; } return button_sprite; } if (control == "W") { button_sprite = button_xbox_up; if (scr_is_switch_os()) { button_sprite = button_switch_up_0; } else if (is_dualshock || is_dualsense) { button_sprite = invert ? button_ps4_dpad_up_dark : button_ps4_dpad_up; if (is_dualsense) button_sprite = invert ? button_ps4_dpad_up_dark : button_ps5_dpad_up; } return button_sprite; } if (control == "S") { button_sprite = button_xbox_down; if (scr_is_switch_os()) { button_sprite = button_switch_down_0; } else if (is_dualshock || is_dualsense) { button_sprite = invert ? button_ps4_dpad_down_dark : button_ps4_dpad_down; if (is_dualsense) button_sprite = invert ? button_ps4_dpad_down_dark : button_ps5_dpad_down; } return button_sprite; } if (control == "l") { button_sprite = button_xbox_left_bumper; if (is_dualshock || is_dualsense) { button_sprite = button_ps4_l1; if (is_dualsense) button_sprite = button_ps5_l1; } if (scr_is_switch_os()) button_sprite = button_switch_l_0; return button_sprite; } if (control == "L") { button_sprite = button_xbox_left_trigger; if (is_dualshock || is_dualsense) { button_sprite = button_ps4_l2; if (is_dualsense) button_sprite = button_ps5_l2; } if (scr_is_switch_os()) button_sprite = button_switch_zl_0; return button_sprite; } if (control == "r") { button_sprite = button_xbox_right_bumper; if (is_dualshock || is_dualsense) ...
(global.input_g[4], false), 0, obj_herosusie.x + 168, obj_herosusie.y + 33, 2, 2, 0, c_white, 1);
55
    }
56
    else
57
    {
58
        draw_text_color(obj_herosusie.x + 90, obj_herosusie.y + 30, stringsetloc(
PRESS Z
"PRESS Z", "obj_gerson_rudebuster_slash_Draw_0_gml_60_0"
), textcolor, textcolor, textcolor, textcolor, 1);
59
    }
60
}
61
if (hurtflashalpha > 0)
62
{
63
    d3d_set_fog(true, c_white, 0, 1);
64
    draw_sprite_ext(sprite_index, image_index, x, y, image_xscale, image_yscale, image_angle, c_white, hurtflashalpha);
65
    d3d_set_fog(false, c_black, 0, 0);
66
    hurtflashalpha -= 0.1;
67
}