Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # =============================================================================
- # TheoAllen - Enemy Level Scaling
- # Version : 1.0
- # Contact : www.rpgmakerid.com (or) http://theolized.blogspot.com
- # (This script documentation is written in informal indonesian language)
- # -----------------------------------------------------------------------------
- # Requires :
- # >> Theo - Enemy Class & Level
- # >> Theo - Condition Checker (Optional)
- # =============================================================================
- ($imported ||= {})[:Theo_ELevelScalling] = true
- # =============================================================================
- # Change Logs:
- # -----------------------------------------------------------------------------
- # 2014.01.31 - Finished Script
- # =============================================================================
- =begin
- ----------------------------------------------------------------------------
- Perkenalan :
- Ini adalah script addon dari script enemy class n level gw. Seperti titlenya,
- script ini untuk ngebikin kamu bisa ngebuat skala level enemy dimana level
- enemy ngikutin karakter
- ----------------------------------------------------------------------------
- Cara penggunaan :
- Pasang script ini di bawah script "Theo - Enemy Class and Level"
- ----------------------------------------------------------------------------
- Notetags (gunakan pada note di database enemy) :
- <level max: n>
- Untuk menentukan sampai level berapa enemy akan terus naek ngikutin party
- <exp per level: n>
- Tambahan EXP jika level enemy naek ngikutin party. Semisal level awalnya 1
- dan musuh naek level 3 karena ngikutin party. Jika reward exp awalnya cuman
- 10 maka jika kamu gunakan notetag ini, reward EXP akan bertambah n * level
- ----------------------------------------------------------------------------
- Terms of use :
- Credit gw, TheoAllen. Kalo semisal u bisa ngedit2 script gw trus jadi lebih
- keren, terserah. Ane bebasin. Asal ngga ngeklaim aja. Kalo semisal mau
- dipake buat komersil, jangan lupa, gw dibagi gratisannya.
- =end
- # =============================================================================
- # Sedikit konfigurasi :
- # =============================================================================
- module THEO
- module ENEMY
- # =========================================================================
- Party_Level = 1 # Party level mode checker
- # -------------------------------------------------------------------------
- # Mode pengecekan level scaling. Kamu bisa mengisinya dengan angka 1 s.d 3
- # Berikut keterangan e
- #
- # 1. Highest Level
- # 2. Average Level (Butuh Theo - Condition Checker)
- # 3. Lowest Level (Butuh Theo - Condition Checker)
- #
- # Jika di dalam party kamu terdapat actor dengan level 1,3,5,7 dan kamu
- # mengeset mode ini ke angka 1 maka level enemy adalah 7
- # =========================================================================
- # =========================================================================
- Exp_Plus = 10
- # -------------------------------------------------------------------------
- # Nilai default dari exp per level yang udah gw jelasin diatas
- # =========================================================================
- end
- end
- # =============================================================================
- # Akhir dari konfigurasi
- # =============================================================================
- class RPG::Enemy < RPG::BaseItem
- attr_accessor :level_max
- attr_accessor :exp_plus
- alias theo_elevel_scalling_load_cnl load_class_and_level
- def load_class_and_level
- theo_elevel_scalling_load_cnl
- @level_max = 99
- @exp_plus = THEO::ENEMY::Exp_Plus
- note.split(/[\r\n]+/).each do |line|
- case line
- when /<level[\s_]+max\s*:\s*(\d+)>/
- @level_max = $1.to_i
- when /<exp[\s_]+per[\s_]+level\s*:\s*(\d+)>/i
- @exp_plus = $1.to_i
- end
- end
- end
- end
- class Game_Enemy < Game_Battler
- alias theo_elevel_scaling_setup setup_class_and_level
- def setup_class_and_level(enemy_id)
- theo_elevel_scaling_setup(enemy_id)
- @level = [[party_level, @level].max,$data_enemies[enemy_id].level_max].min
- end
- def party_level
- case Party_Level
- when 1
- return $game_party.highest_level
- when 2
- return $game_party.average_level
- when 3
- return $game_party.lowest_level
- else
- return $game_party.highest_level
- end
- end
- alias theo_elevel_scaling_exp exp
- def exp
- theo_elevel_scaling_exp + exp_scale_plus
- end
- def exp_scale_plus
- (@level - $data_enemies[enemy_id].level) * $data_enemies[enemy_id].exp_plus
- end
- end
- if [2,3].any? {|type|THEO::ENEMY::Party_Level == type } &&
- !$imported[:Theo_ConditionCheck]
- msgbox "This script need Theo - Condition Checker"
- exit
- end
Advertisement
Add Comment
Please, Sign In to add comment