Deltarune (Chapter 4) script viewer

← back to main script listing

gml_Object_obj_titan_fg_draw_Draw_0

(view raw script w/o annotations or w/e)
1
if (i_ex(obj_darkener) && i_ex(obj_growtangle) && i_ex(obj_titan_enemy))
2
{
3
    depth = obj_growtangle.depth + 2;
4
    var _image_alpha = obj_darkener.darkamt / 20;
5
    var _chargeshakex = obj_titan_enemy.chargeshakex * obj_titan_enemy.chargeshakexsign;
6
    if (obj_titan_enemy.starshootcon > 0 || obj_titan_enemy.myattackchoice == 4)
7
    {
8
        draw_sprite_ext(spr_cover_wings_defense_layer_4, obj_titan_enemy.siner, obj_titan_enemy.x + obj_titan_enemy.shakex + obj_titan_enemy.hurtspriteoffx + _chargeshakex, obj_titan_enemy.y + obj_titan_enemy.hurtspriteoffy, obj_titan_enemy.image_xscale, obj_titan_enemy.image_yscale, 0, c_white, 1);
9
        with (obj_titan_enemy)
10
        {
11
            if (global.turntimer < 1)
12
            {
13
                chargecon = 0;
14
                chargeshakex = 0;
15
                chargetimer = 0;
16
            }
17
            _chargeshakex = chargeshakex * chargeshakexsign;
18
            if (chargecon == 1)
19
            {
20
                chargetimer++;
21
                chargeshakex = lerp(7, 0, chargetimer / chargetimermax);
22
                if (chargetimer >= chargetimermax)
23
                {
24
                    chargecon = 1.5;
25
                    chargetimer = 0;
26
                    chargeshakex = 0;
27
                }
28
                draw_sprite_ext(spr_titan_charge, (chargetimer * 3) / chargetimermax, x + _chargeshakex, y, image_xscale, image_yscale, image_angle, image_blend, image_alpha);
29
            }
30
            if (chargecon == 1.5)
31
                draw_sprite_ext(spr_titan_charge, 2, x + _chargeshakex, y, image_xscale, image_yscale, image_angle, image_blend, image_alpha);
32
            if (chargecon == 2)
33
            {
34
                chargetimer++;
35
                chargeshakex = lerp(20, 0, chargetimer / 6);
36
                draw_sprite_ext(spr_titan_charge, 3 + (chargetimer / 3), x + _chargeshakex, y, image_xscale, image_yscale, image_angle, image_blend, image_alpha);
37
                if (chargetimer >= 6)
38
                {
39
                    chargetimer = 0;
40
                    chargecon = 0;
41
                }
42
            }
43
        }
44
        draw_sprite_ext(spr_titan_5_backwing, obj_titan_enemy.siner, obj_titan_enemy.x, obj_titan_enemy.y, obj_titan_enemy.image_xscale, obj_titan_enemy.image_yscale, 0, c_white, 1);
45
        draw_sprite_ext(spr_titan_6_backwing, obj_titan_enemy.siner, obj_titan_enemy.x, obj_titan_enemy.y, obj_titan_enemy.image_xscale, obj_titan_enemy.image_yscale, 0, c_white, 1);
46
        draw_sprite_ext(spr_titan_7_backwing, obj_titan_enemy.siner, obj_titan_enemy.x, obj_titan_enemy.y, obj_titan_enemy.image_xscale, obj_titan_enemy.image_yscale, 0, c_white, 1);
47
        d3d_set_fog(true, c_black, 0, 1);
48
        draw_sprite_ext(spr_titan_5_backwing, obj_titan_enemy.siner, obj_titan_enemy.x, obj_titan_enemy.y, obj_titan_enemy.image_xscale, obj_titan_enemy.image_yscale, 0, c_white, _image_alpha);
49
        draw_sprite_ext(spr_titan_6_backwing, obj_titan_enemy.siner, obj_titan_enemy.x, obj_titan_enemy.y, obj_titan_enemy.image_xscale, obj_titan_enemy.image_yscale, 0, c_white, _image_alpha);
50
        draw_sprite_ext(spr_titan_7_backwing, obj_titan_enemy.siner, obj_titan_enemy.x, obj_titan_enemy.y, obj_titan_enemy.image_xscale, obj_titan_enemy.image_yscale, 0, c_white, _image_alpha);
51
        d3d_set_fog(false, c_black, 0, 0);
52
    }
53
}