# 学会特技
for j in $data_classes[@class_id].learnings
if j.level == @level
if @level >= 99
else
learn_skill(j.skill_id)
end
end
end
end
# 降级
while @exp < @exp_list[@level]
# 遗忘特技
for j in $data_classes[@class_id].learnings
if j.level == @level
if @level >= 99
else
forget_skill(j.skill_id)
end
end
end
@level -= 1
end
# 修正当前的 HP 与 SP 超过最大值
@hp = [@hp, self.maxhp].min
@sp = [@sp, self.maxsp].min
$game_temp.common_event_id = 178
end
end
#==============================================================================
# ■ Window_Base
#------------------------------------------------------------------------------
# 游戏中全部窗口的超级类(追加定义)
#==============================================================================
class Window_Base < Window
#--------------------------------------------------------------------------
# ● 描绘 HP
# actor : 角色
# x : 描画目标 X 坐标
# y : 描画目标 Y 坐标
# width : 描画目标的宽
#--------------------------------------------------------------------------
def draw_actor_hp_lvup(actor, x, y)
self.contents.font.color = Color.new(79,39,0,255)
if $temp_hp == 0
self.contents.font.color = Color.new(79,39,0,255)
self.contents.draw_text(x + 120 , y, 48, 32, actor.maxhp.to_s, 2)
else
maxhp = actor.maxhp + $temp_hp.to_i
self.contents.font.color = Color.new(79,39,0,255)
# self.contents.draw_text(x + 120 , y, 48, 32, maxhp.to_s ,2)
self.contents.font.color = normal_color
# self.contents.draw_text(x + 155, y, 36, 32, "( ", 2)
if $temp_hp >=0
self.contents.font.color = Color.new(0, 255, 0)
self.contents.draw_text(x + 120 , y, 48, 32, maxhp.to_s ,2)
# self.contents.draw_text(x + 155, y, 36, 32, " +",2)
else
self.contents.font.color = Color.new(0, 255, 0)
self.contents.draw_text(x + 120 , y, 48, 32, maxhp.to_s ,2)
# self.contents.draw_text(x + 155, y, 36, 32, " -",2)
end
# self.contents.draw_text(x + 200, y, 36, 32, $temp_hp.to_s, 2)
self.contents.font.color = Color.new(79,39,0,255)
# self.contents.draw_text(x + 215, y, 36, 32, ")", 2)
end
end
#--------------------------------------------------------------------------
# ● 描绘 SP
# actor : 角色
# x : 描画目标 X 坐标
# y : 描画目标 Y 坐标
# width : 描画目标的宽
#--------------------------------------------------------------------------
def draw_actor_sp_lvup(actor, x, y)
self.contents.font.color = Color.new(79,39,0,255)
if $temp_sp == 0
self.contents.font.color = Color.new(79,39,0,255)
self.contents.draw_text(x + 120 , y, 48, 32, actor.maxsp.to_s, 2)
else
maxsp = actor.maxsp + $temp_sp.to_i
self.contents.font.color = Color.new(79,39,0,255)
# self.contents.draw_text(x + 120 , y, 48, 32, maxsp.to_s ,2)
self.contents.font.color = normal_color
# self.contents.draw_text(x + 155, y, 36, 32, "( ", 2)
if $temp_sp >=0
self.contents.font.color = Color.new(0, 255, 0)
self.contents.draw_text(x + 120 , y, 48, 32, maxsp.to_s ,2)
# self.contents.draw_text(x + 155, y, 36, 32, " +",2)
else
self.contents.font.color = Color.new(0, 255, 0)
self.contents.draw_text(x + 120 , y, 48, 32, maxsp.to_s ,2)
# self.contents.draw_text(x + 155, y, 36, 32, " -",2)
end
# self.contents.draw_text(x + 200, y, 36, 32, $temp_sp.to_s, 2)
self.contents.font.color = Color.new(79,39,0,255)
# self.contents.draw_text(x + 215, y, 36, 32, ")", 2)
end
end
#--------------------------------------------------------------------------
# ● 描绘能力值
# actor : 角色
# x : 描画目标 X 坐标
# y : 描画目标 Y 坐标
# type : 能力值种类 (0~4)
#--------------------------------------------------------------------------
def draw_actor_lvup(actor, x, y, type)
# 定义数字颜色
lvup = Color.new(79,39,0,255)
upcolor = Color.new(0, 255, 0)
downcolor = Color.new(79,39,0,255)
self.contents.font.color = normal_color
case type
when 0
parameter_name = $data_system.words.str
parameter_value = actor.str
parameter_value_temp = parameter_value + $temp_str.to_i
if $temp_str != 0
# lvup = upcolor
# self.contents.draw_text(x + 256, y, 16, 32, "(")
if $temp_str >= 0
lvup = upcolor
self.contents.font.color = lvup
parameter_name = $data_system.words.str
parameter_value = actor.str
# self.contents.draw_text(x + 272, y, 80, 32, "+",0)
else
lvup = downcolor
self.contents.font.color = lvup#Color.new(255,255,0,255)
parameter_name = $data_system.words.str
parameter_value = actor.str
# self.contents.draw_text(x + 272, y, 80, 32, "-",0)
end
# self.contents.draw_text(x + 272, y, 80, 32, $temp_str.abs.to_s,1)
self.contents.font.color = Color.new(255, 0, 0)
# self.contents.draw_text(x + 272, y, 80, 32, ")", 2)
end
when 1
parameter_name = $data_system.words.dex
parameter_value = actor.dex
parameter_value_temp = parameter_value + $temp_dex.to_i
if $temp_dex != 0
# lvup = upcolor
# self.contents.draw_text(x + 256, y, 16, 32, "(")
if $temp_dex >= 0
lvup = upcolor
self.contents.font.color = lvup
parameter_name = $data_system.words.dex
parameter_value = actor.dex
# self.contents.draw_text(x + 272, y, 80, 32, "+",0)
else
lvup = downcolor
self.contents.font.color = lvup#Color.new(255,255,0,255)
parameter_name = $data_system.words.dex
parameter_value = actor.dex
# self.contents.draw_text(x + 272, y, 80, 32, "-",0)
end
# self.contents.draw_text(x + 272, y, 80, 32, $temp_dex.abs.to_s,1)
self.contents.font.color = Color.new(255, 0, 0)
# self.contents.draw_text(x + 272, y, 80, 32, ")", 2)
end
when 2
parameter_name = $data_system.words.agi
parameter_value = actor.agi
parameter_value_temp = parameter_value + $temp_agi.to_i
if $temp_agi != 0
# lvup = upcolor
# self.contents.draw_text(x + 256, y, 16, 32, "(")
if $temp_agi >= 0
lvup = upcolor
self.contents.font.color = lvup
parameter_name = $data_system.words.agi
parameter_value = actor.agi
# self.contents.draw_text(x + 272, y, 80, 32, "+",0)
else
lvup = downcolor
self.contents.font.color = lvup#Color.new(255,255,0,255)
parameter_name = $data_system.words.agi
parameter_value = actor.agi
# self.contents.draw_text(x + 272, y, 80, 32, "-",0)
end
# self.contents.draw_text(x + 272, y, 80, 32, $temp_agi.abs.to_s,1)
self.contents.font.color = Color.new(255, 0, 0)
# self.contents.draw_text(x + 272, y, 80, 32, ")", 2)
end
when 3
parameter_name = $data_system.words.int
parameter_value = actor.int
parameter_value_temp = parameter_value + $temp_int.to_i
if $temp_int != 0
# lvup = upcolor
# self.contents.draw_text(x + 256, y, 16, 32, "(")
if $temp_int >= 0
lvup = upcolor
self.contents.font.color = lvup
parameter_name = $data_system.words.int
parameter_value = actor.int
# self.contents.draw_text(x + 272, y, 80, 32, "+",0)
else
lvup = downcolor
self.contents.font.color = lvup#Color.new(255,255,0,255)
parameter_name = $data_system.words.int
parameter_value = actor.int
# self.contents.draw_text(x + 272, y, 80, 32, "-",0)
end
# self.contents.draw_text(x + 272, y, 80, 32, $temp_int.abs.to_s,1)
self.contents.font.color = Color.new(255, 0, 0)
# self.contents.draw_text(x + 272, y, 80, 32, ")", 2)
end
when 4
parameter_name = ""
parameter_value = $point
if $point != 0
lvup = upcolor
end
end
self.contents.font.color = Color.new(79,39,0,255)
self.contents.draw_text(x, y, 120, 32, parameter_name)
self.contents.font.color = Color.new(79,39,0,255)
self.contents.draw_text(x + 450, y, 36, 32, parameter_value.to_s)
if type != 4
self.contents.draw_text(x + 480, y, 36, 32, " →")
end
self.contents.font.color = lvup
self.contents.draw_text(x + 510, y, 60, 32, parameter_value_temp.to_s)
self.contents.font.color = Color.new(79,39,0,255)
end
end