Deltarune (Chapter 5) script viewer

← back to main script listing

gml_GlobalScript_scr_damage_all

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

function
scr_damage_all(arg0 = 0, arg1 = true)
{ if (global.inv < 0) { remdamage = damage; _temptarget = target; for (ti = 0; ti < 3; ti++) { global.inv = -1; if (argument_count == 0) { damage = remdamage; } else { damage = arg0; remdamage = arg0; } target = ti; if (global.hp[global.char[ti]] > 0 && global.char[ti] != 0)
scr_damage(arg1);
} global.inv = global.invc * 40; target = _temptarget; } }
(arg0 = 0, arg1 = true)
2
{
3
    if (global.inv < 0)
4
    {
5
        remdamage = damage;
6
        _temptarget = target;
7
        for (ti = 0; ti < 3; ti++)
8
        {
9
            global.inv = -1;
10
            if (argument_count == 0)
11
            {
12
                damage = remdamage;
13
            }
14
            else
15
            {
16
                damage = arg0;
17
                remdamage = arg0;
18
            }
19
            target = ti;
20
            if (global.hp[global.char[ti]] > 0 && global.char[ti] != 0)
21
                
scr_damage
scr_damage

function
scr_damage(arg0 = true)
{ if (global.inv < 0) { var __element = 0; if (variable_instance_exists(id, "element")) { if (is_real(element)) __element = element; } if (target < 3) { if (global.hp[global.char[target]] <= 0) {
scr_randomtarget_old();
target = mytarget; with (global.charinstance[target]) { image_blend = c_white; darkify = 0; } } } var __remtarget = -1; if (target == 4) { __remtarget = 4;
scr_randomtarget_old();
target = mytarget; if ((global.hp[global.char[target]] / global.maxhp[global.char[target]]) < (
scr_party_hpaverage() / 2))
{
scr_randomtarget_old();
target = mytarget; } if ((global.hp[global.char[target]] / global.maxhp[global.char[target]]) < (
scr_party_hpaverage() / 2))
{
scr_randomtarget_old();
target = mytarget; } if (target == 0 && (global.hp[global.char[target]] / global.maxhp[global.char[target]]) < 0.35) {
scr_randomtarget_old();
target = mytarget; } with (global.charinstance[target]) { image_blend = c_white; darkify = 0; } } chartarget = 3; if (global.chapter == 5 && i_ex(obj_flowery_enemy)) { if (obj_flowery_enemy.partydefenselowered == true) damage = ceil(damage * 1.1); if (obj_flowery_enemy.remove_ralsei_con > 0) damage = ceil(damage * 0.8); if (obj_flowery_enemy.ralsei_removed == true && target == 2) { target = choose(0, 1); if (global.hp[1] < 1) target = 1; if (global.hp[2] < 1) target = 0; } if (i_ex(obj_dbulletcontroller) && obj_dbulletcontroller.type == 637) obj_flowery_enemy.damage_taken_during_tutorial++; } tdamage = damage; var oldcalculation = 0; if (target < 3) { chartarget = global.char[target]; if (global.ignoredefense == true) { tdamage = ceil(tdamage); } else { if (oldcalculation) tdamage = ceil(tdamage - (global.battledf[target] * 3)); else tdamage =
scr_damage_calculation(tdamage, target);
if (global.charaction[target] == 10) tdamage = ceil((2 * tdamage) / 3); tdamage = ceil(tdamage *
scr_element_damage_reduction(__element, global.char[target]));
debug_message("The element is: " + string(__element)); if (tdamage < 1) tdamage = 1; } } if (!instance_exists(obj_shake)) instance_create(0, 0, obj_shake); with (global.charinstance[target]) { hurt = 1; hurttimer = 0; } if (!arg0) tdamage = min(tdamage, global.hp[chartarget] - 1); hpdiff = tdamage; ...
(arg1);
22
        }
23
        global.inv = global.invc * 40;
24
        target = _temptarget;
25
    }
26
}