if (!_input_enabled) exit; if (_state < 0) exit; _input_cooldown--; if (_input_cooldown <= 0) { if (left_p() || right_p() || up_p() || down_p()) { _input_cooldown = 2; _input_counter++; if (_state == 0) { if ((_input_counter % 100) == 0) _reverse_modifier *= 2; _reverse_active = true; roll_attempt(); } else if (_state == 1) { shake(); image_index = 0; if (_input_counter >= 10) { _state = -1; _reverse_modifier = 1; fall_down(); } } else if (_state == 2) { shake(); if (_input_counter >= 20) { _state = -1; _reverse_modifier = 1; get_up(); } } else if (_state == 3) { if ((_input_counter % 40) == 0) _reverse_modifier *= 2; _reverse_active = true; roll_attempt(); } } } if (_shake) { shakeamt -= shakereduct; on *= -1; _xx = x + (shakeamt * on); _yy = y; if (shakeamt <= 0) { _shake = false; _xx = x; _yy = y; if (_state == 1) image_index = 1; } } _reverse_timer--; if (_reverse_timer <= 0) { if (_state == 0) _reverse_time = lerp(30, 2, scr_ease_out(image_index / _max_frame, 2)); else if (_state == 3) _reverse_time = 3; _reverse_timer = _reverse_time * _reverse_modifier; if (_reverse_active) { _reverse_active = false; shake(); fight_attempt(); } }