#==============================================================================
# ■ 装备品质1.0 By 狂晓霸道丶 QQ1711044261 2016/11/10
#------------------------------------------------------------------------------
# ★ 使用说明
# - 在物品/武器/护甲的注释处,写入:品质[颜色] 例如:品质[橙]
# - 颜色分别有:白、绿、蓝、紫、橙、红
# - 素材放在(Graphics/System)的文件夹里,名字为:品质颜色
#==============================================================================
class RPG::BaseItem
attr_accessor :quality
def quality
a = ["白","绿","蓝","紫","橙","红"]
note =~ /品质\[(.+?)\]/
return a.index($1) if $1 != nil
return 0 if [url=home.php?mod=space&uid=29701]@Quality[/url] == nil
@quality
end
end
#==============================================================================
# ■ Window_Base
#------------------------------------------------------------------------------
# 游戏中所有窗口的父类
#==============================================================================
class Window_Base
#--------------------------------------------------------------------------
# ● 绘制物品名称
# enabled : 有效的标志。false 的时候使用半透明效果绘制
#--------------------------------------------------------------------------
def draw_item_name(item, x, y, enabled = true, width = 172)
return unless item
bitmap = Cache.system("品质颜色")
rect = Rect.new(32*item.quality,0, 32, 32)
contents.blt(x, y, bitmap, rect)
draw_icon(item.icon_index, x+4, y+4)
change_color(normal_color, enabled)
draw_text(x + 24+10, y+4, width, line_height, item.name)
end
end
#==============================================================================
# ■ Window_ItemList
#------------------------------------------------------------------------------
# 物品画面中,显示持有物品的窗口。
#==============================================================================
class Window_ItemList
#--------------------------------------------------------------------------
# ● 获取项目的高度
#--------------------------------------------------------------------------
def item_height
line_height + 12
end
#--------------------------------------------------------------------------
# ● 绘制项目
#--------------------------------------------------------------------------
def draw_item(index)
item = @data[index]
if item
rect = item_rect(index)
rect.width -= 4
draw_item_name(item, rect.x+2, rect.y+2, enable?(item))
draw_item_number(rect, item)
end
end
end
#==============================================================================
# ■ Window_ShopBuy
#------------------------------------------------------------------------------
# 商店画面中,买入时显示所有商品的窗口。
#==============================================================================
class Window_ShopBuy
#--------------------------------------------------------------------------
# ● 获取项目的高度
#--------------------------------------------------------------------------
def item_height
line_height + 12
end
#--------------------------------------------------------------------------
# ● 绘制项目
#--------------------------------------------------------------------------
def draw_item(index)
item = @data[index]
rect = item_rect(index)
draw_item_name(item, rect.x+2, rect.y+2, enable?(item))
rect.width -= 4
draw_text(rect, price(item), 2)
end
end
#==============================================================================
# ■ Window_EquipSlot
#------------------------------------------------------------------------------
# 装备画面中,显示角色当前装备的窗口。
#==============================================================================
class Window_EquipSlot
#--------------------------------------------------------------------------
# ● 获取项目的高度
#--------------------------------------------------------------------------
def item_height
line_height + 12
end
#--------------------------------------------------------------------------
# ● 绘制项目
#--------------------------------------------------------------------------
def draw_item(index)
return unless @actor
rect = item_rect(index)
change_color(system_color, enable?(index))
draw_text(rect.x+2, rect.y+6, 92, line_height, slot_name(index))
draw_item_name(@actor.equips[index], rect.x + 92+2, rect.y+2, enable?(index))
end
#--------------------------------------------------------------------------
# ● 刷新
#--------------------------------------------------------------------------
def refresh
create_contents
draw_all_items
end
end
#==============================================================================
# ■ Window_Status
#------------------------------------------------------------------------------
# 状态画面中,显示角色基本信息的窗口。
#==============================================================================
class Window_Status
#--------------------------------------------------------------------------
# ● 绘制装备
#--------------------------------------------------------------------------
def draw_equipments(x, y)
@actor.equips.each_with_index do |item, i|
draw_item_name(item, x + 2, y + (line_height+8) * i-8)
end
end
end