void Game_Character::Update() { if (IsJumping()) { UpdateJump(); anime_count += (IsSpinning() ? 1.0 : 0); } else if (IsContinuous() || IsSpinning()) { UpdateMove(); UpdateStop(); } else { if (IsMoving()) { UpdateMove(); } else { UpdateStop(); } } if (anime_count > 36.0/(GetMoveSpeed()+1)) { if (IsSpinning()) { SetPrelockDirection((GetPrelockDirection() + 1) % 4); } else if (!IsContinuous() && IsStopping()) { pattern = original_pattern; last_pattern = last_pattern == RPG::EventPage::Frame_left ? RPG::EventPage::Frame_right : RPG::EventPage::Frame_left; } else { if (last_pattern == RPG::EventPage::Frame_left) { if (pattern == RPG::EventPage::Frame_right) { pattern = RPG::EventPage::Frame_middle; last_pattern = RPG::EventPage::Frame_right; } else { pattern = RPG::EventPage::Frame_right; } } else { if (pattern == RPG::EventPage::Frame_left) { pattern = RPG::EventPage::Frame_middle; last_pattern = RPG::EventPage::Frame_left; } else { pattern = RPG::EventPage::Frame_left; } } } anime_count = 0; } if (wait_count > 0) { wait_count -= 1; return; } if (stop_count >= ((GetMoveFrequency() > 7) ? 0 : pow(2.0, 9 - GetMoveFrequency()))) { if (IsMoveRouteOverwritten()) { MoveTypeCustom(); } else if (Game_Message::GetContinueEvents() || !Game_Message::message_waiting) { UpdateSelfMovement(); } } }
void Game_Character::Update() { /*if (IsJumping()) UpdateJump(); else*/ if (IsMoving()) UpdateMove(); else UpdateStop(); if (anime_count > 18 - move_speed * 2) { if (!step_anime && stop_count > 0) { pattern = original_pattern; last_pattern = last_pattern == RPG::EventPage::Frame_left ? RPG::EventPage::Frame_right : RPG::EventPage::Frame_left; } else { if (last_pattern == RPG::EventPage::Frame_left) { if (pattern == RPG::EventPage::Frame_right) { pattern = RPG::EventPage::Frame_middle; last_pattern = RPG::EventPage::Frame_right; } else { pattern = RPG::EventPage::Frame_right; } } else { if (pattern == RPG::EventPage::Frame_left) { pattern = RPG::EventPage::Frame_middle; last_pattern = RPG::EventPage::Frame_left; } else { pattern = RPG::EventPage::Frame_left; } } } anime_count = 0; } /*if (wait_count > 0) { wait_count -= 1 return; }*/ if (move_route_forcing) { MoveTypeCustom(); } else if (!locked) { UpdateSelfMovement(); } }