#============================================================================== # ■ RGSS3 バトルメンバーかパーティメンバーのみステート付与 Ver1.00 by 星潟 #------------------------------------------------------------------------------ # 特定のステートが付与される時、対象がアクターであるなら # バトルメンバーかパーティメンバーでなければ付与されなくなります。 # 通常のスキルやアイテムによる付与ではなく # イベントによる付与でなければ基本的に意味はありません。 #============================================================================== # ステートのメモ欄に記述 #------------------------------------------------------------------------------ # <バトルメンバーのみ付与> # # このステートはバトルメンバーにいなければ付与されません。 #------------------------------------------------------------------------------ # <パーティメンバーのみ付与> # # このステートはパーティメンバー(控えも可)にいなければ付与されません。 #============================================================================== module StateAddablePartyIn #バトルメンバーのみ付与するステートへの設定用キーワードを指定。 Word1 = "バトルメンバーのみ付与" #パーティメンバーのみ付与するステートへの設定用キーワードを指定。 Word2 = "パーティメンバーのみ付与" end class Game_Battler < Game_BattlerBase #-------------------------------------------------------------------------- # ステートの付加可能判定 #-------------------------------------------------------------------------- alias state_addable_party_in? state_addable? def state_addable?(state_id) return false unless state_addable_check_party_in?(state_id) state_addable_party_in?(state_id) end #-------------------------------------------------------------------------- # パーティ内のみ付与 #-------------------------------------------------------------------------- def state_addable_check_party_in?(state_id) state = $data_states[state_id] if self.actor? if state.add_for_battle_member? && !$game_party.battle_members.include?(self) or state.add_for_party_member? && !$game_party.all_members.include?(self) return false end end return true end end class RPG::State < RPG::BaseItem #-------------------------------------------------------------------------- # バトルメンバーのみ付与 #-------------------------------------------------------------------------- def add_for_battle_member? (@add_for_battle_member ||= /<#{StateAddablePartyIn::Word1}>/ =~ note ? 1 : 0) == 1 end #-------------------------------------------------------------------------- # パーティメンバーのみ付与 #-------------------------------------------------------------------------- def add_for_party_member? (@add_for_party_member ||= /<#{StateAddablePartyIn::Word2}>/ =~ note ? 1 : 0) == 1 end end