Envision, Create, Share

Welcome to HBGames, a leading amateur game development forum and Discord server. All are welcome, and amongst our ranks you will find experts in their field from all aspects of video game design and development.

SDK [ATS] -- Showing Clock

Give me some time, I show it in my menu. Do you want to show it in your menu?

self.contents.draw_text(4, 0, 120, 32, "Time: " +$ats.clock)
#self.contents.draw_text(4, 0, 120, 32, "" +$ats.date)
self.contents.draw_text(4, 16, 120, 32, "" +$ats.full_date)
#self.contents.draw_text(4, 0, 120, 32, "" + $ats.week_day_is.to_s)

#self.contents.draw_text(4, 0, 120, 32, "Period.: " + $ats.period)
#self.contents.draw_text(4, 0, 120, 32, "" + $ats.season)
#self.contents.draw_text(4, 0, 120, 32, "" + $ats.months_is.to_s)
self.contents.draw_text(4, 32, 120, 32, "Location: " + $game_map.map_name)
self.contents.draw_text(4, 48, 120, 32, "Weather: " + $ats.weather_is)

Thats the jist of it. If you need help, just ask.
 
Okay, you put it where you see fit? You want it to show on your map, you must edit Game_Map. Lemme see if i can whip something for you....
Heres a script, I can change it some more, but heres a jist:

Code:
#==============================================================================
# ** Time HUD (Displays Time, Weather, Date, and more!)
#------------------------------------------------------------------------------
# Master InuYasha
# 1.0
# 2006-07-02
#==============================================================================

#------------------------------------------------------------------------------
# * SDK Log Script
#------------------------------------------------------------------------------
SDK.log('Time HUD', 'Mster InuYasha', '1.0', '2006-07-02')
#------------------------------------------------------------------------------
# Begin SDK Enabled Check
#------------------------------------------------------------------------------
if SDK.state('Time HUD') == true

#============================================================================
# ** Window_Time
#----------------------------------------------------------------------------
# This is a window that displays the Time.
#============================================================================

class Window_Time < Window_Base
#--------------------------------------------------------------------------
# * Object Initialization
#--------------------------------------------------------------------------
  def initialize
    super(0, 0, 160, 110)
    self.contents = Bitmap.new(width - 32, height - 32)
    self.contents.font.name = "Tahoma"  # "Time HUD" window font
    self.contents.font.size = 16
    refresh
  end
#--------------------------------------------------------------------------
# * Refresh
#--------------------------------------------------------------------------
  def refresh
    return if Graphics.frame_count % 10 != 0
    self.contents.clear
    self.contents.font.color = text_color(0) 
    self.contents.draw_text(4, 0, 120, 32, "Time: " +$ats.clock)
    #self.contents.draw_text(4, 0, 120, 32, "" +$ats.date)
    self.contents.draw_text(4, 16, 120, 32, "" +$ats.full_date)
    #self.contents.draw_text(4, 0, 120, 32, "" + $ats.week_day_is.to_s)
    #self.contents.draw_text(4, 0, 120, 32, "Period.: " + $ats.period)
    #self.contents.draw_text(4, 0, 120, 32, "" + $ats.season)
    #self.contents.draw_text(4, 0, 120, 32, "" + $ats.months_is.to_s)
    self.contents.draw_text(4, 32, 120, 32, "Location: " + $game_map.map_name)
    self.contents.draw_text(4, 48, 120, 32, "Weather: " + $ats.weather_is)
  end
#--------------------------------------------------------------------------
# * Frame Update
#--------------------------------------------------------------------------
  def update
    super
    if Graphics.frame_count / Graphics.frame_rate != @total_sec
      refresh
    end
  end
end

#============================================================================
# ** Scene_Map
#----------------------------------------------------------------------------
# This class performs map screen processing.
#============================================================================

class Scene_Map
#--------------------------------------------------------------------------
# * Object Aliasing
#--------------------------------------------------------------------------
alias masterinuyasha_time_hud_scenemap_maindraw main_draw
alias masterinuyasha_time_hud_scenemap_updategraphics update_graphics
#--------------------------------------------------------------------------
# * Main Draw
#--------------------------------------------------------------------------
def main_draw
@Time_HUD = Window_Time.new
masterinuyasha_time_hud_scenemap_maindraw
end
#--------------------------------------------------------------------------
# * Update Graphics
#--------------------------------------------------------------------------
def update_graphics
masterinuyasha_time_hud_scenemap_updategraphics
@Time_HUD.update
end
end

#------------------------------------------------------------------------------
# End Script Enable Test
#------------------------------------------------------------------------------

end
[/spoiler]
 
Well, it seems you and I are using two different versions of the ATS and the AWS. Well, I will post both of my scripts, and if you like, replace with yours. As this Time HUD is incompatible with any other version. Plus, the scripts must be separate.

Code:
#===================================================
# â–  AWS- Advanced Weather System
#===================================================
#  By Ccoa
#  with ideas by ScriptKitty and Dr DJ
#
#  Weather Types:
#    1 - rain
#    2 - storm
#    3 - snow
#    4 - hail
#    5 - rain with thunder and lightning
#    6 - falling leaves (autumn)
#    7 - blowing leaves (autumn)
#    8 - swirling leaves (autumn)
#    9 - falling leaves (green)
#   10 - cherry blossom (sakura) petals
#   11 - rose petals
#   12 - feathers
#   13 - blood rain
#   14 - sparkles
#   15 - user defined
#
#  Weather Power:
#    An integer from 0-40.  0 = no weather, 40 = 400 sprites
#
#  Usage:
#    Create a call script with the following:
#       $game_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 = false # whether or not the image should cycle through all the images

module RPG
class Weather
  def initialize(viewport = nil)
    @type = 0
    @max = 0
    @ox = 0
    @oy = 0
    @count = 0
    @current_pose = []
    @info = []
    @countarray = []

    make_bitmaps

    # **** ccoa ****
    for i in 1..500
      sprite = Sprite.new(viewport)
      sprite.z = 1000
      sprite.visible = false
      sprite.opacity = 0
      @sprites.push(sprite)
      @current_pose.push(0)
      @info.push(rand(50))
      @countarray.push(rand(15))
    end
  end
  
  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
    for image in @autumn_leaf_bitmaps
      image.dispose
    end
    for image in @green_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 @user_bitmaps
      image.dispose
    end
    $WEATHER_UPDATE = true
  end
  
  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)]
    else
      bitmap = nil
    end
    if @type != 5
      @thunder = false
    end
    # **** ccoa ****
    for i in 1..500
      sprite = @sprites[i]
      if sprite != nil
        sprite.visible = (i <= @max)
        sprite.bitmap = bitmap
      end
    end
  end
  
  def ox=(ox)
    return if @ox == ox;
    @ox = ox
    for sprite in @sprites
      sprite.ox = @ox
    end
  end
  
  def oy=(oy)
    return if @oy == oy;
    @oy = oy
    for sprite in @sprites
      sprite.oy = @oy
    end
  end
  
  def max=(max)
    return if @max == max;
    # **** ccoa ****
    @max = [[max, 0].max, 500].min
    for i in 1..500
      sprite = @sprites[i]
      if sprite != nil
        sprite.visible = (i <= @max)
      end
    end
  end
  
  def update
    return if @type == 0
    for i in 1..@max
      sprite = @sprites[i]
      if sprite == nil
        break
      end
      if @type == 1 or @type == 5 or @type == 13 # rain
        sprite.x -= 2
        sprite.y += 16
        sprite.opacity -= 8
        if @thunder and (rand(8000 - @max) == 0)
          $game_screen.start_flash(Color.new(255, 255, 255, 255), 5)
          Audio.se_play("Audio/SE/061-Thunderclap01")
        end
      end
      if @type == 2 # storm
        sprite.x -= 8
        sprite.y += 16
        sprite.opacity -= 12
      end
      if @type == 3 # snow
        sprite.x -= 2
        sprite.y += 8
        sprite.opacity -= 8
      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[i]]
          @current_pose[i] = (@current_pose[i] + 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[i]]
          @current_pose[i] = (@current_pose[i] + 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[i]]
          @current_pose[i] = (@current_pose[i] + 1) % @autumn_leaf_bitmaps.size
        end
        if @info[i] != 0
          if @info[i] >= 1 and @info[i] <= 10
            sprite.x -= 3
            sprite.y -= 1
          elsif @info[i] >= 11 and @info[i] <= 16
            sprite.x -= 1
            sprite.y -= 2
          elsif @info[i] >= 17 and @info[i] <= 20
            sprite.y -= 3
          elsif @info[i] >= 21 and @info[i] <= 30
            sprite.y -= 2
            sprite.x += 1
          elsif @info[i] >= 31 and @info[i] <= 36
            sprite.y -= 1
            sprite.x += 3
          elsif @info[i] >= 37 and @info[i] <= 40
            sprite.x += 5
          elsif @info[i] >= 41 and @info[i] <= 46
            sprite.y += 1
            sprite.x += 3
          elsif @info[i] >= 47 and @info[i] <= 58
            sprite.y += 2
            sprite.x += 1
          elsif @info[i] >= 59 and @info[i] <= 64
            sprite.y += 3
          elsif @info[i] >= 65 and @info[i] <= 70
            sprite.x -= 1
            sprite.y += 2
          elsif @info[i] >= 71 and @info[i] <= 81
            sprite.x -= 3
            sprite.y += 1
          elsif @info[i] >= 82 and @info[i] <= 87
            sprite.x -= 5
          end
          @info[i] = (@info[i] + 1) % 88
        else
          if rand(200) == 0
            @info[i] = 1
          end
          sprite.x -= 5
          sprite.y += 1
        end
      end
      if @type == 9 # falling green leaves
        if @countarray[i] == 0
          @current_pose[i] = (@current_pose[i] + 1) % @green_leaf_bitmaps.size
          sprite.bitmap = @green_leaf_bitmaps[@current_pose[i]]
          @countarray[i] = rand(15)
        end
        @countarray[i] = (@countarray[i] + 1) % 15
        sprite.y += 1
      end
      if @type == 10 # sakura petals
        if @info[i] < 25
          sprite.x -= 1
        else
          sprite.x += 1
        end
        @info[i] = (@info[i] + 1) % 50
        sprite.y += 1
      end
      if @type == 11 # rose petals
        @count = rand(20)
        if @count == 0
          sprite.bitmap = @rose_bitmaps[@current_pose[i]]
          @current_pose[i] = (@current_pose[i] + 1) % @rose_bitmaps.size
        end
        if @info[i] % 2 == 0
          if @info[i] < 10
            sprite.x -= 1
          elsif 
            sprite.x += 1
          end
        end
        sprite.y += 1
      end
      if @type == 12 # feathers
        if @countarray[i] == 0
          @current_pose[i] = (@current_pose[i] + 1) % @feather_bitmaps.size
          sprite.bitmap = @feather_bitmaps[@current_pose[i]]
        end
        @countarray[i] = (@countarray[i] + 1) % 15
        if rand(100) == 0
          sprite.x -= 1
        end
        if rand(100) == 0
          sprite.y -= 1
        end
        if @info[i] < 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[i] = (@info[i] + 1) % 100
      end
      if @type == 14 # sparkles
        if @countarray[i] == 0
          @current_pose[i] = (@current_pose[i] + 1) % @sparkle_bitmaps.size
          sprite.bitmap = @sparkle_bitmaps[@current_pose[i]]
        end
        @countarray[i] = (@countarray[i] + 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[i] == 0
          @current_pose[i] = (@current_pose[i] + 1) % @user_bitmaps.size
          sprite.bitmap = @user_bitmaps[@current_pose[i]]
        end
        sprite.x += $WEATHER_X
        sprite.y += $WEATHER_Y
        sprite.opacity -= $WEATHER_FADE
      end

      x = sprite.x - @ox
      y = sprite.y - @oy
      if sprite.opacity < 64 or x < -50 or x > 750 or y < -300 or y > 500
        sprite.x = rand(800) - 50 + @ox
        sprite.y = rand(800) - 200 + @oy
        sprite.opacity = 255
      end
    end
  end
  
  def make_bitmaps
    color1 = Color.new(255, 255, 255, 255)
    color2 = Color.new(255, 255, 255, 128)
    @rain_bitmap = Bitmap.new(7, 56)
    for i in 0..6
      @rain_bitmap.fill_rect(6-i, i*8, 1, 8, color1)
    end
    @storm_bitmap = Bitmap.new(34, 64)
    for i in 0..31
      @storm_bitmap.fill_rect(33-i, i*2, 1, 2, color2)
      @storm_bitmap.fill_rect(32-i, i*2, 1, 2, color1)
      @storm_bitmap.fill_rect(31-i, i*2, 1, 2, color2)
    end
    @snow_bitmap = Bitmap.new(6, 6)
    @snow_bitmap.fill_rect(0, 1, 6, 4, color2)
    @snow_bitmap.fill_rect(1, 0, 4, 6, color2)
    @snow_bitmap.fill_rect(1, 2, 4, 2, color1)
    @snow_bitmap.fill_rect(2, 1, 2, 4, color1)
    @sprites = []
    
    blueGrey  = Color.new(215, 227, 227, 150)
    grey      = Color.new(214, 217, 217, 150)
    lightGrey = Color.new(233, 233, 233, 250)
    lightBlue = Color.new(222, 239, 243, 250)
    @hail_bitmap = Bitmap.new(4, 4)
    @hail_bitmap.fill_rect(1, 0, 2, 1, blueGrey)
    @hail_bitmap.fill_rect(0, 1, 1, 2, blueGrey)
    @hail_bitmap.fill_rect(3, 1, 1, 2, grey)
    @hail_bitmap.fill_rect(1, 3, 2, 1, grey)
    @hail_bitmap.fill_rect(1, 1, 2, 2, lightGrey)
    @hail_bitmap.set_pixel(1, 1, lightBlue)
    
    
    color3 = Color.new(255, 167, 192, 255) # light pink
    color4 = Color.new(213, 106, 136, 255) # dark pink
    @petal_bitmap = Bitmap.new(4, 4) #This creates a new bitmap that is 4 x 4 pixels
    @petal_bitmap.fill_rect(0, 3, 1, 1, color3) # this makes a 1x1 pixel "rectangle" at the 0, 3 pixel of the image (upper left corner is 0, 0)
    @petal_bitmap.fill_rect(1, 2, 1, 1, color3)
    @petal_bitmap.fill_rect(2, 1, 1, 1, color3)
    @petal_bitmap.fill_rect(3, 0, 1, 1, color3)
    @petal_bitmap.fill_rect(1, 3, 1, 1, color4)
    @petal_bitmap.fill_rect(2, 2, 1, 1, color4)
    @petal_bitmap.fill_rect(3, 1, 1, 1, color4)
    
    
    brightOrange = Color.new(248, 88, 0, 255)   
    orangeBrown  = Color.new(144, 80, 56, 255) 
    burntRed     = Color.new(152, 0, 0, 255) 
    paleOrange   = Color.new(232, 160, 128, 255) 
    darkBrown    = Color.new(72, 40, 0, 255)
    @autumn_leaf_bitmaps = []
    @autumn_leaf_bitmaps.push(Bitmap.new(8, 8))
    # draw the first of the leaf1 bitmaps
    @autumn_leaf_bitmaps[0].set_pixel(5, 1, orangeBrown)
    @autumn_leaf_bitmaps[0].set_pixel(6, 1, brightOrange)
    @autumn_leaf_bitmaps[0].set_pixel(7, 1, paleOrange)
    @autumn_leaf_bitmaps[0].set_pixel(3, 2, orangeBrown)
    @autumn_leaf_bitmaps[0].fill_rect(4, 2, 2, 1, brightOrange)
    @autumn_leaf_bitmaps[0].set_pixel(6, 2, paleOrange)
    @autumn_leaf_bitmaps[0].set_pixel(2, 3, orangeBrown)
    @autumn_leaf_bitmaps[0].set_pixel(3, 3, brightOrange)
    @autumn_leaf_bitmaps[0].fill_rect(4, 3, 2, 1, paleOrange)
    @autumn_leaf_bitmaps[0].set_pixel(1, 4, orangeBrown)
    @autumn_leaf_bitmaps[0].set_pixel(2, 4, brightOrange)
    @autumn_leaf_bitmaps[0].set_pixel(3, 4, paleOrange)
    @autumn_leaf_bitmaps[0].set_pixel(1, 5, brightOrange)
    @autumn_leaf_bitmaps[0].set_pixel(2, 5, paleOrange)
    @autumn_leaf_bitmaps[0].set_pixel(0, 6, orangeBrown)
    @autumn_leaf_bitmaps[0].set_pixel(1, 6, paleOrange)
    @autumn_leaf_bitmaps[0].set_pixel(0, 7, paleOrange)
    
    # draw the 2nd of the leaf1 bitmaps
    @autumn_leaf_bitmaps.push(Bitmap.new(8, 8))
    @autumn_leaf_bitmaps[1].set_pixel(3, 0, brightOrange)
    @autumn_leaf_bitmaps[1].set_pixel(7, 0, brightOrange)
    @autumn_leaf_bitmaps[1].set_pixel(3, 1, orangeBrown)
    @autumn_leaf_bitmaps[1].set_pixel(4, 1, burntRed)
    @autumn_leaf_bitmaps[1].set_pixel(6, 1, brightOrange)
    @autumn_leaf_bitmaps[1].set_pixel(0, 2, paleOrange)
    @autumn_leaf_bitmaps[1].set_pixel(1, 2, brightOrange)
    @autumn_leaf_bitmaps[1].set_pixel(2, 2, orangeBrown)
    @autumn_leaf_bitmaps[1].set_pixel(3, 2, burntRed)
    @autumn_leaf_bitmaps[1].set_pixel(4, 2, orangeBrown)
    @autumn_leaf_bitmaps[1].set_pixel(5, 2, brightOrange)
    @autumn_leaf_bitmaps[1].fill_rect(1, 3, 3, 1, orangeBrown)
    @autumn_leaf_bitmaps[1].fill_rect(4, 3, 2, 1, brightOrange)
    @autumn_leaf_bitmaps[1].set_pixel(6, 3, orangeBrown)
    @autumn_leaf_bitmaps[1].set_pixel(2, 4, burntRed)
    @autumn_leaf_bitmaps[1].fill_rect(3, 4, 3, 1, brightOrange)
    @autumn_leaf_bitmaps[1].set_pixel(6, 4, burntRed)
    @autumn_leaf_bitmaps[1].set_pixel(7, 4, darkBrown)
    @autumn_leaf_bitmaps[1].set_pixel(1, 5, orangeBrown)
    @autumn_leaf_bitmaps[1].fill_rect(2, 5, 2, 1, brightOrange)
    @autumn_leaf_bitmaps[1].set_pixel(4, 5, orangeBrown)
    @autumn_leaf_bitmaps[1].set_pixel(5, 5, burntRed)
    @autumn_leaf_bitmaps[1].fill_rect(1, 6, 2, 1, brightOrange)
    @autumn_leaf_bitmaps[1].fill_rect(4, 6, 2, 1, burntRed)
    @autumn_leaf_bitmaps[1].set_pixel(0, 7, brightOrange)
    @autumn_leaf_bitmaps[1].set_pixel(5, 7, darkBrown)
    
    # draw the 3rd of the leaf1 bitmaps
    @autumn_leaf_bitmaps.push(Bitmap.new(8, 8))
    @autumn_leaf_bitmaps[2].set_pixel(7, 1, paleOrange)
    @autumn_leaf_bitmaps[2].set_pixel(6, 2, paleOrange)
    @autumn_leaf_bitmaps[2].set_pixel(7, 2, orangeBrown)
    @autumn_leaf_bitmaps[2].set_pixel(5, 3, paleOrange)
    @autumn_leaf_bitmaps[2].set_pixel(6, 3, brightOrange)
    @autumn_leaf_bitmaps[2].set_pixel(4, 4, paleOrange)
    @autumn_leaf_bitmaps[2].set_pixel(5, 4, brightOrange)
    @autumn_leaf_bitmaps[2].set_pixel(6, 4, orangeBrown)
    @autumn_leaf_bitmaps[2].fill_rect(2, 5, 2, 1, paleOrange)
    @autumn_leaf_bitmaps[2].set_pixel(4, 5, brightOrange)
    @autumn_leaf_bitmaps[2].set_pixel(5, 5, orangeBrown)
    @autumn_leaf_bitmaps[2].set_pixel(1, 6, paleOrange)
    @autumn_leaf_bitmaps[2].fill_rect(2, 6, 2, 1, brightOrange)
    @autumn_leaf_bitmaps[2].set_pixel(4, 6, orangeBrown)
    @autumn_leaf_bitmaps[2].set_pixel(0, 7, paleOrange)
    @autumn_leaf_bitmaps[2].set_pixel(1, 7, brightOrange)
    @autumn_leaf_bitmaps[2].set_pixel(2, 7, orangeBrown)
    
    # draw the 4th of the leaf1 bitmaps
    @autumn_leaf_bitmaps.push(Bitmap.new(8, 8))
    @autumn_leaf_bitmaps[3].set_pixel(3, 0, brightOrange)
    @autumn_leaf_bitmaps[3].set_pixel(7, 0, brightOrange)
    @autumn_leaf_bitmaps[3].set_pixel(3, 1, orangeBrown)
    @autumn_leaf_bitmaps[3].set_pixel(4, 1, burntRed)
    @autumn_leaf_bitmaps[3].set_pixel(6, 1, brightOrange)
    @autumn_leaf_bitmaps[3].set_pixel(0, 2, paleOrange)
    @autumn_leaf_bitmaps[3].set_pixel(1, 2, brightOrange)
    @autumn_leaf_bitmaps[3].set_pixel(2, 2, orangeBrown)
    @autumn_leaf_bitmaps[3].set_pixel(3, 2, burntRed)
    @autumn_leaf_bitmaps[3].set_pixel(4, 2, orangeBrown)
    @autumn_leaf_bitmaps[3].set_pixel(5, 2, brightOrange)
    @autumn_leaf_bitmaps[3].fill_rect(1, 3, 3, 1, orangeBrown)
    @autumn_leaf_bitmaps[3].fill_rect(4, 3, 2, 1, brightOrange)
    @autumn_leaf_bitmaps[3].set_pixel(6, 3, orangeBrown)
    @autumn_leaf_bitmaps[3].set_pixel(2, 4, burntRed)
    @autumn_leaf_bitmaps[3].fill_rect(3, 4, 3, 1, brightOrange)
    @autumn_leaf_bitmaps[3].set_pixel(6, 4, burntRed)
    @autumn_leaf_bitmaps[3].set_pixel(7, 4, darkBrown)
    @autumn_leaf_bitmaps[3].set_pixel(1, 5, orangeBrown)
    @autumn_leaf_bitmaps[3].fill_rect(2, 5, 2, 1, brightOrange)
    @autumn_leaf_bitmaps[3].set_pixel(4, 5, orangeBrown)
    @autumn_leaf_bitmaps[3].set_pixel(5, 5, burntRed)
    @autumn_leaf_bitmaps[3].fill_rect(1, 6, 2, 1, brightOrange)
    @autumn_leaf_bitmaps[3].fill_rect(4, 6, 2, 1, burntRed)
    @autumn_leaf_bitmaps[3].set_pixel(0, 7, brightOrange)
    @autumn_leaf_bitmaps[3].set_pixel(5, 7, darkBrown)
    
    @green_leaf_bitmaps = []
    darkGreen  = Color.new(62, 76, 31, 255)
    midGreen   = Color.new(76, 91, 43, 255)
    khaki      = Color.new(105, 114, 66, 255)
    lightGreen = Color.new(128, 136, 88, 255)
    mint       = Color.new(146, 154, 106, 255)
    
    # 1st leaf bitmap
    @green_leaf_bitmaps[0] = Bitmap.new(8, 8)
    @green_leaf_bitmaps[0].set_pixel(1, 0, darkGreen)
    @green_leaf_bitmaps[0].set_pixel(1, 1, midGreen)
    @green_leaf_bitmaps[0].set_pixel(2, 1, darkGreen)
    @green_leaf_bitmaps[0].set_pixel(2, 2, khaki)
    @green_leaf_bitmaps[0].set_pixel(3, 2, darkGreen)
    @green_leaf_bitmaps[0].set_pixel(4, 2, khaki)
    @green_leaf_bitmaps[0].fill_rect(2, 3, 3, 1, midGreen)
    @green_leaf_bitmaps[0].set_pixel(5, 3, khaki)
    @green_leaf_bitmaps[0].fill_rect(2, 4, 2, 1, midGreen)
    @green_leaf_bitmaps[0].set_pixel(4, 4, darkGreen)
    @green_leaf_bitmaps[0].set_pixel(5, 4, lightGreen)
    @green_leaf_bitmaps[0].set_pixel(6, 4, khaki)
    @green_leaf_bitmaps[0].set_pixel(3, 5, midGreen)
    @green_leaf_bitmaps[0].set_pixel(4, 5, darkGreen)
    @green_leaf_bitmaps[0].set_pixel(5, 5, khaki)
    @green_leaf_bitmaps[0].set_pixel(6, 5, lightGreen)
    @green_leaf_bitmaps[0].set_pixel(4, 6, midGreen)
    @green_leaf_bitmaps[0].set_pixel(5, 6, darkGreen)
    @green_leaf_bitmaps[0].set_pixel(6, 6, lightGreen)
    @green_leaf_bitmaps[0].set_pixel(6, 7, khaki)
    
    # 2nd leaf bitmap
    @green_leaf_bitmaps[1] = Bitmap.new(8, 8)
    @green_leaf_bitmaps[1].fill_rect(1, 1, 1, 2, midGreen)
    @green_leaf_bitmaps[1].fill_rect(2, 2, 2, 1, khaki)
    @green_leaf_bitmaps[1].set_pixel(4, 2, lightGreen)
    @green_leaf_bitmaps[1].fill_rect(2, 3, 2, 1, darkGreen)
    @green_leaf_bitmaps[1].fill_rect(4, 3, 2, 1, lightGreen)
    @green_leaf_bitmaps[1].set_pixel(2, 4, midGreen)
    @green_leaf_bitmaps[1].set_pixel(3, 4, darkGreen)
    @green_leaf_bitmaps[1].set_pixel(4, 4, khaki)
    @green_leaf_bitmaps[1].fill_rect(5, 4, 2, 1, lightGreen)
    @green_leaf_bitmaps[1].set_pixel(3, 5, midGreen)
    @green_leaf_bitmaps[1].set_pixel(4, 5, darkGreen)
    @green_leaf_bitmaps[1].set_pixel(5, 5, khaki)
    @green_leaf_bitmaps[1].set_pixel(6, 5, lightGreen)
    @green_leaf_bitmaps[1].set_pixel(5, 6, darkGreen)
    @green_leaf_bitmaps[1].fill_rect(6, 6, 2, 1, khaki)
    
    # 3rd leaf bitmap
    @green_leaf_bitmaps[2] = Bitmap.new(8, 8)
    @green_leaf_bitmaps[2].set_pixel(1, 1, darkGreen)
    @green_leaf_bitmaps[2].fill_rect(1, 2, 2, 1, midGreen)
    @green_leaf_bitmaps[2].set_pixel(2, 3, midGreen)
    @green_leaf_bitmaps[2].set_pixel(3, 3, darkGreen)
    @green_leaf_bitmaps[2].set_pixel(4, 3, midGreen)
    @green_leaf_bitmaps[2].fill_rect(2, 4, 2, 1, midGreen)
    @green_leaf_bitmaps[2].set_pixel(4, 4, darkGreen)
    @green_leaf_bitmaps[2].set_pixel(5, 4, lightGreen)
    @green_leaf_bitmaps[2].set_pixel(3, 5, midGreen)
    @green_leaf_bitmaps[2].set_pixel(4, 5, darkGreen)
    @green_leaf_bitmaps[2].fill_rect(5, 5, 2, 1, khaki)
    @green_leaf_bitmaps[2].fill_rect(4, 6, 2, 1, midGreen)
    @green_leaf_bitmaps[2].set_pixel(6, 6, lightGreen)
    @green_leaf_bitmaps[2].set_pixel(6, 7, khaki)
    
    # 4th leaf bitmap
    @green_leaf_bitmaps[3] = Bitmap.new(8, 8)
    @green_leaf_bitmaps[3].fill_rect(0, 3, 1, 2, darkGreen)
    @green_leaf_bitmaps[3].set_pixel(1, 4, midGreen)
    @green_leaf_bitmaps[3].set_pixel(2, 4, khaki)
    @green_leaf_bitmaps[3].set_pixel(3, 4, lightGreen)
    @green_leaf_bitmaps[3].set_pixel(4, 4, darkGreen)
    @green_leaf_bitmaps[3].set_pixel(7, 4, midGreen)
    @green_leaf_bitmaps[3].set_pixel(1, 5, darkGreen)
    @green_leaf_bitmaps[3].set_pixel(2, 5, midGreen)
    @green_leaf_bitmaps[3].set_pixel(3, 5, lightGreen)
    @green_leaf_bitmaps[3].set_pixel(4, 5, mint)
    @green_leaf_bitmaps[3].set_pixel(5, 5, lightGreen)
    @green_leaf_bitmaps[3].set_pixel(6, 5, khaki)
    @green_leaf_bitmaps[3].set_pixel(7, 5, midGreen)
    @green_leaf_bitmaps[3].fill_rect(2, 6, 2, 1, midGreen)
    @green_leaf_bitmaps[3].set_pixel(4, 6, lightGreen)
    @green_leaf_bitmaps[3].set_pixel(5, 6, khaki)
    @green_leaf_bitmaps[3].set_pixel(6, 6, midGreen)
    
    # 5th leaf bitmap
    @green_leaf_bitmaps[4] = Bitmap.new(8, 8)
    @green_leaf_bitmaps[4].set_pixel(6, 2, midGreen)
    @green_leaf_bitmaps[4].set_pixel(7, 2, darkGreen)
    @green_leaf_bitmaps[4].fill_rect(4, 3, 2, 1, midGreen)
    @green_leaf_bitmaps[4].set_pixel(6, 3, khaki)
    @green_leaf_bitmaps[4].set_pixel(2, 4, darkGreen)
    @green_leaf_bitmaps[4].fill_rect(3, 4, 2, 1, khaki)
    @green_leaf_bitmaps[4].set_pixel(5, 4, lightGreen)
    @green_leaf_bitmaps[4].set_pixel(6, 4, khaki)
    @green_leaf_bitmaps[4].set_pixel(1, 5, midGreen)
    @green_leaf_bitmaps[4].set_pixel(2, 5, khaki)
    @green_leaf_bitmaps[4].set_pixel(3, 5, lightGreen)
    @green_leaf_bitmaps[4].set_pixel(4, 5, mint)
    @green_leaf_bitmaps[4].set_pixel(5, 5, midGreen)
    @green_leaf_bitmaps[4].set_pixel(2, 6, darkGreen)
    @green_leaf_bitmaps[4].fill_rect(3, 6, 2, 1, midGreen)
    
    # 6th leaf bitmap
    @green_leaf_bitmaps[5] = Bitmap.new(8, 8)
    @green_leaf_bitmaps[5].fill_rect(6, 2, 2, 1, midGreen)
    @green_leaf_bitmaps[5].fill_rect(4, 3, 2, 1, midGreen)
    @green_leaf_bitmaps[5].set_pixel(6, 3, khaki)
    @green_leaf_bitmaps[5].set_pixel(3, 4, midGreen)
    @green_leaf_bitmaps[5].set_pixel(4, 4, khaki)
    @green_leaf_bitmaps[5].set_pixel(5, 4, lightGreen)
    @green_leaf_bitmaps[5].set_pixel(6, 4, mint)
    @green_leaf_bitmaps[5].set_pixel(1, 5, midGreen)
    @green_leaf_bitmaps[5].set_pixel(2, 5, khaki)
    @green_leaf_bitmaps[5].fill_rect(3, 5, 2, 1, mint)
    @green_leaf_bitmaps[5].set_pixel(5, 5, lightGreen)
    @green_leaf_bitmaps[5].set_pixel(2, 6, midGreen)
    @green_leaf_bitmaps[5].set_pixel(3, 6, khaki)
    @green_leaf_bitmaps[5].set_pixel(4, 6, lightGreen)
    
    # 7th leaf bitmap
    @green_leaf_bitmaps[6] = Bitmap.new(8, 8)
    @green_leaf_bitmaps[6].fill_rect(6, 1, 1, 2, midGreen)
    @green_leaf_bitmaps[6].fill_rect(4, 2, 2, 1, midGreen)
    @green_leaf_bitmaps[6].fill_rect(6, 2, 1, 2, darkGreen)
    @green_leaf_bitmaps[6].fill_rect(3, 3, 2, 1, midGreen)
    @green_leaf_bitmaps[6].set_pixel(5, 3, khaki)
    @green_leaf_bitmaps[6].set_pixel(2, 4, midGreen)
    @green_leaf_bitmaps[6].set_pixel(3, 4, khaki)
    @green_leaf_bitmaps[6].set_pixel(4, 4, lightGreen)
    @green_leaf_bitmaps[6].set_pixel(5, 4, midGreen)
    @green_leaf_bitmaps[6].set_pixel(1, 5, midGreen)
    @green_leaf_bitmaps[6].set_pixel(2, 5, khaki)
    @green_leaf_bitmaps[6].fill_rect(3, 5, 2, 1, midGreen)
    @green_leaf_bitmaps[6].set_pixel(1, 6, darkGreen)
    @green_leaf_bitmaps[6].set_pixel(2, 6, midGreen)
    
    # 8th leaf bitmap
    @green_leaf_bitmaps[7] = Bitmap.new(8, 8)
    @green_leaf_bitmaps[7].set_pixel(6, 1, midGreen)
    @green_leaf_bitmaps[7].fill_rect(4, 2, 3, 2, midGreen)
    @green_leaf_bitmaps[7].set_pixel(3, 3, darkGreen)
    @green_leaf_bitmaps[7].set_pixel(2, 4, darkGreen)
    @green_leaf_bitmaps[7].set_pixel(3, 4, midGreen)
    @green_leaf_bitmaps[7].fill_rect(4, 4, 2, 1, khaki)
    @green_leaf_bitmaps[7].set_pixel(1, 5, darkGreen)
    @green_leaf_bitmaps[7].set_pixel(2, 5, midGreen)
    @green_leaf_bitmaps[7].fill_rect(3, 5, 2, 1, lightGreen)
    @green_leaf_bitmaps[7].set_pixel(2, 6, midGreen)
    @green_leaf_bitmaps[7].set_pixel(3, 6, lightGreen)
    
    # 9th leaf bitmap
    @green_leaf_bitmaps[8] = Bitmap.new(8, 8)
    @green_leaf_bitmaps[8].fill_rect(6, 1, 1, 2, midGreen)
    @green_leaf_bitmaps[8].fill_rect(4, 2, 2, 1, midGreen)
    @green_leaf_bitmaps[8].fill_rect(6, 2, 1, 2, darkGreen)
    @green_leaf_bitmaps[8].fill_rect(3, 3, 2, 1, midGreen)
    @green_leaf_bitmaps[8].set_pixel(5, 3, khaki)
    @green_leaf_bitmaps[8].set_pixel(2, 4, midGreen)
    @green_leaf_bitmaps[8].set_pixel(3, 4, khaki)
    @green_leaf_bitmaps[8].set_pixel(4, 4, lightGreen)
    @green_leaf_bitmaps[8].set_pixel(5, 4, midGreen)
    @green_leaf_bitmaps[8].set_pixel(1, 5, midGreen)
    @green_leaf_bitmaps[8].set_pixel(2, 5, khaki)
    @green_leaf_bitmaps[8].fill_rect(3, 5, 2, 1, midGreen)
    @green_leaf_bitmaps[8].set_pixel(1, 6, darkGreen)
    @green_leaf_bitmaps[8].set_pixel(2, 6, midGreen)
    
    # 10th leaf bitmap
    @green_leaf_bitmaps[9] = Bitmap.new(8, 8)
    @green_leaf_bitmaps[9].fill_rect(6, 2, 2, 1, midGreen)
    @green_leaf_bitmaps[9].fill_rect(4, 3, 2, 1, midGreen)
    @green_leaf_bitmaps[9].set_pixel(6, 3, khaki)
    @green_leaf_bitmaps[9].set_pixel(3, 4, midGreen)
    @green_leaf_bitmaps[9].set_pixel(4, 4, khaki)
    @green_leaf_bitmaps[9].set_pixel(5, 4, lightGreen)
    @green_leaf_bitmaps[9].set_pixel(6, 4, mint)
    @green_leaf_bitmaps[9].set_pixel(1, 5, midGreen)
    @green_leaf_bitmaps[9].set_pixel(2, 5, khaki)
    @green_leaf_bitmaps[9].fill_rect(3, 5, 2, 1, mint)
    @green_leaf_bitmaps[9].set_pixel(5, 5, lightGreen)
    @green_leaf_bitmaps[9].set_pixel(2, 6, midGreen)
    @green_leaf_bitmaps[9].set_pixel(3, 6, khaki)
    @green_leaf_bitmaps[9].set_pixel(4, 6, lightGreen)
    
    # 11th leaf bitmap
    @green_leaf_bitmaps[10] = Bitmap.new(8, 8)
    @green_leaf_bitmaps[10].set_pixel(6, 2, midGreen)
    @green_leaf_bitmaps[10].set_pixel(7, 2, darkGreen)
    @green_leaf_bitmaps[10].fill_rect(4, 3, 2, 1, midGreen)
    @green_leaf_bitmaps[10].set_pixel(6, 3, khaki)
    @green_leaf_bitmaps[10].set_pixel(2, 4, darkGreen)
    @green_leaf_bitmaps[10].fill_rect(3, 4, 2, 1, khaki)
    @green_leaf_bitmaps[10].set_pixel(5, 4, lightGreen)
    @green_leaf_bitmaps[10].set_pixel(6, 4, khaki)
    @green_leaf_bitmaps[10].set_pixel(1, 5, midGreen)
    @green_leaf_bitmaps[10].set_pixel(2, 5, khaki)
    @green_leaf_bitmaps[10].set_pixel(3, 5, lightGreen)
    @green_leaf_bitmaps[10].set_pixel(4, 5, mint)
    @green_leaf_bitmaps[10].set_pixel(5, 5, midGreen)
    @green_leaf_bitmaps[10].set_pixel(2, 6, darkGreen)
    @green_leaf_bitmaps[10].fill_rect(3, 6, 2, 1, midGreen)
    
    # 12th leaf bitmap
    @green_leaf_bitmaps[11] = Bitmap.new(8, 8)
    @green_leaf_bitmaps[11].fill_rect(0, 3, 1, 2, darkGreen)
    @green_leaf_bitmaps[11].set_pixel(1, 4, midGreen)
    @green_leaf_bitmaps[11].set_pixel(2, 4, khaki)
    @green_leaf_bitmaps[11].set_pixel(3, 4, lightGreen)
    @green_leaf_bitmaps[11].set_pixel(4, 4, darkGreen)
    @green_leaf_bitmaps[11].set_pixel(7, 4, midGreen)
    @green_leaf_bitmaps[11].set_pixel(1, 5, darkGreen)
    @green_leaf_bitmaps[11].set_pixel(2, 5, midGreen)
    @green_leaf_bitmaps[11].set_pixel(3, 5, lightGreen)
    @green_leaf_bitmaps[11].set_pixel(4, 5, mint)
    @green_leaf_bitmaps[11].set_pixel(5, 5, lightGreen)
    @green_leaf_bitmaps[11].set_pixel(6, 5, khaki)
    @green_leaf_bitmaps[11].set_pixel(7, 5, midGreen)
    @green_leaf_bitmaps[11].fill_rect(2, 6, 2, 1, midGreen)
    @green_leaf_bitmaps[11].set_pixel(4, 6, lightGreen)
    @green_leaf_bitmaps[11].set_pixel(5, 6, khaki)
    @green_leaf_bitmaps[11].set_pixel(6, 6, midGreen)
    
    # 13th leaf bitmap
    @green_leaf_bitmaps[12] = Bitmap.new(8, 8)
    @green_leaf_bitmaps[12].set_pixel(1, 1, darkGreen)
    @green_leaf_bitmaps[12].fill_rect(1, 2, 2, 1, midGreen)
    @green_leaf_bitmaps[12].set_pixel(2, 3, midGreen)
    @green_leaf_bitmaps[12].set_pixel(3, 3, darkGreen)
    @green_leaf_bitmaps[12].set_pixel(4, 3, midGreen)
    @green_leaf_bitmaps[12].fill_rect(2, 4, 2, 1, midGreen)
    @green_leaf_bitmaps[12].set_pixel(4, 4, darkGreen)
    @green_leaf_bitmaps[12].set_pixel(5, 4, lightGreen)
    @green_leaf_bitmaps[12].set_pixel(3, 5, midGreen)
    @green_leaf_bitmaps[12].set_pixel(4, 5, darkGreen)
    @green_leaf_bitmaps[12].fill_rect(5, 5, 2, 1, khaki)
    @green_leaf_bitmaps[12].fill_rect(4, 6, 2, 1, midGreen)
    @green_leaf_bitmaps[12].set_pixel(6, 6, lightGreen)
    @green_leaf_bitmaps[12].set_pixel(6, 7, khaki)
    
    @rose_bitmaps = []
    brightRed = Color.new(255, 0, 0, 255)
    midRed    = Color.new(179, 17, 17, 255)
    darkRed   = Color.new(141, 9, 9, 255)
    
    # 1st rose petal bitmap
    @rose_bitmaps[0] = Bitmap.new(3, 3)
    @rose_bitmaps[0].fill_rect(1, 0, 2, 1, brightRed)
    @rose_bitmaps[0].fill_rect(0, 1, 1, 2, brightRed)
    @rose_bitmaps[0].fill_rect(1, 1, 2, 2, midRed)
    @rose_bitmaps[0].set_pixel(2, 2, darkRed)
    
    # 2nd rose petal bitmap
    @rose_bitmaps[1] = Bitmap.new(3, 3)
    @rose_bitmaps[1].set_pixel(0, 1, midRed)
    @rose_bitmaps[1].set_pixel(1, 1, brightRed)
    @rose_bitmaps[1].fill_rect(1, 2, 1, 2, midRed)
    
    @feather_bitmaps = []
    white = Color.new(255, 255, 255, 255)
    
    # 1st feather bitmap
    @feather_bitmaps[0] = Bitmap.new(3, 3)
    @feather_bitmaps[0].set_pixel(0, 2, white)
    @feather_bitmaps[0].set_pixel(1, 2, grey)
    @feather_bitmaps[0].set_pixel(2, 1, grey)
    
    # 2nd feather bitmap
    @feather_bitmaps[0] = Bitmap.new(3, 3)
    @feather_bitmaps[0].set_pixel(0, 0, white)
    @feather_bitmaps[0].set_pixel(0, 1, grey)
    @feather_bitmaps[0].set_pixel(1, 2, grey)
    
    # 3rd feather bitmap
    @feather_bitmaps[0] = Bitmap.new(3, 3)
    @feather_bitmaps[0].set_pixel(2, 0, white)
    @feather_bitmaps[0].set_pixel(1, 0, grey)
    @feather_bitmaps[0].set_pixel(0, 1, grey)
    
    # 4th feather bitmap
    @feather_bitmaps[0] = Bitmap.new(3, 3)
    @feather_bitmaps[0].set_pixel(2, 2, white)
    @feather_bitmaps[0].set_pixel(2, 1, grey)
    @feather_bitmaps[0].set_pixel(1, 0, grey)
    
    @blood_rain_bitmap = Bitmap.new(7, 56)
    for i in 0..6
      @blood_rain_bitmap.fill_rect(6-i, i*8, 1, 8, darkRed)
    end
    
    @sparkle_bitmaps = []
    
    lightBlue = Color.new(181, 244, 255, 255)
    midBlue   = Color.new(126, 197, 235, 255)
    darkBlue  = Color.new(77, 136, 225, 255)
    
    # 1st sparkle bitmap
    @sparkle_bitmaps[0] = Bitmap.new(7, 7)
    @sparkle_bitmaps[0].set_pixel(3, 3, darkBlue)
    
    # 2nd sparkle bitmap
    @sparkle_bitmaps[1] = Bitmap.new(7, 7)
    @sparkle_bitmaps[1].fill_rect(3, 2, 1, 3, darkBlue)
    @sparkle_bitmaps[1].fill_rect(2, 3, 3, 1, darkBlue)
    @sparkle_bitmaps[1].set_pixel(3, 3, midBlue)
    
    # 3rd sparkle bitmap
    @sparkle_bitmaps[2] = Bitmap.new(7, 7)
    @sparkle_bitmaps[2].set_pixel(1, 1, darkBlue)
    @sparkle_bitmaps[2].set_pixel(5, 1, darkBlue)
    @sparkle_bitmaps[2].set_pixel(2, 2, midBlue)
    @sparkle_bitmaps[2].set_pixel(4, 2, midBlue)
    @sparkle_bitmaps[2].set_pixel(3, 3, lightBlue)
    @sparkle_bitmaps[2].set_pixel(2, 4, midBlue)
    @sparkle_bitmaps[2].set_pixel(4, 4, midBlue)
    @sparkle_bitmaps[2].set_pixel(1, 5, darkBlue)
    @sparkle_bitmaps[2].set_pixel(5, 5, darkBlue)
    
    # 4th sparkle bitmap
    @sparkle_bitmaps[3] = Bitmap.new(7, 7)
    @sparkle_bitmaps[3].fill_rect(3, 1, 1, 5, darkBlue)
    @sparkle_bitmaps[3].fill_rect(1, 3, 5, 1, darkBlue)
    @sparkle_bitmaps[3].fill_rect(3, 2, 1, 3, midBlue)
    @sparkle_bitmaps[3].fill_rect(2, 3, 3, 1, midBlue)
    @sparkle_bitmaps[3].set_pixel(3, 3, lightBlue)
    
    # 5th sparkle bitmap
    @sparkle_bitmaps[4] = Bitmap.new(7, 7)
    @sparkle_bitmaps[4].fill_rect(2, 2, 3, 3, midBlue)
    @sparkle_bitmaps[4].fill_rect(3, 2, 1, 3, darkBlue)
    @sparkle_bitmaps[4].fill_rect(2, 3, 3, 1, darkBlue)
    @sparkle_bitmaps[4].set_pixel(3, 3, lightBlue)
    @sparkle_bitmaps[4].set_pixel(1, 1, darkBlue)
    @sparkle_bitmaps[4].set_pixel(5, 1, darkBlue)
    @sparkle_bitmaps[4].set_pixel(1, 5, darkBlue)
    @sparkle_bitmaps[4].set_pixel(5, 1, darkBlue)
    
    # 6th sparkle bitmap
    @sparkle_bitmaps[5] = Bitmap.new(7, 7)
    @sparkle_bitmaps[5].fill_rect(2, 1, 3, 5, darkBlue)
    @sparkle_bitmaps[5].fill_rect(1, 2, 5, 3, darkBlue)
    @sparkle_bitmaps[5].fill_rect(2, 2, 3, 3, midBlue)
    @sparkle_bitmaps[5].fill_rect(3, 1, 1, 5, midBlue)
    @sparkle_bitmaps[5].fill_rect(1, 3, 5, 1, midBlue)
    @sparkle_bitmaps[5].fill_rect(3, 2, 1, 3, lightBlue)
    @sparkle_bitmaps[5].fill_rect(2, 3, 3, 1, lightBlue)
    @sparkle_bitmaps[5].set_pixel(3, 3, white)
    
    # 7th sparkle bitmap
    @sparkle_bitmaps[6] = Bitmap.new(7, 7)
    @sparkle_bitmaps[6].fill_rect(2, 1, 3, 5, midBlue)
    @sparkle_bitmaps[6].fill_rect(1, 2, 5, 3, midBlue)
    @sparkle_bitmaps[6].fill_rect(3, 0, 1, 7, darkBlue)
    @sparkle_bitmaps[6].fill_rect(0, 3, 7, 1, darkBlue)
    @sparkle_bitmaps[6].fill_rect(2, 2, 3, 3, lightBlue)
    @sparkle_bitmaps[6].fill_rect(3, 2, 1, 3, midBlue)
    @sparkle_bitmaps[6].fill_rect(2, 3, 3, 1, midBlue)
    @sparkle_bitmaps[6].set_pixel(3, 3, white)
    
    @user_bitmaps = []
    update_user_defined
  end
  
  def update_user_defined
    for image in @user_bitmaps
      image.dispose
    end
    
    #user-defined bitmaps
    for name in $WEATHER_IMAGES
      @user_bitmaps.push(RPG::Cache.picture(name))
    end
    for sprite in @sprites
      sprite.bitmap = @user_bitmaps[rand(@user_bitmaps.size)]
    end
  end
  
  attr_reader :type
  attr_reader :max
  attr_reader :ox
  attr_reader :oy
end
end
[/spoiler]
Code:
#===================================================
# â–  ATS - Advanced Time System
#===================================================
# Rewiten by Near Fantastica
# Date: 23.07.05
# Version: 1
#
# Written by Dubealex
# Date: 26.11.04
#
# Thanks to Satana_81 for the test tilesets
#===================================================

#===================================================
# â–¼ CLASS Advanced_Time Begins
#===================================================
class Advanced_Time
  
    attr_reader :define_start_sec
    attr_reader :weather_type
    attr_reader :weather_strength

   def initialize
     @weather_pattern = []
     @cycle_period=[]
     @tint_period=[]
     @cycle_season=[]
     @name_period=[]
     @name_season=[]
     @name_month=[]
     @name_day=[]
     @start_clock=[]
     @start_date=[]

=begin -----------------------------------------------------------------------------------------------------
      â–  Advanced Time System Settings:
      ---------------------------------------------------------------------------------------------------------
      â–¼ Day Night System Transitioning :
      
      The DNS is built in to the time system and therefore any map you want to have the DNS
      active on place a "*" in the name of the map.
      ---------------------------------------------------------------------------------------------------------
      â–¼ Method of Season Transitioning :
       
      ●  Titleset Transitioning = The tileset its replaced
          When Titleset Transitioning is set the script will pull the tileset and autotiles used 
          set to the season ID. For exmaple "Plains 1" for tileset or "Water 1" for autotiles. 
          The script will then automaticly change the 1 to the season ID which will load the 
          new tileset. Maps that the developer wishes to have the tileset changing place 
          a "~" in the name. 
          
      ●  Map Transitioning = The Map is replaced
          When Map Transitioning is set the script changes the whole map. It will transport the
          player to the same x,y on a map with the same name and the matching season ID.
          For example "Town [1]". The script will then automaticaly change the 1 to the 
          season ID which will load the new map. Maps that the developer wishes to have 
          the map changing place "[Season ID]"  in the map name where Season ID is the ID 
          of the season of that map.
=end #----------------------------------------------------------------------------------------------------

=begin -----------------------------------------------------------------------------------------------------
      â–  Advanced Weather System Settings:
      ---------------------------------------------------------------------------------------------------------
      â–¼ Weather Patterns :
      
      With the Advanced Weather System by Ccoa the Advanced Time System and keep track
      and change weather depending on season. The flag $aws must be set true if the weather
      script is to be used.
      
      1 - rain                    5 - rain with thunder and lightning
      2 - storm                 6 - falling leaves (autumn)
      3 - snow                  7 - blowing leaves (autumn)
      4 - hail                    8 - swirling leaves (autumn)
      
      The script randomly picks bettween having weather and no weather.
      Then the script randomly picks the weather if there is going to be weather.
      If the same weather is added more then once it will add to % chnage that weather 
      will be picked. If the same weather is picked again its power is inceased. The
      range of power is 10 - 40. @weather_cycle is the % of weather for the game.
      0 = very little and 10 = a lot of weather. @weather_period is the amount 
      of time in mintues till the next weather cycle range  = 1-59. @bgs_control is 
      a flag that tells the script to inculde BGS with Dynamic Weather 
=end #----------------------------------------------------------------------------------------------------

      @aws = true
      @bgs_control = true
      @active_weather = false
      @weather_type = 0
      @weather_strength = 0
      @weather_cycle = 5
      @weather_period = 30
      @weather_pattern[1] = [3]
      @weather_pattern[2] = [1,1,2,3]
      @weather_pattern[3] = [1,1,2,5]
      @weather_pattern[4] = [1,2,4,5]
      @weather_pattern[5] = [1,1,2,6]
      @weather_pattern[5] = [1,1,3,7,8]

=begin -----------------------------------------------------------------------------------------------------
      â–  ATS Settings Configuration:
      ---------------------------------------------------------------------------------------------------------
      â–¼ LENGTH AND SPEED OF TIME:
       
      Those variables defines the speed and length of every aspect of the ATS.
      @time_speed define how fast a seconds last. Setting it to 0 makes a real time system.
      Below 0 is a slower time than normal, and higher than 0 will accelerate the time.
      The length value are used to customize the length of every component of the ATS.
      Remember that since it is the SPEED setting that defines how fast the time goes,
      you don't have to say that a minute last 30 sec to make it faster. You can leave it
      as real-time, and just accelerate the length of a second with @time_speed !
=end #----------------------------------------------------------------------------------------------------
      
      @ats_time_speed = 0               # 0 is a Real Time System
      @minutes_length = 60               # Seconds
      @hour_length = 60                    # Minutes
      @day_length = 24                     # Hours
      @week_length = 7                     # Days
      @month_length = 30                # Days
      @year_length = 12                   # Months
      @decade_length = 10                # Years
      @century_length = 100              # Years
      @millenium_length = 1000        # Years
      
=begin ----------------------------------------------------------------------------------------------------
       â–¼ GAME DEFAULT START-UP VALUES:
      
       Here you can define the default start-up values for each components. The data
       you enter here will be taken into consideration at each new game started. So if you want
       your game to begin at 2:12 pm, you can adjust all that in here. You can also set some
       basic default options you have, like trigger the AM/PM time format ON/OFF.
       You don't have to set the start-up season and period, since it will be set automatically
       with the date and the clock.
=end #-----------------------------------------------------------------------------------------------------
      
    @clock_mode = 1               # 1= 24 hours format / 2= AM/PM flag format
     @start_clock   = [10,00,00]     # [hour, min, sec] -> Write in 24 hours format.
     @start_date    = [4,24,2234] # [month, day, year]  
      
      
=begin -----------------------------------------------------------------------------------------------------
       â–¼ ATS PERIODS CYCLE SETTINGS:
      
      An ATS Period works just as my old NDS Period.
      Periods defines a 24 hours loop - Example: Morning>Day>Evening>Night
      Here you can defines what is the cycle (in hours) for each periods.
      You can have as much period as you desire, I created the 4 main one, as shown
      in the example above. To add period, simply copy a line and replace the ID of the
      period by the next in line. DO NOT skip numbers.
      Syntax: @cycle_period[ID] --> Don't use ID0. (You can name them later).
      Example: @cycle_period[1] = (5..11) Will make the period ID#1  begins at 5am
      and ends at 11am. Use the 24 hours clock format to defines the period length.
=end #-----------------------------------------------------------------------------------------------------
      
      @cycle_period[1] = (5..11)  #Defined as (start_hour..end_hour)
      @cycle_period[2] = (12..18)
      @cycle_period[3] = (19..22)
      @cycle_period[4] = (23..24)
      @cycle_period[5] = (0..4)

=begin ----------------------------------------------------------------------------------------------------
      â–¼ ATS PERIODS COLOR TONE (TINT) SETTINGS:
      
      Here you can define what will be the color tone used for each periods.
      Use the same period ID defined above. Example: @tint_period[1] is the tint used
      with the @cycle_period[1] settings.
      Syntax: @tint_period[1] = [red, green, blue, gray, transition_time]  
      To know the number you want for your tint, simply opens a RPG Maker Project, and
      create an event, choose "Tint Screen" and test the values you want, then enter them
      in here.
=end #-----------------------------------------------------------------------------------------------------
      
      @tint_period[1] = [0, -40, -60, 50, 600]
      @tint_period[2] = [0, 0, 0, 0, 600]
      @tint_period[3] = [-68, -85, -34, 120, 600]
      @tint_period[4] = [-150, -100, -50, 180, 600]  
      @tint_period[5] = [-95, -78, -44, 180, 600]
      
=begin -----------------------------------------------------------------------------------------------------
      â–¼ SEASONS CYCLE SETTINGS:
      
      Here you can define how much time last every season. This is an "optional" feature.
      You can just leave it alone if you aren't using it. This work as the periods, but seasons
      are defined using months instead of hours. To know how it works, read the periods comments.
      Example: @cycle_season[1] = (6..8) Will make the season ID#1  begins on the
      6th month of the year, and end on the last day of the 8th month of the year.
=end #-----------------------------------------------------------------------------------------------------
       
      @cycle_season[1] = (1..2) #Defined as (start_month..end_month)
      @cycle_season[2] = (3..4)
      @cycle_season[3] = (5..6)
      @cycle_season[4] = (7..8)
      @cycle_season[5] = (9..10)
      @cycle_season[6] = (11..12)
      
      
=begin ----------------------------------------------------------------------------------------------------
      â–¼ ATS COMPONENT'S NAMES SETTINGS:
      
      Here you can choose the name tagged to every relevant component of the ATS.
      The words you defined here will be used in window and menus in your game.
      It make it easy to configure and customize that way. You can also refer to those variables
      names if you need to access any component's names. That way, if you make a mistake or 
      want to change something in the middle of your development, you can easily do it.
      If you added/deleted periods/seasons, just adjust this section too. So if you created a season
      ID#6, you can copy a line from here and add the 6 where it belongs. (Between [ ])
      This is also were you define all your Months and Days name. It work the same way.
      @name_month[1] will refer to the first month of your year. By default, it's January.
=end #----------------------------------------------------------------------------------------------------
      
      @name_period[1] = "Morning"
      @name_period[2] = "Day"
      @name_period[3] = "Evening"
      @name_period[4] = "Night"
      @name_period[5] = "Night"
      
      @name_season[1] = "Winter"
      @name_season[2] = "Spring"
      @name_season[3] = "Summer"
      @name_season[4] = "Summer"
      @name_season[5] = "Autumn"
      @name_season[6] = "Autumn"
      
      @name_month[1]  = "January"
      @name_month[2]  = "February"
      @name_month[3]  = "March"
      @name_month[4]  = "April"
      @name_month[5]  = "May"
      @name_month[6]  = "June"
      @name_month[7]  = "July"
      @name_month[8]  = "August"
      @name_month[9]  = "September"
      @name_month[10]= "October"
      @name_month[11]= "November"
      @name_month[12]= "December"
      
      @name_day[1] = "Monday"
      @name_day[2] = "Tuesday"
      @name_day[3] = "Wednesday"
      @name_day[4] = "Thursday"
      @name_day[5] = "Friday"
      @name_day[6] = "Saturday"
      @name_day[7] = "Sunday"      
      
#--- â–  END OF SETTINGS (No Need To Edit Further)-------------------------------------------
           
      @speed_restore = 0
      if @ats_time_speed >= Graphics.frame_rate
         @ats_time_speed=Graphics.frame_rate-1
       end
      @year_length+=1 
      @month_length+=1
      if @start_clock[0] >= 12 : @am=false else @am=true end
      define_start_sec_in_hours= @start_clock[0] * @minutes_length * @hour_length
      define_start_sec_in_min= @start_clock[1] * @minutes_length
      @define_start_sec= define_start_sec_in_hours+define_start_sec_in_min+@start_clock[2] 
   end

# â–  WRITE ATTRIBUTE (Modify ATS Data) (No Need To Edit)----------------------------------  
  def sec(sec=0)
    @define_start_sec+=sec
  end

#--------------------------------------------------------------------------------------------------------
  def min(min=0)
    @define_start_sec+=min*@minutes_length
  end

#--------------------------------------------------------------------------------------------------------
  def hours(hours=0)
    @define_start_sec+=hours*@minutes_length*@hour_length
  end  
  
#--------------------------------------------------------------------------------------------------------  
  def days(days=0)
    if days<0 : @rewind=true end
    @define_start_sec+=days*@minutes_length*@hour_length*@day_length
  end  
  
#--------------------------------------------------------------------------------------------------------  
  def months(months=0)
     if months<0 : @rewind=true end
    @define_start_sec+=months*@minutes_length*@hour_length*@day_length*@month_length
  end 
  
#--------------------------------------------------------------------------------------------------------     
  def speed(speed=0)
    @speed_restore = @ats_time_speed
    @ats_time_speed = speed
  end

#--------------------------------------------------------------------------------------------------------     
  def speed_restore
    @ats_time_speed = @speed_restore
  end 
    
# â–  READ ATTRIBUTE (Fetch ATS Data) (No Need To Edit)-------------------------------------  
  def full_date
    day_name=@name_day[week_day_is]
    month_name=@name_month[months_is] 
    month_day=month_day_is
    year= total_years_is
    full_date= day_name + ", " + month_name + " " + month_day.to_s  + " " +  year.to_s
    return full_date
  end

#--------------------------------------------------------------------------------------------------------     
  def speed_is
    return @ats_time_speed
  end 
  
#--------------------------------------------------------------------------------------------------------     
   def total_sec_is
     ats_total_sec = (Graphics.frame_count / (Graphics.frame_rate-@ats_time_speed))+@define_start_sec
     return ats_total_sec
   end 

#--------------------------------------------------------------------------------------------------------     
   def total_years_is
      total_years=(total_months_is / @year_length) + @start_date[2] 
     return total_years
   end 
 
#--------------------------------------------------------------------------------------------------------     
   def total_months_is
     total_months=(total_days_is / @month_length) + @start_date[0] 
     return total_months
   end 

#--------------------------------------------------------------------------------------------------------       
   def total_decades_is
     total_decades=total_years_is / @decade_length
     return total_decades
   end 

#--------------------------------------------------------------------------------------------------------       
   def total_centuries_is
     total_centuries=total_years_is / @century_length
     return total_centuries
   end 

#--------------------------------------------------------------------------------------------------------       
   def total_millenium_is
      total_millenium=total_years_is/@millenium_length
     return total_millenium
   end 
      
#--------------------------------------------------------------------------------------------------------       
   def total_weeks_is
     total_weeks= total_days_is / @week_length
     return total_weeks
   end 
        
#--------------------------------------------------------------------------------------------------------        
   def total_hours_is
     total_hours= total_sec_is / @minutes_length / @hour_length
     return total_hours
   end 
   
#--------------------------------------------------------------------------------------------------------        
   def total_min_is
     total_min = total_sec_is / @minutes_length
     return total_min
   end   
   
#--------------------------------------------------------------------------------------------------------     
   def date
     month=months_is
     month_day=month_day_is
     year=total_years_is
     date=sprintf("%02d/%02d/%04d", month, month_day, year)
     return date
   end 

#--------------------------------------------------------------------------------------------------------     
   def clock
     
     hour=hours_is
     min=min_is
     sec=secs_is
     
     if @clock_mode == 1
        clock=sprintf("%02d:%02d:%02d", hour, min, sec)
        return clock
      else
        if @am==true : am_pm=AM" else am_pm="PM" end
        clock=sprintf("%02d:%02d:%02d %s", hour, min, sec, am_pm)
        return clock
    end
   end
    
#--------------------------------------------------------------------------------------------------------      
   def hours_is
     hour=real_hour=real_hours
      if @clock_mode == 2
        if @am==false and real_hour !=12 : hour-=(@day_length/2) end
        hour %= (@day_length/2)+1
        if real_hour < (@day_length/2) : @am=true else @am=false end
         if hour==0 : hour=1 end
         if real_hour==0 : hour=12 end
         end   
     return hour
   end
   
#--------------------------------------------------------------------------------------------------------      
   def real_hours
     real_hour = total_sec_is / @minutes_length / @hour_length % @day_length
     return real_hour
   end 
   
#--------------------------------------------------------------------------------------------------------     
   def secs_is
     sec = total_sec_is % @minutes_length
     return sec
   end 

#--------------------------------------------------------------------------------------------------------     
   def min_is
     mins = total_sec_is / @minutes_length % @hour_length
     return mins
   end 

#--------------------------------------------------------------------------------------------------------     
   def total_days_is
     total_days = (total_sec_is / @minutes_length / @hour_length / @day_length) + @start_date[1] 
     return total_days
   end 
    
#--------------------------------------------------------------------------------------------------------     
   def week_day_is
     week_day= total_days_is % @week_length 
     if week_day==0 : week_day=@week_length end
     return week_day
   end 

#--------------------------------------------------------------------------------------------------------     
   def week_name
     return @name_day[week_day_is]
   end 
    
#--------------------------------------------------------------------------------------------------------     
   def month_name
     return @name_month[months_is] 
   end 

#--------------------------------------------------------------------------------------------------------     
    def months_is
       month=total_months_is % @year_length
       if @rewind==true
        if month==0 : months(-1) end
          @rewind=false  
      else
        if month==0 : months(1) end
      end    
      return month
    end 

#--------------------------------------------------------------------------------------------------------     
   def month_day_is
     month_day=total_days_is % @month_length
     if @rewind==true
       if month_day==0 : days(-1) end
         @rewind=false  
     else
       if month_day==0 : days(1) end
     end    
     return month_day
   end 
       
#--------------------------------------------------------------------------------------------------------     
   def period_id
     for i in 1...@cycle_period.size
       if @cycle_period[i] === $ats.real_hours
        return i
        break
       end  
     end  
   end 
   
#--------------------------------------------------------------------------------------------------------     
   def period
     for i in 1...@cycle_period.size
       if @cycle_period[i] === real_hours
        if i==0 : i=1 end
        return @name_period[i]
        break
       end  
     end  
   end 

#--------------------------------------------------------------------------------------------------------   
def period_tint
     for i in 1...@cycle_period.size
       if @cycle_period[i] === real_hours
        return [-50, -50, -50, 50, 100] if i == 2 and $game_screen.weather_type != 0
        return @tint_period[i]
        break
       end  
     end  
   end 
 
#--------------------------------------------------------------------------------------------------------     
   def season
     for i in 1...@cycle_season.size
       if @cycle_season[i] === months_is
        return @name_season[i]
        break
       end  
     end  
   end 
 
#--------------------------------------------------------------------------------------------------------     
   def season_id
     for i in 1...@cycle_season.size
       if @cycle_season[i] === months_is
        if i==0 : i=1 end
        return i
        break
       end  
     end  
   end 

#--------------------------------------------------------------------------------------------------------     
   def start_seconds
     return @define_start_sec
   end
   
#--------------------------------------------------------------------------------------------------------     
  def weather_active(flag)
    @aws = flag
  end
  
#--------------------------------------------------------------------------------------------------------     
  def weather_bgs(flag)
    @bgs_control = flag
  end

#--------------------------------------------------------------------------------------------------------     
  def stop_weather
    $game_screen.weather(0, 0, 0)
    set_weather_bgs(0)
  end
  
#--------------------------------------------------------------------------------------------------------     
  def weather_is
    case $game_screen.weather_type
    when 0
      return "Clear"
    when 1
      return "Rain"
    when 2
      return "Storm"
    when 3
      return "Snow"
    when 4..5
      return "Gale"
    when 6..8
      return "Windy"
    end
  end
  
#--------------------------------------------------------------------------------------------------------     
  def set_weather_bgs(type)
    return if @bgs_control == false
    bgs = BGS.new
    bgs.volume = 80
    bgs.pitch = 100
    case type
    when 0
      $game_system.bgs_fade(10)
    when 1
      bgs.name = "005-Rain01"
      $game_system.bgs_play(bgs)
    when 2
      bgs.name = "006-Rain02"
      $game_system.bgs_play(bgs)
    when 3
      $game_system.bgs_fade(10)
    when 4..5
      bgs.name = "007-Rain03"
      $game_system.bgs_play(bgs)
    when 6
      bgs.name = "001-Wind01"
      $game_system.bgs_play(bgs)
    when 7
      bgs.name = "002-Wind02"
      $game_system.bgs_play(bgs)
    when 8
      bgs.name = "003-Wind03"
      $game_system.bgs_play(bgs)
    end
  end
  
#--------------------------------------------------------------------------------------------------------     
  def weather
    return if @aws == false
    return if $game_map.weather_active == false
    if min_is % @weather_period == 0 and @active_weather == false
      @active_weather = true
      if rand(10).between?(0, @weather_cycle)
        pattern = @weather_pattern[season_id]
        size = pattern.size - 1
        type = pattern[rand(size).to_i]
        if @weather_type == type
          if @weather_strength.between?(0, 40)
            @weather_strength += 10 
            else
            @weather_strength = 40
          end
        else
          @weather_strength = 10
        end
        @weather_type = type
        $game_screen.weather(@weather_type, @weather_strength, 0)
        set_weather_bgs(@weather_type)
      else
        @active_weather = true
        @weather_strength = 0
        $game_screen.weather(0, 0, 0)
        set_weather_bgs(0)
      end
    else
      @active_weather = false if min_is % @weather_period != 0
    end
  end
   
end
#===================================================
# â–² CLASS Advanced_Time Ends
#===================================================


#===================================================
# â–¼ CLASS Scene_Map Additional Code Begins
#===================================================
class Scene_Map

alias ats_scene_map_main main
alias ats_scene_map_update update
   
   def main
     if $game_map.dns_active
       tone = $ats.period_tint
       $game_screen.start_tone_change(Tone.new(tone[0],tone[1],tone[2],tone[3]),0)
     end
     #@alex_ats_window = ATS_TimeTest_Window.new
     ats_scene_map_main
     #@alex_ats_window.dispose
   end
   
   def update
     ats_scene_map_update
     #@alex_ats_window.update
     $ats.weather
     if $game_map.dns_active
       tone = $ats.period_tint
       $game_screen.start_tone_change(Tone.new(tone[0],tone[1],tone[2],tone[3]),tone[4])
     end
   end  
   
end
#===================================================
# â–² CLASS Scene_Map Additional Code Ends
#===================================================


#===================================================
# â–¼ CLASS ATS_TimeTest_Window Begins
#===================================================
class ATS_TimeTest_Window < Window_Base
  
  def initialize
    super(0,0,250,400)
    self.contents = Bitmap.new(width - 32, height - 32)
    self.contents.font.name = "Tahoma"
    self.contents.font.size =16
    self.opacity = 100
    update   
  end  
  
  def refresh
  #def update #testing and debugging window
    return if Graphics.frame_count % 10 != 0
    self.contents.clear
    self.contents.font.color = text_color(0) 
    self.contents.draw_text(0, 0, 400, 32, "Current Full Clock: " +$ats.clock)
    self.contents.draw_text(0, 16, 400, 32, "Small Date: " +$ats.date)
    self.contents.draw_text(0, 32, 400, 32, "Full Date: " +$ats.full_date)
    self.contents.draw_text(0, 60, 400, 32, "Week ID#: " + $ats.week_day_is.to_s)

    self.contents.draw_text(0, 80, 400, 32, "Period: " + $ats.period)
    self.contents.draw_text(0, 100, 400, 32, "Season: " + $ats.season)
    self.contents.draw_text(0, 120, 400, 32, "Month ID#: " + $ats.months_is.to_s)
    self.contents.draw_text(0, 140, 400, 32, "Map Name#: " + $game_map.map_name)
    self.contents.draw_text(0, 160, 400, 32, "Weather: " + $ats.weather_is)
  end
end 
#===================================================
# â–² CLASS ATS_TimeTest_Window Ends
#===================================================

#===================================================
# â–¼ CLASS Scene_Title Additional Code Begins
#===================================================
class Scene_Title
  $ats=Advanced_Time.new
end  
#===================================================
# â–² CLASS Scene_Title Additional Code Ends
#===================================================


#===================================================
# â–¼ CLASS Game_Map Additional Code Begins
#===================================================
class Game_Map

  attr_accessor :tileset_refresh
  attr_accessor :tileset_transition
  attr_accessor :map_transition
  attr_accessor :dns_active
  attr_accessor :weather_active
  attr_accessor :lights_refresh
  attr_accessor :shadows_refresh
  attr_accessor :shadows_redraw

  alias ats_game_map_update update
  alias ats_game_map_setup setup
  alias ats_game_map_initialize initialize

  def initialize
    ats_game_map_initialize
    @tileset_refresh = false
    @season = $ats.season_id
    @tileset_transition = false
    @map_transition = false
    @dns_active = false
    @weather_active = false
    @lights_refresh = false
    @shadows_refresh = false
    @shadows_redraw = false
    @map_transition_id = 0
  end

  def setup(map_id)
    ats_game_map_setup(map_id)
    # Setup
    @dns_active = false
    @weather_active = false
    @tileset_transition = false
    @map_transition = false
    
    map_infos = load_data("Data/MapInfos.rxdata")
    # DNS
    if map_infos[map_id].name.include?("*")
      map_infos[map_id].name.delete!("*")
      @dns_active = true
      tone = $ats.period_tint
      $game_screen.start_tone_change(Tone.new(tone[0],tone[1],tone[2],tone[3]),0)
    else
      $game_screen.start_tone_change(Tone.new(0,0,0,0),0)
    end
    # Dynamic Weather
    if map_infos[map_id].name.include?("^")
      map_infos[map_id].name.delete!("^")
      @weather_active = true
      $game_screen.weather($ats.weather_type, $ats.weather_strength, 0)
      $ats.set_weather_bgs($ats.weather_type)
    else
      $game_screen.weather(0, 0, 0)
      $ats.set_weather_bgs(0)
    end
    # Tileset Transition
    if map_infos[map_id].name.include?("&")
      map_infos[map_id].name.delete!("&")
      @tileset_transition = true
    end
    # Map Transition
    if map_infos[map_id].name.include?("[") and map_infos[map_id].name.include?(]")
      index = map_infos[map_id].name.index("[")
      temp = map_infos[map_id].name[index+1].chr
      map_infos[map_id].name.delete!(temp)
      map_infos[map_id].name.delete!("[")
      map_infos[map_id].name.delete!("]")
      @map_transition = true
    end
    @map_name = map_infos[map_id].name
    # Tileset Transition
    if @tileset_transition
 
Yes, I do not have that one, so it probably uses different variables then $ats.clock. Sorry for the inconvience. Ill look into it, and see if it can be changed to be compatible with your script. Did you check out the demo, and see if that was what you were looking for? The data can be commented out, location changed, everything.
 

Aran

Member

Heh. Yer better than I am ^^

Here's what I made, but I get an error somewhere in the SDK

Code:
#==============================================================================
# ** Time HUD 
#------------------------------------------------------------------------------
# Aran
# 1.0
# 2006-07-02
#==============================================================================

#------------------------------------------------------------------------------
# * SDK Log Script
#------------------------------------------------------------------------------
SDK.log('Time HUD', 'Aran', '1.0', '2006-07-02')
#------------------------------------------------------------------------------
# Begin SDK Enabled Check
#------------------------------------------------------------------------------
if SDK.state('Time_HUD') == true

#=====================================================================
# *Time HUD
#=====================================================================
class HUD_ATS_Time < Window_Base

def initialize
super(0,0,160, 110)
self.contents = Bitmap.new(width - 32, height - 32)
self.opacity = 0
self.contents.font.size = 16
self.contents.font.name = Goudy Old Style
refresh
end

def refresh
self.contents.clear
self.contents.draw_text(4,0,120,32,"Time:" + $ats.clock)
self.contents.draw_text(4,16,120,32, "Date:" + $ats.date)
self.contents.draw_text(4,32,120, 32, "Location:" + $game_map.map_name)
self.contents.draw_text(4,48,120, 32, "Weather:" + $ats.weather_is)
end

end



#=====================================================================
# *Scene_Map
#=====================================================================
class Scene_Map

alias aran_time_hud_scn_map_main main
alias aran_time_hud_scn_map_update update

def main
@time_hud = HUD_ATS_TIME.new
@time_hud.active == true
aran_time_hud_scn_map_main
end

def update
if Input.trigger?Input::R && @time_hud.active == false
@time_hud.active == true
elsif Input.trigger?Input::R && @time_hud.active == true
@time_hud.active == false
end
aran_time_hud_scn_map_update
end
 
end

#------------------------------------------------------------------------------
# *End Script Enable Test
#------------------------------------------------------------------------------
end

I used your cooridinates and paramters (x,y,width,height,etc.) and I'm not sure how to use the % and %= so I didn't bother -_-

I want this to work *sniffle*
 
Ill tell ya why, first in the part here:
SDK.log('Time HUD', 'Aran', '1.0', '2006-07-02')
You have it as Time HUD
but then here:
if SDK.state('Time_HUD') == true
you have it as Time_HUD
of course it will error out! ;)

Your script has alot off errors, I know made it so it is based on a switch, which I got from MeisMes HUD script. That part I did not know. Know, what Im trying to do it, when you press "R", it turns the switch on or off. Maybe ill implement it as a common event. But i have edited my original script to include the switch. Ill reupload the demo once i get it working how you like it.
 
Yes, but unfortunetly, yours doesnt work...:(
Well, I have done it. But, you wont like what you see. It done via events, paralell event, and script.
Redownload my demo. It works, but youll see what you dont wanna see! :) Press "W" on your keyboard to turn the hud on/off.
 

Thank you for viewing

HBGames is a leading amateur video game development forum and Discord server open to all ability levels. Feel free to have a nosey around!

Discord

Join our growing and active Discord server to discuss all aspects of game making in a relaxed environment. Join Us

Content

  • Our Games
  • Games in Development
  • Emoji by Twemoji.
    Top