1 |
function scr_normal_statescr_normal_statefunction scr_normal_state()
{
if (live_call())
return global.live_result;
scr_get_input();
if (DEBUG_DANCE == false)
{
}
else if (DEBUG_DANCE)
{
if (sprite_index != spr_pl_dance)
{
sprite_index = spr_pl_dance;
image_speed = 1;
}
if (global.right_key + global.left_key + global.up_key + global.down_key)
DEBUG_DANCE = false;
else
exit;
}
if (global.cutscene == true)
exit;
var hsp = 0;
var vsp = 0;
var pl_spd = plspd;
if (global.option_autorun ^^ keyboard_multicheck(1) && global.player_can_run == true)
{
is_sprinting = true;
pl_spd = plspd + 2;
}
else if (is_sprinting == true)
{
is_sprinting = false;
}
hsp = sign(global.right_key - (global.left_key * 2)) * pl_spd;
vsp = sign(global.down_key - (global.up_key * 2)) * pl_spd;
if (place_meeting(x + 1, y, obj_dr) || place_meeting(x, y + 1, obj_dr))
{
x = xprevious;
y = yprevious;
if (hsp > 0 && vsp > 0)
{
hsp = 0;
vsp = 0;
}
else if (hsp > 0)
{
vsp = -pl_spd - 1;
}
else if (vsp > 0)
{
hsp = -pl_spd - 1;
}
}
if (place_meeting(x - 1, y, obj_dl) || place_meeting(x, y + 1, obj_dl))
{
x = xprevious;
y = yprevious;
if (hsp < 0 && vsp > 0)
{
hsp = 0;
vsp = 0;
}
else if (hsp < 0)
{
vsp = -pl_spd - 1;
}
else if (vsp > 0)
{
hsp = pl_spd + 1;
}
}
if (place_meeting(x + 1, y, obj_ur) || place_meeting(x, y - 1, obj_ur))
{
x = xprevious;
y = yprevious;
if (hsp > 0 && vsp < 0)
{
hsp = 0;
vsp = 0;
}
else if (hsp > 0)
{
vsp = pl_spd + 1;
}
else if (vsp < 0)
{
hsp = -pl_spd - 1;
}
}
if (place_meeting(x + 1, y, obj_ul) || place_meeting(x, y - 1, obj_ul))
{
x = xprevious;
y = yprevious;
if (hsp < 0 && vsp < 0)
{
hsp = 0;
vsp = 0;
}
else if (hsp < 0)
{
... () |
2 |
{ |
3 |
if (live_call()) |
4 |
return global.live_result; |
5 |
scr_get_inputscr_get_inputfunction scr_get_input()
{
if (live_call())
return global.live_result;
scr_stick_press();
global.down_key = keyboard_check(vk_down) || gamepad_button_check(0, gp_padd) || gamepad_axis_value(0, gp_axislv);
global.left_key = keyboard_check(vk_left) || gamepad_button_check(0, gp_padl) || -gamepad_axis_value(0, gp_axislh);
global.right_key = keyboard_check(vk_right) || gamepad_button_check(0, gp_padr) || gamepad_axis_value(0, gp_axislh);
global.up_key = keyboard_check(vk_up) || gamepad_button_check(0, gp_padu) || -gamepad_axis_value(0, gp_axislv);
global.down_keyp = keyboard_check_pressed(vk_down) || gamepad_button_check_pressed(0, gp_padd) || down_stick;
global.left_keyp = keyboard_check_pressed(vk_left) || gamepad_button_check_pressed(0, gp_padl) || left_stick;
global.right_keyp = keyboard_check_pressed(vk_right) || gamepad_button_check_pressed(0, gp_padr) || right_stick;
global.up_keyp = keyboard_check_pressed(vk_up) || gamepad_button_check_pressed(0, gp_padu) || up_stick;
if (gamepad_button_check_pressed(0, gp_padd) + gamepad_button_check_pressed(0, gp_padu) + gamepad_button_check_pressed(0, gp_padl) + gamepad_button_check_pressed(0, gp_padr) + down_stick + left_stick + right_stick + up_stick + gamepad_button_check_pressed(0, global.button1) + gamepad_button_check_pressed(0, global.button2) + gamepad_button_check_pressed(0, global.button3) + instance_exists(obj_phone_controls))
global.using_gamepad = true;
else if (keyboard_check(vk_anykey))
global.using_gamepad = false;
if (global.using_gamepad)
{
if (global.button1 == gp_face1)
global.action_key = "A";
else if (global.button1 == gp_face2)
global.action_key = "B";
else if (global.button1 == gp_face3)
global.action_key = "X";
else if (global.button1 == gp_face4)
global.action_key = "Y";
if (global.button2 == gp_face1)
global.cancel_key = "A";
else if (global.button2 == gp_face2)
global.cancel_key = "B";
else if (global.button2 == gp_face3)
global.cancel_key = "X";
else if (global.button2 == gp_face4)
global.cancel_key = "Y";
if (global.button3 == 32769)
global.pause_key = "A";
else if (global.button3 == 32770)
global.pause_key = "B";
else if (global.button3 == 32771)
global.pause_key = "X";
else if (global.button3 == 32772)
global.pause_key = "Y";
}
else
{
global.pause_key = "C";
global.action_key = "Z";
global.cancel_key = "X";
}
if (instance_exists(obj_phone_controls))
{
global.down_key += obj_phone_controls.phn_down;
global.left_key += obj_phone_controls.phn_left;
global.right_key += obj_phone_controls.phn_right;
global.up_key += obj_phone_controls.phn_up;
global.down_keyp = sign(global.down_keyp + obj_phone_controls.phn_downp);
global.left_keyp = sign(global.left_keyp + obj_phone_controls.phn_leftp);
global.right_keyp = sign(global.right_keyp + obj_phone_controls.phn_rightp);
global.up_keyp = sign(global.up_keyp + obj_phone_controls.phn_upp);
}
} (); |
6 |
if (DEBUG_DANCE == false) |
7 |
{ |
8 |
} |
9 |
else if (DEBUG_DANCE) |
10 |
{ |
11 |
if (sprite_index != spr_pl_dance) |
12 |
{ |
13 |
sprite_index = spr_pl_dance; |
14 |
image_speed = 1; |
15 |
} |
16 |
if (global.right_key + global.left_key + global.up_key + global.down_key) |
17 |
DEBUG_DANCE = false; |
18 |
else |
19 |
exit; |
20 |
} |
21 |
if (global.cutscene == true) |
22 |
exit; |
23 |
var hsp = 0; |
24 |
var vsp = 0; |
25 |
var pl_spd = plspd; |
26 |
if (global.option_autorun ^^ keyboard_multicheck(1) && global.player_can_run == true) |
27 |
{ |
28 |
is_sprinting = true; |
29 |
pl_spd = plspd + 2; |
30 |
} |
31 |
else if (is_sprinting == true) |
32 |
{ |
33 |
is_sprinting = false; |
34 |
} |
35 |
hsp = sign(global.right_key - (global.left_key * 2)) * pl_spd; |
36 |
vsp = sign(global.down_key - (global.up_key * 2)) * pl_spd; |
37 |
if (place_meeting(x + 1, y, obj_dr) || place_meeting(x, y + 1, obj_dr)) |
38 |
{ |
39 |
x = xprevious; |
40 |
y = yprevious; |
41 |
if (hsp > 0 && vsp > 0) |
42 |
{ |
43 |
hsp = 0; |
44 |
vsp = 0; |
45 |
} |
46 |
else if (hsp > 0) |
47 |
{ |
48 |
vsp = -pl_spd - 1; |
49 |
} |
50 |
else if (vsp > 0) |
51 |
{ |
52 |
hsp = -pl_spd - 1; |
53 |
} |
54 |
} |
55 |
if (place_meeting(x - 1, y, obj_dl) || place_meeting(x, y + 1, obj_dl)) |
56 |
{ |
57 |
x = xprevious; |
58 |
y = yprevious; |
59 |
if (hsp < 0 && vsp > 0) |
60 |
{ |
61 |
hsp = 0; |
62 |
vsp = 0; |
63 |
} |
64 |
else if (hsp < 0) |
65 |
{ |
66 |
vsp = -pl_spd - 1; |
67 |
} |
68 |
else if (vsp > 0) |
69 |
{ |
70 |
hsp = pl_spd + 1; |
71 |
} |
72 |
} |
73 |
if (place_meeting(x + 1, y, obj_ur) || place_meeting(x, y - 1, obj_ur)) |
74 |
{ |
75 |
x = xprevious; |
76 |
y = yprevious; |
77 |
if (hsp > 0 && vsp < 0) |
78 |
{ |
79 |
hsp = 0; |
80 |
vsp = 0; |
81 |
} |
82 |
else if (hsp > 0) |
83 |
{ |
84 |
vsp = pl_spd + 1; |
85 |
} |
86 |
else if (vsp < 0) |
87 |
{ |
88 |
hsp = -pl_spd - 1; |
89 |
} |
90 |
} |
91 |
if (place_meeting(x + 1, y, obj_ul) || place_meeting(x, y - 1, obj_ul)) |
92 |
{ |
93 |
x = xprevious; |
94 |
y = yprevious; |
95 |
if (hsp < 0 && vsp < 0) |
96 |
{ |
97 |
hsp = 0; |
98 |
vsp = 0; |
99 |
} |
100 |
else if (hsp < 0) |
101 |
{ |
102 |
vsp = pl_spd + 1; |
103 |
} |
104 |
else if (vsp < 0) |
105 |
{ |
106 |
hsp = pl_spd + 1; |
107 |
} |
108 |
} |
109 |
if (place_meeting(x, y, obj_stairs)) |
110 |
{ |
111 |
x = xprevious; |
112 |
y = yprevious; |
113 |
if (global.right_key) |
114 |
{ |
115 |
if (place_free(x + pl_spd, y)) |
116 |
hsp = pl_spd; |
117 |
if (place_free(x, y - 2)) |
118 |
vsp = -2; |
119 |
} |
120 |
if (global.left_key) |
121 |
{ |
122 |
if (place_free(x - pl_spd, y)) |
123 |
hsp = -pl_spd; |
124 |
if (place_free(x, y + 2)) |
125 |
vsp = 2; |
126 |
} |
127 |
if (global.up_key && !global.right_key && !global.down_key) |
128 |
{ |
129 |
if (place_free(x, y - 3)) |
130 |
vsp = -pl_spd; |
131 |
} |
132 |
if (global.down_key && !global.left_key && !global.up_key) |
133 |
{ |
134 |
if (place_free(x, y + 3)) |
135 |
vsp = pl_spd; |
136 |
} |
137 |
} |
138 |
if (!global.debugmove) |
139 |
{ |
140 |
if (!place_free(x + hsp, y)) |
141 |
{ |
142 |
while (place_free(x + sign(hsp), y)) |
143 |
x += sign(hsp); |
144 |
hsp = 0; |
145 |
} |
146 |
if (!place_free(x, y + vsp)) |
147 |
{ |
148 |
while (place_free(x, y + sign(vsp))) |
149 |
y += sign(vsp); |
150 |
vsp = 0; |
151 |
} |
152 |
if (!place_free(x + hsp, y + vsp)) |
153 |
{ |
154 |
while (place_free(x + sign(hsp), y + sign(vsp))) |
155 |
{ |
156 |
x += sign(hsp); |
157 |
y += sign(vsp); |
158 |
} |
159 |
hsp = 0; |
160 |
vsp = 0; |
161 |
} |
162 |
} |
163 |
if (vsp == 0 && hsp == 0) |
164 |
{ |
165 |
image_speed = 0; |
166 |
image_index = 0; |
167 |
is_sprinting = false; |
168 |
global.walking = false; |
169 |
} |
170 |
else if (global.walking == false) |
171 |
{ |
172 |
image_index = 1; |
173 |
global.walking = true; |
174 |
image_speed = 0.2; |
175 |
} |
176 |
if (is_sprinting) |
177 |
{ |
178 |
if (image_speed != 0) |
179 |
image_speed = 1/3; |
180 |
} |
181 |
else if (global.walking) |
182 |
{ |
183 |
image_speed = 0.2; |
184 |
} |
185 |
var can_pause = true; |
186 |
if (instance_exists(obj_flowey_world_controller) || instance_exists(obj_flowey_1_controller_base) || room == rm_battle_flashback_final_2 || room == rm_battle_flashback_07 || (room == rm_steamworks_21 && instance_exists(obj_steamworks_21_controller) && obj_steamworks_21_controller.axis_is_running)) |
187 |
can_pause = false; |
188 |
if (keyboard_multicheck_pressed(2) && !instance_exists(obj_transition) && can_pause) |
189 |
{ |
190 |
instance_create(0, 0, obj_pause_menu); |
191 |
state = scr_frozen_state; |
192 |
} |
193 |
if (sliding == false) |
194 |
{ |
195 |
if (dirStore == false) |
196 |
{ |
197 |
if (global.right_key) |
198 |
{ |
199 |
direction = 0; |
200 |
dirStore = true; |
201 |
} |
202 |
if (global.left_key) |
203 |
{ |
204 |
direction = 180; |
205 |
dirStore = true; |
206 |
} |
207 |
if (global.down_key) |
208 |
{ |
209 |
direction = 270; |
210 |
dirStore = true; |
211 |
} |
212 |
if (global.up_key) |
213 |
{ |
214 |
direction = 90; |
215 |
dirStore = true; |
216 |
} |
217 |
} |
218 |
else |
219 |
{ |
220 |
if (direction == 0) |
221 |
{ |
222 |
if (!global.right_key) |
223 |
dirStore = false; |
224 |
if (global.left_key) |
225 |
direction = 180; |
226 |
if (hsp == 0 && vsp != 0) |
227 |
{ |
228 |
if (global.up_key == 1) |
229 |
direction = 90; |
230 |
if (global.down_key == 1) |
231 |
direction = 270; |
232 |
} |
233 |
} |
234 |
if (direction == 90) |
235 |
{ |
236 |
if (!global.up_key) |
237 |
dirStore = false; |
238 |
if (vsp == 0 && hsp != 0) |
239 |
{ |
240 |
if (global.left_key == 1) |
241 |
direction = 180; |
242 |
if (global.right_key == 1) |
243 |
direction = 0; |
244 |
} |
245 |
} |
246 |
if (direction == 180) |
247 |
{ |
248 |
if (!global.left_key) |
249 |
dirStore = false; |
250 |
if (hsp == 0 && vsp != 0) |
251 |
{ |
252 |
if (global.up_key == 1) |
253 |
direction = 90; |
254 |
if (global.down_key == 1) |
255 |
direction = 270; |
256 |
} |
257 |
} |
258 |
if (direction == 270) |
259 |
{ |
260 |
if (!global.down_key) |
261 |
dirStore = false; |
262 |
if (global.up_key) |
263 |
direction = 90; |
264 |
if (vsp == 0 && hsp != 0) |
265 |
{ |
266 |
if (global.left_key == 1) |
267 |
direction = 180; |
268 |
if (global.right_key == 1) |
269 |
direction = 0; |
270 |
} |
271 |
} |
272 |
} |
273 |
} |
274 |
if (place_meeting(x, y, obj_slippery_ice) && sliding == false) |
275 |
{ |
276 |
if (hsp_slide == 0 && vsp_slide == 0) |
277 |
{ |
278 |
hsp_slide = hsp + sign(hsp); |
279 |
vsp_slide = vsp + sign(vsp); |
280 |
} |
281 |
sliding = true; |
282 |
} |
283 |
if (sliding == true) |
284 |
{ |
285 |
hsp = hsp_slide; |
286 |
vsp = vsp_slide; |
287 |
if (!place_meeting(x, y, obj_slippery_ice) || (place_meeting(x, y, obj_slippery_ice) && hsp == 0 && vsp == 0) || !place_free(x + hsp, y + vsp)) |
288 |
{ |
289 |
hsp_slide = 0; |
290 |
vsp_slide = 0; |
291 |
hsp = 0; |
292 |
vsp = 0; |
293 |
sliding = false; |
294 |
} |
295 |
x += hsp; |
296 |
y += vsp; |
297 |
exit; |
298 |
} |
299 |
if (vsp > pl_spd) |
300 |
vsp = pl_spd; |
301 |
if (hsp > pl_spd) |
302 |
hsp = pl_spd; |
303 |
if (vsp < -pl_spd) |
304 |
vsp = -pl_spd; |
305 |
if (hsp < -pl_spd) |
306 |
hsp = -pl_spd; |
307 |
x += hsp; |
308 |
y += vsp; |
309 |
} |