#============================================================================== # 「非戦闘メンバーのパーティ能力」(ACE) Ver.1.0 # 製作者:奈々(なな) # へぷたなすくろーる http://heptanas.mamagoto.com/ # # ◇利用規約 # この素材はフリーゲームにのみご利用頂けます。 # シェアウェア、販売作品への利用は原則として禁止します。(詳細はブログ参照) # 利用される場合はスクリプト作成者として「奈々」とURLを明記し # 配布時にブログで利用規約の確認と、利用報告を行って下さい。 # #------------------------------------------------------------------------------ # # デフォルトの仕様では「パーティ能力」の特徴は # 戦闘に参加しているメンバーのみで判定されます。 # これをパーティメンバー全員を含めるように、個々に設定することができます。 # 非戦闘要員として活躍するアクターを作りたいときにどうでしょうか。 # # 使い方は、初期設定で該当の項目の「false」を「true」に書き換えます。 # #============================================================================== module Nana module Party_Ability ENCOUNTER_HALF = false #エンカウント半減 ENCOUNTER_NONE = false #エンカウント無効 CANCEL_SURPRISE = false #不意打ち無効 RAISE_PREEMPTIVE = false #先制攻撃率アップ GOLD_DOUBLE = false #獲得金額二倍 DROP_ITEM_DOUBLE = false #アイテム入手率二倍 end end #============================================================================== # ■ Game_Party #------------------------------------------------------------------------------ # パーティを扱うクラスです。所持金やアイテムなどの情報が含まれます。このクラ # スのインスタンスは $game_party で参照されます。 #============================================================================== class Game_Party < Game_Unit #-------------------------------------------------------------------------- # ● パーティ能力判定(全メンバー) #-------------------------------------------------------------------------- def party_ability_all(ability_id) all_members.any? {|actor| actor.party_ability(ability_id) } end #-------------------------------------------------------------------------- # ● エンカウント半減? #-------------------------------------------------------------------------- def encounter_half? if Nana::Party_Ability::ENCOUNTER_HALF party_ability_all(ABILITY_ENCOUNTER_HALF) else party_ability(ABILITY_ENCOUNTER_HALF) end end #-------------------------------------------------------------------------- # ● エンカウント無効? #-------------------------------------------------------------------------- def encounter_none? if Nana::Party_Ability::ENCOUNTER_NONE party_ability_all(ABILITY_ENCOUNTER_NONE) else party_ability(ABILITY_ENCOUNTER_NONE) end end #-------------------------------------------------------------------------- # ● 不意打ち無効? #-------------------------------------------------------------------------- def cancel_surprise? if Nana::Party_Ability::CANCEL_SURPRISE party_ability_all(ABILITY_CANCEL_SURPRISE) else party_ability(ABILITY_CANCEL_SURPRISE) end end #-------------------------------------------------------------------------- # ● 先制攻撃率アップ? #-------------------------------------------------------------------------- def raise_preemptive? if Nana::Party_Ability::RAISE_PREEMPTIVE party_ability_all(ABILITY_RAISE_PREEMPTIVE) else party_ability(ABILITY_RAISE_PREEMPTIVE) end end #-------------------------------------------------------------------------- # ● 獲得金額二倍? #-------------------------------------------------------------------------- def gold_double? if Nana::Party_Ability::GOLD_DOUBLE party_ability_all(ABILITY_GOLD_DOUBLE) else party_ability(ABILITY_GOLD_DOUBLE) end end #-------------------------------------------------------------------------- # ● アイテム入手率二倍? #-------------------------------------------------------------------------- def drop_item_double? if Nana::Party_Ability::DROP_ITEM_DOUBLE party_ability_all(ABILITY_DROP_ITEM_DOUBLE) else party_ability(ABILITY_DROP_ITEM_DOUBLE) end end end