Deltarune (Chapter 3) script viewer

← back to main script listing

gml_Object_obj_shutta_photo_controller_Other_21

(view raw script w/o annotations or w/e)
1
reticle_over_good_shot = false;
2
if (place_meeting(x, y, obj_regularbullet))
3
    reticle_over_good_shot = true;
4
switch (subact_state)
5
{
6
    case "init":
7
        with (obj_heroparent)
8
            
scr_move_to_point_over_time
scr_move_to_point_over_time

function
scr_move_to_point_over_time(arg0, arg1, arg2)
{ _mmm = instance_create(x, y, obj_move_to_point); _mmm.target = id; _mmm.movex = arg0; _mmm.movey = arg1; _mmm.movemax = arg2; return _mmm; }
(x - 170, y, 8);
9
        var enemyselected = false;
10
        for (var i = 0; i < instance_number(obj_monsterparent); i++)
11
        {
12
            _enemy[i] = instance_find(obj_monsterparent, i);
13
            if (_enemy[i].object_index == obj_shadowman_enemy && enemyselected == false)
14
            {
15
                with (_enemy[i])
16
                    
scr_move_to_point_over_time
scr_move_to_point_over_time

function
scr_move_to_point_over_time(arg0, arg1, arg2)
{ _mmm = instance_create(x, y, obj_move_to_point); _mmm.target = id; _mmm.movex = arg0; _mmm.movey = arg1; _mmm.movemax = arg2; return _mmm; }
(camerax() + 540, cameray() + 120, 8);
17
                bullettarget = _enemy[i];
18
                enemyselected = true;
19
            }
20
            else if (_enemy[i].object_index == obj_zapper_enemy && enemyselected == false)
21
            {
22
                with (_enemy[i])
23
                    
scr_move_to_point_over_time
scr_move_to_point_over_time

function
scr_move_to_point_over_time(arg0, arg1, arg2)
{ _mmm = instance_create(x, y, obj_move_to_point); _mmm.target = id; _mmm.movex = arg0; _mmm.movey = arg1; _mmm.movemax = arg2; return _mmm; }
(camerax() + 480, cameray() + 80, 8);
24
                bullettarget = _enemy[i];
25
                enemyselected = true;
26
            }
27
            else
28
            {
29
                with (_enemy[i])
30
                    
scr_move_to_point_over_time
scr_move_to_point_over_time

function
scr_move_to_point_over_time(arg0, arg1, arg2)
{ _mmm = instance_create(x, y, obj_move_to_point); _mmm.target = id; _mmm.movex = arg0; _mmm.movey = arg1; _mmm.movemax = arg2; return _mmm; }
(x + 200, y, 8);
31
            }
32
        }
33
        instance_create(__view_get(e__VW.XView, 0) + 320, __view_get(e__VW.YView, 0) + 170, obj_growtangle);
34
        with (obj_growtangle)
35
        {
36
            maxxscale = 3;
37
            maxyscale = 3;
38
        }
39
        subact_state = "shoot";
40
        break;
41
    case "shoot":
42
        timerb++;
43
        pipetimer++;
44
        if (pipetimer == 1)
45
        {
46
            if (bullettarget.object_index == obj_shadowman_enemy)
47
            {
48
                bullettarget.idlesprite = spr_shadowman_firing;
49
                bullettarget.siner = 0;
50
            }
51
            if (bullettarget.object_index == obj_zapper_enemy)
52
            {
53
                bullettarget.idlesprite = spr_zapper_cannon;
54
                bullettarget.siner = 0;
55
            }
56
        }
57
        if (pipetimer == 10)
58
        {
59
            reticle1 = instance_create((obj_growtangle.x - 100) + irandom(40), (obj_growtangle.y - 100) + irandom(40), obj_shutta_reticle);
60
            reticle2 = instance_create((obj_growtangle.x + 100) - irandom(40), (obj_growtangle.y - 100) + irandom(40), obj_shutta_reticle);
61
            reticle3 = instance_create((obj_growtangle.x - 100) + irandom(40), (obj_growtangle.y + 100) - irandom(40), obj_shutta_reticle);
62
            reticle4 = instance_create((obj_growtangle.x + 100) - irandom(40), (obj_growtangle.y + 100) - irandom(40), obj_shutta_reticle);
63
            reticle5 = instance_create((obj_growtangle.x - 100) + irandom(200), (obj_growtangle.y - 100) + irandom(100), obj_shutta_reticle);
64
            reticle6 = instance_create((obj_growtangle.x - 100) + irandom(200), (obj_growtangle.y - 100) + irandom(100), obj_shutta_reticle);
65
            var _rand = choose(0, 1, 2, 3);
66
            if (_rand == 0)
67
            {
68
                secrettargetx = (obj_growtangle.x - 70) + irandom(30);
69
                secrettargety = (obj_growtangle.y - 50) + irandom(100);
70
            }
71
            if (_rand == 1)
72
            {
73
                secrettargetx = (obj_growtangle.x + 70) - irandom(30);
74
                secrettargety = (obj_growtangle.y - 50) + irandom(100);
75
            }
76
            if (_rand == 2)
77
            {
78
                secrettargetx = (obj_growtangle.x - 50) + irandom(100);
79
                secrettargety = (obj_growtangle.y - 70) + irandom(30);
80
            }
81
            if (_rand == 3)
82
            {
83
                secrettargetx = (obj_growtangle.x - 50) + irandom(100);
84
                secrettargety = (obj_growtangle.y + 70) - irandom(30);
85
            }
86
        }
87
        if (pipetimer == 8 && bullettarget.object_index == obj_zapper_enemy)
88
            bullettarget.idlesprite = spr_zapper_aim;
89
        if ((pipetimer == 30 && bullettarget.object_index == obj_shadowman_enemy) || (pipetimer == 30 && bullettarget.object_index == obj_zapper_enemy))
90
        {
91
            var xx = 0;
92
            var yy = 0;
93
            var targetx = 0;
94
            var targety = 0;
95
            var _a = 0;
96
            if (bullettarget.object_index == obj_shadowman_enemy)
97
            {
98
                xx = bullettarget.x - 60;
99
                yy = bullettarget.y + 66;
100
            }
101
            if (bullettarget.object_index == obj_zapper_enemy)
102
            {
103
                xx = bullettarget.x + 16;
104
                yy = bullettarget.y + 80;
105
                bullettarget.idlesprite = spr_zapper_cannon;
106
                bullettarget.siner = 5;
107
            }
108
            repeat (6)
109
            {
110
                if (_a == 0)
111
                    targetx = reticle1.x;
112
                if (_a == 0)
113
                    targety = reticle1.y;
114
                if (_a == 1)
115
                    targetx = reticle2.x;
116
                if (_a == 1)
117
                    targety = reticle2.y;
118
                if (_a == 2)
119
                    targetx = reticle3.x;
120
                if (_a == 2)
121
                    targety = reticle3.y;
122
                if (_a == 3)
123
                    targetx = reticle4.x;
124
                if (_a == 3)
125
                    targety = reticle4.y;
126
                if (_a == 4)
127
                    targetx = reticle5.x;
128
                if (_a == 4)
129
                    targety = reticle5.y;
130
                if (_a == 5)
131
                    targetx = reticle6.x;
132
                if (_a == 5)
133
                    targety = reticle6.y;
134
                var tommybullet = 
scr_fire_bullet
scr_fire_bullet

function
scr_fire_bullet(arg0, arg1, arg2, arg3, arg4, arg5 = -4, arg6 = 0, arg7 = false, arg8 = 87135)
{ var bullet; if (arg8 != 87135) bullet = instance_create_depth(arg0, arg1, arg8, arg2); else bullet = instance_create(arg0, arg1, arg2); with (bullet) { direction = arg3; speed = arg4; if (arg5 != -4) sprite_index = arg5; updateimageangle = arg6; if (arg6) image_angle = arg3; if (arg7) { with (other)
scr_bullet_inherit(other.id);
} } return bullet; } function scr_fire_bullet_colorize(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7 = 0) { var bullet = instance_create(arg0, arg1, arg2); with (bullet) { direction = arg3; speed = arg4; sprite_index = arg5; image_blend = arg6; updateimageangle = arg7; if (arg7) image_angle = arg3; } return bullet; }
(xx, yy, obj_shutta_reticle_bullet, point_direction(xx, yy, targetx, targety), 0, spr_tommygun_bullet);
135
                tommybullet.image_angle = tommybullet.direction;
136
                tommybullet.depth = depth + 1;
137
                tommybullet.x = xx;
138
                tommybullet.y = yy;
139
                tommybullet.targetx = targetx;
140
                tommybullet.targety = targety;
141
                _a++;
142
            }
143
        }
144
        if (pipetimer == 35)
145
        {
146
            with (obj_shutta_reticle)
147
                con = 1;
148
        }
149
        if (pipetimer == 43 && bullettarget.object_index == obj_zapper_enemy)
150
            bullettarget.idlesprite = spr_zapper_aim;
151
        if (timer == timer_duration)
152
        {
153
            subact_state = "post_capture";
154
            enemy.sprite_index = spr_shutta_idle;
155
            enemy.image_speed = 0.16666666666666666;
156
            timerb = 0;
157
            if (bullettarget.object_index == obj_zapper_enemy)
158
                bullettarget.idlesprite = spr_zapper_jump;
159
        }
160
        break;
161
    case "capture":
162
        subact_state = "shoot";
163
        flash_alpha = 1;
164
        if (got_kris && closest_hero == "kris")
165
        {
166
            endmessage = message_nicephoto;
167
            if (enemy.amiabossfight == true)
168
            {
169
                obj_shutta_photo_controller.endmessage = message_kris;
170
                if (global.flag[513 shuttah_kris_pic] > 0)
171
                    obj_shutta_photo_controller.endmessage = message_kris2;
172
            }
173
            global.flag[513 shuttah_kris_pic] = 1;
174
        }
175
        else if (got_susie && closest_hero == "susie")
176
        {
177
            enemy.photosuccesscount++;
178
            endmessage = message_nicephoto;
179
            if (enemy.amiabossfight == true)
180
            {
181
                obj_shutta_photo_controller.endmessage = message_susie;
182
                if (global.flag[514 shuttah_susie_pic] > 0)
183
                    obj_shutta_photo_controller.endmessage = message_susie2;
184
            }
185
            global.flag[514 shuttah_susie_pic] = 1;
186
        }
187
        else if (got_ralsei && closest_hero == "ralsei")
188
        {
189
            enemy.photosuccesscount++;
190
            endmessage = message_nicephoto;
191
            if (enemy.amiabossfight == true)
192
            {
193
                if (global.flag[515 shuttah_ralsei_pic] == 0)
194
                    obj_shutta_photo_controller.endmessage = message_ralsei;
195
                if (global.flag[515 shuttah_ralsei_pic] > 0)
196
                    obj_shutta_photo_controller.endmessage = message_ralsei2;
197
            }
198
            global.flag[515 shuttah_ralsei_pic] = 1;
199
        }
200
        else if (place_meeting(x, y, obj_shutta_reticle_bullet) || place_meeting(x, y, obj_shutta_reticle_bullet2) || place_meeting(x, y, obj_shutta_nobyact_fakebullet))
201
        {
202
            with (obj_shutta_reticle_bullet)
203
            {
204
                if (place_meeting(x, y, obj_shutta_photo_controller))
205
                {
206
                    obj_shutta_photo_controller.mercygained += 3;
207
                    inst = 
scr_afterimage
scr_afterimage

function
scr_afterimage()
{ afterimage = instance_create(x, y, obj_afterimage); afterimage.sprite_index = sprite_index; afterimage.image_index = image_index; afterimage.image_blend = image_blend; afterimage.image_speed = 0; afterimage.depth = depth; afterimage.image_xscale = image_xscale; afterimage.image_yscale = image_yscale; afterimage.image_angle = image_angle; return afterimage; }
();
208
                    inst.fadeSpeed = 0.1;
209
                    inst = 
scr_afterimage
scr_afterimage

function
scr_afterimage()
{ afterimage = instance_create(x, y, obj_afterimage); afterimage.sprite_index = sprite_index; afterimage.image_index = image_index; afterimage.image_blend = image_blend; afterimage.image_speed = 0; afterimage.depth = depth; afterimage.image_xscale = image_xscale; afterimage.image_yscale = image_yscale; afterimage.image_angle = image_angle; return afterimage; }
();
210
                    inst.sprite_index = spr_board_sparkle;
211
                    inst.vspeed = -1;
212
                    inst.image_xscale = 2;
213
                    inst.image_yscale = 2;
214
                    instance_destroy();
215
                }
216
            }
217
            with (obj_shutta_reticle_bullet2)
218
            {
219
                if (place_meeting(x, y, obj_shutta_photo_controller))
220
                {
221
                    obj_shutta_photo_controller.mercygained += 3;
222
                    inst = 
scr_afterimage
scr_afterimage

function
scr_afterimage()
{ afterimage = instance_create(x, y, obj_afterimage); afterimage.sprite_index = sprite_index; afterimage.image_index = image_index; afterimage.image_blend = image_blend; afterimage.image_speed = 0; afterimage.depth = depth; afterimage.image_xscale = image_xscale; afterimage.image_yscale = image_yscale; afterimage.image_angle = image_angle; return afterimage; }
();
223
                    inst = 
scr_afterimage
scr_afterimage

function
scr_afterimage()
{ afterimage = instance_create(x, y, obj_afterimage); afterimage.sprite_index = sprite_index; afterimage.image_index = image_index; afterimage.image_blend = image_blend; afterimage.image_speed = 0; afterimage.depth = depth; afterimage.image_xscale = image_xscale; afterimage.image_yscale = image_yscale; afterimage.image_angle = image_angle; return afterimage; }
();
224
                    inst.sprite_index = spr_board_sparkle;
225
                    inst.vspeed = -1;
226
                    inst.image_index = choose(0, 1);
227
                    inst.image_xscale = 2;
228
                    inst.image_yscale = 2;
229
                    instance_destroy();
230
                }
231
            }
232
            obj_shutta_photo_controller.endmessage = message_nicephoto;
233
        }
234
        else
235
        {
236
            obj_shutta_photo_controller.endmessage = message_default;
237
        }
238
        with (obj_heroparent)
239
            
scr_move_to_point_over_time
scr_move_to_point_over_time

function
scr_move_to_point_over_time(arg0, arg1, arg2)
{ _mmm = instance_create(x, y, obj_move_to_point); _mmm.target = id; _mmm.movex = arg0; _mmm.movey = arg1; _mmm.movemax = arg2; return _mmm; }
(xstart, y, 3);
240
        with (enemy)
241
        {
242
            
scr_move_to_point_over_time
scr_move_to_point_over_time

function
scr_move_to_point_over_time(arg0, arg1, arg2)
{ _mmm = instance_create(x, y, obj_move_to_point); _mmm.target = id; _mmm.movex = arg0; _mmm.movey = arg1; _mmm.movemax = arg2; return _mmm; }
(xstart, ystart, 3);
243
            timerb = 0;
244
            pipetimer = 0;
245
            sprite_index = spr_shutta_idle;
246
        }
247
        break;
248
    case "post_capture":
249
        timerb++;
250
        if (i_ex(obj_growtangle) && obj_growtangle.growcon != 3)
251
            obj_growtangle.growcon = 3;
252
        with (obj_shutta_nobyacttest)
253
            instance_destroy();
254
        with (obj_shutta_nobyact_fakebullet)
255
            instance_destroy();
256
        with (obj_heroparent)
257
        {
258
            x = xstart;
259
            y = ystart;
260
        }
261
        with (enemy)
262
        {
263
            x = xstart;
264
            y = ystart;
265
            timerb = 0;
266
            pipetimer = 0;
267
            sprite_index = spr_shutta_idle;
268
        }
269
        with (obj_monsterparent)
270
        {
271
            x = xstart;
272
            y = ystart;
273
        }
274
        if (bullettarget.object_index == obj_shadowman_enemy)
275
            bullettarget.idlesprite = spr_shadowman_idle_b;
276
        if (bullettarget.object_index == obj_zapper_enemy)
277
            bullettarget.idlesprite = spr_zapper_jump;
278
        break;
279
}
280
281
enum e__VW
282
{
283
    XView,
284
    YView,
285
    WView,
286
    HView,
287
    Angle,
288
    HBorder,
289
    VBorder,
290
    HSpeed,
291
    VSpeed,
292
    Object,
293
    Visible,
294
    XPort,
295
    YPort,
296
    WPort,
297
    HPort,
298
    Camera,
299
    SurfaceID
300
}