Advertisement
roninator2

Movement Delay

Dec 11th, 2024
26
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 6.61 KB | None | 0 0
  1. # ╔═══════════════════════════════════════════════╦════════════════════╗
  2. # ║ Title: Movement Delay                         ║  Version: 1.01     ║
  3. # ║ Author: Roninator2                            ║                    ║
  4. # ╠═══════════════════════════════════════════════╬════════════════════╣
  5. # ║ Function:                                     ║   Date Created     ║
  6. # ║   The player is slow to start                 ╠════════════════════╣
  7. # ║   moving and slow to stop                     ║    16 Sep 2022     ║
  8. # ╚═══════════════════════════════════════════════╩════════════════════╝
  9. # ╔════════════════════════════════════════════════════════════════════╗
  10. # ║ Requires: nil                                                      ║
  11. # ║                                                                    ║
  12. # ╚════════════════════════════════════════════════════════════════════╝
  13. # ╔════════════════════════════════════════════════════════════════════╗
  14. # ║ Brief Description:                                                 ║
  15. # ║       Player gradually speeds up and slows down                    ║
  16. # ╚════════════════════════════════════════════════════════════════════╝
  17. # ╔════════════════════════════════════════════════════════════════════╗
  18. # ║ Instructions:                                                      ║
  19. # ║   Plug and play                                                    ║
  20. # ║                                                                    ║
  21. # ╚════════════════════════════════════════════════════════════════════╝
  22. # ╔════════════════════════════════════════════════════════════════════╗
  23. # ║ Updates:                                                           ║
  24. # ║ 1.00 - 16 Sep 2022 - Script finished                               ║
  25. # ║                                                                    ║
  26. # ╚════════════════════════════════════════════════════════════════════╝
  27. # ╔════════════════════════════════════════════════════════════════════╗
  28. # ║ Credits and Thanks:                                                ║
  29. # ║   Roninator2                                                       ║
  30. # ║                                                                    ║
  31. # ╚════════════════════════════════════════════════════════════════════╝
  32. # ╔════════════════════════════════════════════════════════════════════╗
  33. # ║ Terms of use:                                                      ║
  34. # ║  Follow the original Authors terms of use where applicable         ║
  35. # ║    - When not made by me (Roninator2)                              ║
  36. # ║  Free for all uses in RPG Maker except nudity                      ║
  37. # ║  Anyone using this script in their project before these terms      ║
  38. # ║  were changed are allowed to use this script even if it conflicts  ║
  39. # ║  with these new terms. New terms effective 03 Apr 2024             ║
  40. # ║  No part of this code can be used with AI programs or tools        ║
  41. # ║  Credit must be given                                              ║
  42. # ╚════════════════════════════════════════════════════════════════════╝
  43.  
  44. module R2_MOVE_DELAY
  45.   Delay_Move = 60
  46.   Delay_Rate = 30
  47.  #-----------------------------------------------------------
  48.  # Note: works best when kept over 5 and under 10.
  49.  #-----------------------------------------------------------
  50.  SWITCH = 1 # turn script function on/off. Switch on == script on
  51. end
  52.  
  53. class Game_Player
  54.   alias :init_r2_public_data_movement :initialize
  55.   def initialize
  56.     init_r2_public_data_movement
  57.     @move_original = @move_speed
  58.     @slow_time = R2_MOVE_DELAY::Delay_Move
  59.     @fast_time = 0
  60.   end
  61.   alias :update_r2_delay_move :update
  62.   def update
  63.     update_r2_delay_move
  64.     update_delay_move if $game_switches[R2_MOVE_DELAY::SWITCH] == true
  65.     @slow_time -= 1 unless @slow_time <= 0
  66.     @fast_time += 1 unless @fast_time >= R2_MOVE_DELAY::Delay_Move
  67.   end
  68.   def update_delay_move
  69.     if moving? && @slow_time > 0
  70.       @move_speed = @move_original - (@slow_time / R2_MOVE_DELAY::Delay_Rate) unless @slow_time == 0
  71.     elsif !moving? && @fast_time < R2_MOVE_DELAY::Delay_Move
  72.       @move_speed = @move_original - (@fast_time / R2_MOVE_DELAY::Delay_Rate) unless @fast_time == R2_MOVE_DELAY::Delay_Move
  73.     end
  74.     if @slow_time <= 0 && Input.dir4 == 0 && @fast_time >= R2_MOVE_DELAY::Delay_Move
  75.       @fast_time = 0
  76.       @slow_time = R2_MOVE_DELAY::Delay_Move
  77.     end
  78.   end
  79.   def update_original
  80.     @move_original = @move_speed
  81.   end
  82. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement