SHARE
TWEET

Critical Light

Holy87 Mar 12th, 2016 55 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #===============================================================================
  2. # Lampeggiamento Critico di Holy87
  3. # Versione 1.01
  4. #===============================================================================
  5. # Questo script permette di far lampeggiare un alone rosso quando i tuoi eroi
  6. # sono in una situazione critica, con intensità differenti a seconda della
  7. # gravità della situazione.
  8. #
  9. # INSTALLAZIONE:
  10. # Inserire lo script sotto Materials, prima del Main. Inserire l'immagine che
  11. # verrà usata come alone nella cartella Graphics\Pictures del progetto.
  12. #===============================================================================
  13. # CONFIGURAZIONE
  14. #===============================================================================
  15. module Holy_Setup
  16.   # Imposta la percentuale minima di HP al di sotto della quale lampeggerà.
  17.   LimiteHP = 25
  18.   # Imposta la velocità di fade
  19.   Velocita = 4
  20.   # File di grafica dell'alone
  21.   Grafica = "Critical"
  22. end
  23. #===============================================================================
  24. # ATTENZIONE: Modificare al di sotto dello script potrebbe compromettere il
  25. # corretto funzionamento di quest'ultimo!
  26. #===============================================================================
  27.  
  28. #===============================================================================
  29. # Classe Scene_Battle
  30. #===============================================================================
  31. class Scene_Battle < Scene_Base
  32.   include Holy_Setup
  33.   #-----------------------------------------------------------------------------
  34.   # *Alias di Start
  35.   #-----------------------------------------------------------------------------
  36.   alias metti_immagine start unless $@
  37.   def start
  38.     metti_immagine
  39.     crea_immagine_critica
  40.     @crit_fade = false
  41.     @lampeggiamento = controlla_hp
  42.   end
  43.   #-----------------------------------------------------------------------------
  44.   # *Creazione dell'immagine (Blend a 1)
  45.   #-----------------------------------------------------------------------------
  46.   def crea_immagine_critica
  47.     @immagine_critica = Sprite.new
  48.     @immagine_critica.bitmap = Cache.picture(Grafica)
  49.     @immagine_critica.opacity = 0
  50.     @immagine_critica.z = 99
  51.     @immagine_critica.blend_type = 1
  52.     @immagine_critica.zoom_x = Graphics.width.to_f/@immagine_critica.width.to_f
  53.     @immagine_critica.zoom_y = Graphics.height.to_f/@immagine_critica.height.to_f
  54.   end
  55.   #-----------------------------------------------------------------------------
  56.   # *Alias Fine Turno
  57.   #-----------------------------------------------------------------------------
  58.   alias controlla_fine_turno turn_end unless $@
  59.   def turn_end
  60.     controlla_fine_turno
  61.     @lampeggiamento = controlla_hp
  62.   end
  63.   #-----------------------------------------------------------------------------
  64.   # *Controlla la media della % degli HP del gruppo
  65.   #-----------------------------------------------------------------------------
  66.   def controlla_hp
  67.     perc = 0 #percentuale
  68.     mul = 1 #divisore
  69.     for member in $game_party.members
  70.       perc += member.hp*100/member.mhp
  71.       mul += 1 if member.hp == 0 #aumenta il divisore per ogni eroe morto
  72.       #eroi morti fanno apparire l'allarme prima!
  73.     end
  74.     return perc/mul/$game_party.members.size
  75.   end
  76.   #-----------------------------------------------------------------------------
  77.   # *Alias Aggiornamento
  78.   #-----------------------------------------------------------------------------
  79.   alias lampeggia_update update_basic unless $@
  80.   def update_basic
  81.     lampeggia_update
  82.     lampeggia_sangue
  83.   end
  84.   #-----------------------------------------------------------------------------
  85.   # *Alias Termina
  86.   #-----------------------------------------------------------------------------
  87.   alias lampeggia_terminate terminate unless $@
  88.   def terminate
  89.     lampeggia_terminate
  90.     @immagine_critica.dispose
  91.   end
  92.   #-----------------------------------------------------------------------------
  93.   # *Animazione di fade
  94.   # La trasparenza è in base alla percentuale di HP
  95.   #-----------------------------------------------------------------------------
  96.   def lampeggia_sangue
  97.     if @lampeggiamento < LimiteHP
  98.       max_trasp = 250-(@lampeggiamento*7)
  99.       if @crit_fade == true
  100.         @immagine_critica.opacity -= Velocita
  101.         @crit_fade = false if @immagine_critica.opacity <= max_trasp/4
  102.       else
  103.         @immagine_critica.opacity += Velocita
  104.         @crit_fade = true if @immagine_critica.opacity >= max_trasp
  105.       end
  106.     else
  107.       @immagine_critica.opacity -= Velocita
  108.     end
  109.   end
  110. end # Scene_Battle
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
Top