|
1
|
var checktouch = true;
|
|
2
|
var emergstop = false;
|
|
3
|
with (obj_dw_church_sideclimb)
|
|
4
|
{
|
|
5
|
if (defendercon >= 7 && defendercon < 10)
|
|
6
|
{
|
|
7
|
emergstop = true;
|
|
8
|
hspeed = 0;
|
|
9
|
}
|
|
10
|
}
|
|
11
|
if (con == 99 || emergstop)
|
|
12
|
checktouch = false;
|
|
13
|
if (con == 0)
|
|
14
|
{
|
|
15
|
timer++;
|
|
16
|
if (timer == 1)
|
|
17
|
{
|
|
18
|
y = 336 + irandom(12);
|
|
19
|
ystart = y;
|
|
20
|
climbtime = 14;
|
|
21
|
sprite_index = spr_npc_cup_climb;
|
|
22
|
image_speed = 0.125;
|
|
23
|
image_blend = c_black;
|
|
24
|
image_alpha = 0;
|
|
25
|
scr_lerpvarscr_lerpvar
function scr_lerpvar()
{
if (argument_count < 6)
___lerpvar = scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3]);
else
___lerpvar = scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3], argument[4], argument[5]);
return ___lerpvar;
}
function scr_lerpvar_respect()
{
if (argument_count < 6)
___lerpvar = scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3]);
else
___lerpvar = scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3], argument[4], argument[5]);
___lerpvar.respectglobalinteract = true;
return ___lerpvar;
} ("y", ystart, ystart - 56, climbtime, 2, "out");
|
|
26
|
scr_lerpvarscr_lerpvar
function scr_lerpvar()
{
if (argument_count < 6)
___lerpvar = scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3]);
else
___lerpvar = scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3], argument[4], argument[5]);
return ___lerpvar;
}
function scr_lerpvar_respect()
{
if (argument_count < 6)
___lerpvar = scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3]);
else
___lerpvar = scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3], argument[4], argument[5]);
___lerpvar.respectglobalinteract = true;
return ___lerpvar;
} ("image_alpha", 0, 1, 7);
|
|
27
|
scr_lerp_imageblendscr_lerp_imageblend
function scr_lerp_imageblend()
{
var lerpblend = instance_create(x, y, obj_lerpimageblend);
lerpblend.target = argument0;
lerpblend.color1 = argument1;
lerpblend.color2 = argument2;
var ___time = argument3;
if (argument_count > 4)
{
var _style = argument4;
var _ease = argument5;
lerpblend.mylerp = scr_lerp_var_instance(lerpblend, "blendindex", 0, 1, ___time, _style, _ease);
}
else
{
lerpblend.mylerp = scr_lerp_var_instance(lerpblend, "blendindex", 0, 1, ___time);
}
with (lerpblend)
alarm_set(0, ___time + 1);
return lerpblend;
} (id, c_black, c_white, 7, 2, "in");
|
|
28
|
}
|
|
29
|
if (timer == (1 + climbtime))
|
|
30
|
{
|
|
31
|
jumptime = 12;
|
|
32
|
var topy = 230;
|
|
33
|
var boty = 250;
|
|
34
|
var targy = boty;
|
|
35
|
scr_jump_to_pointscr_jump_to_point
function scr_jump_to_point(arg0, arg1, arg2, arg3, arg4 = 0)
{
var ___jump = scr_jump_to_point_sprite(arg0, arg1, arg2, arg3, 0, 0);
with (___jump)
{
trackalpha = arg4;
trackblend = arg4;
trackindex = arg4;
tracksprite = arg4;
trackangle = arg4;
}
return ___jump;
} (x + scr_evenscr_even
function scr_even(arg0)
{
return round(arg0 / 2) * 2;
} (random(20)), targy, 24, jumptime, true);
|
|
36
|
}
|
|
37
|
if (timer == (1 + climbtime + jumptime))
|
|
38
|
{
|
|
39
|
scr_depthscr_depth
function scr_depth(arg0 = id, arg1 = 0)
{
with (arg0)
depth = 100000 - ((y * 10) + (sprite_height * 10) + (arg1 * 10));
} ();
|
|
40
|
waittime = 3;
|
|
41
|
sprite_index = spr_npc_cup_walk;
|
|
42
|
image_speed = 0;
|
|
43
|
}
|
|
44
|
if (timer < (climbtime + jumptime))
|
|
45
|
checktouch = false;
|
|
46
|
if (timer == (1 + climbtime + jumptime + waittime + 1))
|
|
47
|
{
|
|
48
|
image_speed = 0.25;
|
|
49
|
hspeed = 4;
|
|
50
|
con = 1;
|
|
51
|
if (emergstop)
|
|
52
|
{
|
|
53
|
con = 99;
|
|
54
|
hspeed = 0;
|
|
55
|
image_speed = 0;
|
|
56
|
image_index = 0;
|
|
57
|
}
|
|
58
|
}
|
|
59
|
}
|
|
60
|
if (con == 1)
|
|
61
|
{
|
|
62
|
var trig = 0;
|
|
63
|
var endtrig = instance_place(x, y, obj_trigger);
|
|
64
|
if (i_ex(endtrig))
|
|
65
|
{
|
|
66
|
if (endtrig.extflag == "defenderdescend")
|
|
67
|
trig = 1;
|
|
68
|
}
|
|
69
|
if (emergstop)
|
|
70
|
{
|
|
71
|
trig = 0;
|
|
72
|
con = 99;
|
|
73
|
hspeed = 0;
|
|
74
|
image_speed = 0;
|
|
75
|
image_index = 0;
|
|
76
|
}
|
|
77
|
if (trig == 1)
|
|
78
|
{
|
|
79
|
con = 3;
|
|
80
|
scr_delay_var("con", 2, 1 + irandom(4));
|
|
81
|
timer = 0;
|
|
82
|
}
|
|
83
|
}
|
|
84
|
if (con == 2)
|
|
85
|
{
|
|
86
|
timer++;
|
|
87
|
if (timer == 1)
|
|
88
|
{
|
|
89
|
hspeed = 0;
|
|
90
|
jumptime = irandom_range(4, 8);
|
|
91
|
sprite_index = spr_npc_cup_climb;
|
|
92
|
image_speed = 0;
|
|
93
|
scr_jump_to_pointscr_jump_to_point
function scr_jump_to_point(arg0, arg1, arg2, arg3, arg4 = 0)
{
var ___jump = scr_jump_to_point_sprite(arg0, arg1, arg2, arg3, 0, 0);
with (___jump)
{
trackalpha = arg4;
trackblend = arg4;
trackindex = arg4;
tracksprite = arg4;
trackangle = arg4;
}
return ___jump;
} (x + 12 + scr_evenscr_even
function scr_even(arg0)
{
return round(arg0 / 2) * 2;
} (random(20)), 266 + scr_evenscr_even
function scr_even(arg0)
{
return round(arg0 / 2) * 2;
} (random(32)), 12, jumptime, 1);
|
|
94
|
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;
}
} (id, 90);
|
|
95
|
}
|
|
96
|
if (timer >= (1 + jumptime))
|
|
97
|
{
|
|
98
|
checktouch = false;
|
|
99
|
image_index += 0.16666666666666666;
|
|
100
|
y += 2;
|
|
101
|
image_blend = merge_color(image_blend, c_black, 0.125);
|
|
102
|
image_alpha -= (1/30);
|
|
103
|
}
|
|
104
|
if (image_alpha <= 0)
|
|
105
|
instance_destroy();
|
|
106
|
}
|
|
107
|
if (checktouch)
|
|
108
|
{
|
|
109
|
scr_depthscr_depth
function scr_depth(arg0 = id, arg1 = 0)
{
with (arg0)
depth = 100000 - ((y * 10) + (sprite_height * 10) + (arg1 * 10));
} ();
|
|
110
|
if (place_meeting(x - 14, y, obj_mainchara))
|
|
111
|
{
|
|
112
|
if (global.interact == 0)
|
|
113
|
{
|
|
114
|
obj_mainchara.x = clamp(obj_mainchara.x + 8, 0, 2842);
|
|
115
|
with (obj_caterpillarchara)
|
|
116
|
{
|
|
117
|
if (x < obj_mainchara.x)
|
|
118
|
x = obj_mainchara.x;
|
|
119
|
var yoff = -16;
|
|
120
|
if (name == "ralsei")
|
|
121
|
yoff = -12;
|
|
122
|
y = scr_evenscr_even
function scr_even(arg0)
{
return round(arg0 / 2) * 2;
} (lerp(y, obj_mainchara.y + yoff, 0.5));
|
|
123
|
}
|
|
124
|
scr_caterpillar_interpolatescr_caterpillar_interpolate
function scr_caterpillar_interpolate(arg0 = "none")
{
if (arg0 == "all")
{
with (obj_caterpillarchara)
scr_caterpillar_interpolate_old();
}
else if (arg0 == "none")
{
if (object_index == obj_caterpillarchara)
scr_caterpillar_interpolate_old();
}
else
{
with (obj_caterpillarchara)
{
if (name == arg0)
scr_caterpillar_interpolate_old();
}
}
}
function scr_caterinterp(arg0 = "none")
{
scr_caterpillar_interpolate(arg0);
}
function scr_caterpillar_interpolate_old()
{
_newfacing = scr_facing_letter_to_number(scr_get_cardinal_direction(point_direction(x, y, obj_mainchara.x, obj_mainchara.y)));
remx[0] = obj_mainchara.x;
remy[0] = obj_mainchara.y;
facing[0] = _newfacing;
for (_iaia = target; _iaia > 0; _iaia -= 1)
{
remx[_iaia] = lerp(obj_mainchara.x, x, _iaia / target);
if (global.darkzone == 1)
remy[_iaia] = lerp(obj_mainchara.y, y + 16, _iaia / target);
else
remy[_iaia] = lerp(obj_mainchara.y, y + 6, _iaia / target);
facing[_iaia] = _newfacing;
}
} ("all");
|
|
125
|
}
|
|
126
|
with (scr_marker_extscr_marker_ext
function scr_marker_ext(arg0, arg1, arg2, arg3 = 1, arg4 = 1, arg5 = 0, arg6 = 0, arg7 = 16777215, arg8 = depth, arg9 = false, arg10 = -1, arg11 = 1)
{
var thismarker = instance_create(arg0, arg1, obj_marker);
with (thismarker)
{
depth = arg8;
sprite_index = arg2;
image_speed = arg5;
image_xscale = arg3;
image_yscale = arg4;
image_index = arg6;
image_blend = arg7;
image_alpha = arg11;
if (arg9)
scr_depth_alt();
}
if (arg10 > 0)
scr_doom(thismarker, arg10);
return thismarker;
}
function scr_marker_fromasset(arg0, arg1 = depth, arg2 = false)
{
if (is_undefined(arg0))
{
debug_message("Warning: scr_marker_fromasset() sprite_instance didn't exist");
return -4;
}
var sprite = layer_sprite_get_sprite(arg0);
var index = layer_sprite_get_index(arg0);
var imagespeed = layer_sprite_get_speed(arg0);
var xscale = layer_sprite_get_xscale(arg0);
var yscale = layer_sprite_get_yscale(arg0);
var angle = layer_sprite_get_angle(arg0);
var blend = layer_sprite_get_blend(arg0);
var alpha = layer_sprite_get_alpha(arg0);
var xloc = layer_sprite_get_x(arg0);
var yloc = layer_sprite_get_y(arg0);
var thismarker = instance_create_depth(xloc, yloc, arg1, obj_marker);
with (thismarker)
{
sprite_index = sprite;
image_index = index;
image_speed = imagespeed;
image_xscale = xscale;
image_yscale = yscale;
image_angle = angle;
image_blend = blend;
image_alpha = alpha;
if (arg2)
scr_depth_alt(id, arg2);
}
return thismarker;
}
function scr_assetgetinfo(arg0)
{
var sprite = layer_sprite_get_sprite(arg0);
var index = layer_sprite_get_index(arg0);
var xloc = layer_sprite_get_x(arg0);
var yloc = layer_sprite_get_y(arg0);
var xscale = layer_sprite_get_xscale(arg0);
var yscale = layer_sprite_get_yscale(arg0);
var angle = layer_sprite_get_angle(arg0);
var blend = layer_sprite_get_blend(arg0);
var alpha = layer_sprite_get_alpha(arg0);
var imagespeed = layer_sprite_get_speed(arg0);
return [sprite, index, xloc, yloc, xscale, yscale, angle, blend, alpha, imagespeed];
} (x, y, sprite_index, 2, 2, 0, undefined, undefined, undefined, 1))
|
|
127
|
{
|
|
128
|
hspeed = -8 - random(4);
|
|
129
|
gravity = 1;
|
|
130
|
vspeed = -8 - random(8);
|
|
131
|
scr_lerpvarscr_lerpvar
function scr_lerpvar()
{
if (argument_count < 6)
___lerpvar = scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3]);
else
___lerpvar = scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3], argument[4], argument[5]);
return ___lerpvar;
}
function scr_lerpvar_respect()
{
if (argument_count < 6)
___lerpvar = scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3]);
else
___lerpvar = scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3], argument[4], argument[5]);
___lerpvar.respectglobalinteract = true;
return ___lerpvar;
} ("image_alpha", image_alpha, 0, 30, 2, "in");
|
|
132
|
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;
}
} (id, 30);
|
|
133
|
snd_play(snd_smallcar_yelp, 0.75, 0.6);
|
|
134
|
}
|
|
135
|
instance_destroy();
|
|
136
|
}
|
|
137
|
}
|