Advertisement
ICF-Soft

ICF-Soft Enemy Selector para RPG Maker XP

Sep 8th, 2015
149
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #===============================================================================
  2. # ICF-Soft Enemy Selector para XP Version 1.0
  3. #-------------------------------------------------------------------------------
  4. # Hecho por ICF-Soft [http://icfsoft.blogspot.com.es/]
  5. # Se permite el uso comercial. Se debe incluir a ICF-Soft en los créditos.
  6. #===============================================================================
  7. # Esta cabecera debe incluirse en el script, ya sea en inglés o en español.
  8. #===============================================================================
  9.  
  10. #===============================================================================
  11. module ICFSOFT
  12. #===============================================================================
  13.  
  14.   #Configuración
  15.  
  16.   #Variable donde almacenar el selector.
  17.   $EnemyVar = 40
  18.  
  19.   #Tipo de conversión:
  20.   #   true para cambiar el enemigo si coincide con el selector. Para distintos
  21.   #        propósitos.
  22.   #   false para cambiar el enemigo conforme al valor más alto que no supere al
  23.   #        selector. Útil para niveles de dificultad.
  24.   $EnemyVarAbsolute = false
  25.  
  26.   #Formato de la tabla de selectores
  27.   #
  28.   #   Se trata de una hash numérica que almacena arrays.
  29.   #   Cada array se compone de otras arrays de 2 elementos.
  30.   #   El primer elemento es el selector y el segundo la id del enemigo por
  31.   #   la que se reemplaza. Los selectores deben estar en orden progresivo.
  32.   #
  33.   #   Se puede inicializar como una hash vacía $EnemySelector = {}
  34.   #   O poner unos valores iniciales como aquí
  35.  
  36.   $EnemySelector = {1=>[[1,2],[2,3],[3,4]], 2=>[[2,3],[3,4]], 3=>[[3,4]]}
  37.  
  38.   #   Se pueden ir añadiendo más claves del siguiente modo
  39.  
  40.   $EnemySelector[5]  = [[3,6]]
  41.   $EnemySelector[7]  = [[1,8],[2,9],[3,10]]
  42.   $EnemySelector[11] = [[1,12],[2,13],[3,14]]
  43.  
  44.  
  45.   #De este modo se configuran los enemigos según el nivel de dificultad
  46.   #Los enemigos que no configures no recibirán ningún efecto
  47.  
  48. #-------------------------------------------------------------------------------
  49.   def self.EnemySelector(enemyid)
  50.     conver = enemyid
  51.     ary = $EnemySelector[conver]
  52.     x = -1
  53.     if $EnemySelector[conver] == nil
  54.       return conver
  55.     end
  56.     if $EnemyVarAbsolute
  57.       for i in 0..(ary.length - 1)
  58.         if ary[i][0] == $game_variables[$EnemyVar]
  59.           x = i
  60.           break
  61.         end
  62.       end
  63.     else
  64.       i = ary.length - 1
  65.       while (i >= 0) do
  66.         if ary[i][0] <= $game_variables[$EnemyVar]
  67.           x = i
  68.           break
  69.         end
  70.         i -= 1
  71.       end
  72.     end
  73.     if x >= 0
  74.       conver = ary[x][1]
  75.     end
  76.     return conver
  77.   end
  78.  
  79. end
  80. #===============================================================================
  81. #===============================================================================
  82. class Game_Enemy < Game_Battler
  83.   def initialize(troop_id, member_index)
  84.     super()
  85.     @troop_id = troop_id
  86.     @member_index = member_index
  87.     troop = $data_troops[@troop_id]
  88.     @enemy_id = ICFSOFT::EnemySelector(troop.members[@member_index].enemy_id)
  89.     enemy = $data_enemies[@enemy_id]
  90.     @battler_name = enemy.battler_name
  91.     @battler_hue = enemy.battler_hue
  92.     @hp = maxhp
  93.     @sp = maxsp
  94.     @hidden = troop.members[@member_index].hidden
  95.     @immortal = troop.members[@member_index].immortal
  96.   end
  97. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement