#============================================================================== # ■ RGSS3 敵の発動スキル読み替え Ver1.00 by 星潟 #------------------------------------------------------------------------------ # 敵が発動するスキルを別のスキル(複数可)に読み替えます。 # ただし、通常の敵の戦闘行動作成時に限ります。 # 戦闘行動の強制等で発動させる場合や、アクターの行動については # このスクリプトは効果がありません。 # # ※注意 # 1.多重に読み替える事はありません。 # 2.通常、使用条件を満たさないスキルは選択される事はありませんが # 発動スキル読み替えの効果で行動として設定される場合については # 例え使用できないスキルであっても選択されます。 # 3.2の場合でも、行動する際に使用出来ない場合は # 実際に使用される事はありません。 #============================================================================== # スキルのメモ欄に設定 #============================================================================== # <敵スキル読み替え:31,32> # # このスキルが行動内容として選ばれた場合 # スキル31と32の行動として読み変えられます。 #------------------------------------------------------------------------------ # <敵スキル読み替え:31,32,33,34,35> # # このスキルが行動内容として選ばれた場合 # スキル31、32、33、34、35の行動として読み変えられます。 #============================================================================== module RereadingSkill #敵の発動スキル読み替え用キーワードの設定。 Word = "敵スキル読み替え" end class Game_Enemy < Game_Battler #-------------------------------------------------------------------------- # 戦闘行動の作成 #-------------------------------------------------------------------------- alias make_actions_rereading make_actions def make_actions make_actions_rereading r = [] @actions.each {|a| i = a.item rs = i ? i.rereading_skills : [] if rs.empty? r.push(a) else rs.each {|s| next unless $data_skills[s] r.push(Game_Action.new(self).set_skill(s))} end} @actions = r end end class RPG::Skill #-------------------------------------------------------------------------- # 発動スキル読み替え用配列 #-------------------------------------------------------------------------- def rereading_skills @rereading_skills ||= create_rereading_skills end #-------------------------------------------------------------------------- # 発動スキル読み替え用配列の作成 #-------------------------------------------------------------------------- def create_rereading_skills (/<#{RereadingSkill::Word}[::](\S+)>/ =~ note ? $1.to_s : "" ).split(/\s*,\s*/).inject([]) {|r,i| r.push(i.to_i)} end end