TheoAllen

Theo - Battle Weather Screen

May 2nd, 2013
587
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 3.94 KB | None | 0 0
  1. # =============================================================================
  2. # THEOALLEN - BATTLE WEATHER SCREEN
  3. # VERSION : 0.9.1
  4. # CONTACT : www.rpgmakerid.com
  5. # (This script documentation is written in informal indonesian language)
  6. # =============================================================================
  7. if true # <-- set true / false disini untuk ngegunain script ini ato kaga
  8. # =============================================================================  
  9. $imported = {} if $imported.nil?
  10. $imported[:Theo_BattleWeather] = true
  11. # =============================================================================
  12. # CHANGE LOGS:
  13. # -----------------------------------------------------------------------------
  14. # 2013.05.02 - Started and Finished script
  15. # =============================================================================
  16. =begin
  17.  
  18.   PERKENALAN :
  19.   Script ini battle scene juga menampilkan weather seperti halnya dalam map.
  20.   Weather yang terjadi dalam battle scene tergantung dengan weather yang ada
  21.   dalam map. Misalnya dalam map sebelumnya weather adalah rain, maka dalam
  22.   battle nantinya juga akan menampilkan rain.
  23.  
  24.   CARA PENGGUNAAN :
  25.   Pasang diatas main tapi dibawah material
  26.  
  27.   Untuk kustomisasi bisa digunakan dalam script call event :
  28.   - enable_battle_weather >> untuk nyalain script ini
  29.   - disable_battle_weather >> untuk matiin script ini
  30.   - battle_weather = type >> digunakan untuk mengganti weather pas battle
  31.  
  32.   Type2 yang dapat digunakan adalah
  33.   - :rain
  34.   - :storm
  35.   - :snow
  36.   - :none
  37.  
  38.   PLANNED FEATURES :
  39.   - Battle Storm effects >> flashing screen pas battle (kilatan petir)
  40.   - Element efficiency >> effisiensi elemen. Misal kalo hujan elemen fire
  41.     berkurang effisiensinya jadi 30% sedangkan petir nambah jadi 180%
  42.  
  43.   TERMS OF USE :
  44.   Credit gw, TheoAllen. Smentara jangan diedit dlu. Soal e ni script belom
  45.   selese gw develop. Dan kalo semisal mau dipake buat komersil, jangan lupa,
  46.   gw dibagi gratisannya.
  47.  
  48. =end
  49. # =============================================================================
  50. # Tidak ada konfigurasi khusus dalam script
  51. # -----------------------------------------------------------------------------
  52. # Jangan diedit setelah line ini kecuali ente ngerti scripting
  53. # =============================================================================
  54. module THEO
  55.   module BWS
  56.    
  57.     def self.weather=(type)
  58.       @weather = type
  59.     end
  60.    
  61.     def self.weather
  62.       @weather
  63.     end
  64.    
  65.   end
  66. end
  67.  
  68. class Game_System
  69.   attr_accessor :battle_weather
  70.  
  71.   alias bs_weather_system_init initialize
  72.   def initialize
  73.     bs_weather_system_init
  74.     @battle_weather = true
  75.   end
  76.  
  77. end
  78.  
  79. class Spriteset_Battle
  80.  
  81.   alias weather_init create_viewports
  82.   def create_viewports
  83.     weather_init
  84.     create_weather if $game_system.battle_weather
  85.   end
  86.  
  87.   def create_weather
  88.     @weather = Spriteset_Weather.new(@viewport2)
  89.     @weather.type = $game_map.screen.weather_type
  90.     @weather.power = $game_map.screen.weather_power
  91.     @weather.ox = $game_map.display_x * 32
  92.     @weather.oy = $game_map.display_y * 32
  93.     THEO::BWS.weather = @weather.type
  94.   end
  95.  
  96.   alias in_game_weather_update update
  97.   def update
  98.     in_game_weather_update
  99.     update_weather if @weather
  100.   end
  101.  
  102.   def update_weather
  103.     @weather.update
  104.     @weather.type = THEO::BWS.weather if @weather.type != THEO::BWS.weather
  105.     dispose_weather unless $game_system.battle_weather
  106.   end
  107.  
  108.   alias battle_weather_dispose dispose
  109.   def dispose
  110.     battle_weather_dispose
  111.     dispose_weather if @weather
  112.   end
  113.  
  114.   def dispose_weather
  115.     @weather.dispose
  116.   end
  117.  
  118. end
  119.  
  120. class Game_Interpreter
  121.  
  122.   def enable_battle_weather
  123.     $game_system.battle_weather = true
  124.   end
  125.  
  126.   def disable_battle_weather
  127.     $game_system.battle_weather = false
  128.   end
  129.  
  130.   def battle_weather=(type)
  131.     return unless type.is_a?(Symbol)
  132.     THEO::BWS.weather = type
  133.   end
  134.  
  135. end
  136.  
  137. end
Advertisement
Add Comment
Please, Sign In to add comment