|
1
|
if (!nubert_done && !nubert_reverse)
|
|
2
|
{
|
|
3
|
var _speed = nubert_speed;
|
|
4
|
var _cannon = nubert_cannon;
|
|
5
|
if (nubert_angle != nubert_angle_goal)
|
|
6
|
_speed *= 0.5;
|
|
7
|
ns[nr] = [nubert_x, nubert_y, nubert_angle, _speed];
|
|
8
|
aaa[nr] = [nubert_x + lengthdir_x(16, nubert_angle - 90), nubert_y + lengthdir_y(16, nubert_angle - 90), nubert_x + lengthdir_x(16, nubert_angle + 90), nubert_y + lengthdir_y(16, nubert_angle + 90)];
|
|
9
|
bbb[nr] = [nubert_x + lengthdir_x(18, nubert_angle - 90), nubert_y + lengthdir_y(18, nubert_angle - 90), nubert_x + lengthdir_x(18, nubert_angle + 90), nubert_y + lengthdir_y(18, nubert_angle + 90)];
|
|
10
|
nubert_hurt[nr] = instance_create(ns[nr][0], ns[nr][1], obj_collidebullet);
|
|
11
|
with (nubert_hurt[nr])
|
|
12
|
{
|
|
13
|
scr_bullet_initscr_bullet_init
function scr_bullet_init()
{
grazed = 0;
grazetimer = 0;
destroyonhit = 1;
target = 0;
inv = 60;
damage = 10;
element = 0;
grazepoints = 1;
timepoints = 1;
active = 1;
updateimageangle = 0;
} ();
|
|
14
|
scr_bullet_inherit_from(id, 960);
|
|
15
|
destroyonhit = false;
|
|
16
|
mask_index = spr_nubert_segment_m;
|
|
17
|
image_yscale = 1.25;
|
|
18
|
image_xscale = other.ns[other.nr][3];
|
|
19
|
image_angle = other.ns[other.nr][2];
|
|
20
|
if (!other.nubert_hooped)
|
|
21
|
{
|
|
22
|
if (i_ex(obj_trashy_hoop))
|
|
23
|
{
|
|
24
|
var _box = [];
|
|
25
|
with (obj_trashy_hoop)
|
|
26
|
_box = [x - (38 * image_xscale), y, x - (42 * image_xscale), y + 1];
|
|
27
|
if (collision_rectangle(_box[0], _box[1], _box[2], _box[3], id, true, false))
|
|
28
|
{
|
|
29
|
other.nubert_hooped = true;
|
|
30
|
scr_mercyaddscr_mercyadd
function scr_mercyadd(arg0, arg1)
{
global.mercymod[arg0] += arg1;
if (global.mercymod[arg0] < 0)
global.mercymod[arg0] = 0;
if (global.mercymod[arg0] >= 100)
global.mercymod[arg0] = 100;
var _playsound = 1;
if (arg1 <= 0)
_playsound = 0;
with (obj_dmgwriter)
{
if (type == 5 && mercytimer < 8)
_playsound = 0;
}
if (_playsound)
{
var _pitch = 0.8;
if (arg1 < 99)
_pitch = 1;
if (arg1 <= 50)
_pitch = 1.2;
if (arg1 <= 25)
_pitch = 1.4;
snd_play_x(snd_mercyadd, 0.8, _pitch);
}
__mercydmgwriter = instance_create(global.monsterx[arg0], (global.monstery[arg0] + 20) - (global.hittarget[arg0] * 20), obj_dmgwriter);
__mercydmgwriter.damage = arg1;
__mercydmgwriter.type = 5;
global.hittarget[arg0]++;
return __mercydmgwriter;
} (obj_trashy_trio.myself, 5);
|
|
31
|
if (global.mercymod[obj_trashy_trio.myself] >= 100)
|
|
32
|
{
|
|
33
|
with (obj_trashy_trio)
|
|
34
|
do_postturn = true;
|
|
35
|
with (obj_battlecontroller)
|
|
36
|
noreturn = true;
|
|
37
|
}
|
|
38
|
}
|
|
39
|
}
|
|
40
|
}
|
|
41
|
image_yscale = 2;
|
|
42
|
with (obj_bullet_trash_small)
|
|
43
|
{
|
|
44
|
if (place_meeting(x, y, other.id))
|
|
45
|
{
|
|
46
|
snd_play(snd_explosion_firework, 0.45, 1);
|
|
47
|
with (instance_create_depth(x, y, depth, obj_marker))
|
|
48
|
{
|
|
49
|
var _size = 2;
|
|
50
|
image_xscale = _size;
|
|
51
|
image_yscale = _size;
|
|
52
|
sprite_index = spr_cakesmoke;
|
|
53
|
direction = 90 + random_range(-10, 10);
|
|
54
|
speed = 1;
|
|
55
|
scr_lerpvarscr_lerpvar
function scr_lerpvar()
{
var _id = self;
if (!is_struct(self))
_id = id;
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_lerpcol()
{
if (argument_count < 6)
___lerpvar = scr_lerpcol_instance(id, argument[0], argument[1], argument[2], argument[3]);
else
___lerpvar = scr_lerpcol_instance(id, argument[0], argument[1], argument[2], argument[3], argument[4], argument[5]);
return ___lerpvar;
} ("image_alpha", 1, 0, 12);
|
|
56
|
scr_doomscr_doom
function scr_doom(arg0, arg1)
{
var _doom = instance_create_depth(0, 0, 0, obj_doom);
with (_doom)
{
alarm[0]
target = arg0;
}
return _doom;
} (id, 12);
|
|
57
|
}
|
|
58
|
var _rng = random(360);
|
|
59
|
for (var a = 0; a < 5; a++)
|
|
60
|
{
|
|
61
|
with (instance_create(x, y, obj_regularbullet))
|
|
62
|
{
|
|
63
|
scr_bullet_inherit_from(id, 960);
|
|
64
|
speed = 0.25;
|
|
65
|
direction = (a * 72) + _rng;
|
|
66
|
image_angle = direction;
|
|
67
|
sprite_index = spr_ponman_eyebullet;
|
|
68
|
image_speed = 0.5;
|
|
69
|
gravity_direction = direction;
|
|
70
|
gravity = 0.25;
|
|
71
|
image_yscale = 1;
|
|
72
|
image_xscale = 1.75;
|
|
73
|
}
|
|
74
|
}
|
|
75
|
instance_destroy();
|
|
76
|
}
|
|
77
|
}
|
|
78
|
}
|
|
79
|
if (nubert_angle_goal < 90)
|
|
80
|
{
|
|
81
|
if ((ns[nr][0] + lengthdir_x(ns[nr][3], ns[nr][2])) > (scr_get_boxscr_get_box
function scr_get_box(arg0)
{
switch (arg0)
{
case 0:
return obj_growtangle.x + (obj_growtangle.sprite_width * 0.5);
break;
case 1:
return obj_growtangle.y - (obj_growtangle.sprite_height * 0.5);
break;
case 2:
return obj_growtangle.x - (obj_growtangle.sprite_width * 0.5);
break;
case 3:
return obj_growtangle.y + (obj_growtangle.sprite_height * 0.5);
break;
case 4:
return obj_growtangle.x;
break;
case 5:
return obj_growtangle.y;
break;
return false;
}
} (4) + 75))
|
|
82
|
nubert_angle_goal = (90 - ns[nr][2]) + 90;
|
|
83
|
}
|
|
84
|
if (nubert_angle_goal >= 90)
|
|
85
|
{
|
|
86
|
if ((ns[nr][0] + lengthdir_x(ns[nr][3], ns[nr][2])) < (scr_get_boxscr_get_box
function scr_get_box(arg0)
{
switch (arg0)
{
case 0:
return obj_growtangle.x + (obj_growtangle.sprite_width * 0.5);
break;
case 1:
return obj_growtangle.y - (obj_growtangle.sprite_height * 0.5);
break;
case 2:
return obj_growtangle.x - (obj_growtangle.sprite_width * 0.5);
break;
case 3:
return obj_growtangle.y + (obj_growtangle.sprite_height * 0.5);
break;
case 4:
return obj_growtangle.x;
break;
case 5:
return obj_growtangle.y;
break;
return false;
}
} (4) - 75))
|
|
87
|
nubert_angle_goal = 90 - (ns[nr][2] - 90);
|
|
88
|
}
|
|
89
|
nubert_angle = scr_approachscr_approach
function scr_approach(arg0, arg1, arg2)
{
if (arg0 < arg1)
{
arg0 += arg2;
if (arg0 > arg1)
return arg1;
}
else
{
arg0 -= arg2;
if (arg0 < arg1)
return arg1;
}
return arg0;
} (nubert_angle, nubert_angle_goal, nubert_turn);
|
|
90
|
if (nubert_angle > ns[nr][2])
|
|
91
|
{
|
|
92
|
nubert_x = ns[nr][0] + lengthdir_x(ns[nr][3], nubert_angle) + lengthdir_x(16, ns[nr][2] + 90) + lengthdir_x(16, nubert_angle - 90);
|
|
93
|
nubert_y = ns[nr][1] + lengthdir_y(ns[nr][3], nubert_angle) + lengthdir_y(16, ns[nr][2] + 90) + lengthdir_y(16, nubert_angle - 90);
|
|
94
|
}
|
|
95
|
else if (nubert_angle < ns[nr][2])
|
|
96
|
{
|
|
97
|
nubert_x = ns[nr][0] + lengthdir_x(ns[nr][3], nubert_angle) + lengthdir_x(16, ns[nr][2] - 90) + lengthdir_x(16, nubert_angle + 90);
|
|
98
|
nubert_y = ns[nr][1] + lengthdir_y(ns[nr][3], nubert_angle) + lengthdir_y(16, ns[nr][2] - 90) + lengthdir_y(16, nubert_angle + 90);
|
|
99
|
}
|
|
100
|
nubert_x = ns[nr][0] + lengthdir_x(ns[nr][3], nubert_angle);
|
|
101
|
nubert_y = ns[nr][1] + lengthdir_y(ns[nr][3], nubert_angle);
|
|
102
|
if (ns[nr][1] < (scr_get_boxscr_get_box
function scr_get_box(arg0)
{
switch (arg0)
{
case 0:
return obj_growtangle.x + (obj_growtangle.sprite_width * 0.5);
break;
case 1:
return obj_growtangle.y - (obj_growtangle.sprite_height * 0.5);
break;
case 2:
return obj_growtangle.x - (obj_growtangle.sprite_width * 0.5);
break;
case 3:
return obj_growtangle.y + (obj_growtangle.sprite_height * 0.5);
break;
case 4:
return obj_growtangle.x;
break;
case 5:
return obj_growtangle.y;
break;
return false;
}
} (5) - 155) || nubert_speed < 1.5)
|
|
103
|
{
|
|
104
|
nubert_done = true;
|
|
105
|
alarm[0] = 4; gml_Object_obj_bullet_super_nubert2_Alarm_0.gml
nubert_reverse = true;
|
|
106
|
exit;
|
|
107
|
}
|
|
108
|
nr++;
|
|
109
|
}
|
|
110
|
if (nubert_reverse)
|
|
111
|
{
|
|
112
|
if (i_ex(nubert_hurt[nr]))
|
|
113
|
instance_destroy(nubert_hurt[nr]);
|
|
114
|
nr--;
|
|
115
|
if (nr == -1)
|
|
116
|
instance_destroy();
|
|
117
|
}
|
|
118
|
snd_pitch(nubert_sound, 0.05 + (0.01 * nr));
|