Deltarune (Chapter 4) script viewer

← back to main script listing

gml_Object_obj_rotating_tower_controller_Create_0

(view raw script w/o annotations or w/e)
1
if (room == room_dw_rotating_tower || room == room_dw_3d_tower_test || room == room_dw_titan_tower_test)
2
    global.flag[23] = 1;
3
depth = obj_mainchara.depth + 1;
4
tower_angle = 0;
5
yoffset = 480;
6
tower_angle_prev = tower_angle;
7
yoffset_prev = yoffset;
8
maincharayprevious = obj_mainchara.y;
9
towerpiececount = 500;
10
tower_image_index = 0;
11
timer = 0;
12
angle_extra = 0;
13
shake_timer = 0;
14
camerayoffset = 0;
15
tower_type = 0;
16
wide_tower = false;
17
i = 0;
18
ii = 0;
19
for (i = 0; i < 75; i += 1)
20
{
21
    tower_angle_record[i] = tower_angle;
22
    yoffset_record[i] = yoffset;
23
}
24
using_rotating_caterpillars = false;
25
shake_count = 0;
26
render_ypos_start_shake = 0;
27
render_ypos_end_shake = 0;
28
tower_falls_apart_i = 0;
29
tower_falls_apart_con = 0;
30
tower_falls_apart_timer = 0;
31
tower_falls_apart_i_dog = 0;
32
tower_falls_apart_timer_dog = 0;
33
rising_shadow_x = 0;
34
xstart_init = 0;
35
endclimb = false;
36
endclimbcon = 0;
37
endclimbtimer = 0;
38
doghasfallen = false;
39
renderalt = false;
40
eyesmoketimer = 0;
41
eyecalculate = 0;
42
if (room == room_dw_3d_tower_test)
43
{
44
    tower_type = 2;
45
    wide_tower = true;
46
    instance_create_depth(0, 0, 100000, obj_rotating_fg_controller);
47
}
48
if (room == room_dw_titan_tower_test)
49
    wide_tower = true;
50
var _towersprite = 5713;
51
if (tower_type == 2)
52
    _towersprite = 4168;
53
if (wide_tower == true)
54
    _towersprite = 861;
55
for (i = 0; i < towerpiececount; i++)
56
{
57
    tower_piece_sprite[i] = _towersprite;
58
    if (room == room_dw_church_dogclimb)
59
        tower_piece_sprite_dog[i] = _towersprite;
60
    tower_piece_image_index[i] = 0;
61
    tower_xoffset[i] = 0;
62
    tower_siner[i] = 0;
63
    tower_object[i][7] = 0;
64
    for (ii = 0; ii < 10; ii++)
65
    {
66
        _x[i][ii] = (x - 110) + (ii * 20);
67
        xscale[i][ii] = 1;
68
        _vis[i][ii] = true;
69
        mathtype[i][ii] = 0;
70
    }
71
    if (room == room_dw_titan_tower_test)
72
    {
73
        tower_object[i][10] = 0;
74
        if (tower_angle >= 190 && tower_angle < 350)
75
            vis[i][0] = false;
76
        else
77
            vis[i][0] = true;
78
        if (tower_angle >= 225 || tower_angle < 25)
79
            vis[i][1] = false;
80
        else
81
            vis[i][1] = true;
82
        if (tower_angle >= 260 || tower_angle < 60)
83
            vis[i][2] = false;
84
        else
85
            vis[i][2] = true;
86
        if (tower_angle >= 295 || tower_angle < 95)
87
            vis[i][3] = false;
88
        else
89
            vis[i][3] = true;
90
        if (tower_angle >= 330 || tower_angle < 130)
91
            vis[i][4] = false;
92
        else
93
            vis[i][4] = true;
94
        if (tower_angle > 5 && tower_angle < 165)
95
            vis[i][5] = false;
96
        else
97
            vis[i][5] = true;
98
        if (tower_angle > 40 && tower_angle < 200)
99
            vis[i][6] = false;
100
        else
101
            vis[i][6] = true;
102
        if (tower_angle > 75 && tower_angle < 235)
103
            vis[i][7] = false;
104
        else
105
            vis[i][7] = true;
106
        if (tower_angle > 110 && tower_angle < 270)
107
            vis[i][8] = false;
108
        else
109
            vis[i][8] = true;
110
        if (tower_angle > 145 && tower_angle < 305)
111
            vis[i][9] = false;
112
        else
113
            vis[i][9] = true;
114
    }
115
    tower_eyedrip[i][10] = 0;
116
    tower_eyeoffset[i] = 0;
117
}
118
if (room == room_dw_rotating_tower || room == room_dw_church_statueroom)
119
    event_user(0);
120
if (room == room_dw_church_dogclimb)
121
    event_user(1);
122
if (room == room_dw_titan_tower_test)
123
    event_user(2);
124
piececount = 7;
125
if (wide_tower)
126
    piececount = 9;
127
ladder_index = 4;
128
xx = 0;
129
vis = false;
130
towerback = false;
131
piecemaxdistance = 70;
132
if (wide_tower)
133
    piecemaxdistance = 110;
134
_tower_angle = tower_angle;
135
laddersprite = 5084;
136
stepssprite = 5714;
137
rocksprite = 1902;
138
eyesprite = 5370;
139
eyedripsprite = 2654;
140
if (wide_tower)
141
{
142
    laddersprite = 4785;
143
    stepssprite = 1308;
144
    rocksprite = 4829;
145
    eyesprite = 5130;
146
    eyedripsprite = 4973;
147
}