Deltarune (Chapter 2) script viewer

← back to main script listing

gml_GlobalScript_scr_spamton_heal

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

function scr_spamton_heal(arg0) { with (obj_dmgwriter) { if (delaytimer >= 1) killactive = 1; } for (i = 0; i < 3; i++) { if (global.char[i] == 0) continue; var _hltarget = global.char[i]; var _curhp = global.hp[_hltarget]; if (arg0 == 0) _healpower = global.maxhp[_hltarget] / 2; else if (arg0 == 1) _healpower = global.maxhp[_hltarget] / 5; else if (arg0 == 2) _healpower = 1; else _healpower = 0; var _healpower = ceil(_healpower); scr_heal(i, _healpower); with (global.charinstance[i]) { ha = instance_create(x, y, obj_healanim); ha.target = id; dmgwr = scr_dmgwriter_selfchar(); with (dmgwr) { delay = 8; type = 3; damage = _healpower; } if (global.hp[global.char[myself]] >= global.maxhp[global.char[myself]]) { with (dmgwr) specialmessage = 3; } tu += 1; } } for (i = 0; i < 3; i++) { with (global.charinstance[i]) tu--; } }
(arg0)
2
{
3
    with (obj_dmgwriter)
4
    {
5
        if (delaytimer >= 1)
6
            killactive = 1;
7
    }
8
    for (i = 0; i < 3; i++)
9
    {
10
        if (global.char[i] == 0)
11
            continue;
12
        var _hltarget = global.char[i];
13
        var _curhp = global.hp[_hltarget];
14
        if (arg0 == 0)
15
            _healpower = global.maxhp[_hltarget] / 2;
16
        else if (arg0 == 1)
17
            _healpower = global.maxhp[_hltarget] / 5;
18
        else if (arg0 == 2)
19
            _healpower = 1;
20
        else
21
            _healpower = 0;
22
        var _healpower = ceil(_healpower);
23
        scr_heal
scr_heal

function scr_heal(arg0, arg1) { abovemaxhp = 0; belowzero = 0; hltarget = global.char[arg0]; _curhp = global.hp[hltarget]; if (global.hp[hltarget] <= 0) belowzero = 1; if (global.hp[hltarget] > global.maxhp[hltarget]) abovemaxhp = 1; if (abovemaxhp == 0) { global.hp[hltarget] += arg1; if (global.hp[hltarget] > global.maxhp[hltarget]) global.hp[hltarget] = global.maxhp[hltarget]; } if (belowzero == 1 && global.hp[hltarget] >= 0) { if (global.hp[hltarget] < ceil(global.maxhp[hltarget] / 6)) global.hp[hltarget] = ceil(global.maxhp[hltarget] / 6); scr_revive(arg0); } snd_stop(snd_power); snd_play(snd_power); return global.hp[hltarget] - _curhp; }
(i, _healpower);
24
        with (global.charinstance[i])
25
        {
26
            ha = instance_create(x, y, obj_healanim);
27
            ha.target = id;
28
            dmgwr = scr_dmgwriter_selfchar
scr_dmgwriter_selfchar

function scr_dmgwriter_selfchar() { return instance_create(x, (y + myheight) - 24 - (tu * 20), obj_dmgwriter); }
();
29
            with (dmgwr)
30
            {
31
                delay = 8;
32
                type = 3;
33
                damage = _healpower;
34
            }
35
            if (global.hp[global.char[myself]] >= global.maxhp[global.char[myself]])
36
            {
37
                with (dmgwr)
38
                    specialmessage = 3;
39
            }
40
            tu += 1;
41
        }
42
    }
43
    for (i = 0; i < 3; i++)
44
    {
45
        with (global.charinstance[i])
46
            tu--;
47
    }
48
}