Deltarune (Chapter 3) script viewer

← back to main script listing

gml_Object_obj_quizsequence_Other_13

(view raw script w/o annotations or w/e)
1
if (hurt_counter != 0)
2
{
3
    if (hurt_counter == -1)
4
    {
5
        hurt_counter = 0;
6
        if (kr_answer[0] == 0)
7
        {
8
            hurt_kr = true;
9
            hurt_counter++;
10
        }
11
        if (ra_answer[0] == 0)
12
        {
13
            hurt_ra = true;
14
            hurt_counter++;
15
        }
16
        if (su_answer[0] == 0)
17
        {
18
            hurt_su = true;
19
            hurt_counter++;
20
        }
21
    }
22
    var _target = -4;
23
    var _spritewidth = 0;
24
    target = 0;
25
    var _damage = irandom_range(30, 38);
26
    if (hurt_su)
27
    {
28
        hurt_su = false;
29
        quizzler.susie.x -= 8;
30
        _target = quizzler.susie;
31
        _damage = min(_damage, global.hp[2] - 1);
32
        global.hp[2] -= _damage;
33
        _spritewidth = _target.sprite_width;
34
        quizzler.susie.sprite_index = spr_susie_dw_landed;
35
        quizzler.susie.image_speed = 0;
36
        quizzler.susie.image_index = 0;
37
        quizzler.susie_punch = false;
38
        _target.x -= (_target.sprite_width - _spritewidth) / 2;
39
    }
40
    else if (hurt_kr)
41
    {
42
        hurt_kr = false;
43
        _target = quizzler.kris;
44
        _damage = min(_damage, global.hp[1] - 1);
45
        global.hp[1] -= _damage;
46
        _spritewidth = _target.sprite_width;
47
        quizzler.kris.sprite_index = spr_kris_dw_landed;
48
        _target.x -= (_target.sprite_width - _spritewidth) / 2;
49
    }
50
    else if (hurt_ra)
51
    {
52
        hurt_ra = false;
53
        _target = quizzler.ralsei;
54
        target = 2;
55
        _damage = min(_damage, global.hp[3] - 1);
56
        global.hp[3] -= _damage;
57
        _spritewidth = _target.sprite_width;
58
        quizzler.ralsei.sprite_index = spr_teacup_ralsei_land;
59
        quizzler.ralsei.image_speed = 0;
60
        quizzler.ralsei.image_index = 0;
61
        _target.x += (_target.sprite_width - _spritewidth) / 2;
62
    }
63
    if (_target != -4)
64
    {
65
        var _lightning = scr_dark_animation(_target.x + (_target.sprite_width / 2), _target.y, 3777, 1);
66
        _lightning.depth = _target.depth - 4;
67
        
scr_shakeobj
scr_shakeobj

function
scr_shakeobj()
{ var _shakeobj = instance_create(x, y, obj_shakeobj); _shakeobj.target = id; if (argument_count >= 1) { if (i_ex(argument0)) _shakeobj.target = argument0; } if (argument_count >= 2) { if (argument1 != -1) _shakeobj.shakeamt = argument1; } if (argument_count >= 3) { if (argument2 != -1) _shakeobj.shakereduct = argument2; } with (_shakeobj) event_user(0); }
(_target);
68
        var _dmgwriter = instance_create(_target.x, (_target.y + _target.sprite_height) - 24, obj_dmgwriter);
69
        _dmgwriter.damage = _damage;
70
        
scr_shakescreen
scr_shakescreen

function
scr_shakescreen()
{ instance_create(x, y, obj_shake); }
();
71
        with (obj_darkcontroller)
72
            charcon = 1;
73
        with (_target)
74
        {
75
            var _flash = instance_create(x, y, obj_sprite_flasher);
76
            _flash.target = id;
77
            _flash.lifetime = 4;
78
        }
79
        snd_play(snd_punchheavythunder);
80
        hurt_counter--;
81
        if (hurt_counter == 0)
82
            endtimer += 30;
83
        else
84
            endtimer += 10;
85
    }
86
}