TheoAllen

AMA - Skill Charge

May 21st, 2013
330
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 3.45 KB | None | 0 0
  1. # =============================================================================
  2. # Alumnea Magic Academy - Skill Charge
  3. # Author : TheoAllen
  4. # Version : 1.1
  5. # Contact : www.rpgmakerid.com (or) http://theolized.blogspot.com
  6. # =============================================================================
  7. # Requires :
  8. # >> Theo - Core Damage
  9. # >> Theo - Core Result
  10. # =============================================================================
  11. ($imported ||= {})$imported[:AMA_SkillCharge] = true
  12. # =============================================================================
  13. # CHANGE LOGS:
  14. # -----------------------------------------------------------------------------
  15. # 2013.05.22 - Rewrite script
  16. # =============================================================================
  17. =begin
  18.  
  19.   Perkenalan :
  20.   Script ini berfungsi untuk mengalihfungsikan TP menjadi charge bar. Dimana
  21.   charge adalah semacam persiapan. Jika TP semakin penuh, maka damage akan
  22.   bertambah sesuai rate yang u catet dalam konfigurasi
  23.  
  24.   Cara penggunaan :
  25.   Pasang diatas main namun dibawah Theo - Core Damage dan Core result
  26.   Pasang tag <charge> pada skill atau item untuk spesifikasi yg mo dibikin
  27.   charge. Edit konfigurasinya scriptnya dibawah
  28.  
  29.   Terms of use :
  30.   Credit gw, TheoAllen. Kalo semisal u bisa ngedit2 script gw trus jadi lebih
  31.   keren, terserah. Ane bebasin. Asal ngga ngeklaim aja. Kalo semisal mau
  32.   dipake buat komersil, jangan lupa, gw dibagi gratisannya.
  33.  
  34.   Note :
  35.   Gw mau nambahin settingnya kek notetag atau yang lain jika direkues aja.
  36.   Soal e pada dasarnya settingan ini dah cukup untuk game gw.
  37.  
  38. =end
  39. # =============================================================================
  40. if $imported[:Theo_CoreDamage] && $imported[:Theo_CoreResult] # <-- don't touch
  41. # =============================================================================
  42. # Konfigurasi :
  43. # =============================================================================
  44. module AMA
  45.   module CHARGE
  46.    
  47.     CHARGE_VALUE = 100
  48.     # Patokan nilai TP
  49.    
  50.     DAMAGE_RATE  = 2.0
  51.     # Damage rate dari skill / item kalo nilai TP dah sama dengan CHARGE_VALUE
  52.    
  53.   end
  54. end
  55. # =============================================================================
  56. # Akhir dari konfigurasi
  57. # =============================================================================
  58. class RPG::UsableItem < RPG::BaseItem
  59.  
  60.   def charge?
  61.     self.note.include?("<charge>")
  62.   end
  63.  
  64. end
  65.  
  66. class Game_ActionResult
  67.   attr_accessor :charge_rate
  68.  
  69.   alias ama_charge_clear clear
  70.   def clear
  71.     ama_charge_clear
  72.     @charge_rate = 1.0
  73.   end
  74.  
  75. end
  76.  
  77. class Game_Battler < Game_BattlerBase
  78.  
  79.   include AMA::CHARGE
  80.  
  81.   alias pre_base_result make_base_result
  82.   def make_base_result(user, item)
  83.     pre_base_result(user, item)
  84.     make_charge_rate(user, item)
  85.   end  
  86.  
  87.   def make_charge_rate(user, item)
  88.     return unless item.charge?
  89.     @result.charge_rate = (user.tp.to_f / CHARGE_VALUE) * DAMAGE_RATE
  90.     user.tp = 0
  91.   end
  92.  
  93.   alias pre_apply_charge apply_damage_modifiers
  94.   def apply_damage_modifiers(user, item, value)
  95.     value = pre_apply_charge(user, item, value)
  96.     value = apply_charge_rate(value)
  97.     value
  98.   end
  99.  
  100.   def apply_charge_rate(value)
  101.     value *= @result.charge_rate
  102.     value
  103.   end
  104.  
  105. end
  106. else
  107.   message = ""
  108.   message += "Missing Script!\n\n"
  109.   message += "Theo - Core Damage Processing\n"
  110.   message += "Theo - Core Damage Result"
  111.   msgbox message
  112. end
Advertisement
Add Comment
Please, Sign In to add comment