#==================================================================
# ° TOTAL BATTLEBACKS VX by giver v. 1.03 dc20120504.1163
#
# Incorpora le funzioni dei seguenti script:
# ° Battle Backgrounds RMVX - by Synthesize - v. 1.00A - 20/01/2008
# http://www.rpg2s.net/forum/index.php?showtopic=3310
# ° Modifica del suddetto script per legare i battlebacks alle Aree
# invece che alle Mappe - Display Background Based on Area - by Diakonos
# http://www.rpg2s.net/forum/index.php?showtopic=6194
# * Bugfixes e la possibilità di legare battlebacks alle specifiche
# Battaglie, più configurazione resa più compatta - by giver
#------------------------------------------------------------------
# ISTRUZIONI
#
# Configurare gli Hash che associano gli id di mappe, aree, troops
# al nome di un'ommagine da usare come battleback
# Tenere conto che lo script segue questa procedura per stabilire l'immagine
# da usare: 1) Guarda se c'è un battleback definito per la Battaglia
# 2) In assenza, guarda se ce n'è uno associato all'Area
# 3) Se l'area non ce l'ha, guarda se c'è per la Mappa
# 4) Se la Mappa non è tra quelle configurate, usa quello
# indicato nell'impostazione di Map_Battleback.default =
# Durante i BattleTest dal DataBase, vengono eseguiti solo i passi 1 e 4,
# ossia se non c'è quello per la Battaglia si usa quello di default
# Le immagini da usare come battleback vanno messe nella cartella Graphics/Pictures
# del PROGETTO. Si consiglia di usare immagini JPG all'80%, se ce ne sono tanti
# Gli id vanno inseriti senza gli zeri, e i nomi delle immagini vanno sempre tra virgolette
# Osservare la configurazione d'esempio dello script, per chiarirsi le idee
#==================================================================
module SynBattleB
# Parentesi quadre con almeno un ID all'interno => "Nome Battleback"
# per aggiungere un nuovo gruppo di ID con associato lo stesso Battleback
# [id1, id2, id3, ..., idN] => "Nome Immagine Battleback"
# Mettere la virgola dopo il nome dell'immagine se non è l'ultima
# impostazione nell'Hash
# Si consiglia di mettere i gruppi grossi prima di quelli più piccoli
#----------------------------------------------------------------
#
# Battleback associati alle Mappe
Map_Battleback =
{
[1, 2, 4, 6, 7] => "Grassland",
[10] => "Castle"
}
# Mettere tra virgolette il nome dell'immagine da usare salvo diversa configurazione
# E' consigliabile mettere il nome dell'immagine usata più spesso come battleback di Mappa
# Lasciare le virgolette vuote farà usare una schermata nera come battleback
Map_Battleback.default = ""
#
# Battleback associati alle Aree
Area_Battleback =
{
[3, 8, 9] => "Desert A",
[2, 6] => "Forest A",
[5] => "Swamp A",
[7] => "Grassland A"
}
#
# Battleback associati alle Battaglie
Troop_Battleback =
{
[2, 6, 10, 12] => "Forest B",
[3, 4, 13] => "Desert B",
[1, 15, 17] => "Grassland B",
[5, 20] => "Swamp B"
}
#-----------------------------------------------------------------------------
# Creare battlefloor? (Mettere true per creare il Battlefloor
Create_battlefloor = false
end
#
class Game_Player < Game_Character
def which_area_in
for area in $data_areas.values
return area.id if in_area?(area)
end
return 0
end
end
class Game_Troop < Game_Unit
attr_reader :troop_id
end
#-------------------------------------------------------------------------------
# Spriteset_Battle
#-------------------------------------------------------------------------------
class Spriteset_Battle
alias syn_create_battlefloor create_battlefloor
#-----------------------------------------------------------------------------
# Create Battleback/floor
#-----------------------------------------------------------------------------
def create_battleback
image = troop_bback
image = area_bback if image.nil?
image = map_bback if image.nil?
create_battleback_sprite(image)
end
#
def map_bback
key = get_bback_key(0)
image = SynBattleB::Map_Battleback[key]
return image
end
#
def area_bback
key = get_bback_key(1)
image = SynBattleB::Area_Battleback[key]
return image
end
#
def troop_bback
key = get_bback_key(2)
image = SynBattleB::Troop_Battleback[key]
return image
end
#
def get_bback_key(type)
case type
when 2 # troop_id
bback_list = SynBattleB::Troop_Battleback
included = $game_troop.troop_id
when 1 # area_id
bback_list = SynBattleB::Area_Battleback
included = $game_player.which_area_in
when 0 # map_id
bback_list = SynBattleB::Map_Battleback
included = $game_map.map_id
end
for key in bback_list.keys
if key.include?(included)
return key
end
end
return nil
end
#
def create_battleback_sprite(image)
@battleback_sprite = Sprite.new(@viewport1)
@battleback_sprite.bitmap = Cache.picture(image)
end
#
def create_battlefloor
@battlefloor_sprite = Sprite.new(@viewport1)
syn_create_battlefloor if SynBattleB::Create_battlefloor == true
end
end