#============================================================================== # エネミー差別化スクリプト ver1.00 #------------------------------------------------------------------------------ #[特徴] # 同じエネミーでも能力に多少の差が生まれます。 # #[導入上の注意] # KGC Software様の「戦闘難易度」を導入している場合、 # こちらのスクリプトを上に持ってくる方が # より自然な補正がかけられると思います。 # # 作成:ぶちょー # ホム:http://nyannyannyan.bake-neko.net # 著作:自分で作ったとか言わないで>< # 改造はご自由にどうぞ。 # リードミーとかに私の名前の載せたりするのは任意で。 #============================================================================== #============================================================================== # 設定項目 #============================================================================== module DEF_ENEMY # この数値(%)の差が生まれます。 # 例:最大HPが10000の場合、この数値が 5 だったら、 # 9500〜10500になります。(±500[10000 x 5 %]のずれが生まれる) REV_PER = 5 end #============================================================================== # ここまで #============================================================================== #============================================================================== # ■ Game_Enemy #============================================================================== class Game_Enemy < Game_Battler #-------------------------------------------------------------------------- # ● 公開インスタンス変数 #-------------------------------------------------------------------------- attr_reader :plus_maxhp attr_reader :plus_maxmp attr_reader :plus_atk attr_reader :plus_def attr_reader :plus_spi attr_reader :plus_agi #-------------------------------------------------------------------------- # ● オブジェクト初期化 ※ 再定義 #-------------------------------------------------------------------------- alias def_enemy_initialize initialize def initialize(index, enemy_id) enemy = $data_enemies[enemy_id] @plus_maxhp = rand_parameter(enemy.maxhp) @plus_maxmp = rand_parameter(enemy.maxmp) @plus_atk = rand_parameter(enemy.atk) @plus_def = rand_parameter(enemy.def) @plus_spi = rand_parameter(enemy.spi) @plus_agi = rand_parameter(enemy.agi) def_enemy_initialize(index, enemy_id) end #-------------------------------------------------------------------------- # ● 渡された数値に補正値を掛けて、乱数計算して返す #-------------------------------------------------------------------------- def rand_parameter(parameter) n = parameter * DEF_ENEMY::REV_PER / 100 n = rand(n*2) - n return n end #-------------------------------------------------------------------------- # ● 基本 MaxHP の取得 #-------------------------------------------------------------------------- alias def_enemy_base_maxhp base_maxhp def base_maxhp n = def_enemy_base_maxhp return n + @plus_maxhp end #-------------------------------------------------------------------------- # ● 基本 MaxMP の取得 #-------------------------------------------------------------------------- alias def_enemy_base_maxmp base_maxmp def base_maxmp n = def_enemy_base_maxmp return n + @plus_maxmp end #-------------------------------------------------------------------------- # ● 基本攻撃力の取得 #-------------------------------------------------------------------------- alias def_enemy_base_atk base_atk def base_atk n = def_enemy_base_atk return n + @plus_atk end #-------------------------------------------------------------------------- # ● 基本防御力の取得 #-------------------------------------------------------------------------- alias def_enemy_base_def base_def def base_def n = def_enemy_base_def return n + @plus_def end #-------------------------------------------------------------------------- # ● 基本精神力の取得 #-------------------------------------------------------------------------- alias def_enemy_base_spi base_spi def base_spi n = def_enemy_base_spi return n + @plus_spi end #-------------------------------------------------------------------------- # ● 基本敏捷性の取得 #-------------------------------------------------------------------------- alias def_enemy_base_agi base_agi def base_agi n = def_enemy_base_agi return n + @plus_agi end end