1 |
if (state == 0) |
2 |
{ |
3 |
if (image_alpha < 1) |
4 |
{ |
5 |
image_alpha += 0.1; |
6 |
if (image_alpha > 1) |
7 |
image_alpha = 1; |
8 |
} |
9 |
if (image_alpha == 1 && floor(obj_battle_enemy_attack_martlet_wing_gust_body.image_index) >= 2 && floor(obj_battle_enemy_attack_martlet_wing_gust_body.image_index) <= 4 && no_loop_alarm_fading_in == false) |
10 |
{ |
11 |
switch (sprite_index) |
12 |
{ |
13 |
case spr_battle_enemy_attack_martlet_wing_gust_junk_ball: |
14 |
case spr_battle_enemy_attack_martlet_wing_gust_junk_radio: |
15 |
alarm[0] = 8; |
16 |
break; |
17 |
case spr_battle_enemy_attack_martlet_wing_gust_junk_saw: |
18 |
case spr_battle_enemy_attack_martlet_wing_gust_junk_plank: |
19 |
alarm[0] = 15; |
20 |
break; |
21 |
default: |
22 |
alarm[0] = 2; |
23 |
} |
24 |
no_loop_alarm_fading_in = true; |
25 |
} |
26 |
} |
27 |
if (state == 1) |
28 |
{ |
29 |
if (fall_speed < fall_speed_max) |
30 |
fall_speed += 1; |
31 |
var fs_temp = fall_speed; |
32 |
if ((bbox_bottom + fs_temp) >= (obj_dialogue_box_battle_transformation_any.bbox_bottom - 4)) |
33 |
{ |
34 |
while ((bbox_bottom + sign(fs_temp)) < (obj_dialogue_box_battle_transformation_any.bbox_bottom - 4)) |
35 |
y += sign(fs_temp); |
36 |
fs_temp = 0; |
37 |
state = 2; |
38 |
switch (sound_type) |
39 |
{ |
40 |
case 1: |
41 |
audio_play_sound(snd_mart_impact_1, 20, 0); |
42 |
break; |
43 |
case 2: |
44 |
audio_play_sound(snd_mart_impact_2, 20, 0); |
45 |
break; |
46 |
case 3: |
47 |
audio_play_sound(snd_mart_impact_3, 20, 0); |
48 |
break; |
49 |
default: |
50 |
audio_play_sound(snd_mart_impact_2, 20, 0); |
51 |
} |
52 |
} |
53 |
y += fs_temp; |
54 |
} |
55 |
if (state == 2) |
56 |
{ |
57 |
if (sprite_index == spr_battle_enemy_attack_martlet_wing_gust_junk_can) |
58 |
{ |
59 |
if (landing_init == false) |
60 |
{ |
61 |
jump_speed = -12; |
62 |
grav = 2; |
63 |
angle_speed_sign = irandom_range(0, 1); |
64 |
if (angle_speed_sign == 0) |
65 |
angle_speed_sign = -1; |
66 |
move_speed = 4 * angle_speed_sign; |
67 |
angle_speed = 4 * (90 / (sprite_height / 2)) * -angle_speed_sign; |
68 |
landing_init = true; |
69 |
} |
70 |
y += jump_speed; |
71 |
jump_speed += grav; |
72 |
x += move_speed; |
73 |
image_angle += angle_speed; |
74 |
if ((y + (sprite_width / 2)) > __view_get(e__VW.HView, 0)) |
75 |
instance_destroy(); |
76 |
} |
77 |
else if (sprite_index == spr_battle_enemy_attack_martlet_wing_gust_junk_ball) |
78 |
{ |
79 |
if (landing_init == false) |
80 |
{ |
81 |
if (landing_count == 0) |
82 |
{ |
83 |
jump_speed = -8; |
84 |
grav = 2; |
85 |
rolling_speed_sign = irandom_range(0, 1); |
86 |
if (rolling_speed_sign == 0) |
87 |
rolling_speed_sign = -1; |
88 |
rolling_speed = 4 * rolling_speed_sign; |
89 |
rolling_speed_angle = (90 / (sprite_width / 2)) * -rolling_speed; |
90 |
} |
91 |
else if (landing_count == 1) |
92 |
{ |
93 |
jump_speed = -4; |
94 |
} |
95 |
landing_count += 1; |
96 |
landing_init = true; |
97 |
} |
98 |
if (sign(jump_speed) == 1 && (y + (sprite_height / 2) + jump_speed) >= (obj_dialogue_box_battle_transformation_any.bbox_bottom - 4) && x >= obj_dialogue_box_battle_transformation_any.bbox_left && x <= obj_dialogue_box_battle_transformation_any.bbox_right) |
99 |
{ |
100 |
while ((y + (sprite_height / 2) + sign(jump_speed)) < (obj_dialogue_box_battle_transformation_any.bbox_bottom - 4)) |
101 |
y += sign(jump_speed); |
102 |
jump_speed = 0; |
103 |
if (landing_count < 2) |
104 |
landing_init = false; |
105 |
} |
106 |
y += jump_speed; |
107 |
jump_speed += grav; |
108 |
x += rolling_speed; |
109 |
image_angle += rolling_speed_angle; |
110 |
if ((y + (sprite_height / 2)) > __view_get(e__VW.HView, 0)) |
111 |
instance_destroy(); |
112 |
} |
113 |
else if (sprite_index == spr_battle_enemy_attack_martlet_wing_gust_junk_radio) |
114 |
{ |
115 |
if (landing_init == false) |
116 |
{ |
117 |
jump_speed = -10; |
118 |
grav = 2; |
119 |
x_default = x; |
120 |
y_default = y; |
121 |
shake_x = 1; |
122 |
shake_y = 1; |
123 |
angle_speed_sign = irandom_range(0, 1); |
124 |
if (angle_speed_sign == 0) |
125 |
angle_speed_sign = -1; |
126 |
move_speed = 4 * angle_speed_sign; |
127 |
angle_speed = 2 * -angle_speed_sign; |
128 |
landing_init = true; |
129 |
} |
130 |
y_default += jump_speed; |
131 |
jump_speed += grav; |
132 |
x_default += move_speed; |
133 |
image_angle += angle_speed; |
134 |
x = x_default + (2 * irandom_range(-shake_x, shake_x)); |
135 |
y = y_default + (2 * irandom_range(-shake_y, shake_y)); |
136 |
if ((y + (sprite_width / 2)) > __view_get(e__VW.HView, 0)) |
137 |
instance_destroy(); |
138 |
} |
139 |
else if (sprite_index == spr_battle_enemy_attack_martlet_wing_gust_junk_globe) |
140 |
{ |
141 |
if (landing_init == false) |
142 |
{ |
143 |
jump_speed = -8; |
144 |
grav = 2; |
145 |
angle_speed_sign = irandom_range(0, 1); |
146 |
if (angle_speed_sign == 0) |
147 |
angle_speed_sign = -1; |
148 |
move_speed = 4 * angle_speed_sign; |
149 |
angle_speed = 2 * -angle_speed_sign; |
150 |
landing_init = true; |
151 |
} |
152 |
y += jump_speed; |
153 |
jump_speed += grav; |
154 |
x += move_speed; |
155 |
image_angle += angle_speed; |
156 |
if ((y + (sprite_width / 2)) > __view_get(e__VW.HView, 0)) |
157 |
instance_destroy(); |
158 |
} |
159 |
else if (sprite_index == spr_battle_enemy_attack_martlet_wing_gust_junk_shoe || sprite_index == spr_battle_enemy_attack_martlet_wing_gust_junk_mug || sprite_index == spr_battle_enemy_attack_martlet_wing_gust_junk_thingy || sprite_index == spr_battle_enemy_attack_martlet_wing_gust_junk_glass || sprite_index == spr_battle_enemy_attack_martlet_wing_gust_junk_saw || sprite_index == spr_battle_enemy_attack_martlet_wing_gust_junk_idk || sprite_index == spr_battle_enemy_attack_martlet_wing_gust_junk_plank) |
160 |
{ |
161 |
if (landing_init == false) |
162 |
{ |
163 |
jump_speed = -10; |
164 |
grav = 2; |
165 |
angle_speed_sign = irandom_range(0, 1); |
166 |
if (angle_speed_sign == 0) |
167 |
angle_speed_sign = -1; |
168 |
move_speed = 4 * angle_speed_sign; |
169 |
angle_speed = 2 * -angle_speed_sign; |
170 |
landing_init = true; |
171 |
} |
172 |
y += jump_speed; |
173 |
jump_speed += grav; |
174 |
x += move_speed; |
175 |
image_angle += angle_speed; |
176 |
if ((y + (sprite_width / 2)) > __view_get(e__VW.HView, 0)) |
177 |
instance_destroy(); |
178 |
} |
179 |
else |
180 |
{ |
181 |
can_fade_out = true; |
182 |
} |
183 |
if (image_alpha > 0 && can_fade_out == true) |
184 |
{ |
185 |
image_alpha -= 0.1; |
186 |
if (image_alpha < 0) |
187 |
image_alpha = 0; |
188 |
if (image_alpha == 0) |
189 |
instance_destroy(); |
190 |
} |
191 |
} |
192 |
|
193 |
enum e__VW |
194 |
{ |
195 |
XView, |
196 |
YView, |
197 |
WView, |
198 |
HView, |
199 |
Angle, |
200 |
HBorder, |
201 |
VBorder, |
202 |
HSpeed, |
203 |
VSpeed, |
204 |
Object, |
205 |
Visible, |
206 |
XPort, |
207 |
YPort, |
208 |
WPort, |
209 |
HPort, |
210 |
Camera, |
211 |
SurfaceID |
212 |
} |