#============================================================================== # ■ RGSS2 属性攻撃時にメッセージ色変更Ver1.00 by 星潟 #------------------------------------------------------------------------------ # # 属性が付与されている武器で攻撃した際や # 属性のついたスキル・アイテムを使用した際に # バトルメッセージの色を変更します。 # #============================================================================== module SK_EL_CL #占有スイッチ番号(ここで指定する番号は他では使用しないでください) S_NUMBER = 100 #占有変数番号(ここで指定する番号は他では使用しないでください) V_NUMBER = 100 #以下で属性と文字色の関連付けを行います。 #属性付き通常攻撃のメッセージ色を変更するか否か。 ATK_COLOR = true #属性付きスキルのメッセージ色を変更するか否か。 SKL_COLOR = true #属性付きアイテムのメッセージ色を変更するか否か。 ITM_COLOR = true #属性配列に使用時に色を変えたい属性のIDを書式に合わせて記入して下さい。 #文字色配列では、テキストカラー番号を属性配列に合わせて記入して下さい。 #例えば、属性配列の最初の文字が9(デフォルト炎属性)で #文字色配列の最初の文字が10の場合 #属性ID9の行動を行った際のメッセージはテキストカラー10となります。 #テキストカラーの色についてはGraphicフォルダ内のシステムフォルダにある #Window画像右下の色が対応しています。 #色の番号は左上から右に0〜7、一段下に下がって8〜15 #更に一段下がって9〜23、最後の一段が24〜31となっています。 #属性配列(文字色配列と数字の位置を合わせてください) ELEM_NUMBER = [9, 10, 11, 12, 13, 14, 15, 16] #文字色配列(属性配列と数字の位置を合わせてください) TEXT_COLOR = [10, 1, 14, 4, 20, 3, 6, 31] end class Scene_Battle < Scene_Base alias execute_action_attack_skelcl execute_action_attack def execute_action_attack color_check(@active_battler) if SK_EL_CL::ATK_COLOR execute_action_attack_skelcl end alias execute_action_skill_skelcl execute_action_skill def execute_action_skill color_check(@active_battler.action.skill) if SK_EL_CL::SKL_COLOR execute_action_skill_skelcl end alias execute_action_item_skelcl execute_action_item def execute_action_item color_check(@active_battler.action.item) if SK_EL_CL::ITM_COLOR execute_action_item_skelcl end alias execute_action_skelcl execute_action def execute_action execute_action_skelcl $game_switches[SK_EL_CL::S_NUMBER] = false $game_variables[SK_EL_CL::V_NUMBER] = 0 end def color_check(skill) return if skill.element_set == nil for i in skill.element_set count = 0 for data in SK_EL_CL::ELEM_NUMBER if i == data $game_switches[SK_EL_CL::S_NUMBER] = true $game_variables[SK_EL_CL::V_NUMBER] = SK_EL_CL::TEXT_COLOR[count] return end count += 1 end end end end class Game_Battler alias attack_effect_skelcl attack_effect def attack_effect(attacker) color_check(attacker) if SK_EL_CL::ATK_COLOR attack_effect_skelcl(attacker) end alias skill_effect_skelcl skill_effect def skill_effect(user, skill) color_check(skill) if SK_EL_CL::SKL_COLOR skill_effect_skelcl(user, skill) end alias item_effect_skelcl item_effect def item_effect(user, item) color_check(item) if SK_EL_CL::ITM_COLOR skill_effect_skelcl(user, item) end def color_check(skill) return if skill.element_set == nil for i in skill.element_set count = 0 for data in SK_EL_CL::ELEM_NUMBER if i == data $game_switches[SK_EL_CL::S_NUMBER] = true $game_variables[SK_EL_CL::V_NUMBER] = SK_EL_CL::TEXT_COLOR[count] return end count += 1 end end end end class Window_BattleMessage < Window_Message #-------------------------------------------------------------------------- # ● 行の描画 # index : 行番号 #-------------------------------------------------------------------------- def draw_line(index) rect = Rect.new(0, 0, 0, 0) rect.x += 4 rect.y += index * WLH rect.width = contents.width - 8 rect.height = WLH self.contents.clear_rect(rect) if $game_switches[SK_EL_CL::S_NUMBER] == true self.contents.font.color = text_color($game_variables[SK_EL_CL::V_NUMBER]) else self.contents.font.color = normal_color end self.contents.draw_text(rect, @lines[index]) end end