Deltarune (Chapter 3) script viewer

← back to main script listing

gml_GlobalScript_scr_damage_enemy

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

function
scr_damage_enemy(arg0, arg1)
{ dm = instance_create(global.monsterx[arg0], (global.monstery[arg0] + 20) - (global.hittarget[arg0] * 20), obj_dmgwriter); if (caster < 4) { dm.type = global.char[caster] - 1; if (global.char[caster] == 4) dm.type = 6; } if (caster == 5) dm.type = 5; dm.damage = arg1; global.monsterhp[arg0] -= arg1; if (arg1 > 0) { with (global.monsterinstance[arg0]) { shakex = 9; state = 3; hurttimer = 30; if (global.chapter == 3 && i_ex(obj_knight_enemy) && arg1 >= 100) obj_knight_enemy.stronghurtanim = true; } if (i_ex(global.monsterinstance[arg0])) global.monsterinstance[arg0].hurtamt = arg1; } global.hittarget[arg0] += 1; if (arg1 == 0) { with (global.monsterinstance[arg0]) { hurtamt = 0; if (hurttimer <= 15 && candodge == 1) { dodgetimer = 0; state = 4; } } } var a = 0; if (global.monsterhp[arg0] <= 0 && a == 0) { with (global.monsterinstance[arg0])
scr_monsterdefeat();
} }
(arg0, arg1)
2
{
3
    dm = instance_create(global.monsterx[arg0], (global.monstery[arg0] + 20) - (global.hittarget[arg0] * 20), obj_dmgwriter);
4
    if (caster < 4)
5
    {
6
        dm.type = global.char[caster] - 1;
7
        if (global.char[caster] == 4)
8
            dm.type = 6;
9
    }
10
    if (caster == 5)
11
        dm.type = 5;
12
    dm.damage = arg1;
13
    global.monsterhp[arg0] -= arg1;
14
    if (arg1 > 0)
15
    {
16
        with (global.monsterinstance[arg0])
17
        {
18
            shakex = 9;
19
            state = 3;
20
            hurttimer = 30;
21
            if (global.chapter == 3 && i_ex(obj_knight_enemy) && arg1 >= 100)
22
                obj_knight_enemy.stronghurtanim = true;
23
        }
24
        if (i_ex(global.monsterinstance[arg0]))
25
            global.monsterinstance[arg0].hurtamt = arg1;
26
    }
27
    global.hittarget[arg0] += 1;
28
    if (arg1 == 0)
29
    {
30
        with (global.monsterinstance[arg0])
31
        {
32
            hurtamt = 0;
33
            if (hurttimer <= 15 && candodge == 1)
34
            {
35
                dodgetimer = 0;
36
                state = 4;
37
            }
38
        }
39
    }
40
    var a = 0;
41
    if (global.monsterhp[arg0] <= 0 && a == 0)
42
    {
43
        with (global.monsterinstance[arg0])
44
            
scr_monsterdefeat
scr_monsterdefeat

function
scr_monsterdefeat()
{ if (global.monster[myself] == 1) { global.monstergold[3] += global.monstergold[myself]; global.monsterexp[3] += global.monsterexp[myself]; global.monster[myself] = 0; if (global.flag[51 + myself] == 0) { global.flag[51 + myself] = 2; if (global.monsterhp[myself] <= 0) global.flag[51 + myself] = 1; } if (global.flag[51 + myself] == 1) { global.flag[40 violences] += 1; if (fatal == 1) global.flag[44 kills]++; } if (global.flag[51 + myself] == 2) global.flag[41 spares] += 1; if (global.flag[51 + myself] == 3) global.flag[42 pacifies] += 1; if (global.flag[51 + myself] == 5) global.flag[43 autosusie_violences] += 1; if (global.flag[51 + myself] == 6) { global.flag[45 freezes] += 1; global.monstergold[3] += 24; } if (
scr_monsterpop() == 0)
{ _amt_add = 0; _frozened = 0; _violenced = 0; _spared = 0; _pacified = 0; for (d_i = 0; d_i < 3; d_i += 1) { if (global.flag[51 + d_i] != 0) _amt_add += 1; if (global.flag[51 + d_i] == 1) _violenced += 1; if (global.flag[51 + d_i] == 2) _spared += 1; if (global.flag[51 + d_i] == 3) _pacified += 1; if (global.flag[51 + d_i] == 6) _frozened += 1; } if (_frozened > 0) global.flag[50 last_encounter_end] = 6; if (_pacified > 0) global.flag[50 last_encounter_end] = 3; if (_spared > 0) global.flag[50 last_encounter_end] = 2; if (_violenced > 0) global.flag[50 last_encounter_end] = 1; if (global.flag[50 last_encounter_end] == 6) global.flag[926 iceshocked_encounters]++; if (global.flag[54 encounter_pointer] != 0) { global.flag[global.flag[54 encounter_pointer]] = global.flag[50 last_encounter_end]; debug_message("=====Encounter Results====="); debug_message("encounter flag: global.flag[" + string(global.flag[54 encounter_pointer]) + "]=" + string(global.flag[50 last_encounter_end])); debug_message("======="); global.flag[54 encounter_pointer] = 0; } } event_user(11); } }
();
45
    }
46
}