Deltarune (Chapter 4) 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()
{ if (keyboard_check(ord("1"))) {
scr_down_partymember(0);
} else if (keyboard_check(ord("2"))) {
scr_down_partymember(1);
} else if (keyboard_check(ord("3"))) {
scr_down_partymember(2);
} else { 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
    if (keyboard_check(ord("1")))
4
    {
5
        
scr_down_partymember
scr_down_partymember

function
scr_down_partymember(arg0)
{ if (global.char[arg0] == 0) { debug_print("No party member in slot " + string(arg0)); exit; } with (obj_dmgwriter) { if (delaytimer >= 1) killactive = 1; } var _chartarget = global.char[arg0]; var __hpdiff = max(0, global.hp[_chartarget] + round(global.maxhp[_chartarget] / 2)); if (__hpdiff > 0) { with (global.charinstance[arg0]) { hurt = 1; hurttimer = 0; } } dmgwriter = instance_create(global.charinstance[arg0].x, (global.charinstance[arg0].y + global.charinstance[arg0].myheight) - 24, obj_dmgwriter); dmgwriter.damage = __hpdiff; global.hp[_chartarget] = round(-global.maxhp[_chartarget] / 2);
scr_dead(arg0);
if (global.myfight == 0 && global.charturn == arg0) { with (obj_battlecontroller)
scr_nexthero();
} snd_play(snd_hurt1); if (!instance_exists(obj_shake)) instance_create(0, 0, obj_shake); }
(0);
6
    }
7
    else if (keyboard_check(ord("2")))
8
    {
9
        
scr_down_partymember
scr_down_partymember

function
scr_down_partymember(arg0)
{ if (global.char[arg0] == 0) { debug_print("No party member in slot " + string(arg0)); exit; } with (obj_dmgwriter) { if (delaytimer >= 1) killactive = 1; } var _chartarget = global.char[arg0]; var __hpdiff = max(0, global.hp[_chartarget] + round(global.maxhp[_chartarget] / 2)); if (__hpdiff > 0) { with (global.charinstance[arg0]) { hurt = 1; hurttimer = 0; } } dmgwriter = instance_create(global.charinstance[arg0].x, (global.charinstance[arg0].y + global.charinstance[arg0].myheight) - 24, obj_dmgwriter); dmgwriter.damage = __hpdiff; global.hp[_chartarget] = round(-global.maxhp[_chartarget] / 2);
scr_dead(arg0);
if (global.myfight == 0 && global.charturn == arg0) { with (obj_battlecontroller)
scr_nexthero();
} snd_play(snd_hurt1); if (!instance_exists(obj_shake)) instance_create(0, 0, obj_shake); }
(1);
10
    }
11
    else if (keyboard_check(ord("3")))
12
    {
13
        
scr_down_partymember
scr_down_partymember

function
scr_down_partymember(arg0)
{ if (global.char[arg0] == 0) { debug_print("No party member in slot " + string(arg0)); exit; } with (obj_dmgwriter) { if (delaytimer >= 1) killactive = 1; } var _chartarget = global.char[arg0]; var __hpdiff = max(0, global.hp[_chartarget] + round(global.maxhp[_chartarget] / 2)); if (__hpdiff > 0) { with (global.charinstance[arg0]) { hurt = 1; hurttimer = 0; } } dmgwriter = instance_create(global.charinstance[arg0].x, (global.charinstance[arg0].y + global.charinstance[arg0].myheight) - 24, obj_dmgwriter); dmgwriter.damage = __hpdiff; global.hp[_chartarget] = round(-global.maxhp[_chartarget] / 2);
scr_dead(arg0);
if (global.myfight == 0 && global.charturn == arg0) { with (obj_battlecontroller)
scr_nexthero();
} snd_play(snd_hurt1); if (!instance_exists(obj_shake)) instance_create(0, 0, obj_shake); }
(2);
14
    }
15
    else
16
    {
17
        var _writedamage = false;
18
        if (argument_count == 1 && argument[0] == true)
19
            _writedamage = true;
20
        var _didhit = false;
21
        if (_writedamage)
22
        {
23
            with (obj_dmgwriter)
24
            {
25
                if (delaytimer >= 1)
26
                    killactive = 1;
27
            }
28
        }
29
        for (i = 0; i < 3; i++)
30
        {
31
            if (global.char[i] == 0)
32
                continue;
33
            var _chartarget = global.char[i];
34
            if (_writedamage)
35
            {
36
                var __hpdiff = max(0, global.hp[_chartarget] - 1);
37
                if (__hpdiff > 0)
38
                {
39
                    with (global.charinstance[i])
40
                    {
41
                        hurt = 1;
42
                        hurttimer = 0;
43
                    }
44
                }
45
                dmgwriter = instance_create(global.charinstance[i].x, (global.charinstance[i].y + global.charinstance[i].myheight) - 24, obj_dmgwriter);
46
                dmgwriter.damage = __hpdiff;
47
                if (__hpdiff > 0)
48
                    _didhit = true;
49
            }
50
            if (global.hp[_chartarget] > 0)
51
                global.hp[_chartarget] = 1;
52
        }
53
        global.inv = global.invc * 40;
54
        if (_didhit)
55
        {
56
            snd_play(snd_hurt1);
57
            if (!instance_exists(obj_shake))
58
                instance_create(0, 0, obj_shake);
59
        }
60
    }
61
}