class Game_Enemy < Game_Battler alias new_param_base param_base def param_base(index) v = new_param_base(index) return $game_actors[1].level >= 30 ? v * 1.5 : v end end
#encoding:utf-8 # ============================================================================= # 能力值扩展 - level # ============================================================================= =begin ---------------------------------------------------------------------------- 介绍: ---------------------------------------------------------------------------- 设定某些敌人的所有能力为某角色等级的数倍。 (只限于这种设定,其他设定需要在该脚本上另作修改) ---------------------------------------------------------------------------- 使用方法: ---------------------------------------------------------------------------- 插入到插件脚本之下,Main之上 =end #============================================================================= # 设定部分 #============================================================================= module MCCF_Change_Params module Level # 设定哪些ID的敌人的能力值会变化。 CHANGE_PARAMS_ENEMY = [1,2,3] # 设定判断等级的角色ID,也可以设为:average表示所有队员等级的平均值 JUDGE_ACTOR_ID = 1 # 各种能力的计算公式设定,数字表示该能力值是等级的多少倍。 PARAMS_FORMULA = [ # 体力上限(此处表示体力上限为角色等级的100倍) 100, # 魔力上限 50, # 物理攻击 20, # 物理防御 20, # 魔法攻击 10, # 魔法防御 10, # 敏捷值 5, # 幸运值 5, ] end end #============================================================================= # 设定结束 #============================================================================= class Game_Enemy < Game_Battler alias new_param_base param_base def param_base(index) v = new_param_base(index) return v unless MCCF_Change_Params::Level::CHANGE_PARAMS_ENEMY.include?(@enemy_id) return v if index >= 8 if !MCCF_Change_Params::Level::JUDGE_ACTOR_ID != :average actor_id = MCCF_Change_Params::Level::JUDGE_ACTOR_ID number = MCCF_Change_Params::Level::PARAMS_FORMULA[index] else s = 0 $game_party.members.select {|actor| s += actor.level } s /= $game_party.members.length return s end return $game_actors[actor_id].level * number end end
#============================================================================== # ■ 敌人线性成长 #------------------------------------------------------------------------------ # 敌人的参数随队伍平均等级的增加而增加。 # # 使用方法:敌人备注处写 # <线性成长[参数号] x倍数> 或 <线性成长[参数号] 倍数x> 或 <线性成长[参数号] 倍数> # # 例 <线性成长[] x2> 或 <线性成长[] 2x> => 所有能力值增加玩家平均等级的2倍 # <线性成长[0] 100> => 0号参数(体力上限)增加玩家平均等级的100倍 # <线性成长[2..5] 2.5> => 2至5号参数(攻防魔攻魔防)增加玩家平均等级的2.5倍 #============================================================================== class RPG::Enemy REG_LINEAR_GROWTH = /<线性成长\[?(\d(?:\.\.)?\d?)?\]?[ :=]*x?([\d.]+)x?>/ #-------------------------------------------------------------------------- # ● [追加]线性成长比例 #-------------------------------------------------------------------------- def linear_growth growth = Hash.new(0) if self.note =~ REG_LINEAR_GROWTH if $1 if eval($1).is_a?(Fixnum) growth[$1.to_i] = eval($2) elsif eval($1).is_a?(Range) eval($1).each{|param_id| growth[param_id] = eval($2)} end else (0..7).each{|param_id| growth[param_id] = eval($2)} end end growth end end class Game_Enemy < Game_Battler #-------------------------------------------------------------------------- # ● [别名修改]获取普通能力的基础值 #-------------------------------------------------------------------------- alias :param_base_linear_growth :param_base def param_base(param_id) base = param_base_linear_growth(param_id) return base if ((add = enemy.linear_growth[param_id]) == 0) base + (add * $game_party.average_level).to_i end end class Game_Party #-------------------------------------------------------------------------- # ● [追加]队伍平均等级 #-------------------------------------------------------------------------- def average_level members.collect{|a|a.level}.inject(:+) / members.size.to_f end end
欢迎光临 Project1 (https://rpg.blue/) | Powered by Discuz! X3.1 |