Heartbreak61

[SIMPLE STUPID] Theo's Critical Modifier Add-On

Jan 30th, 2013
139
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 2.15 KB | None | 0 0
  1. #==============================================================================
  2. # SIMPLE STUPID Theo Critical Modifier Add-On
  3. # by HBK
  4. # Requires: Theo Critical Modifier
  5. #
  6. # INSTRUCTION
  7. # - place this script below Theo's Critical Modifier
  8. #   - Write <critical dmg: value> on actor's/enemy's notetag
  9. #   example <critical dmg: 1.5>
  10. # - input 3 on THEOLIZED::CRIT_TYPE
  11. # - use "damage * user.crit_dmg" on THEOLIZED::CRIT_FORMULA
  12. #==============================================================================
  13.  
  14. module HBK
  15.   module REGEX
  16.     CRITICAL_DMG = /<critical dmg\s*:\s*(\d+.?\d*)>/i
  17.   end
  18. end
  19.  
  20. module DataManager
  21.   class <<self
  22.     alias hbk_tca_load_database load_database
  23.   end
  24.  
  25.   def self.load_database
  26.     hbk_tca_load_database
  27.     hbk_tca_scan_notes
  28.   end
  29.  
  30.   def self.hbk_tca_scan_notes
  31.     groups = [$data_actors, $data_enemies]
  32.     for group in groups
  33.     for obj in group
  34.       next if obj.nil?
  35.       obj.hbk_tca_scan_notes
  36.     end
  37.     end
  38.   end
  39. end # DataManager
  40.  
  41. class RPG::BaseItem;include HBK;end
  42. class RPG::Actor < RPG::BaseItem
  43.   alias hbk_tca_initialize initialize
  44.   def initialize
  45.     hbk_tca_initialize
  46.     @crit_dmg = 3.0
  47.   end
  48.   def hbk_tca_scan_notes
  49.     self.note.split(/[\r\n]+/).each {|line|
  50.     case line
  51.     when HBK::REGEX::CRITICAL_DMG
  52.       @crit_dmg = $1.to_f
  53.     end
  54.     }
  55.   end
  56.   attr_reader :crit_dmg
  57. end #RPG::Actor
  58.  
  59. class RPG::Enemy < RPG::BaseItem
  60.   alias hbk_tca_initialize initialize
  61.   def initialize
  62.     hbk_tca_initialize
  63.     @crit_dmg = 3.0
  64.   end
  65.   def hbk_tca_scan_notes
  66.     self.note.split(/[\r\n]+/).each {|line|
  67.     case line
  68.     when HBK::REGEX::CRITICAL_RATE
  69.       @crit_dmg = $1.to_f
  70.     end
  71.     }
  72.   end
  73.   attr_reader :crit_dmg
  74. end #RPG::Enemy
  75.  
  76. class Game_Actor < Game_Battler
  77.   alias hbk_tca_setup setup
  78.   def setup(actor_id)
  79.     hbk_tca_setup(actor_id)
  80.     @crit_dmg = actor.crit_dmg
  81.   end
  82.   attr_reader :crit_dmg
  83. end #Game_Actor
  84.  
  85. class Game_Enemy < Game_Battler
  86.   alias hbk_tca_initialize initialize
  87.   def initialize(index, enemy_id)
  88.     hbk_tca_initialize(index, enemy_id)
  89.     @crit_dmg = enemy.crit_dmg
  90.   end
  91.   attr_reader :crit_dmg
  92. end #Game_Enemy
Advertisement
Add Comment
Please, Sign In to add comment