Deltarune (Chapter 2) script viewer

← back to main script listing

gml_Object_obj_thrash_laserattack_Step_0

(view raw script w/o annotations or w/e)
1
btimer++;
2
headangle = (obj_rouxls_enemy.y - 40) / 1.75;
3
if (btimer <= (difficulty ? 8 : 15))
4
{
5
    if (btimer == (difficulty ? 8 : 15))
6
    {
7
        var xx = thrash.headx - 
scr_orbitx
scr_orbitx

function
scr_orbitx(arg0, arg1, arg2, arg3, arg4)
{ if (arg4 == 0) return arg2; var __theta = point_direction(arg0, arg1, arg2, arg3); var __radius = point_distance(arg0, arg1, arg2, arg3); __theta += arg4; return arg0 + lengthdir_x(__radius, __theta); }
(0, 0, 45, 0, headangle);
8
        var yy = thrash.heady - 
scr_orbity
scr_orbity

function
scr_orbity(arg0, arg1, arg2, arg3, arg4)
{ if (arg4 == 0) return arg3; var __theta = point_direction(arg0, arg1, arg2, arg3); var __radius = point_distance(arg0, arg1, arg2, arg3); __theta += arg4; return arg1 + lengthdir_y(__radius, __theta); }
(0, 0, 45, 0, headangle);
9
        snd_play_x(snd_spearappear, 1, 1.2);
10
        d = 
scr_bullet_create
scr_bullet_create

function
scr_bullet_create(arg0, arg1, arg2)
{ var __newbullet = instance_create(arg0, arg1, arg2); __newbullet.damage = damage; __newbullet.target = target; if (variable_instance_exists(self, "element")) __newbullet.element = element; return __newbullet; }
(xx, yy, obj_thrash_laserbullet);
11
        d.grazepoints = grazepoints;
12
        d.direction = 0;
13
        d.attackdirection = lastattack;
14
    }
15
}
16
if (btimer >= (difficulty ? 13 : 25))
17
{
18
    btimer = 0;
19
    var nextattack = irandom(1);
20
    if (nextattack == lastattack)
21
        nextattack = 2;
22
    lastangle = attackangle;
23
    attackangle = (nextattack * 90) + 90;
24
    lastattack = nextattack;
25
}
26
thrash.headangle = headangle;