#==============================================================================
# ■ パラメータ追加 By 貪藻矢射妥←
#
# ・読んで字の如く、パラメータを追加します。
# とりあえず幸運値を追加。回避や命中を補正します。
#
# また、攻撃力、防御力などに関しても少しカスタマイズ。
# ※所謂素手ステータスですね。
# スクリプト内でベースとなる値とレベルアップで上昇するレートを設定します。
#
# 幸運値とみなす属性が付与されている場合、回避修正の値を幸運値として利用
#
# エネミーの幸運値についてはスクリプト中でカスタマイズ。
# ※かなり使いづらい気がしますが、仕様です
#
# するめ準備スクリプトが別途必要になります
#
#==============================================================================
# 更新っぽいもの
# まだなし
$OuterFlgs = {} if $OuterFlgs == nil
$OuterFlgs["Param_Add"] = true
module PARAM_ADD
# atkの基本値(数値としては小数点以下でもOK)
# アクターID=>数値 で記載
ACTOR_ATK_BASE = {
1 => 5, 2 => 11, 3 => 12, 4 => 8, 5 => 8, 6 => 7,
7 => 10, 9 => 10, 10 => 13, 12 => 9, 13 => 10, 14 => 9,
15 => 6, 16 => 6, 18 => 9, 19 => 10, 21 => 9, 22 => 9,
23 => 10, 24 => 8, 25 => 7, 27 => 8, 28 => 10, 30 => 13,
31 => 14, 33 => 12, 34 => 12, 36 => 9, 37 => 9, 38 => 10,
39 => 10,
50 => 88
}
# atkのLv up上昇値(数値としては小数点以下でもOK)
# アクターID=>数値 で記載
ACTOR_ATK_UP_RATE = {
1 => 0.4, 2 => 0.6, 3 => 0.7, 4 => 0.6, 5 => 0.5, 6 => 0.5,
7 => 0.5, 9 => 0.6, 10 => 0.7, 12 => 0.6, 13 => 0.6, 14 => 0.5,
15 => 0.5, 16 => 0.5, 18 => 0.7, 19 => 0.6, 21 => 0.7, 22 => 0.7,
23 => 0.7, 24 => 0.6, 25 => 0.5, 27 => 0.6, 28 => 0.7, 30 => 0.5,
31 => 0.7, 33 => 0.7, 34 => 0.7, 36 => 0.6, 37 => 0.7, 38 => 0.7,
39 => 0.6,
50 => 8.8
}
# pdefの基本値(数値としては小数点以下でもOK)
# アクターID=>数値 で記載
ACTOR_PDEF_BASE = {
1 => 3, 2 => 10, 3 => 11, 4 => 9, 5 => 4, 6 => 6,
7 => 12, 9 => 12, 10 => 17, 12 => 10, 13 => 11, 14 => 9,
15 => 2, 16 => 2, 18 => 10, 19 => 11, 21 => 8, 22 => 9,
23 => 10, 24 => 7, 25 => 4, 27 => 10, 28 => 13, 30 => 15,
31 => 8, 33 => 9, 34 => 8, 36 => 7, 37 => 6, 38 => 15,
39 => 10,
50 => 88
}
# pdefのLv up上昇値(数値としては小数点以下でもOK)
# アクターID=>数値 で記載
ACTOR_PDEF_UP_RATE = {
1 => 0.7, 2 => 0.8, 3 => 0.7, 4 => 0.7, 5 => 0.6, 6 => 1.0,
7 => 1.0, 9 => 1.0, 10 => 0.9, 12 => 1.0, 13 => 0.8, 14 => 0.9,
15 => 0.6, 16 => 0.6, 18 => 1.1, 19 => 1.2, 21 => 1.3, 22 => 0.6,
23 => 0.7, 24 => 0.6, 25 => 0.8, 27 => 1.1, 28 => 0.9, 30 => 0.6,
31 => 1.4, 33 => 0.5, 34 => 0.5, 36 => 0.8, 37 => 0.7, 38 => 0.9,
39 => 0.9,
50 => 8.8
}
# mdefの基本値(数値としては小数点以下でもOK)
# アクターID=>数値 で記載
ACTOR_MDEF_BASE = {
1 => 8, 2 => 9, 3 => 5, 4 => 5, 5 => 10, 6 => 8,
7 => 12, 9 => 9, 10 => 4, 12 => 6, 13 => 8, 14 => 7,
15 => 6, 16 => 6, 18 => 11, 19 => 9, 21 => 10, 22 => 11,
23 => 7, 24 => 9, 25 => 12, 27 => 8, 28 => 12, 30 => 9,
31 => 9, 33 => 9, 34 => 5, 36 => 7, 37 => 6, 38 => 15,
39 => 8,
50 => 88
}
# pdefのLv up上昇値(数値としては小数点以下でもOK)
# アクターID=>数値 で記載
ACTOR_MDEF_UP_RATE = {
1 => 0.8, 2 => 0.7, 3 => 0.6, 4 => 0.6, 5 => 0.7, 6 => 1.1,
7 => 0.9, 9 => 0.9, 10 => 0.8, 12 => 0.9, 13 => 0.9, 14 => 1.0,
15 => 0.7, 16 => 0.7, 18 => 1.0, 19 => 1.3, 21 => 1.4, 22 => 0.7,
23 => 0.8, 24 => 0.7, 25 => 1.0, 27 => 0.9, 28 => 0.8, 30 => 0.7,
31 => 1.4, 33 => 0.5, 34 => 0.5, 36 => 1.0, 37 => 0.8, 38 => 0.7,
39 => 0.8,
50 => 8.8
}
# lukの基本値(数値としては小数点以下でもOK)
# アクターID=>数値 で記載
ACTOR_LUK_BASE = {
1 => 48, 2 => 32, 3 => 28, 4 => 25, 5 => 29, 6 => 37,
7 => 11, 9 => 31, 10 => 32, 12 => 34, 13 => 27, 14 => 29,
15 => 30, 16 => 30, 18 => 35, 19 => 27, 21 => 34, 22 => 26,
23 => 29, 24 => 28, 25 => 30, 27 => 30, 28 => 29, 30 => 11,
31 => 56, 33 => 23, 34 => 21, 36 => 22, 37 => 23, 38 => 11,
39 => 25,
50 => 88
}
# lukのLv up上昇値(数値としては小数点以下でもOK)
# アクターID=>数値 で記載
ACTOR_LUK_UP_RATE = {
1 => 5.5, 2 => 2.3, 3 => 2.2, 4 => 2.2, 5 => 2.1, 6 => 2.5,
7 => 1.5, 9 => 2.5, 10 => 2.4, 12 => 2.5, 13 => 2.3, 14 => 2.4,
15 => 2.1, 16 => 2.1, 18 => 2.6, 19 => 2.7, 21 => 2.8, 22 => 2.1,
23 => 2.2, 24 => 2.1, 25 => 2.3, 27 => 2.6, 28 => 2.4, 30 => 1.5,
31 => 6.4, 33 => 2.1, 34 => 2.2, 36 => 2.3, 37 => 2.2, 38 => 1.1,
39 => 2.1,
50 => 8.8
}
# 幸運値補正率
# 回避や命中率で使用します
LUK_ADJUST_RATE = 0.05
# エネミーの幸運値(Default)
ENEMY_LUK_BASE = 100
# エネミー毎の幸運加算値
# エネミーID => 数値 で記載
EMENY_LUK_PLUS = {
0 => 100,
}
# 幸運値上昇属性
ELE_LUK_PLUS = 40
end
#==============================================================================
# ■ Game_Battler (分割定義 1)
#==============================================================================
class Game_Battler
#--------------------------------------------------------------------------
# ● 公開インスタンス変数
#--------------------------------------------------------------------------
attr_reader :luk # 幸運値
attr_accessor :luk_plus
#--------------------------------------------------------------------------
# ● オブジェクト初期化
#--------------------------------------------------------------------------
alias initialize_diamond_param_add_at_game_battler initialize
def initialize
# 元の処理を呼び戻す
initialize_diamond_param_add_at_game_battler
@luk = 0
@luk_plus = 0
end
#--------------------------------------------------------------------------
# ● 幸運値の取得
#--------------------------------------------------------------------------
def luk
n = [[base_luk + @luk_plus, 0].max, BM::MAX_STR].min
for i in @states
# 幸運値上昇属性が付与されている場合回避修正の値を幸運値として利用
if $data_states[i].guard_element_set.include?(PARAM_ADD::ELE_LUK_PLUS)
n *= ($data_states[i].eva + 100) / 100.0
end
end
n = [[Integer(n), 0].max, BM::MAX_STR].min
return n
end
#--------------------------------------------------------------------------
# ● 幸運値の設定
#--------------------------------------------------------------------------
def luk=(luk)
@luk_plus += luk - self.luk
@luk_plus = [[@luk_plus, - BM::MAX_STR].max, BM::MAX_STR].min
end
#--------------------------------------------------------------------------
# ● 命中率の取得
#--------------------------------------------------------------------------
def hit
n = 100 + luk * PARAM_ADD::LUK_ADJUST_RATE
for i in @states
n *= $data_states[i].hit_rate / 100.0
end
return Integer(n)
end
#--------------------------------------------------------------------------
# ● 回避修正の取得
#--------------------------------------------------------------------------
def eva
n = base_eva + Integer(luk * PARAM_ADD::LUK_ADJUST_RATE)
for i in @states
# 幸運値上昇属性が付与されていない場合、通常通り回避修正を追加
if !$data_states[i].guard_element_set.include?(PARAM_ADD::ELE_LUK_PLUS)
n += $data_states[i].eva
end
end
return n
end
end
#==============================================================================
# ■ Game_Battler (分割定義 3)
#==============================================================================
class Game_Battler
include PARAM_ADD
include BM
#--------------------------------------------------------------------------
# ● 通常攻撃の効果適用
# attacker : 攻撃者 (バトラー)
#--------------------------------------------------------------------------
★★★ 一撃必殺カスタマイズ 参照 ★★★
ef attack_effect(attacker)
#--------------------------------------------------------------------------
# ● スキルの効果適用
# user : スキルの使用者 (バトラー)
# skill : スキル
#--------------------------------------------------------------------------
★★★ Surume_2K_2_XP 参照 ★★★
#--------------------------------------------------------------------------
# ● アイテムの効果適用
# item : アイテム
#--------------------------------------------------------------------------
★★★ '0X to XP:パラメーター上昇アイテムの複数化 参照 ★★★
end
#==============================================================================
# ■ Game_Actor
#==============================================================================
class Game_Actor < Game_Battler
#--------------------------------------------------------------------------
# ● セットアップ
#--------------------------------------------------------------------------
alias setup_diamond_param_add_at_game_actor setup
def setup(actor_id)
# 元の処理を呼び戻す
setup_diamond_param_add_at_game_actor(actor_id)
@atk = 0
@pdef = 0
@mdef = 0
@luk = 0
@eva = 0
@luk_plus = 0
end
#--------------------------------------------------------------------------
# ● パラメータの基本値とLv up上昇値の取得
# base_hash : 基本値のハッシュ
# rate_hash : Lv up上昇値のハッシュ
# actor_id : アクターID
#--------------------------------------------------------------------------
def get_base_rate(base_hash, rate_hash, actor_id)
base_num = 0
rate_num = 0
if base_hash[actor_id] != nil
base_num = base_hash[actor_id]
end
if rate_hash[actor_id] != nil
rate_num = rate_hash[actor_id]
end
return [base_num, rate_num]
end
#--------------------------------------------------------------------------
# ● 基本攻撃力の取得
#--------------------------------------------------------------------------
def base_atk
weapon = $data_weapons[@weapon_id]
if $OuterFlgs["Equip_Extend"]
armors = []
arm_list = get_armors_id_list
for i in 0...@armors_weapon.size
if @armors_weapon[i]
armors[i] = $data_weapons[arm_list[i]]
else
armors[i] = nil
end
end
end # $OuterFlgs["Equip_Extend"]
atkb = weapon != nil ? weapon.atk : 0
if $OuterFlgs["Equip_Extend"]
armors.each { |equip| atkb += (equip != nil ? equip.atk : 0) }
end # $OuterFlgs["Equip_Extend"]
atk_root = get_base_rate(PARAM_ADD::ACTOR_ATK_BASE,
PARAM_ADD::ACTOR_ATK_UP_RATE, @actor_id)
patkb = atk_root[0]
patkb += atk_root[1] * (@level - 1)
return atkb + patkb.floor
end
#--------------------------------------------------------------------------
# ● 基本物理防御の取得
#--------------------------------------------------------------------------
def base_pdef
pdefb = 0
list = [$data_weapons[@weapon_id]]
list = get_equip_list(list)
list.each { |equip| pdefb += (equip != nil ? equip.pdef : 0) }
pdef_root = get_base_rate(PARAM_ADD::ACTOR_PDEF_BASE,
PARAM_ADD::ACTOR_PDEF_UP_RATE, @actor_id)
pdefb = pdef_root[0]
pdefb += pdef_root[1] * (@level - 1)
return pdefb + pdefb.floor
end
#--------------------------------------------------------------------------
# ● 基本魔法防御の取得
#--------------------------------------------------------------------------
def base_mdef
mdefb = 0
list = [$data_weapons[@weapon_id]]
list = get_equip_list(list)
list.each { |equip| mdefb += (equip != nil ? equip.mdef : 0) }
mdef_root = get_base_rate(PARAM_ADD::ACTOR_MDEF_BASE,
PARAM_ADD::ACTOR_MDEF_UP_RATE, @actor_id)
mdefb = mdef_root[0]
mdefb += mdef_root[1] * (@level - 1)
return mdefb + mdefb.floor
end
#--------------------------------------------------------------------------
# ● 基本幸運値の取得
#--------------------------------------------------------------------------
def base_luk
luk_root = get_base_rate(PARAM_ADD::ACTOR_LUK_BASE,
PARAM_ADD::ACTOR_LUK_UP_RATE, @actor_id)
lukb = luk_root[0]
lukb += luk_root[1] * (@level - 1)
list = []
list = get_equip_list(list)
for equips in list
if equips != nil
if $imported["AlterEquipment"] && equips.is_a?(RPG::Armor2)
lukb += equips.luk
elsif equips.is_a?(RPG::Armor) &&
equips.guard_element_set.include?(PARAM_ADD::ELE_LUK_PLUS)
lukb += equips.eva
end
end
end
return lukb.floor
end
#--------------------------------------------------------------------------
# ● 基本回避修正の取得
#--------------------------------------------------------------------------
def base_eva
evab = 0
list = []
list = get_equip_list(list)
for equips in list
if equips != nil
if $imported["AlterEquipment"] && equips.is_a?(RPG::Armor2)
evab += equips.eva
elsif equips.is_a?(RPG::Armor) &&
!equips.guard_element_set.include?(PARAM_ADD::ELE_LUK_PLUS)
evab += equips.eva
end
end
end
return evab
end
end
#==============================================================================
# ■ Game_Enemy
#==============================================================================
class Game_Enemy < Game_Battler
#--------------------------------------------------------------------------
# ● オブジェクト初期化
#--------------------------------------------------------------------------
alias initialize_diamond_param_add_at_game_enemy initialize
def initialize(troop_id, member_index)
# 元の処理を呼び戻す
initialize_diamond_param_add_at_game_enemy(troop_id, member_index)
@luk = luk
end
#--------------------------------------------------------------------------
# ● 基本 幸運値 の取得
#--------------------------------------------------------------------------
def base_luk
# 基本値を設定
n = PARAM_ADD::ENEMY_LUK_BASE
# エネミー毎の幸運値を加算
if PARAM_ADD::EMENY_LUK_PLUS[@enemy_id] != nil
n += PARAM_ADD::EMENY_LUK_PLUS[@enemy_id]
end
return n
end
end
#==============================================================================
# ■ Window_Base
#==============================================================================
class Window_Base < Window
#--------------------------------------------------------------------------
# ● パラメータの描画
# actor : アクター
# x : 描画先 X 座標
# y : 描画先 Y 座標
# type : パラメータの種類 (0〜8)
#--------------------------------------------------------------------------
def draw_actor_parameter(actor, x, y, type)
case type
when Def_Num::PRM_VIEW_TYPE_ATK
parameter_name = Vocab::atk
parameter_value = actor.atk
when Def_Num::PRM_VIEW_TYPE_PDEF
parameter_name = Vocab::pdef
parameter_value = actor.pdef
when Def_Num::PRM_VIEW_TYPE_MDEF
parameter_name = Vocab::mdef
parameter_value = actor.mdef
when Def_Num::PRM_VIEW_TYPE_STR
parameter_name = Vocab::str
parameter_value = actor.str
when Def_Num::PRM_VIEW_TYPE_DEX
parameter_name = Vocab::dex
parameter_value = actor.dex
when Def_Num::PRM_VIEW_TYPE_AGI
parameter_name = Vocab::agi
parameter_value = actor.agi
when Def_Num::PRM_VIEW_TYPE_INT
parameter_name = Vocab::int
parameter_value = actor.int
when Def_Num::PRM_VIEW_TYPE_EVA
parameter_name = Vocab::eva
parameter_value = actor.eva
when Def_Num::PRM_VIEW_TYPE_LUK
if $OuterFlgs["Param_Add"]
parameter_name = Vocab::luk
parameter_value = actor.luk
else
parameter_name = Vocab::UNKNOWN_WORD
parameter_value = 0
end # $OuterFlgs["Param_Add"]
else
# 異常の場合
parameter_name = Vocab::UNKNOWN_WORD
parameter_value = 0
end
font_name = self.contents.font.name
self.contents.font.name = DRAWFONT
rectr = [x, y, 100, 32]
draw_shadow_text(rectr, parameter_name, system_color)
self.contents.font.name = DRAWFONT2
rectr = [x + 100, y, 48, 32]
draw_shadow_text(rectr, parameter_value.to_s, normal_color, 2)
self.contents.font.name = font_name
end
end
#==============================================================================
# ■ Window_Status
#==============================================================================
class Window_Status < Window_Base
#--------------------------------------------------------------------------
# ● リフレッシュ
#--------------------------------------------------------------------------
def refresh
self.contents.clear
draw_actor_name(@actor, 4, 0)
draw_actor_class(@actor, 4 + 144, 0)
draw_actor_state(@actor, 196, 32)
draw_actor_level(@actor, 96, 32)
draw_actor_hp(@actor, 96, 88, 172)
draw_actor_sp(@actor, 96, 112, 172)
# Actorパラメータ表示
for idx in 0..8
draw_actor_parameter(@actor, 96, 160 + 24 * idx, idx)
end
font_name = self.contents.font.name
# 経験値表示
self.contents.font.name = DRAWFONT3
rectrE1 = [320, 88, 80, 32]
rectrN1 = [320, 112, 80, 32]
draw_shadow_text(rectrE1, Vocab::ExpTotal, system_color)
draw_shadow_text(rectrN1, Vocab::ExpNext, system_color)
self.contents.font.name = DRAWFONT2
rectrE2 = [rectrE1[0] + 80, rectrE1[1], rectrE1[2] + 4, rectrE1[3]]
rectrN2 = [rectrN1[0] + 80, rectrN1[1], rectrN1[2] + 4, rectrN1[3]]
draw_shadow_text(rectrE2, @actor.exp_s, normal_color, 2)
draw_shadow_text(rectrN2, @actor.next_rest_exp_s, normal_color, 2)
# 装備品表示
self.contents.font.name = DRAWFONT
rectr3 = [270, 160 - 24, 96, 32]
draw_shadow_text(rectr3, Vocab::equip, system_color)
self.contents.font.name = font_name
#draw_defeat_count(@actor.id, 0, 320, 136)
# 武器
equip_item = $data_weapons[@actor.weapon_id]
draw_item_name(equip_item, 320 + 16, 160 - 24 + 4)
if $OuterFlgs["Equip_Extend"]
# 盾
equip_item = @actor.armors_weapon[Def_Num::EQUIP_INDEX_SHILD - 1] ?
$data_weapons[@actor.armor1_id] : $data_armors[@actor.armor1_id]
draw_item_name(equip_item, 320 + 16, 192 - 24 + 4)
# 兜
equip_item = @actor.armors_weapon[Def_Num::EQUIP_INDEX_MET - 1] ?
$data_weapons[@actor.armor2_id] : $data_armors[@actor.armor2_id]
draw_item_name(equip_item, 320 + 16, 224 - 24 + 4)
# インナー
equip_item = @actor.armors_weapon[Def_Num::EQUIP_INDEX_INNER - 1] ?
$data_weapons[@actor.armor6_id] : $data_armors[@actor.armor6_id]
draw_item_name(equip_item, 320 + 16, 256 - 24 + 4)
# ヨロイ
equip_item = @actor.armors_weapon[Def_Num::EQUIP_INDEX_ARMOR - 1] ?
$data_weapons[@actor.armor3_id] : $data_armors[@actor.armor3_id]
draw_item_name(equip_item, 320 + 16, 288 - 24 + 4)
# 装飾品1
equip_item = @actor.armors_weapon[Def_Num::EQUIP_INDEX_ACCE_1 - 1] ?
$data_weapons[@actor.armor4_id] : $data_armors[@actor.armor4_id]
draw_item_name(equip_item, 320 + 16, 320 - 24 + 4)
# 装飾品2
equip_item = @actor.armors_weapon[Def_Num::EQUIP_INDEX_ACCE_2 - 1] ?
$data_weapons[@actor.armor5_id] : $data_armors[@actor.armor5_id]
draw_item_name(equip_item, 320 + 16, 352 - 24 + 4)
# 特殊
equip_item = @actor.armors_weapon[Def_Num::EQUIP_INDEX_ACCE_X - 1] ?
$data_weapons[@actor.armor7_id] : $data_armors[@actor.armor7_id]
draw_item_name(equip_item, 320 + 16, 384 - 24 + 4)
# 靴
equip_item = @actor.armors_weapon[Def_Num::EQUIP_INDEX_BOOTS - 1] ?
$data_weapons[@actor.armor8_id] : $data_armors[@actor.armor8_id]
draw_item_name(equip_item, 320 + 16, 416 - 24 + 4)
else
draw_item_name($data_armors[@actor.armor1_id], 320 + 16, 192 - 24 + 4)
draw_item_name($data_armors[@actor.armor2_id], 320 + 16, 224 - 24 + 4)
draw_item_name($data_armors[@actor.armor3_id], 320 + 16, 256 - 24 + 4)
draw_item_name($data_armors[@actor.armor4_id], 320 + 16, 288 - 24 + 4)
end # $OuterFlgs["Equip_Extend"]
end
#==============================================================================
# ■ Scene_Battle (分割定義 2)
#==============================================================================
class Scene_Battle
#--------------------------------------------------------------------------
# ● フレーム更新 (パーティコマンドフェーズ : 逃げる)
#--------------------------------------------------------------------------
def update_phase2_escape
# エネミーの素早さ平均値/幸運値を計算
enemies_agi = 0
enemies_luk = 0
enemies_number = 0
for enemy in $game_troop.enemies
if enemy.exist?
enemies_agi += enemy.agi
if $OuterFlgs["Param_Add"]
if PARAM_ADD::EMENY_LUK_PLUS[enemy.id] != nil
enemies_luk += PARAM_ADD::EMENY_LUK_PLUS[enemy.id]
else
enemies_luk += PARAM_ADD::ENEMY_LUK_BASE
end
end # $OuterFlgs["Param_Add"]
enemies_number += 1
end
end
if enemies_number > 0
enemies_luk /= enemies_number
enemies_agi /= enemies_number
end
# アクターの素早さ/幸運値の平均値を計算
actors_agi = 0
actors_luk = 0
actors_number = 0
for actor in $game_party.actors
if actor.exist?
actors_agi += actor.agi
if $OuterFlgs["Param_Add"]
actors_luk += actor.luk
end # $OuterFlgs["Param_Add"]
actors_number += 1
end
end
if actors_number > 0
actors_agi /= actors_number
actors_luk /= actors_number
end
if $OuterFlgs["Param_Add"]
actor_escape_rate = actors_agi * actors_luk
enemy_escape_rate = enemies_agi * enemies_luk
else
actor_escape_rate = actors_agi
enemy_escape_rate = enemies_agi * 100
end # $OuterFlgs["Param_Add"]
# 逃走成功判定
success = rand(100) < 50 * actor_escape_rate / enemy_escape_rate
# 逃走成功の場合
if success
# 逃走 SE を演奏
Sound.play_escape
# バトル開始前の BGM に戻す
$game_system.bgm_play($game_temp.map_bgm)
# バトル終了
battle_end(1)
# 逃走失敗の場合
else
# パーティ全員のアクションをクリア
$game_party.clear_actions
# メインフェーズ開始
start_phase4
end
end
end
#==============================================================================
# ■ Window_EquipLeft
#------------------------------------------------------------------------------
# 装備画面で、アクターのパラメータ変化を表示するウィンドウです。
#==============================================================================
class Window_EquipLeft < Window_Base
include DIAMOND
#--------------------------------------------------------------------------
# ● リフレッシュ
#--------------------------------------------------------------------------
def refresh
self.contents.clear
draw_actor_name( @actor, 4, 0)
draw_actor_level( @actor, 4, 24)
#
draw_actor_parameter(@actor, 4, 88, Def_Num::PRM_VIEW_TYPE_ATK)
draw_actor_parameter(@actor, 4, 112, Def_Num::PRM_VIEW_TYPE_PDEF)
draw_actor_parameter(@actor, 4, 136, Def_Num::PRM_VIEW_TYPE_MDEF)
# +24
draw_actor_parameter(@actor, 4, 184, Def_Num::PRM_VIEW_TYPE_STR)
draw_actor_parameter(@actor, 4, 208, Def_Num::PRM_VIEW_TYPE_DEX)
draw_actor_parameter(@actor, 4, 232, Def_Num::PRM_VIEW_TYPE_AGI)
draw_actor_parameter(@actor, 4, 256, Def_Num::PRM_VIEW_TYPE_INT)
draw_actor_parameter(@actor, 4, 280, Def_Num::PRM_VIEW_TYPE_EVA)
if $OuterFlgs["Param_Add"]
draw_actor_parameter(@actor, 4, 304, Def_Num::PRM_VIEW_TYPE_LUK)
end # $OuterFlgs["Param_Add"]
draw_change_param(@actor.atk, @new_atk, 88)
draw_change_param(@actor.pdef, @new_pdef, 112)
draw_change_param(@actor.mdef, @new_mdef, 136)
draw_change_param(@actor.str, @new_str, 184)
draw_change_param(@actor.dex, @new_dex, 208)
draw_change_param(@actor.agi, @new_agi, 232)
draw_change_param(@actor.int, @new_int, 256)
draw_change_param(@actor.eva, @new_eva, 280)
if $OuterFlgs["Param_Add"]
draw_change_param(@actor.luk, @new_luk, 304)
end # $OuterFlgs["Param_Add"]
end
#--------------------------------------------------------------------------
# ● 装備後のパラメータ表示
# actor_prm : アクターのパラメータ
# new_prm : 装備後のパラメータ値
# y : 表示位置(Y座標)
#--------------------------------------------------------------------------
def draw_change_param(actor_prm, new_prm, y)
if new_prm != nil
# 装備後のパラメータが上昇
if actor_prm < new_prm
new_text = Vocab::TRI_UP_WD
new_color = DIAMOND::STR_UP_COLOR
# 装備後のパラメータが下降
elsif actor_prm > new_prm
new_text = Vocab::TRI_DOWN_WD
new_color = DIAMOND::STR_DOWN_COLOR
# 上昇も下降もしない
else
new_text = nil
new_color = normal_color
end
font = self.contents.font.name
if new_text != nil
draw_shadow_text([150, y, 40, 32], new_text, system_color, 1)
end
self.contents.font.name = DIAMOND::DRAWFONT2
draw_shadow_text([180, y, 48, 32], new_prm.to_s, new_color, 2)
self.contents.font.color = normal_color
self.contents.font.name = font
end
end
|