#基本ステータス詳細化 ver1.02 #ステータス画面で腕力、器用さ、素早さ、魔力の表示を 合計(基礎能力+装備能力) #という表示に変更します #現在はXPの初期設定が攻撃、防御は装備のみの表示になっているので #基本4ステータスにのみ対応しています #バグ報告はhttp://asukanosouko.hp.infoseek.co.jp/までどうぞ #-------------------------------------------------------------------------- class Game_Actor < Game_Battler #-------------------------------------------------------------------------- # ● 基本腕力の取得2 #-------------------------------------------------------------------------- def base_str2 n = $data_actors[@actor_id].parameters[2, @level] return [[n, 1].max, 999].min end #-------------------------------------------------------------------------- # ● 基本腕力の取得3 #-------------------------------------------------------------------------- def base_str3 n = 0 weapon = $data_weapons[@weapon_id] armor1 = $data_armors[@armor1_id] armor2 = $data_armors[@armor2_id] armor3 = $data_armors[@armor3_id] armor4 = $data_armors[@armor4_id] n += weapon != nil ? weapon.str_plus : 0 n += armor1 != nil ? armor1.str_plus : 0 n += armor2 != nil ? armor2.str_plus : 0 n += armor3 != nil ? armor3.str_plus : 0 n += armor4 != nil ? armor4.str_plus : 0 return [[n, -base_str2 + 1].max, 999].min end #-------------------------------------------------------------------------- # ● 基本器用さの取得2 #-------------------------------------------------------------------------- def base_dex2 n = $data_actors[@actor_id].parameters[3, @level] return [[n, 1].max, 999].min end #-------------------------------------------------------------------------- # ● 基本器用さの取得3 #-------------------------------------------------------------------------- def base_dex3 n = 0 weapon = $data_weapons[@weapon_id] armor1 = $data_armors[@armor1_id] armor2 = $data_armors[@armor2_id] armor3 = $data_armors[@armor3_id] armor4 = $data_armors[@armor4_id] n += weapon != nil ? weapon.dex_plus : 0 n += armor1 != nil ? armor1.dex_plus : 0 n += armor2 != nil ? armor2.dex_plus : 0 n += armor3 != nil ? armor3.dex_plus : 0 n += armor4 != nil ? armor4.dex_plus : 0 return [[n, -base_dex2 + 1].max, 999].min end #-------------------------------------------------------------------------- # ● 基本素早さの取得2 #-------------------------------------------------------------------------- def base_agi2 n = $data_actors[@actor_id].parameters[4, @level] return [[n, 1].max, 999].min end #-------------------------------------------------------------------------- # ● 基本素早さの取得3 #-------------------------------------------------------------------------- def base_agi3 n = 0 weapon = $data_weapons[@weapon_id] armor1 = $data_armors[@armor1_id] armor2 = $data_armors[@armor2_id] armor3 = $data_armors[@armor3_id] armor4 = $data_armors[@armor4_id] n += weapon != nil ? weapon.agi_plus : 0 n += armor1 != nil ? armor1.agi_plus : 0 n += armor2 != nil ? armor2.agi_plus : 0 n += armor3 != nil ? armor3.agi_plus : 0 n += armor4 != nil ? armor4.agi_plus : 0 return [[n, -base_agi2 + 1].max, 999].min end #-------------------------------------------------------------------------- # ● 基本魔力の取得2 #-------------------------------------------------------------------------- def base_int2 n = $data_actors[@actor_id].parameters[5, @level] return [[n, 1].max, 999].min end #-------------------------------------------------------------------------- # ● 基本魔力の取得3 #-------------------------------------------------------------------------- def base_int3 n = 0 weapon = $data_weapons[@weapon_id] armor1 = $data_armors[@armor1_id] armor2 = $data_armors[@armor2_id] armor3 = $data_armors[@armor3_id] armor4 = $data_armors[@armor4_id] n += weapon != nil ? weapon.int_plus : 0 n += armor1 != nil ? armor1.int_plus : 0 n += armor2 != nil ? armor2.int_plus : 0 n += armor3 != nil ? armor3.int_plus : 0 n += armor4 != nil ? armor4.int_plus : 0 return [[n, -base_int2 + 1].max, 999].min end end class Window_Base < Window #-------------------------------------------------------------------------- # ● パラメータの描画 # actor : アクター # x : 描画先 X 座標 # y : 描画先 Y 座標 # type : パラメータの種類 (0〜6) #-------------------------------------------------------------------------- def draw_actor_parameter2(actor, x, y, type) case type when 0 parameter_name = $data_system.words.atk parameter_value = actor.atk a = 1 when 1 parameter_name = $data_system.words.pdef parameter_value = actor.pdef a = 1 when 2 parameter_name = $data_system.words.mdef parameter_value = actor.mdef a = 1 when 3 parameter_name = $data_system.words.str parameter_value = actor.base_str parameter_value2 = actor.base_str2 parameter_value3 = actor.base_str3 a = 2 when 4 parameter_name = $data_system.words.dex parameter_value = actor.base_dex parameter_value2 = actor.base_dex2 parameter_value3 = actor.base_dex3 a = 2 when 5 parameter_name = $data_system.words.agi parameter_value = actor.base_agi parameter_value2 = actor.base_agi2 parameter_value3 = actor.base_agi3 a = 2 when 6 parameter_name = $data_system.words.int parameter_value = actor.base_int parameter_value2 = actor.base_int2 parameter_value3 = actor.base_int3 a = 2 end self.contents.font.color = system_color self.contents.draw_text(x, y, 120, 32, parameter_name) self.contents.font.color = normal_color self.contents.draw_text(x + 120, y, 36, 32, parameter_value.to_s, 2) if a == 2 self.contents.draw_text(x + 135, y, 36, 32, "(", 2) self.contents.draw_text(x + 170, y, 36, 32, parameter_value2.to_s, 2) if parameter_value3 >= 0 self.contents.draw_text(x + 187, y, 36, 32, "+", 2) self.contents.draw_text(x + 227, y, 36, 32, parameter_value3.to_s, 2) else self.contents.draw_text(x + 187, y, 36, 32, "-", 2) parameter_value4 = parameter_value3 * -1 self.contents.draw_text(x + 227, y, 36, 32, parameter_value4.to_s, 2) end self.contents.draw_text(x + 240, y, 36, 32, ")", 2) end end end class Window_Status < Window_Base def refresh self.contents.clear draw_actor_graphic(@actor, 40, 112) draw_actor_name(@actor, 4, 0) draw_actor_class(@actor, 4 + 144, 0) draw_actor_level(@actor, 96, 32) draw_actor_state(@actor, 96, 64) draw_actor_hp(@actor, 20, 112, 172) draw_actor_sp(@actor, 20, 144, 172) draw_actor_parameter2(@actor, 20, 192, 0) draw_actor_parameter2(@actor, 20, 224, 1) draw_actor_parameter2(@actor, 20, 256, 2) draw_actor_parameter2(@actor, 20, 304, 3) draw_actor_parameter2(@actor, 20, 336, 4) draw_actor_parameter2(@actor, 20, 368, 5) draw_actor_parameter2(@actor, 20, 400, 6) self.contents.font.color = system_color self.contents.draw_text(320, 48, 80, 32, "EXP") self.contents.draw_text(320, 80, 80, 32, "NEXT") self.contents.font.color = normal_color self.contents.draw_text(320 + 80, 48, 84, 32, @actor.exp_s, 2) self.contents.draw_text(320 + 80, 80, 84, 32, @actor.next_rest_exp_s, 2) self.contents.font.color = system_color self.contents.draw_text(320, 160, 96, 32, "装備") draw_item_name($data_weapons[@actor.weapon_id], 320 + 16, 208) draw_item_name($data_armors[@actor.armor1_id], 320 + 16, 256) draw_item_name($data_armors[@actor.armor2_id], 320 + 16, 304) draw_item_name($data_armors[@actor.armor3_id], 320 + 16, 352) draw_item_name($data_armors[@actor.armor4_id], 320 + 16, 400) end end