=begin # 精英敌人,作者:66RPG的tan12345 # 功能:遇敌时,敌人有一定几率(可设定)变成精英,精英怪比普通怪属性有加成(可修改), # 当然了,精英怪的经验、金钱、掉落率也同样有加成。 # 也可以设定指定的敌人不会变成精英(比如BOSS) # # 使用方法:将脚本插入到main上 # =end module Tan_by_enemy_set #精英怪出现几率,30代表30% Tan_enemy_by = 35 #Tan_enemy_by_num = 2 2倍属性 #~ Tan_enemy_by_egold = 3 3倍金钱 #~ Tan_enemy_by_eexp = 3 3倍经验 #~ Tan_enemy_by_edrop = 3 3倍掉落率 Tan_enemy_by_emhp = 2 Tan_enemy_by_num = 1.1 Tan_enemy_by_egold = 5 Tan_enemy_by_eexp = 3 Tan_enemy_by_edrop = 3 #不会成为精英的敌人 NO_BY_ENEMY = [2,3]#表示2号和3号敌人不会变成精英,适合设定BOSS end class Game_Enemy < Game_Battler attr_reader :is_by # 是否精英 #-------------------------------------------------------------------------- # ● 精英初始化 #-------------------------------------------------------------------------- def init_by_enemy @is_by = false @is_by = true if rand(100) <= Tan_by_enemy_set::Tan_enemy_by && !Tan_by_enemy_set::NO_BY_ENEMY.include?(enemy_id) @original_name = @original_name + "(精英)" if @is_by == true @hp = mhp @mp = mmp end #-------------------------------------------------------------------------- # ● 是否精英 #-------------------------------------------------------------------------- def is_by? return true if @is_by return false end #-------------------------------------------------------------------------- # ● 初始化对象 #-------------------------------------------------------------------------- alias tan_by_enemy_initialize initialize def initialize(index, enemy_id) tan_by_enemy_initialize(index, enemy_id) init_by_enemy end #-------------------------------------------------------------------------- # ● 获取普通能力的基础值 #-------------------------------------------------------------------------- alias tan_by_enemy_param_base param_base def param_base(param_id) v = tan_by_enemy_param_base(param_id) v *= Tan_by_enemy_set::Tan_enemy_by_num if is_by? return v.to_i end #-------------------------------------------------------------------------- # ● 获取经验值 #-------------------------------------------------------------------------- alias tan_by_enemy_exp exp def exp v = tan_by_enemy_exp v *= Tan_by_enemy_set::Tan_enemy_by_eexp if is_by? return v.to_i end #-------------------------------------------------------------------------- # ● 获取hp #-------------------------------------------------------------------------- alias tan_by_enemy_mhp mhp def mhp v = tan_by_enemy_mhp v *= Tan_by_enemy_set::Tan_enemy_by_emhp if is_by? return v.to_i end #-------------------------------------------------------------------------- # ● 获取金钱 #-------------------------------------------------------------------------- alias tan_by_enemy_gold gold def gold v = tan_by_enemy_gold v *= Tan_by_enemy_set::Tan_enemy_by_egold if is_by? return v.to_i end #-------------------------------------------------------------------------- # ● 获取物品掉率的倍率 #-------------------------------------------------------------------------- alias tan_by_enemy_drop_item_rate drop_item_rate def drop_item_rate v = tan_by_enemy_drop_item_rate v *= Tan_by_enemy_set::Tan_enemy_by_edrop if is_by? return v end end
=begin # 精英敌人,作者:66RPG的tan12345 # 功能:遇敌时,敌人有一定几率(可设定)变成精英,精英怪比普通怪属性有加成(可修改), # 当然了,精英怪的经验、金钱、掉落率也同样有加成。 # 也可以设定指定的敌人不会变成精英(比如BOSS) # # 使用方法:将脚本插入到main上 # =end module Tan_by_enemy_set #精英怪出现几率,30代表30% Tan_enemy_by = 20 #Tan_enemy_by_num = 2 2倍属性 #~ Tan_enemy_by_egold = 3 3倍金钱 #~ Tan_enemy_by_eexp = 3 3倍经验 #~ Tan_enemy_by_edrop = 3 3倍掉落率 Tan_enemy_by_emhp = 3 Tan_enemy_by_num = 1.2 Tan_enemy_by_egold = 10 Tan_enemy_by_eexp = 5 Tan_enemy_by_edrop = 5 #不会成为精英的敌人 NO_BY_ENEMY = [2,3]#表示2号和3号敌人不会变成精英,适合设定BOSS end class Game_Enemy < Game_Battler attr_reader :is_by # 是否精英 #-------------------------------------------------------------------------- # ● 精英初始化 #-------------------------------------------------------------------------- def init_by_enemy @is_by = false @is_by = true if rand(100) <= Tan_by_enemy_set::Tan_enemy_by && !Tan_by_enemy_set::NO_BY_ENEMY.include?(enemy_id) @original_name = @original_name + "(boss)" if @is_by == true @hp = mhp @mp = mmp end #-------------------------------------------------------------------------- # ● 是否精英 #-------------------------------------------------------------------------- def is_by? return true if @is_by return false end #-------------------------------------------------------------------------- # ● 初始化对象 #-------------------------------------------------------------------------- alias tan_by_enemy_initialize initialize def initialize(index, enemy_id) tan_by_enemy_initialize(index, enemy_id) init_by_enemy end #-------------------------------------------------------------------------- # ● 获取普通能力的基础值 #-------------------------------------------------------------------------- alias tan_by_enemy_param_base param_base def param_base(param_id) v = tan_by_enemy_param_base(param_id) v *= Tan_by_enemy_set::Tan_enemy_by_num if is_by? return v.to_i end #-------------------------------------------------------------------------- # ● 获取经验值 #-------------------------------------------------------------------------- alias tan_by_enemy_exp exp def exp v = tan_by_enemy_exp v *= Tan_by_enemy_set::Tan_enemy_by_eexp if is_by? return v.to_i end #-------------------------------------------------------------------------- # ● 获取hp #-------------------------------------------------------------------------- alias tan_by_enemy_mhp mhp def mhp v = tan_by_enemy_mhp v *= Tan_by_enemy_set::Tan_enemy_by_emhp if is_by? return v.to_i end #-------------------------------------------------------------------------- # ● 获取金钱 #-------------------------------------------------------------------------- alias tan_by_enemy_gold gold def gold v = tan_by_enemy_gold v *= Tan_by_enemy_set::Tan_enemy_by_egold if is_by? return v.to_i end #-------------------------------------------------------------------------- # ● 获取物品掉率的倍率 #-------------------------------------------------------------------------- alias tan_by_enemy_drop_item_rate drop_item_rate def drop_item_rate v = tan_by_enemy_drop_item_rate v *= Tan_by_enemy_set::Tan_enemy_by_edrop if is_by? return v end end
module Tan_by_enemy_set Boss_by = 20 #Boss出现几率 Boss_hp = 3 Boss_num = 1.2 Boss_gold = 10 Boss_exp = 5 Boss_drop = 5 NO_BOSS = [2,3]#不会成为BOSS的敌人 BB_by = 10 #Boss+精英出现几率 BB_hp = Boss_hp + Tan_enemy_by_emhp BB_num = 1.3 BB_gold = Boss_gold + Tan_enemy_by_egold BB_exp = Boss_exp + Tan_enemy_by_eexp BB_drop = Boss_drop + Tan_enemy_by_edrop end class Game_Enemy < Game_Battler attr_reader :is_by_boss # 是否boss attr_reader :is_bb # 是否boss+精英 def init_by_enemy @is_by = false @is_by_boss = false @is_bb = false @is_by = true if rand(100) <= Tan_by_enemy_set::Tan_enemy_by && !Tan_by_enemy_set::NO_BY_ENEMY.include?(enemy_id) @is_by_boss = true if rand(100)+100 <= Tan_by_enemy_set::Boss_by+100 && !Tan_by_enemy_set::NO_BOSS.include?(enemy_id) @is_bb = true if rand(100)+200 <= Tan_by_enemy_set::BB_by+200 && !Tan_by_enemy_set::NO_BOSS.include?(enemy_id) && !Tan_by_enemy_set::NO_BY_ENEMY.include?(enemy_id) @is_by = false if @is_by_boss == true || @is_bb == true @is_by_boss = false if @is_by == true || @is_bb == true @is_bb = false if @is_by == true || @is_by_boss == true @original_name = @original_name + "(精英)" if @is_by == true @original_name = @original_name + "(boss)" if @is_by_boss == true @original_name = @original_name + "(boss+精英)" if @is_bb == true @hp = mhp @mp = mmp end def is_by_boss? return true if @is_by_boss return false end def is_bb? return true if @is_bb return false end alias boss_param_base param_base def param_base(param_id) v = boss_param_base(param_id) v *= Tan_by_enemy_set::Boss_num if is_by_boss? v *= Tan_by_enemy_set::BB_num if is_bb? return v.to_i end alias boss_exp exp def exp v = boss_exp v *= Tan_by_enemy_set::Boss_exp if is_by_boss? v *= Tan_by_enemy_set::BB_exp if is_bb? return v.to_i end alias boss_mhp mhp def mhp v = boss_mhp v *= Tan_by_enemy_set::Boss_hp if is_by_boss? v *= Tan_by_enemy_set::BB_hp if is_bb? return v.to_i end alias boss_gold gold def gold v = boss_gold v *= Tan_by_enemy_set::Boss_gold if is_by_boss? v *= Tan_by_enemy_set::BB_gold if is_bb? return v.to_i end alias boss_drop_item_rate drop_item_rate def drop_item_rate v = boss_drop_item_rate v *= Tan_by_enemy_set::Boss_drop if is_by_boss? v *= Tan_by_enemy_set::BB_drop if is_bb? return v end end
欢迎光临 Project1 (https://rpg.blue/) | Powered by Discuz! X3.1 |