|
1
|
con = 0;
|
|
2
|
timer = 0;
|
|
3
|
targetx = -1;
|
|
4
|
targety = -1;
|
|
5
|
last_frame = -1;
|
|
6
|
if (i_ex(obj_rotating_tower_controller_new))
|
|
7
|
x -= 40;
|
|
8
|
|
|
9
|
advance_frame = function(arg0)
|
|
10
|
{
|
|
11
|
var tw = obj_rotating_tower_controller_new.tile_width;
|
|
12
|
var th = obj_rotating_tower_controller_new.tile_height;
|
|
13
|
var yoffset = arg0 * image_yscale * th;
|
|
14
|
for (i = 0; i < image_yscale; i++)
|
|
15
|
{
|
|
16
|
for (ii = 0; ii < image_xscale; ii++)
|
|
17
|
{
|
|
18
|
var xx = targetx + (ii * tw);
|
|
19
|
var yy = targety + (i * th);
|
|
20
|
var xxx = x + (ii * tw);
|
|
21
|
var yyy = y + (i * th) + yoffset;
|
|
22
|
with (obj_rotating_tower_controller_new)
|
|
23
|
{
|
|
24
|
var changed = copy_tilemap_image_index(xxx, yyy, xx, yy);
|
|
25
|
if (changed > 0)
|
|
26
|
{
|
|
27
|
for (j = 0; j < 2; j++)
|
|
28
|
{
|
|
29
|
for (jj = 0; jj < 2; jj++)
|
|
30
|
{
|
|
31
|
if (random_range(0, 1) > 0.25 && changed & ((j + 1 + (jj * 4)) > 0))
|
|
32
|
{
|
|
33
|
var tilex = (xx / tile_width_fine) + j;
|
|
34
|
var tiley = (yy / tile_height_fine) + jj;
|
|
35
|
if (tile_vis[tilex] == 1)
|
|
36
|
{
|
|
37
|
var marker = instance_create(tower_x + tile_x[tilex] + random_range(0, tile_xscale[tilex]), (tiley * tile_height_fine) + random_range(0, tile_height_fine), obj_marker);
|
|
38
|
marker.depth = 1000099;
|
|
39
|
marker.sprite_index = spr_dw_fountain_broken_particle;
|
|
40
|
marker.image_index = irandom_range(0, 8);
|
|
41
|
marker.image_speed = 0;
|
|
42
|
marker.image_blend = tile_color[tilex];
|
|
43
|
marker.hspeed = random_range(-0.5, 0.5);
|
|
44
|
marker.vspeed = random_range(0.5, 1.5);
|
|
45
|
scr_lerpvar_instancescr_lerpvar_instance
function scr_lerpvar_instance()
{
__lerpvar = instance_create(0, 0, obj_lerpvar);
__lerpvar.target = argument[0];
__lerpvar.varname = argument[1];
__lerpvar.pointa = argument[2];
__lerpvar.pointb = argument[3];
__lerpvar.maxtime = argument[4];
if (argument_count >= 6)
__lerpvar.easetype = argument[5];
if (argument_count >= 7)
__lerpvar.easeinout = argument[6];
return __lerpvar;
}
function scr_lerp_var_instance()
{
if (argument_count >= 6)
return scr_lerpvar_instance(argument0, argument1, argument2, argument3, argument4, argument5);
else if (argument_count >= 7)
return scr_lerpvar_instance(argument0, argument1, argument2, argument3, argument4, argument5, argument6);
else
return scr_lerpvar_instance(argument0, argument1, argument2, argument3, argument4);
}
function scr_lerp_instance_var()
{
if (argument_count >= 6)
return scr_lerpvar_instance(argument0, argument1, argument2, argument3, argument4, argument5);
else if (argument_count >= 7)
return scr_lerpvar_instance(argument0, argument1, argument2, argument3, argument4, argument5, argument6);
else
return scr_lerpvar_instance(argument0, argument1, argument2, argument3, argument4);
} (marker, "image_alpha", 1, 0, irandom_range(8, 15));
|
|
46
|
scr_doomscr_doom
function scr_doom(arg0 = id, arg1)
{
with (instance_create_depth(0, 0, 0, obj_doom))
{
alarm[0]
target = arg0;
persistent = arg0.persistent;
}
} (marker, 15);
|
|
47
|
}
|
|
48
|
}
|
|
49
|
}
|
|
50
|
}
|
|
51
|
}
|
|
52
|
}
|
|
53
|
if (copy_collision)
|
|
54
|
{
|
|
55
|
var old_collision = instance_position(xx - (0.5 * tw), yy + (0.5 * th), obj_climb_climbable);
|
|
56
|
var new_collision = tilemap_get_at_pixel(obj_rotating_tower_controller_new.tm_collision, xxx + tw, yyy);
|
|
57
|
if (old_collision != -4 && new_collision <= 0)
|
|
58
|
{
|
|
59
|
with (old_collision)
|
|
60
|
{
|
|
61
|
if (place_meeting(x, y, obj_climb_kris))
|
|
62
|
{
|
|
63
|
with (obj_climb_kris)
|
|
64
|
fallingcon = 1;
|
|
65
|
}
|
|
66
|
instance_destroy();
|
|
67
|
}
|
|
68
|
}
|
|
69
|
else if (new_collision > 0 && old_collision == -4)
|
|
70
|
{
|
|
71
|
instance_create(xx - tw, yy, obj_climb_climbable);
|
|
72
|
}
|
|
73
|
}
|
|
74
|
}
|
|
75
|
}
|
|
76
|
};
|