| 
 
| 赞 | 0 |  
| VIP | 0 |  
| 好人卡 | 0 |  
| 积分 | 1 |  
| 经验 | 2273 |  
| 最后登录 | 2016-5-14 |  
| 在线时间 | 28 小时 |  
 Lv1.梦旅人 
	梦石0 星屑50 在线时间28 小时注册时间2014-12-18帖子29 | 
| 
#-------------------------------------------------------------------------------
x
加入我们,或者,欢迎回来。您需要 登录 才可以下载或查看,没有帐号?注册会员  #  MAWS - Modified Advanced Weather Script for RPG Maker VX
 #  Version: 1.1.
 #  Based on Advanced Weather Script VX by Ccoa
 #  Modifications created by Agckuu Coceg
 #-------------------------------------------------------------------------------
 # Thanks DerWulfman to his help with VX version of script.
 #-------------------------------------------------------------------------------
 #  Weather Types:
 #    1 - 雨 (Ccoa)
 #    2 - 风暴 (Ccoa)
 #    3 - 雪 (Ccoa)
 #    4 - 冰雹 (Ccoa)
 #    5 - 雷阵雨 (Ccoa)
 #    6 - 下降棕色叶子 (Ccoa)
 #    7 - 吹棕色叶子 (Ccoa)
 #    8 - 袅袅棕色叶子 (Ccoa)
 #    9 - 下降绿色叶子 (Ccoa)
 #   10 - 樱花(樱)花瓣 (Ccoa)
 #   11 - 玫瑰花瓣 (Ccoa)
 #   12 - 羽毛 (Ccoa)
 #   13 - 血雨 (Ccoa)
 #   14 - 火花 (Ccoa)
 #   15 - 用户自定义
 #   16 - 吹雪 (Ccoa)
 #   17 - 流星雨 (Ccoa)
 #   18 - 落灰 (Ccoa)
 #   19 - 气泡 (Ccoa)
 #   20 - 气泡 2 (Ccoa)
 #   21 - 火花上升 (Ccoa)
 #-------------------------------------------------------------------------------
 # Version 1.0 addons
 #-------------------------------------------------------------------------------
 #   Leaves effects:
 #   22 - 吹绿叶 (Agckuu Coceg)
 #   23 - 袅袅的绿叶 (Agckuu Coceg)
 #   24 - 下降的黄叶 (Agckuu Coceg)
 #   25 - 吹黄叶 (Agckuu Coceg)
 #   26 - 袅袅的黄叶 (Agckuu Coceg)
 #   Rain effects:
 #   27 - 石油雨 (Agckuu Coceg)
 #   28 - 金雨 (Agckuu Coceg)
 #   Special effects:
 #   29 - 火焰流星雨 (Agckuu Coceg)
 #-------------------------------------------------------------------------------
 # Version 1.1 addons
 #-------------------------------------------------------------------------------
 #   Starburst effects addons:
 #   30 - 彩色星暴 v.2 (replaced Color Starburst)(Agckuu Coceg)
 #   31 - 升级版彩色星暴 v.2 (replaced Uprising color Starburst)
 #   (Agckuu Coceg)
 #   32 - 彩色星暴雨 v.2 (replaced Color Starburst rain)(Agckuu Coceg)
 #   33 - 单色暴 (Agckuu Coceg)
 #   34 - 升级版单色暴 (Agckuu Coceg)
 #   35 - 单色暴雨 (Agckuu Coceg)
 #   Rain effects:
 #   36 - 金雨雷电和闪光 (Agckuu Coceg)
 #   37 - 金色风暴 (Agckuu Coceg)
 #   38 - 石油风暴 (Agckuu Coceg)
 #   39 - 酸雨 (Agckuu Coceg)
 #   40 - 酸雨闪电和闪光 (Agckuu Coceg)
 #   41 - 酸雨风暴 (Agckuu Coceg)
 #   42 - 棕褐色雨 (Agckuu Coceg)
 #   43 - 棕褐色雨闪电和闪光 (Agckuu Coceg)
 #   44 - 棕褐色雨风暴 (Agckuu Coceg)
 #   45 - 现实风暴 (Agckuu Coceg)
 #   46 - 血雨赤红的闪电和雷声 (Agckuu Coceg)
 #   47 - 血雨风暴 (Agckuu Coceg)
 #   48 - 血暴雪 (Agckuu Coceg)
 #   New leaves effects:
 #   49 - 下降红枫叶 (Agckuu Coceg)
 #   50 - 吹红枫叶 (Agckuu Coceg)
 #   51 - 袅袅的红枫叶 (Agckuu Coceg)
 #   Special effects:
 #   52 - 水弹 (Agckuu Coceg)
 #   53 - 冰弹 (Agckuu Coceg)
 #   54 - 照明弹 (Agckuu Coceg)
 #-------------------------------------------------------------------------------
 #  Weather Power:
 #    An integer from 0-40.  0 = no weather, 40 = 400 sprites
 #-------------------------------------------------------------------------------
 #  Usage:
 #  Create a call script with the following: screen.weather(type, power, hue)
 #-------------------------------------------------------------------------------
 #  Usage of user-defined weather. Look at the following globals:
 $WEATHER_UPDATE = false   # the $WEATHER_IMAGES array has changed, please update
 $WEATHER_IMAGES = []      # the array of picture names to use
 $WEATHER_X = 0           # the number of pixels the image should move horizontally (positive = right, negative = left)
 $WEATHER_Y = 0            # the number of pizels the image should move vertically (positive = down, negative = up)
 $WEATHER_FADE = 0         # how much the image should fade each update (0 = no fade, 255 = fade instantly)
 $WEATHER_ANIMATED = true # whether or not the image should cycle through all the images
 
 # Take these out if you are using screen resolution script of Ccoa.
 HEIGHT = 416
 WIDTH = 544
 
 #==============================================================================
 # ** Spriteset_Weather
 #------------------------------------------------------------------------------
 
 class Spriteset_Weather
 #--------------------------------------------------------------------------
 # * Public Instance Variables
 #--------------------------------------------------------------------------
 attr_reader :type
 attr_reader :power
 attr_reader :ox
 attr_reader :oy
 #--------------------------------------------------------------------------
 # * Object Initialization
 #--------------------------------------------------------------------------
 def initialize(viewport = nil)
 @type = 0
 @power = 0
 @ox = 0
 @oy = 0
 
 @count = 0
 @current_pose = []
 @info = []
 @countarray = []
 
 make_bitmaps
 
 @sprites = []
 
 for i in 1..500
 sprite = Sprite.new(viewport)
 sprite.visible = false
 sprite.opacity = 0
 @sprites.push(sprite)
 @current_pose.push(0)
 @info.push(rand(50))
 @countarray.push(rand(15))
 end
 
 end
 #--------------------------------------------------------------------------
 # * Dispose
 #--------------------------------------------------------------------------
 def dispose
 for sprite in @sprites
 sprite.dispose
 end
 @rain_bitmap.dispose
 @storm_bitmap.dispose
 @snow_bitmap.dispose
 @hail_bitmap.dispose
 @petal_bitmap.dispose
 @blood_rain_bitmap.dispose
 @oil_rain_bitmap.dispose
 @golden_rain_bitmap.dispose
 @golden_storm_bitmap.dispose
 @acid_rain_bitmap.dispose
 @acid_storm_bitmap.dispose
 @sepia_rain_bitmap.dispose
 @sepia_storm_bitmap.dispose
 @blood_storm_bitmap.dispose
 @bloodblizz_bitmap.dispose
 @meteor_bitmap.dispose
 @flame_meteor_bitmap.dispose
 @waterbomb_bitmap.dispose
 @icybomb_bitmap.dispose
 @flarebomb_bitmap.dispose
 for image in @autumn_leaf_bitmaps
 image.dispose
 end
 for image in @green_leaf_bitmaps
 image.dispose
 end
 for image in @yellow_leaf_bitmaps
 image.dispose
 end
 for image in @redmaple_leaf_bitmaps
 image.dispose
 end
 for image in @rose_bitmaps
 image.dispose
 end
 for image in @feather_bitmaps
 image.dispose
 end
 for image in @sparkle_bitmaps
 image.dispose
 end
 for image in @starburst_bitmaps
 image.dispose
 end
 for image in @monostarburst_bitmaps
 image.dispose
 end
 for image in @user_bitmaps
 image.dispose
 end
 $WEATHER_UPDATE = true
 end
 #--------------------------------------------------------------------------
 # * Set weather type
 #     type : new weather type
 #--------------------------------------------------------------------------
 def type=(type)
 return if @type == type
 @type = type
 case @type
 when 1 # rain
 bitmap = @rain_bitmap
 when 2 # storm
 bitmap = @storm_bitmap
 when 3 # snow
 bitmap = @snow_bitmap
 when 4 # hail
 bitmap = @hail_bitmap
 when 5 # rain w/ thunder and lightning
 bitmap = @rain_bitmap
 @thunder = true
 when 6 # falling autumn leaves
 bitmap = @autumn_leaf_bitmaps[0]
 when 7 # blowing autumn leaves
 bitmap = @autumn_leaf_bitmaps[0]
 when 8 # swirling autumn leaves
 bitmap = @autumn_leaf_bitmaps[0]
 when 9 # falling green leaves
 bitmap = @green_leaf_bitmaps[0]
 when 10 # sakura petals
 bitmap = @petal_bitmap
 when 11 # rose petals
 bitmap = @rose_bitmaps[0]
 when 12 # feathers
 bitmap = @feather_bitmaps[0]
 when 13 # blood rain
 bitmap = @blood_rain_bitmap
 when 14 # sparkles
 bitmap = @sparkle_bitmaps[0]
 when 15 # user-defined
 bitmap = @user_bitmaps[rand(@user_bitmaps.size)]
 when 16 # blowing snow
 bitmap = @snow_bitmap
 when 17 # meteors
 bitmap = @meteor_bitmap
 when 18 # falling ash
 bitmap = @ash_bitmaps[rand(@ash_bitmaps.size)]
 when 19 # bubbles
 bitmap = @bubble_bitmaps[rand(@bubble_bitmaps.size)]
 when 21 # sparkles up
 bitmap = @sparkle_bitmaps[0]
 when 22 # blowing green leaves
 bitmap = @green_leaf_bitmaps[0]
 when 23 # swirling green leaves
 bitmap = @green_leaf_bitmaps[0]
 when 24 # falling yellow leaves
 bitmap = @yellow_leaf_bitmaps[0]
 when 25 # blowing yellow leaves
 bitmap = @yellow_leaf_bitmaps[0]
 when 26 # swirling yellow leaves
 bitmap = @yellow_leaf_bitmaps[0]
 when 27 # oil rain
 bitmap = @oil_rain_bitmap
 when 28 # golden rain
 bitmap = @golden_rain_bitmap
 when 29 # flame meteors
 bitmap = @flame_meteor_bitmap
 when 30 # starburst
 bitmap = @starburst_bitmaps[0]
 when 31 # uprising starburst
 bitmap = @starburst_bitmaps[0]
 when 32 # starburst rain
 bitmap = @starburst_bitmaps[0]
 when 33 # mono-starburst
 bitmap = @monostarburst_bitmaps[0]
 when 34 # uprising mono-starburst
 bitmap = @monostarburst_bitmaps[0]
 when 35 # mono-starburst rain
 bitmap = @monostarburst_bitmaps[0]
 when 36 # Golden rain w\ thunder and ligthning
 bitmap = @golden_rain_bitmap
 @golden_thunder = true
 when 37 # Golden storm
 bitmap = @golden_storm_bitmap
 when 38 # Oil storm
 bitmap = @oil_storm_bitmap
 when 39 # # Acid rain
 bitmap = @acid_rain_bitmap
 when 40 # Acid rain w\thunder and lightning
 bitmap = @acid_rain_bitmap
 @acid_thunder = true
 when 41 # Acid storm
 bitmap = @acid_storm_bitmap
 when 42 # Sepia rain
 bitmap = @sepia_rain_bitmap
 when 43 # Sepia rain w\ thunder and lightning
 bitmap = @sepia_rain_bitmap
 @sepia_thunder = true
 when 44 # Sepia storm
 bitmap = @sepia_storm_bitmap
 when 45 # Realistic storm
 bitmap = @storm_bitmap
 @real_storm = true
 when 46 # Blood rain w\ thunder and lightning
 bitmap = @blood_rain_bitmap
 @crimson_thunder = true
 when 47 # Blood storm
 bitmap = @blood_storm_bitmap
 when 48 # Blood blizzard
 bitmap = @bloodblizz_bitmap
 when 49 # Falling red maple leaves
 bitmap = @redmaple_leaf_bitmaps[0]
 when 50 # Blowing red maple leaves
 bitmap = @redmaple_leaf_bitmaps[0]
 when 51 # Swirling red maple leaves
 bitmap = @redmaple_leaf_bitmaps[0]
 when 52
 bitmap = @waterbomb_bitmaps
 when 53
 bitmap = @icybomb_bitmaps
 when 54
 bitmap = @flarebomb_bitmaps
 else
 bitmap = nil
 end
 
 if @type != 5
 @thunder = false
 end
 
 if @type != 36
 @golden_thunder = false
 end
 
 if @type != 40
 @acid_thunder = false
 end
 
 if @type != 43
 @sepia_thunder = false
 end
 
 if @type != 45
 @real_storm = false
 end
 
 if @type != 46
 @crimson_thunder = false
 end
 
 for i in [email protected]
 sprite = @sprites
 sprite.visible = (i <= @power)
 if @type == 19
 sprite.bitmap = @bubble_bitmaps[rand(@bubble_bitmaps.size)]
 elsif @type == 20
 sprite.bitmap = @bubble2_bitmaps[rand(@bubble2_bitmaps.size)]
 elsif @type == 3
 r = rand(@snow_bitmaps.size)
 @info = r
 sprite.bitmap = @snow_bitmaps[r]
 else
 sprite.bitmap = bitmap
 end
 end
 end
 #--------------------------------------------------------------------------
 # * Set starting point X coordinate
 #     ox : starting point X coordinate
 #--------------------------------------------------------------------------
 def ox=(ox)
 return if @ox == ox;
 @ox = ox
 for sprite in @sprites
 sprite.ox = @ox
 end
 end
 #--------------------------------------------------------------------------
 # * Set starting point Y coordinate
 #     oy : starting point Y coordinate
 #--------------------------------------------------------------------------
 def oy=(oy)
 return if @oy == oy;
 @oy = oy
 for sprite in @sprites
 sprite.oy = @oy
 end
 end
 #--------------------------------------------------------------------------
 # * Set maximum number of sprites
 #     max : maximum number of sprites
 #--------------------------------------------------------------------------
 def power=(power)
 @power = power
 for i in 1..40
 sprite = @sprites
 sprite.visible = (i <= @power) if sprite != nil
 if @type == 19
 sprite.bitmap = @bubble_bitmaps[rand(@bubble_bitmaps.size)]
 elsif @type == 20
 sprite.bitmap = @bubble2_bitmaps[rand(@bubble2_bitmaps.size)]
 elsif @type == 3
 r = rand(@snow_bitmaps.size)
 @info = r
 sprite.bitmap = @snow_bitmaps[r]
 end
 end
 end
 #--------------------------------------------------------------------------
 # * Frame Update
 #--------------------------------------------------------------------------
 def update
 return if @type == 0
 for i in 1..@power
 sprite = @sprites
 if @type == 1 or @type == 5 or @type == 13 or @type == 27 or @type == 28 or @type == 36 or @type == 39 or @type == 40 or @type == 42 or @type == 43 or @type == 46 #rain
 if sprite.opacity <= 150
 if @current_pose == 0
 sprite.y += @rain_bitmap.height
 sprite.x -= @rain_bitmap.width
 if @type == 1 or @type == 5
 sprite.bitmap = @rain_splash
 else
 sprite.bitmap = @blood_rain_splash
 end
 if @type == 27
 sprite.bitmap = @oil_rain_splash
 end
 if @type == 28
 sprite.bitmap = @golden_rain_splash
 end
 if @type == 36
 sprite.bitmap = @golden_rain_splash
 end
 if @type == 39
 sprite.bitmap = @acid_rain_splash
 end
 if @type == 40
 sprite.bitmap = @acid_rain_splash
 end
 if @type == 42
 sprite.bitmap = @sepia_rain_splash
 end
 if @type == 43
 sprite.bitmap = @sepia_rain_splash
 end
 if @type == 46
 sprite.bitmap = @blood_rain_splash
 end
 @current_pose = 1
 end
 else
 if @current_pose == 1
 if @type == 1 or @type == 5
 sprite.bitmap = @rain_bitmap
 else
 sprite.bitmap = @blood_rain_bitmap
 end
 if @type == 27
 sprite.bitmap = @oil_rain_bitmap
 end
 if @type == 28
 sprite.bitmap = @golden_rain_bitmap
 end
 if @type == 36
 sprite.bitmap = @golden_rain_bitmap
 end
 if @type == 39
 sprite.bitmap = @acid_rain_bitmap
 end
 if @type == 40
 sprite.bitmap = @acid_rain_bitmap
 end
 if @type == 42
 sprite.bitmap = @sepia_rain_bitmap
 end
 if @type == 43
 sprite.bitmap = @sepia_rain_bitmap
 end
 if @type == 46
 sprite.bitmap = @blood_rain_bitmap
 end
 @current_pose = 0
 end
 sprite.x -= 2
 sprite.y += 16
 if @thunder and (rand(8000 - @power) == 0)
 $game_map.screen.start_flash(Color.new(255, 255, 255, 255), 5)
 Audio.se_play("Audio/SE/Thunder1")
 end
 if @golden_thunder and (rand(8000 - @power) == 0)
 $game_map.screen.start_flash(Color.new(255, 255, 255, 255), 5)
 Audio.se_play("Audio/SE/Thunder1")
 end
 if @acid_thunder and (rand(5000 - @power) == 0)
 $game_map.screen.start_flash(Color.new(255, 255, 255, 255), 5)
 Audio.se_play("Audio/SE/Thunder1")
 end
 if @sepia_thunder and (rand(8000 - @power) == 0)
 $game_map.screen.start_flash(Color.new(169, 152, 142, 255), 5)
 Audio.se_play("Audio/SE/Thunder1")
 end
 if @sepia_thunder and (rand(8000 - @power) == 0)
 $game_map.screen.start_flash(Color.new(169, 152, 142, 255), 5)
 Audio.se_play("Audio/SE/Thunder1")
 end
 if @crimson_thunder and (rand(8000 - @power) == 0)
 $game_map.screen.start_flash(Color.new(141, 9, 9, 255), 5)
 Audio.se_play("Audio/SE/Thunder1")
 end
 end
 sprite.opacity -= 8
 end
 if @type == 2 or @type == 37 or @type == 38 or @type == 41 or @type == 44 or @type == 45 or @type == 47 # storm
 sprite.x -= 8
 sprite.y += 16
 sprite.opacity -= 12
 end
 if @real_storm and (rand(5000 - @power) == 0)
 $game_map.screen.start_flash(Color.new(255, 255, 255, 255), 5)
 $game_map.screen.start_shake(9, 4, 5)
 Audio.se_play("Audio/SE/Thunder9")
 end
 if @type == 3 # snow
 case @info
 when 0 # smallest flake, fall the slowest
 sprite.y += 1
 when 1
 sprite.y += 3
 when 2
 sprite.y += 5
 when 3
 sprite.y += 7
 end
 sprite.opacity -= 3
 end
 if @type == 4 # hail
 sprite.x -= 1
 sprite.y += 18
 sprite.opacity -= 15
 end
 if @type == 6 # falling autumn leaves
 @count = rand(20)
 if @count == 0
 sprite.bitmap = @autumn_leaf_bitmaps[@current_pose]
 @current_pose = (@current_pose + 1) % @autumn_leaf_bitmaps.size
 end
 sprite.x -= 1
 sprite.y += 1
 end
 if @type == 7 # blowing autumn leaves
 @count = rand(20)
 if @count == 0
 sprite.bitmap = @autumn_leaf_bitmaps[@current_pose]
 @current_pose = (@current_pose + 1) % @autumn_leaf_bitmaps.size
 end
 sprite.x -= 10
 sprite.y += (rand(4) - 2)
 end
 if @type == 8 # swirling autumn leaves
 @count = rand(20)
 if @count == 0
 sprite.bitmap = @autumn_leaf_bitmaps[@current_pose]
 @current_pose = (@current_pose + 1) % @autumn_leaf_bitmaps.size
 end
 if @info != 0
 if @info >= 1 and @info <= 10
 sprite.x -= 3
 sprite.y -= 1
 elsif @info >= 11 and @info <= 16
 sprite.x -= 1
 sprite.y -= 2
 elsif @info >= 17 and @info <= 20
 sprite.y -= 3
 elsif @info >= 21 and @info <= 30
 sprite.y -= 2
 sprite.x += 1
 elsif @info >= 31 and @info <= 36
 sprite.y -= 1
 sprite.x += 3
 elsif @info >= 37 and @info <= 40
 sprite.x += 5
 elsif @info >= 41 and @info <= 46
 sprite.y += 1
 sprite.x += 3
 elsif @info >= 47 and @info <= 58
 sprite.y += 2
 sprite.x += 1
 elsif @info >= 59 and @info <= 64
 sprite.y += 3
 elsif @info >= 65 and @info <= 70
 sprite.x -= 1
 sprite.y += 2
 elsif @info >= 71 and @info <= 81
 sprite.x -= 3
 sprite.y += 1
 elsif @info >= 82 and @info <= 87
 sprite.x -= 5
 end
 @info = (@info + 1) % 88
 else
 if rand(200) == 0
 @info = 1
 end
 sprite.x -= 5
 sprite.y += 1
 end
 end
 if @type == 49 # falling red maple leaves
 @count = rand(20)
 if @count == 0
 sprite.bitmap = @redmaple_leaf_bitmaps[@current_pose]
 @current_pose = (@current_pose + 1) % @redmaple_leaf_bitmaps.size
 end
 sprite.x -= 1
 sprite.y += 1
 end
 if @type == 50 # blowing red maple leaves
 @count = rand(20)
 if @count == 0
 sprite.bitmap = @redmaple_leaf_bitmaps[@current_pose]
 @current_pose = (@current_pose + 1) % @redmaple_leaf_bitmaps.size
 end
 sprite.x -= 10
 sprite.y += (rand(4) - 2)
 end
 if @type == 51 # swirling red maple leaves
 @count = rand(20)
 if @count == 0
 sprite.bitmap = @redmaple_leaf_bitmaps[@current_pose]
 @current_pose = (@current_pose + 1) % @redmaple_leaf_bitmaps.size
 end
 if @info != 0
 if @info >= 1 and @info <= 10
 sprite.x -= 3
 sprite.y -= 1
 elsif @info >= 11 and @info <= 16
 sprite.x -= 1
 sprite.y -= 2
 elsif @info >= 17 and @info <= 20
 sprite.y -= 3
 elsif @info >= 21 and @info <= 30
 sprite.y -= 2
 sprite.x += 1
 elsif @info >= 31 and @info <= 36
 sprite.y -= 1
 sprite.x += 3
 elsif @info >= 37 and @info <= 40
 sprite.x += 5
 elsif @info >= 41 and @info <= 46
 sprite.y += 1
 sprite.x += 3
 elsif @info >= 47 and @info <= 58
 sprite.y += 2
 sprite.x += 1
 elsif @info >= 59 and @info <= 64
 sprite.y += 3
 elsif @info >= 65 and @info <= 70
 sprite.x -= 1
 sprite.y += 2
 elsif @info >= 71 and @info <= 81
 sprite.x -= 3
 sprite.y += 1
 elsif @info >= 82 and @info <= 87
 sprite.x -= 5
 end
 @info = (@info + 1) % 88
 else
 if rand(200) == 0
 @info = 1
 end
 sprite.x -= 5
 sprite.y += 1
 end
 end
 if @type == 9 # falling green leaves
 if @countarray == 0
 @current_pose = (@current_pose + 1) % @green_leaf_bitmaps.size
 sprite.bitmap = @green_leaf_bitmaps[@current_pose]
 @countarray = rand(15)
 end
 @countarray = (@countarray + 1) % 15
 sprite.y += 1
 end
 if @type == 10 # sakura petals
 if @info < 25
 sprite.x -= 1
 else
 sprite.x += 1
 end
 @info = (@info + 1) % 50
 sprite.y += 1
 end
 if @type == 11 # rose petals
 @count = rand(20)
 if @count == 0
 sprite.bitmap = @rose_bitmaps[@current_pose]
 @current_pose = (@current_pose + 1) % @rose_bitmaps.size
 end
 if @info % 2 == 0
 if @info < 10
 sprite.x -= 1
 elsif
 sprite.x += 1
 end
 end
 sprite.y += 1
 end
 if @type == 12 # feathers
 if @countarray == 0
 @current_pose = (@current_pose + 1) % @feather_bitmaps.size
 sprite.bitmap = @feather_bitmaps[@current_pose]
 end
 @countarray = (@countarray + 1) % 15
 if rand(100) == 0
 sprite.x -= 1
 end
 if rand(100) == 0
 sprite.y -= 1
 end
 if @info < 50
 if rand(2) == 0
 sprite.x -= 1
 else
 sprite.y -= 1
 end
 else
 if rand(2) == 0
 sprite.x += 1
 else
 sprite.y += 1
 end
 end
 @info = (@info + 1) % 100
 end
 
 if @type == 30 # starburst
 if @countarray == 0
 @current_pose = (@current_pose + 1) % @starburst_bitmaps.size
 sprite.bitmap = @starburst_bitmaps[@current_pose]
 end
 @countarray = (@countarray + 1) % 15
 sprite.y += 1
 sprite.opacity -= 1
 end
 if @type == 31 # starburst up
 if @countarray == 0
 @current_pose = (@current_pose + 1) % @starburst_bitmaps.size
 sprite.bitmap = @starburst_bitmaps[@current_pose]
 end
 @countarray = (@countarray + 1) % 15
 sprite.y -= 1
 sprite.opacity -= 1
 end
 if @type == 32 # starburst up
 if @countarray == 0
 @current_pose = (@current_pose + 1) % @starburst_bitmaps.size
 sprite.bitmap = @starburst_bitmaps[@current_pose]
 end
 @countarray = (@countarray + 1) % 15
 sprite.x -= 2
 sprite.y += 8
 sprite.opacity -= 1
 end
 
 if @type == 33 # mono-starburst
 if @countarray == 0
 @current_pose = (@current_pose + 1) % @monostarburst_bitmaps.size
 sprite.bitmap = @monostarburst_bitmaps[@current_pose]
 end
 @countarray = (@countarray + 1) % 15
 sprite.y += 1
 sprite.opacity -= 1
 end
 if @type == 34 # mono-starburst up
 if @countarray == 0
 @current_pose = (@current_pose + 1) % @monostarburst_bitmaps.size
 sprite.bitmap = @monostarburst_bitmaps[@current_pose]
 end
 @countarray = (@countarray + 1) % 15
 sprite.y -= 1
 sprite.opacity -= 1
 end
 if @type == 35 # mono-starburst rain
 if @countarray == 0
 @current_pose = (@current_pose + 1) % @monostarburst_bitmaps.size
 sprite.bitmap = @monostarburst_bitmaps[@current_pose]
 end
 @countarray = (@countarray + 1) % 15
 sprite.x -= 2
 sprite.y += 8
 sprite.opacity -= 1
 end
 if @type == 29 # meteors
 if @countarray > 0
 if rand(20) == 0
 sprite.bitmap = @flame_impact_bitmap
 @countarray = -5
 else
 sprite.x -= 6
 sprite.y += 10
 end
 else
 @countarray += 1
 if @countarray == 0
 sprite.bitmap = @flame_meteor_bitmap
 sprite.opacity = 0
 @count_array = 1
 end
 end
 end
 if @type == 18 # ash
 sprite.y += 2
 case @countarray % 3
 when 0
 sprite.x -= 1
 when 1
 sprite.x += 1
 end
 end
 
 if @type == 14 # sparkles
 if @countarray == 0
 @current_pose = (@current_pose + 1) % @sparkle_bitmaps.size
 sprite.bitmap = @sparkle_bitmaps[@current_pose]
 end
 @countarray = (@countarray + 1) % 15
 sprite.y += 1
 sprite.opacity -= 1
 end
 if @type == 15 # user-defined
 if $WEATHER_UPDATE
 update_user_defined
 $WEATHER_UPDATE = false
 end
 if $WEATHER_ANIMATED and @countarray == 0
 @current_pose = (@current_pose + 1) % @user_bitmaps.size
 sprite.bitmap = @user_bitmaps[@current_pose]
 end
 sprite.x += $WEATHER_X
 sprite.y += $WEATHER_Y
 sprite.opacity -= $WEATHER_FADE
 end
 if @type == 16 # blowing snow
 sprite.x -= 10
 sprite.y += 6
 sprite.opacity -= 4
 end
 if @type == 48 # blood blizzard
 sprite.x -= 10
 sprite.y += 6
 sprite.opacity -= 4
 end
 if @type == 52 # water bombs
 if @countarray > 0
 if rand(20) == 0
 sprite.bitmap = @waterbomb_impact_bitmap
 @countarray = -5
 else
 sprite.x -= 3
 sprite.y += 5
 end
 else
 @countarray += 1
 if @countarray == 0
 sprite.bitmap = @waterbomb_bitmap
 sprite.opacity = 0
 @count_array = 1
 end
 end
 end
 if @type == 53 # icy bombs
 if @countarray > 0
 if rand(20) == 0
 sprite.bitmap = @icybomb_impact_bitmap
 @countarray = -5
 else
 sprite.x -= 3
 sprite.y += 5
 end
 else
 @countarray += 1
 if @countarray == 0
 sprite.bitmap = @icybomb_bitmap
 sprite.opacity = 0
 @count_array = 1
 end
 end
 end
 if @type == 54 # flare bombs
 if @countarray > 0
 if rand(20) == 0
 sprite.bitmap = @flarebomb_impact_bitmap
 @countarray = -5
 else
 sprite.x -= 3
 sprite.y += 5
 end
 else
 @countarray += 1
 if @countarray == 0
 sprite.bitmap = @flarebomb_bitmap
 sprite.opacity = 0
 @count_array = 1
 end
 end
 end
 if @type == 17 # meteors
 if @countarray > 0
 if rand(20) == 0
 sprite.bitmap = @impact_bitmap
 @countarray = -5
 else
 sprite.x -= 6
 sprite.y += 10
 end
 else
 @countarray += 1
 if @countarray == 0
 sprite.bitmap = @meteor_bitmap
 sprite.opacity = 0
 @count_array = 1
 end
 end
 end
 if @type == 18 # ash
 sprite.y += 2
 case @countarray % 3
 when 0
 sprite.x -= 1
 when 1
 sprite.x += 1
 end
 end
 if @type == 19 or @type == 20 # bubbles
 switch = rand(75) + rand(75) + 1
 if @info < switch / 2
 sprite.x -= 1
 else
 sprite.x += 1
 end
 @info = (@info + 1) % switch
 sprite.y -= 1
 if switch % 2 == 0
 sprite.opacity -= 1
 end
 end
 if @type == 21 # sparkles up
 if @countarray == 0
 @current_pose = (@current_pose + 1) % @sparkle_bitmaps.size
 sprite.bitmap = @sparkle_bitmaps[@current_pose]
 end
 @countarray = (@countarray + 1) % 15
 sprite.y -= 1
 sprite.opacity -= 1
 end
 if @type == 24 # falling yellow leaves
 @count = rand(20)
 if @count == 0
 sprite.bitmap = @yellow_leaf_bitmaps[@current_pose]
 @current_pose = (@current_pose + 1) % @yellow_leaf_bitmaps.size
 end
 sprite.x -= 1
 sprite.y += 1
 end
 if @type == 22 # blowing green leaves
 @count = rand(20)
 if @count == 0
 sprite.bitmap = @green_leaf_bitmaps[@current_pose]
 @current_pose = (@current_pose + 1) % @green_leaf_bitmaps.size
 end
 sprite.x -= 10
 sprite.y += (rand(4) - 2)
 end
 if @type == 23 # swirling green leaves
 @count = rand(20)
 if @count == 0
 sprite.bitmap = @green_leaf_bitmaps[@current_pose]
 @current_pose = (@current_pose + 1) % @green_leaf_bitmaps.size
 end
 if @info != 0
 if @info >= 1 and @info <= 10
 sprite.x -= 3
 sprite.y -= 1
 elsif @info >= 11 and @info <= 16
 sprite.x -= 1
 sprite.y -= 2
 elsif @info >= 17 and @info <= 20
 sprite.y -= 3
 elsif @info >= 21 and @info <= 30
 sprite.y -= 2
 sprite.x += 1
 elsif @info >= 31 and @info <= 36
 sprite.y -= 1
 sprite.x += 3
 elsif @info >= 37 and @info <= 40
 sprite.x += 5
 elsif @info >= 41 and @info <= 46
 sprite.y += 1
 sprite.x += 3
 elsif @info >= 47 and @info <= 58
 sprite.y += 2
 sprite.x += 1
 elsif @info >= 59 and @info <= 64
 sprite.y += 3
 elsif @info >= 65 and @info <= 70
 sprite.x -= 1
 sprite.y += 2
 elsif @info >= 71 and @info <= 81
 sprite.x -= 3
 sprite.y += 1
 elsif @info >= 82 and @info <= 87
 sprite.x -= 5
 end
 @info = (@info + 1) % 88
 else
 if rand(200) == 0
 @info = 1
 end
 sprite.x -= 5
 sprite.y += 1
 end
 end
 if @type == 24 # falling yellow leaves
 @count = rand(20)
 if @count == 0
 sprite.bitmap = @yellow_leaf_bitmaps[@current_pose]
 @current_pose = (@current_pose + 1) % @yellow_leaf_bitmaps.size
 end
 sprite.x -= 1
 sprite.y += 1
 end
 if @type == 25 # blowing yellow leaves
 @count = rand(20)
 if @count == 0
 sprite.bitmap = @yellow_leaf_bitmaps[@current_pose]
 @current_pose = (@current_pose + 1) % @yellow_leaf_bitmaps.size
 end
 sprite.x -= 10
 sprite.y += (rand(4) - 2)
 end
 if @type == 26 # swirling yellow leaves
 @count = rand(20)
 if @count == 0
 sprite.bitmap = @yellow_leaf_bitmaps[@current_pose]
 @current_pose = (@current_pose + 1) % @yellow_leaf_bitmaps.size
 end
 if @info != 0
 if @info >= 1 and @info <= 10
 sprite.x -= 3
 sprite.y -= 1
 elsif @info >= 11 and @info <= 16
 sprite.x -= 1
 sprite.y -= 2
 elsif @info >= 17 and @info <= 20
 sprite.y -= 3
 elsif @info >= 21 and @info <= 30
 sprite.y -= 2
 sprite.x += 1
 elsif @info >= 31 and @info <= 36
 | 
 |