Undertale Yellow script viewer

← back to main script listing

gml_GlobalScript_sw_laser

(view raw script w/o annotations or w/e)
1
function sw_laser(argument0, argument1, argument2, argument3, argument4, argument5, argument6, argument7, argument8, argument9, argument10) //gml_Script_sw_laser
2
{
3
    var _x1 = argument0
4
    var _y1 = argument1
5
    var _x2 = argument2
6
    var _y2 = argument3
7
    var _w1 = argument4
8
    var _w2 = argument5
9
    var _c1 = argument6
10
    var _c3 = argument7
11
    var _c2 = merge_color(_c1, _c3, 0.1)
12
    var _a1 = argument8
13
    var _a2 = argument9
14
    var _a3 = argument10
15
    _dir = point_direction(_x1, _y1, _x2, _y2)
16
    var _s = max(1, ceil((_w1 + _w2 * 2) / 16))
17
    var _amt = 90 / _s
18
    draw_primitive_begin(5)
19
    for (var i = 0; i <= _s; i++)
20
    {
21
        draw_vertex_color((_x1 + (lengthdir_x((_w1 / 2), (_dir + 180 + i * _amt)))), (_y1 + (lengthdir_y((_w1 / 2), (_dir + 180 + i * _amt)))), _c2, _a2)
22
        draw_vertex_color(_x1, _y1, _c1, _a1)
23
    }
24
    for (i = 0; i <= _s; i++)
25
    {
26
        draw_vertex_color((_x2 + (lengthdir_x((_w1 / 2), (_dir - 90 + i * _amt)))), (_y2 + (lengthdir_y((_w1 / 2), (_dir - 90 + i * _amt)))), _c2, _a2)
27
        draw_vertex_color(_x2, _y2, _c1, _a1)
28
    }
29
    for (i = 0; i <= _s; i++)
30
    {
31
        draw_vertex_color((_x2 + (lengthdir_x((_w1 / 2), (_dir + i * _amt)))), (_y2 + (lengthdir_y((_w1 / 2), (_dir + i * _amt)))), _c2, _a2)
32
        draw_vertex_color(_x2, _y2, _c1, _a1)
33
    }
34
    for (i = 0; i <= _s; i++)
35
    {
36
        draw_vertex_color((_x1 + (lengthdir_x((_w1 / 2), (_dir + 180 - 90 + i * _amt)))), (_y1 + (lengthdir_y((_w1 / 2), (_dir + 180 - 90 + i * _amt)))), _c2, _a2)
37
        draw_vertex_color(_x1, _y1, _c1, _a1)
38
    }
39
    draw_primitive_end()
40
    draw_primitive_begin(5)
41
    for (i = 0; i <= _s; i++)
42
    {
43
        draw_vertex_color((_x1 + (lengthdir_x((_w1 / 2 + _w2), (_dir + 180 + i * _amt)))), (_y1 + (lengthdir_y((_w1 / 2 + _w2), (_dir + 180 + i * _amt)))), _c3, _a3)
44
        draw_vertex_color((_x1 + (lengthdir_x((_w1 / 2), (_dir + 180 + i * _amt)))), (_y1 + (lengthdir_y((_w1 / 2), (_dir + 180 + i * _amt)))), _c2, _a2)
45
    }
46
    for (i = 0; i <= _s; i++)
47
    {
48
        draw_vertex_color((_x2 + (lengthdir_x((_w1 / 2 + _w2), (_dir - 90 + i * _amt)))), (_y2 + (lengthdir_y((_w1 / 2 + _w2), (_dir - 90 + i * _amt)))), _c3, _a3)
49
        draw_vertex_color((_x2 + (lengthdir_x((_w1 / 2), (_dir - 90 + i * _amt)))), (_y2 + (lengthdir_y((_w1 / 2), (_dir - 90 + i * _amt)))), _c2, _a2)
50
    }
51
    for (i = 0; i <= _s; i++)
52
    {
53
        draw_vertex_color((_x2 + (lengthdir_x((_w1 / 2 + _w2), (_dir + i * _amt)))), (_y2 + (lengthdir_y((_w1 / 2 + _w2), (_dir + i * _amt)))), _c3, _a3)
54
        draw_vertex_color((_x2 + (lengthdir_x((_w1 / 2), (_dir + i * _amt)))), (_y2 + (lengthdir_y((_w1 / 2), (_dir + i * _amt)))), _c2, _a2)
55
    }
56
    for (i = 0; i <= _s; i++)
57
    {
58
        draw_vertex_color((_x1 + (lengthdir_x((_w1 / 2 + _w2), (_dir + 180 - 90 + i * _amt)))), (_y1 + (lengthdir_y((_w1 / 2 + _w2), (_dir + 180 - 90 + i * _amt)))), _c3, _a3)
59
        draw_vertex_color((_x1 + (lengthdir_x((_w1 / 2), (_dir + 180 - 90 + i * _amt)))), (_y1 + (lengthdir_y((_w1 / 2), (_dir + 180 - 90 + i * _amt)))), _c2, _a2)
60
    }
61
    draw_primitive_end()
62
}