// 1: Right, -1: Left

animation_spd = 0.25;
image_speed = 0;

state = state_free;

facing = 1;

x_spd = 0;
y_spd = 0;

can_dash = true;

_on_ground = 0;
_on_wall = 0;
_on_solid = 0;

walk_spd = 6;
jump_spd = -15;

move_lock_timer = 0;

coyote_timer = 0;
coyote_max = 10;

dash_timer = 0;
dash_cooldown = 0;
dash_buffer = 0;
dash_buffer_max = 10;

jump_max = 1;
jump_cnt = 0;

attack_timer = 0;
attack_buffer = 0;
attack_buffer_max = 10;

dodge_timer = 0;
dodge_phase = undefined;
marked_target = noone;
is_marked = false;
is_perfect = false;

invincible_timer = 0;

current_attacker = noone;
current_hazard = noone;
current_door = noone;
current_hb = noone;

enter_room_timer = 0;
enter_room_timer_max = 24;

jump_buffer_timer = 0;
jump_buffer_max = 6;

locked_timer = 0;

flash_timer = 0;
flash_duration = 0;
u_flash_alpha = shader_get_uniform(sh_flash, "f_alpha");

INK_blend = 0;
INK_blend_max = 100;
u_ink_blend_alpha = shader_get_uniform(sh_ink_blend, "f_alpha");

tutor_alpha = 0;
tutor_delay = 0;
tutor_sprite = noone;
tutor_state = undefined;
tutor_criteria = undefined;