Advertisement
roninator2

After Death call common event and transfer to a specific map 2

Dec 17th, 2024
20
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 7.49 KB | None | 0 0
  1. # ╔═══════════════════════════════════════════════╦════════════════════╗
  2. # ║ Title: Call CE Transfer with variables        ║  Version: 1.00     ║
  3. # ║ Author: Roninator2                            ║                    ║
  4. # ╠═══════════════════════════════════════════════╬════════════════════╣
  5. # ║ Function:                                     ║   Date Created     ║
  6. # ║                                               ╠════════════════════╣
  7. # ║   Script Function                             ║    29 Sep 2020     ║
  8. # ╚═══════════════════════════════════════════════╩════════════════════╝
  9. # ╔════════════════════════════════════════════════════════════════════╗
  10. # ║ Requires: nil                                                      ║
  11. # ║                                                                    ║
  12. # ╚════════════════════════════════════════════════════════════════════╝
  13. # ╔════════════════════════════════════════════════════════════════════╗
  14. # ║ Brief Description:                                                 ║
  15. # ║       Call Common Event when death occurs                          ║
  16. # ╚════════════════════════════════════════════════════════════════════╝
  17. # ╔════════════════════════════════════════════════════════════════════╗
  18. # ║ Instructions:                                                      ║
  19. # ║   Configure settings below                                         ║
  20. # ║   Set variables to specify what map to return to after death       ║
  21. # ╚════════════════════════════════════════════════════════════════════╝
  22. # ╔════════════════════════════════════════════════════════════════════╗
  23. # ║ Updates:                                                           ║
  24. # ║ 1.00 - 29 Sep 2020 - 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_nodie
  45.     CEID = 1            # common event id
  46.     UseCE = 2           # switch to call common event
  47.     Rewards = 1     # switch to activate this script
  48.     Map = 1             # variable to hold map id to transfer to
  49.     X_spot = 2      # variable to hold player x position
  50.     Y_spot = 3      # variable to hold the player y position
  51.     Dir      = 4        # variable to hold the player direction facing
  52. end
  53.  
  54. module Vocab
  55.     Livetext = "Barely made it out!"
  56. end
  57.  
  58. # ╔════════════════════════════════════════════════════════════════════╗
  59. # ║                      End of editable region                        ║
  60. # ╚════════════════════════════════════════════════════════════════════╝
  61.  
  62. module BattleManager
  63.   def self.process_defeat
  64.         if $game_switches[R2_nodie::Rewards] == true
  65.             $game_message.add(sprintf(Vocab::Livetext, $game_party.name))
  66.             wait_for_message
  67.             revive_battle_members
  68.             display_exp
  69.             gain_gold
  70.             gain_drop_items
  71.             gain_exp
  72.             replay_bgm_and_bgs
  73.             SceneManager.return
  74.             if $game_variables[R2_nodie::Map] == 0; $game_variables[R2_nodie::Map] = 1; end
  75.             if $game_variables[R2_nodie::X_spot] == 0; $game_variables[R2_nodie::X_spot] = 5; end
  76.             if $game_variables[R2_nodie::Y_spot] == 0; $game_variables[R2_nodie::Y_spot] = 5; end
  77.             if $game_variables[R2_nodie::Dir] != 2 || 4 || 6 || 8; $game_variables[R2_nodie::Dir] = 2; end
  78.             map_id = $game_variables[R2_nodie::Map]
  79.             x = $game_variables[R2_nodie::X_spot]
  80.             y = $game_variables[R2_nodie::Y_spot]
  81.             direction = $game_variables[R2_nodie::Dir]
  82.             $game_player.reserve_transfer(map_id, x, y, direction)
  83.             $game_player.perform_transfer
  84.             $game_temp.reserve_common_event(R2_nodie::CEID) if $game_switches[R2_nodie::UseCE] == true
  85.             battle_end(0)
  86.             return true
  87.         else
  88.             $game_message.add(sprintf(Vocab::Defeat, $game_party.name))
  89.             wait_for_message
  90.             if @can_lose
  91.                 revive_battle_members
  92.                 replay_bgm_and_bgs
  93.                 SceneManager.return
  94.             else
  95.                 SceneManager.goto(Scene_Gameover)
  96.             end
  97.             battle_end(2)
  98.             return true
  99.         end
  100.   end
  101. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement