#============================================================================== # ■ XP-RGSS-24-opt エネミー調整 [Ver.1.1.1] by Claimh #------------------------------------------------------------------------------ # パーティーの強さに合わせ、エネミーの強さを自動的に調整します # 要:エネミー設定(レベル設定) #============================================================================== module Enemy_adjust ADJUST_LEVEL_N = [] ADJUST_HP_N = [] ADJUST_SP_N = [] ADJUST_STR_N = [] ADJUST_DEX_N = [] ADJUST_AGI_N = [] ADJUST_INT_N = [] ADJUST_ATK_N = [] ADJUST_PDEF_N = [] ADJUST_MDEF_N = [] ADJUST_EVA_N = [] #============================================================================== # □ カスタマイズSTART #============================================================================== # レベル差の判定方法 # 0:パーティーの平均レベル # 1:パーティーの最大レベル # 2:パーティーの最小レベル ADJUST_PATTERN = 0 # 調整を開始するレベル差 ADJUST_LEVEL = 5 # 1レベル差ごとのHPの調整(%) ADJUST_HP = 0.5 # 1レベル差ごとのSPの調整(%) ADJUST_SP = 0.5 # 1レベル差ごとの腕力の調整(%) ADJUST_STR = 0.5 # 1レベル差ごとの器用さの調整(%) ADJUST_DEX = 0.5 # 1レベル差ごとの素早さの調整(%) ADJUST_AGI = 0.5 # 1レベル差ごとの魔力の調整(%) ADJUST_INT = 0.5 # 1レベル差ごとの攻撃力の調整(%) ADJUST_ATK = 0.5 # 1レベル差ごとの物理防御の調整(%) ADJUST_PDEF = 0.5 # 1レベル差ごとの魔法防御の調整(%) ADJUST_MDEF = 0.5 # 1レベル差ごとの回避修正の調整(%) ADJUST_EVA = 0.5 #---------------------------------------------------------------------------- # 個別設定(特定のエネミーだけ上記設定と変えたい場合のみ設定してください) #---------------------------------------------------------------------------- # 調整を開始するレベル差 ADJUST_LEVEL_N[1] = 5 # 1レベル差ごとのHPの調整(%) ADJUST_HP_N[1] = 0.5 # 1レベル差ごとのSPの調整(%) ADJUST_SP_N[1] = 0.5 # 1レベル差ごとの腕力の調整(%) ADJUST_STR_N[1] = 0.5 # 1レベル差ごとの器用さの調整(%) ADJUST_DEX_N[1] = 0.5 # 1レベル差ごとの素早さの調整(%) ADJUST_AGI_N[1] = 0.5 # 1レベル差ごとの魔力の調整(%) ADJUST_INT_N[1] = 0.5 # 1レベル差ごとの攻撃力の調整(%) ADJUST_ATK_N[1] = 0.5 # 1レベル差ごとの物理防御の調整(%) ADJUST_PDEF_N[1] = 0.5 # 1レベル差ごとの魔法防御の調整(%) ADJUST_MDEF_N[1] = 0.5 # 1レベル差ごとの回避修正の調整(%) ADJUST_EVA_N[1] = 0.5 #============================================================================== # □ カスタマイズEND #============================================================================== end class Game_Enemy < Game_Battler include Enemy_adjust #-------------------------------------------------------------------------- # ● レベル差計算 #-------------------------------------------------------------------------- def level_def p_level = 0 case ADJUST_PATTERN when 0 for i in 0...$game_party.actors.size actor = $game_party.actors[i] p_level += actor.level end p_level /= $game_party.actors.size when 1 for i in 0...$game_party.actors.size actor = $game_party.actors[i] p_level = actor.level if p_level < actor.level end when 2 for i in 0...$game_party.actors.size actor = $game_party.actors[i] p_level = actor.level if p_level > actor.level end end if ENEMY_LEVEL[@enemy_id].nil? lv = 0 else lv = p_level - ENEMY_LEVEL[@enemy_id] end if lv > ADJUST_LEVEL return lv else return 0 end end #-------------------------------------------------------------------------- # ● 基本 MaxHP の取得 #-------------------------------------------------------------------------- alias base_maxhp_adjust base_maxhp def base_maxhp if ADJUST_HP_N[@enemy_id].nil? a_hp = ADJUST_HP else a_hp = ADJUST_HP_N[@enemy_id] end ret = base_maxhp_adjust + level_def * a_hp return ret.truncate end #-------------------------------------------------------------------------- # ● 基本 MaxSP の取得 #-------------------------------------------------------------------------- alias base_maxsp_adjust base_maxsp def base_maxsp if ADJUST_SP_N[@enemy_id].nil? a_sp = ADJUST_SP else a_sp = ADJUST_SP_N[@enemy_id] end ret = base_maxsp_adjust + level_def * a_sp return ret.truncate end #-------------------------------------------------------------------------- # ● 基本腕力の取得 #-------------------------------------------------------------------------- alias base_str_adjust base_str def base_str if ADJUST_STR_N[@enemy_id].nil? a_str = ADJUST_STR else a_str = ADJUST_STR_N[@enemy_id] end ret = base_str_adjust + level_def * a_str return ret.truncate end #-------------------------------------------------------------------------- # ● 基本器用さの取得 #-------------------------------------------------------------------------- alias base_dex_adjust base_dex def base_dex if ADJUST_DEX_N[@enemy_id].nil? a_dex = ADJUST_DEX else a_dex = ADJUST_DEX_N[@enemy_id] end ret = base_dex_adjust + level_def * a_dex return ret.truncate end #-------------------------------------------------------------------------- # ● 基本素早さの取得 #-------------------------------------------------------------------------- alias base_agi_adjust base_agi def base_agi if ADJUST_AGI_N[@enemy_id].nil? a_agi = ADJUST_AGI else a_agi = ADJUST_AGI_N[@enemy_id] end ret = base_agi_adjust + level_def * a_agi return ret.truncate end #-------------------------------------------------------------------------- # ● 基本魔力の取得 #-------------------------------------------------------------------------- alias base_int_adjust base_int def base_int if ADJUST_INT_N[@enemy_id].nil? a_int = ADJUST_INT else a_int = ADJUST_INT_N[@enemy_id] end ret = base_int_adjust + level_def * a_int return ret.truncate end #-------------------------------------------------------------------------- # ● 基本攻撃力の取得 #-------------------------------------------------------------------------- alias base_atk_adjust base_atk def base_atk if ADJUST_ATK_N[@enemy_id].nil? a_atk = ADJUST_ATK else a_atk = ADJUST_ATK_N[@enemy_id] end ret = base_atk_adjust + level_def * a_atk return ret.truncate end #-------------------------------------------------------------------------- # ● 基本物理防御の取得 #-------------------------------------------------------------------------- alias base_pdef_adjust base_pdef def base_pdef if ADJUST_PDEF_N[@enemy_id].nil? a_pdef = ADJUST_PDEF else a_pdef = ADJUST_PDEF_N[@enemy_id] end ret = base_pdef_adjust + level_def * a_pdef return ret.truncate end #-------------------------------------------------------------------------- # ● 基本魔法防御の取得 #-------------------------------------------------------------------------- alias base_mdef_adjust base_mdef def base_mdef if ADJUST_MDEF_N[@enemy_id].nil? a_mdef = ADJUST_MDEF else a_mdef = ADJUST_MDEF_N[@enemy_id] end ret = base_mdef_adjust + level_def * a_mdef return ret.truncate end #-------------------------------------------------------------------------- # ● 基本回避修正の取得 #-------------------------------------------------------------------------- alias base_eva_adjust base_eva def base_eva if ADJUST_EVA_N[@enemy_id].nil? a_eva = ADJUST_EVA else a_eva = ADJUST_EVA_N[@enemy_id] end ret = base_eva_adjust + level_def * a_eva return ret.truncate end end