#-------------------------------------------------------------------------- # ● 物品幫助窗口 #-------------------------------------------------------------------------- def set_item_text(item) # 1 @item=item # 取得描述,屬性,狀態等副本 description = @item.description.clone element_set = @item.element_set.clone plus_state_set = @item.plus_state_set.clone minus_state_set = @item.minus_state_set.clone element_set -= @unshow_elements plus_state_set -= @unshow_states minus_state_set -= @unshow_states x=0 y=0 y2=0 y3=0 text_0 = Array.new(8) self.contents.clear # text_1 = "添加位置:" #------------------------------------------------------------------------ # ● 添加位置的描述文字: #------------------------------------------------------------------------ text_0[0] = "任意" text_0[1] = $data_system.words.weapon text_0[2] = $data_system.words.armor1 text_0[3] = $data_system.words.armor2 text_0[4] = $data_system.words.armor3 text_0[5] = $data_system.words.armor4 text_0[6] = "未知" text_0[7] = "未知" #------------------------------------------------------------------------ # ● 附加屬性的描述文字: #------------------------------------------------------------------------ text_10 = "魔力石价格:" text_11 = "回复HP:" text_12 = "回复SP:" text_13 = "HP增加:" text_14 = "SP增加:" text_15 = "物理防御增加:" text_16 = "魔法防御增加:" text_17 = "精靈附加" text_18 = "防禦状态附加:" text_19 = "攻防状态附加:" text_20 = "攻擊状态附加:" text_21 = "自動状态附加:" parameter_type={1=>"MaxHP",2=>"MaxSP",3=>$data_system.words.str,4=>$data_system.words.dex,5=>$data_system.words.agi,6=>$data_system.words.int} # font_size = 14 # 描述文字大小 word_size = 25 # 每行字數 picture_x = 80 # 描述偏移 # text = description #描繪描述 while ((text = description.slice!(/./m)) != nil) self.contents.font.color = normal_color self.contents.font.size=font_size self.contents.draw_text(x * font_size, y*font_size+5, 14, 14, text, 0) x+=1 if x== word_size#每行10个字 x=0 y+=1 y2+=1 y3+=1 end end #描繪圖標 bitmap = RPG::Cache.icon(item.icon_name) if item.icon_name!=nil opacity = self.contents.font.color == normal_color ? 255 : 128 self.contents.blt(0 ,y*font_size+20, bitmap, Rect.new(0, 0, 95, 100), 225) # 添加位置 text= text_1 + text_0[@item.scope] x=0 y+=1 self.contents.font.color = normal_color self.contents.font.size=font_size self.contents.draw_text(x+picture_x, y*font_size+5, text.size*6, 14, text, 0) #攻擊力 unless @item.price.zero? x=0 y+=1 text= text_10 + @item.price.to_s self.contents.font.color = normal_color self.contents.font.size=font_size self.contents.draw_text(x+picture_x, y*font_size+5, text.size*6, 14, text, 0) end #HP 回复率 unless @item.recover_hp_rate.zero? x=0 y+=1 text= text_11 +@item.recover_hp_rate.to_s+"%" self.contents.font.color = normal_color self.contents.font.size=font_size self.contents.draw_text(x+picture_x, y*font_size+5, text.size*6, 14, text, 0) end #SP 回复率 unless @item.recover_sp_rate.zero? x=0 y+=1 text= text_12 +@item.recover_sp_rate.to_s+"%" self.contents.font.color = normal_color self.contents.font.size=font_size self.contents.draw_text(x+picture_x, y*font_size+5, text.size*6, 14, text, 0) end #HP增加量 unless @item.recover_hp.zero? x=0 y+=1 text= text_13 +@item.recover_hp.to_s self.contents.font.color = normal_color self.contents.font.size=font_size self.contents.draw_text(x+picture_x, y*font_size+5, text.size*6, 14, text, 0) end #SP 增加量 unless @item.recover_sp.zero? x=0 y+=1 text= text_14 +@item.recover_sp.to_s self.contents.font.color = normal_color self.contents.font.size=font_size self.contents.draw_text(x+picture_x, y*font_size+5, text.size*6, 14, text, 0) end #物理防御 unless @item.pdef_f.zero? x=0 y+=1 text=text_15+@item.pdef_f.to_s self.contents.font.color = normal_color self.contents.font.size=font_size self.contents.draw_text(x+picture_x, y*font_size+5, text.size*6, 14, text, 0) end #魔法防御 unless @item.mdef_f.zero? x=0 y+=1 text= text_16 +item.mdef_f.to_s self.contents.font.color = normal_color self.contents.font.size=font_size self.contents.draw_text(x+picture_x, y*font_size+5, text.size*6, 14, text, 0) end #能力值增加 unless @item.parameter_type.zero? x=0 y+=1 text=parameter_type[@item.parameter_type]+"增加:"+@item.parameter_points.to_s self.contents.font.color = normal_color self.contents.font.size=font_size self.contents.draw_text(x+picture_x, y*font_size+5, text.size*6, 14, text, 0) end #物品属性 unless element_set.empty?#属性。为属性 ID 的数组 text="" @item.element_set.each do |i| text=$data_system.elements[i]+ text_17 x = 100 y2+= 1 self.contents.font.color = normal_color self.contents.font.size=font_size self.contents.draw_text(x+picture_x, y2*font_size+5, text.size*6, 14, text, 0) end end #附加状态 unless plus_state_set.empty? #附加状态。为状态 ID 的数组 text= text_18 case @item.scope when 0 text= text_19 when 1 text= text_20 end y3+=1 x=180 self.contents.font.color = normal_color self.contents.font.size=font_size self.contents.draw_text(x+picture_x, y3*font_size+5, text.size*6, 14, text, 0) x=210 plus_state_set.each do |i| y3+=1 text_2 = $data_states[i].name self.contents.font.color = normal_color self.contents.font.size=font_size self.contents.draw_text(x+picture_x, y3*font_size+5, text.size*6, 14, text_2, 0) end end # 解除状态。为状态 ID 的数组 unless minus_state_set.empty? text = text_21 x=180 y3+=1 self.contents.font.color = normal_color self.contents.font.size=font_size self.contents.draw_text(x+picture_x, y3*font_size+5, text.size*6, 14, text, 0) x=210 minus_state_set.each do |i| y3+=1 text=$data_states[i].name self.contents.font.color = normal_color self.contents.font.size=font_size self.contents.draw_text(x+picture_x, y3*font_size+5, text.size*6, 14, text, 0) end end end
1.PNG (544.7 KB, 下载次数: 7)
欢迎光临 Project1 (https://rpg.blue/) | Powered by Discuz! X3.1 |