Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #===============================================================================
- # Lampeggiamento Critico di Holy87
- # Versione 1.01
- #===============================================================================
- # Questo script permette di far lampeggiare un alone rosso quando i tuoi eroi
- # sono in una situazione critica, con intensità differenti a seconda della
- # gravità della situazione.
- #
- # INSTALLAZIONE:
- # Inserire lo script sotto Materials, prima del Main. Inserire l'immagine che
- # verrà usata come alone nella cartella Graphics\Pictures del progetto.
- #===============================================================================
- # CONFIGURAZIONE
- #===============================================================================
- module Holy_Setup
- # Imposta la percentuale minima di HP al di sotto della quale lampeggerà.
- LimiteHP = 25
- # Imposta la velocità di fade
- Velocita = 4
- # File di grafica dell'alone
- Grafica = "Critical"
- end
- #===============================================================================
- # ATTENZIONE: Modificare al di sotto dello script potrebbe compromettere il
- # corretto funzionamento di quest'ultimo!
- #===============================================================================
- #===============================================================================
- # Classe Scene_Battle
- #===============================================================================
- class Scene_Battle < Scene_Base
- include Holy_Setup
- #-----------------------------------------------------------------------------
- # *Alias di Start
- #-----------------------------------------------------------------------------
- alias metti_immagine start unless $@
- def start
- metti_immagine
- crea_immagine_critica
- @crit_fade = false
- @lampeggiamento = controlla_hp
- end
- #-----------------------------------------------------------------------------
- # *Creazione dell'immagine (Blend a 1)
- #-----------------------------------------------------------------------------
- def crea_immagine_critica
- @immagine_critica = Sprite.new
- @immagine_critica.bitmap = Cache.picture(Grafica)
- @immagine_critica.opacity = 0
- @immagine_critica.z = 99
- @immagine_critica.blend_type = 1
- @immagine_critica.zoom_x = Graphics.width.to_f/@immagine_critica.width.to_f
- @immagine_critica.zoom_y = Graphics.height.to_f/@immagine_critica.height.to_f
- end
- #-----------------------------------------------------------------------------
- # *Alias Fine Turno
- #-----------------------------------------------------------------------------
- alias controlla_fine_turno turn_end unless $@
- def turn_end
- controlla_fine_turno
- @lampeggiamento = controlla_hp
- end
- #-----------------------------------------------------------------------------
- # *Controlla la media della % degli HP del gruppo
- #-----------------------------------------------------------------------------
- def controlla_hp
- perc = 0 #percentuale
- mul = 1 #divisore
- for member in $game_party.members
- perc += member.hp*100/member.mhp
- mul += 1 if member.hp == 0 #aumenta il divisore per ogni eroe morto
- #eroi morti fanno apparire l'allarme prima!
- end
- return perc/mul/$game_party.members.size
- end
- #-----------------------------------------------------------------------------
- # *Alias Aggiornamento
- #-----------------------------------------------------------------------------
- alias lampeggia_update update_basic unless $@
- def update_basic
- lampeggia_update
- lampeggia_sangue
- end
- #-----------------------------------------------------------------------------
- # *Alias Termina
- #-----------------------------------------------------------------------------
- alias lampeggia_terminate terminate unless $@
- def terminate
- lampeggia_terminate
- @immagine_critica.dispose
- end
- #-----------------------------------------------------------------------------
- # *Animazione di fade
- # La trasparenza è in base alla percentuale di HP
- #-----------------------------------------------------------------------------
- def lampeggia_sangue
- if @lampeggiamento < LimiteHP
- max_trasp = 250-(@lampeggiamento*7)
- if @crit_fade == true
- @immagine_critica.opacity -= Velocita
- @crit_fade = false if @immagine_critica.opacity <= max_trasp/4
- else
- @immagine_critica.opacity += Velocita
- @crit_fade = true if @immagine_critica.opacity >= max_trasp
- end
- else
- @immagine_critica.opacity -= Velocita
- end
- end
- end # Scene_Battle
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement