#==============================================================================
# ** Brouillard d'RMXP pou RMVX
#------------------------------------------------------------------------------
# Ce script crée un effet de brouillard comme dans RPG maker XP. Utiliser les brouillard proposés dans
# RPG Maker XP.
# 08-03-2008 (dd-mm-aaaa)
Hevendor de rmxp.org
# 09-03-2008 Edits/additions by Jirbytaylor
# 09-03-2008 (dd-mm-aaaa) Edité par Hevendor
# 31/07/2008 (dd-mm-aaaa) Traduit par Blockade
# Version 1.2.3
#==============================================================================
module Fog_Map_Settings
#============================================================================
# * Comfigure le lien vers le(s) fichier(s) de brouillard. Format:
# {numéro_du_brouillard => 'nom_du_fichier.extension', ...}
# Ou nom_du_fichier.extension doit être un fichier de brouillard et son extention
# DANS le dossier pictures du jeu.
#============================================================================
Fog_names = {1 => 'Fog01.png', #Utilisé
2 => 'Fog01.png',
3 => 'Fog01.png',
4 => 'Fog01.png', #Utilisé
5 => 'Fog01.png',
6 => 'Fog01.png', #Utilisé
}
#============================================================================
# * Les maps ou vous voulez afficher le brouillard. Format:
# Fog_maps = {mapID => numéro_du_brouillard , mapID2 => numéro_du_brouillard, ...}
#============================================================================
Fog_maps = {2 => 1,8 => 6,9 => 6,11 => 6,12 => 6,13 => 1,15 => 1,16 => 1,18 => 1,}
#============================================================================
# * Options d'affichage du brouillard. Utiliser (numéro_du_brouillard => paramètre , ...) format
# - Opacity - Opacitée du brouillard, comprise entre 0 (invisible) et 255 (opaque)
# - Zoom - Taille du brouillard '1' est normal, pas '100'
# - Blend - Si : 0 - Normal
# 1 - Clair
# 2 - Sombre
# - SxSy - Paramètre des défilements (numéro_du_brouillard => [sx,sy], ...)
#============================================================================
Fog_opacity = {1 => 130,
2 => 100,
3 => 100,
4 => 80,
5 => 25,
6 => 50,}
Fog_zoom = {1 => 3,
2 => 3,
3 => 3,
4 => 7,
5 => 7,
6 => 7,}
Fog_blend = {1 => 0,
2 => 0,
3 => 0,
4 => 0,
5 => 0,
6 => 1,}
Fog_sxsy = {1 => [3, 2],
2 => [6, 6],
3 => [4,4],
4 => [13,8],
5 => [1,1],
6 => [4, 3],}
end
class Game_Map
#--------------------------------------------------------------------------
# * Public Instance Variables
#--------------------------------------------------------------------------
attr_reader :map_id # map ID
attr_reader :fog_ox # fog oX
attr_reader :fog_oy # fog oY
#--------------------------------------------------------------------------
# * Alias Definitions
#--------------------------------------------------------------------------
alias hev_fog_feature_map_update update
alias hev_fog_feature_map_initialize initialize
#--------------------------------------------------------------------------
# * Object Initialization
#--------------------------------------------------------------------------
def initialize
@fog_ox = 0
@fog_oy = 0
hev_fog_feature_map_initialize
end
#--------------------------------------------------------------------------
# * Update Fog
#--------------------------------------------------------------------------
def update_fog
if Fog_Map_Settings::Fog_maps.include?($game_map.map_id)
@fog_ox -= Fog_Map_Settings::Fog_sxsy[Fog_Map_SettingsFog_maps[@map_id]][0] / 8.0
@fog_oy -= Fog_Map_Settings::Fog_sxsy[Fog_Map_SettingsFog_maps[@map_id]][1] / 8.0
end
end
#--------------------------------------------------------------------------
# * Frame Update
#--------------------------------------------------------------------------
def update
hev_fog_feature_map_update
update_fog
end
end
class Spriteset_Map
#--------------------------------------------------------------------------
# * Alias Definitions
#--------------------------------------------------------------------------
alias hev_fog_feature_initialize initialize
alias hev_fog_feature_create_viewports create_viewports
alias hev_fog_feature_dispose dispose
alias hev_fog_feature_update_viewports update_viewports
alias hev_fog_feature_update update
#--------------------------------------------------------------------------
# * Object Initialization
#--------------------------------------------------------------------------
def initialize
hev_fog_feature_initialize
create_fog
end
#--------------------------------------------------------------------------
# * Create Viewport
#--------------------------------------------------------------------------
def create_viewports
@viewport4 = Viewport.new(0, 0, 544, 416)
@viewport4.z = 9
hev_fog_feature_create_viewports
end
#--------------------------------------------------------------------------
# * Create Fog
#--------------------------------------------------------------------------
def create_fog
@fog = Plane.new(@viewport4)
if Fog_Map_Settings::Fog_maps.include?($game_map.map_id)
fog_number = Fog_Map_Settings::Fog_maps[$game_map.map_id]
update_fog
@fog.bitmap = Cache.picture(Fog_Map_Settings::Fog_names[fog_number])
@fog.opacity = Fog_Map_Settings::Fog_opacity[fog_number]
@fog.zoom_x = @fog.zoom_y = Fog_Map_Settings::Fog_zoom[fog_number]
@fog.blend_type = Fog_Map_Settings::Fog_blend[fog_number]
end
end
#--------------------------------------------------------------------------
# * Update Fog Sprite
#--------------------------------------------------------------------------
def update_fog
if @fog != nil
@fog.ox = $game_map.display_x / 8 + $game_map.fog_ox
@fog.oy = $game_map.display_y / 8 + $game_map.fog_oy
end
end
#--------------------------------------------------------------------------
# * Frame Update
#--------------------------------------------------------------------------
def update
hev_fog_feature_update
update_fog
end
#--------------------------------------------------------------------------
# * Dispose of Fog Sprite
#--------------------------------------------------------------------------
def dispose_fog
@fog.dispose
end
#--------------------------------------------------------------------------
# * Dispose
#--------------------------------------------------------------------------
def dispose
dispose_fog
hev_fog_feature_dispose
end
end