Deltarune (Chapter 2) script viewer

← back to main script listing

gml_GlobalScript_scr_weaken_party

(view raw script w/o annotations or w/e)
1
function scr_weaken_party
scr_weaken_party

function scr_weaken_party() { var _writedamage = false; if (argument_count == 1 && argument[0] == true) _writedamage = true; var _didhit = false; if (_writedamage) { with (obj_dmgwriter) { if (delaytimer >= 1) killactive = 1; } } for (i = 0; i < 3; i++) { if (global.char[i] == 0) continue; var _chartarget = global.char[i]; if (_writedamage) { var __hpdiff = max(0, global.hp[_chartarget] - 1); if (__hpdiff > 0) { with (global.charinstance[i]) { hurt = 1; hurttimer = 0; } } dmgwriter = instance_create(global.charinstance[i].x, (global.charinstance[i].y + global.charinstance[i].myheight) - 24, obj_dmgwriter); dmgwriter.damage = __hpdiff; if (__hpdiff > 0) _didhit = true; } if (global.hp[_chartarget] > 0) global.hp[_chartarget] = 1; } global.inv = global.invc * 40; if (_didhit) { snd_play(snd_hurt1); if (!instance_exists(obj_shake)) instance_create(0, 0, obj_shake); } }
()
2
{
3
    var _writedamage = false;
4
    if (argument_count == 1 && argument[0] == true)
5
        _writedamage = true;
6
    var _didhit = false;
7
    if (_writedamage)
8
    {
9
        with (obj_dmgwriter)
10
        {
11
            if (delaytimer >= 1)
12
                killactive = 1;
13
        }
14
    }
15
    for (i = 0; i < 3; i++)
16
    {
17
        if (global.char[i] == 0)
18
            continue;
19
        var _chartarget = global.char[i];
20
        if (_writedamage)
21
        {
22
            var __hpdiff = max(0, global.hp[_chartarget] - 1);
23
            if (__hpdiff > 0)
24
            {
25
                with (global.charinstance[i])
26
                {
27
                    hurt = 1;
28
                    hurttimer = 0;
29
                }
30
            }
31
            dmgwriter = instance_create(global.charinstance[i].x, (global.charinstance[i].y + global.charinstance[i].myheight) - 24, obj_dmgwriter);
32
            dmgwriter.damage = __hpdiff;
33
            if (__hpdiff > 0)
34
                _didhit = true;
35
        }
36
        if (global.hp[_chartarget] > 0)
37
            global.hp[_chartarget] = 1;
38
    }
39
    global.inv = global.invc * 40;
40
    if (_didhit)
41
    {
42
        snd_play(snd_hurt1);
43
        if (!instance_exists(obj_shake))
44
            instance_create(0, 0, obj_shake);
45
    }
46
}