Deltarune (Chapter 3) script viewer

← back to main script listing

gml_Object_obj_susiezilla_singlescreen_shadowguy_parent_Collision_obj_susiezilla_activehitbox

(view raw script w/o annotations or w/e)
1
with (obj_susiezilla_gamecontroller)
2
{
3
    if (gameover)
4
        exit;
5
}
6
if (iframes <= 0 && ropeheight == 0 && state != states.dead)
7
{
8
    var _hit = other.daddy;
9
    if (i_ex(_hit))
10
    {
11
        iframes = 15;
12
        var closeenough = 1;
13
        if (abs(_hit.fakeheight - fakeheight) > 40)
14
            closeenough = 0;
15
        if (_hit.canhit == 1 && _hit.hitstop <= 0 && abs(_hit.hitspeed) > 0 && _hit != id && closeenough && state != states.dead)
16
        {
17
            snd_stop(snd_punchmed);
18
            snd_play(snd_punchmed);
19
            if (i_ex(obj_tenna_enemy))
20
                
scr_tenna_add_score
scr_tenna_add_score

function
scr_tenna_add_score(arg0)
{ if (i_ex(obj_tenna_enemy_bg)) { var _multiplier = 1; var _multi_minigame_adjustment = 1; if (obj_tenna_enemy.minigameactivated) { if (obj_tenna_enemy.minigamecount >= 6) _multi_minigame_adjustment = 0.65; _multiplier = (obj_tenna_enemy.pointsmultiplierthisturn + obj_tenna_enemy.pointsmultiplier) * _multi_minigame_adjustment; obj_tenna_enemy.pointsmultiplierthisturn -= 1; if (obj_tenna_enemy.pointsmultiplierthisturn < 1) obj_tenna_enemy.pointsmultiplierthisturn = 1; } if (!i_ex(obj_tenna_zoom)) obj_tenna_enemy_bg.addscore += round(arg0 * _multiplier); else if (i_ex(obj_tenna_minigame_ui)) obj_tenna_minigame_ui.myscore += round(arg0 * _multiplier); } }
(3);
21
            sprite_index = s_spin_large;
22
            image_index = 0;
23
            image_speed = 0.5;
24
            state = states.dead;
25
            state_timer = 0;
26
alarm[0]
27
            washit = true;
28
            hitstop = 4;
29
            drawshake = hitstop;
30
            canhit = true;
31
            memspeed = _hit.hitspeed;
32
            memdir = _hit.hitdir;
33
            xdes = x;
34
            ydes = y;
35
            _hit.hitstop = 4;
36
            _hit.drawshake = _hit.hitstop;
37
            _hit.memspeed = _hit.speed;
38
            _hit.memdir = _hit.direction;
39
            _hit.speed = 0;
40
            
scr_susiezilla_hiteffect
scr_susiezilla_hiteffect

function
scr_susiezilla_hiteffect(arg0)
{ var _hit = arg0; var _hitmarker =
scr_dark_marker(round((_hit.myxcenter + myxcenter) / 2), round((_hit.myycenter + myycenter) / 2), spr_dogcar_hit);
scr_doom(_hitmarker, 4);
var hitscale = myhitscale; if (_hit.myhitscale > hitscale) hitscale = _hit.myhitscale;
scr_scale(hitscale, _hitmarker);
scr_lerpvar_instance(_hitmarker, "image_xscale", hitscale, 1, 4);
scr_lerpvar_instance(_hitmarker, "image_yscale", hitscale, 1, 4);
_hitmarker.depth = depth - 100; return _hitmarker; }
(_hit);
41
            with (obj_susiezilla_singlescreen_hud_score)
42
                score_change(other.value);
43
            with (obj_susiezilla_gamecontroller)
44
                check_enemies();
45
        }
46
    }
47
}