#==============================================================================
# ** 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 => '001-Fog01.png',
2 => '001-Fog01.png',
3 => '001-Fog01.png',
4 => 'Nuage_1.png',
5 => 'Auberge_Abri.png',
6 => 'Interieur_Poissonerie.png',
7 => 'Port de Faaone.png',
8 => 'Interieur_Bibliotheque',
9 => 'Interieur_Forge',
10 => 'Interieur_Auberge',
11 => 'Interieur_Chambre',
12 => 'Interieur_Magasin',
13 => 'Interieur_Apothicairerie'}
#============================================================================
# * Les maps ou vous voulez afficher le brouillard. Format:
# Fog_maps = {mapID => numéro_du_brouillard , mapID2 => numéro_du_brouillard, ...}
#============================================================================
Fog_maps = {6 => 4,
21 => 4,
22 => 4,
27 => 4,
36 => 4,
18 => 4,
19 => 4,
29 => 5,
37 => 6,
20 => 7,
38 => 8,
39 => 9,
40 => 10,
41 => 11,
42 => 12,
11 => 13
}
#============================================================================
# * 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 => 100,
2 => 100,
3 => 100,
4 => 70,
5 => 255,
6 => 255,
7 => 255,
8 => 255,
9 => 255,
10 => 255,
11 => 255,
12 => 255,
13 => 255}
Fog_zoom = {1 => 3,
2 => 3,
3 => 3,
4 => 3,
5 => 1,
6 => 1,
7 => 1,
8 => 1,
9 => 1,
10 => 1,
11 => 1,
12 => 1,
13 => 1}
Fog_blend = {1 => 2,
2 => 2,
3 => 0,
4 => 0,
5 => 0,
6 => 0,
7 => 0,
8 => 0,
9 => 0,
10 => 0,
11 => 0,
12 => 0,
13 => 0}
Fog_sxsy = {1 => [0, 0],
2 => [6, 6],
3 => [4,4],
4 => [1, 1],
5 => [0, 0],
6 => [0, 0],
7 => [0, 0],
8 => [0, 0],
9 => [0, 0],
10 => [0, 0],
11 => [0, 0],
12 => [0, 0],
13 => [0, 0]}
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_Settings::Fog_maps[@map_id]][0] / 8.0
@fog_oy -= Fog_Map_Settings::Fog_sxsy[Fog_Map_Settings::Fog_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