#============================================================================== # □ 複数属性 (for VX Ace) #------------------------------------------------------------------------------ # Version : 2_20120219 # by サリサ・タイクーン # http://www.tycoon812.com/rgss/ #============================================================================== #============================================================================== # □ 素材スイッチ #============================================================================== $rgsslab = {} if $rgsslab == nil $rgsslab["複数属性"] = true if $rgsslab["複数属性"] #============================================================================== # □ カスタマイズポイント #============================================================================== module RGSSLAB end module RGSSLAB::Plurality_Element #-------------------------------------------------------------------------- # ○ 属性設定 - スキル # 2個目以降のスキルの属性を指定します。 # # ・記述方法 # スキルID => [属性ID, …], # (最後の設定のみ、後ろのカンマを省略する事ができます) # # データベースの属性と合わせて、複数持つスキルができます。 # (計算に関しては、最も大きい値を返します) #-------------------------------------------------------------------------- SKILL_SET = { 51 => [7], } #-------------------------------------------------------------------------- # ○ 属性設定 - アイテム # 2個目以降のアイテムの属性を指定します。 # # ・記述方法 # アイテムID => [属性ID, …], # (最後の設定のみ、後ろのカンマを省略する事ができます) # # データベースの属性と合わせて、複数持つアイテムができます。 # (計算に関しては、最も大きい値を返します) #-------------------------------------------------------------------------- ITEM_SET = { 51 => [7], } end # カスタマイズポイントは、ここまで #============================================================================== # □ RGSSLAB::Plurality_Element [module] #============================================================================== module RGSSLAB::Plurality_Element #-------------------------------------------------------------------------- # ○ 素材設定用の定数定義 #-------------------------------------------------------------------------- MATERIAL_NAME = "複数属性" VERSION = 2 RELEASE = 20120219 end #============================================================================== # ■ Game_Battler [class] #============================================================================== class Game_Battler < Game_BattlerBase #-------------------------------------------------------------------------- # ○ モジュールの設定 #-------------------------------------------------------------------------- RGSSLAB_020 = RGSSLAB::Plurality_Element #-------------------------------------------------------------------------- # ● スキル/アイテムの属性修正値を取得 [再定義] # user : 使用者 # item : アイテム/スキル #-------------------------------------------------------------------------- def item_element_rate(user, item) if item.damage.element_id < 0 user.atk_elements.empty? ? 1.0 : elements_max_rate(user.atk_elements) else result = [] result.push(item.damage.element_id) if $rgsslab["複数属性"] && item.is_a?(RPG::Skill) && RGSSLAB_020::SKILL_SET[item.id] for e in RGSSLAB_020::SKILL_SET[item.id] do result.push(e) end end if $rgsslab["複数属性"] && item.is_a?(RPG::Item) && RGSSLAB_020::ITEM_SET[item.id] for e in RGSSLAB_020::ITEM_SET[item.id] do result.push(e) end end if $rgsslab["指定属性計算除外"] x = 0 for y in result for z in 0..RGSSLAB_013::REMOVE.size result[x] = nil if y == RGSSLAB_013::REMOVE[z] end x += 1 end result.compact! end elements_max_rate(result) end end end end