赞 | 50 |
VIP | 429 |
好人卡 | 14 |
积分 | 8 |
经验 | 146370 |
最后登录 | 2022-6-27 |
在线时间 | 3431 小时 |
Lv2.观梦者 会吐槽的画师
- 梦石
- 0
- 星屑
- 782
- 在线时间
- 3431 小时
- 注册时间
- 2011-6-10
- 帖子
- 6535
|
加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员
x
这是一个增强型的商店脚本,但是选择贩卖界面时会卡住:- #===============================================================================
- #
- # Yanfly Engine RD - Scene Shop ReDux
- # Last Date Updated: 2009.06.08
- # Level: Normal
- #
- # The shop scene was more or less fine by itself aside from a few efficiency
- # issues. This script patches up those efficiency problems in and displays more
- # data given for buyable items. Before, we received nothing but a blank number
- # input window only to show us how much of the item is being bought. The script
- # makes use of that empty space to give a little more detail on what is being
- # purchased. The status window also more or less compares only one stat. This
- # script will increase that to the four ADSA stats. For games with more than 4
- # party members, you may have experienced that the status window didn't have
- # enough room to show. Imported from KGC is the ability to scroll that window
- # to allow for a more comfortable and informative shop scene.
- #
- #===============================================================================
- # Updates:
- # ----------------------------------------------------------------------------
- # o 2009.06.08 - Finished script.
- # o 2009.06.07 - Started script.
- #===============================================================================
- # Instructions
- #===============================================================================
- #
- # For the most part, this script is plug and play. Scroll down and change the
- # various settings under the module.
- #
- #===============================================================================
- #
- # Compatibility
- # - Works With: KGC's Equip Extension
- # - Works With: Yanfly's Extra Equipment Options
- # - Overwrites: Scene_Shop: update
- # - Overwrites: Window_ShopNumber: refresh
- # - Overwrites: Window_ShopStatus: refresh
- #
- #===============================================================================
- # Credits:
- # KGC for shop status scrolling method.
- #===============================================================================
- $imported = {} if $imported == nil
- $imported["SceneShopReDux"] = true
- module YE
- module REDUX
- module SHOP
-
- #------------------------------------------------------------------------
- # STATUS WINDOW OPTIONS
- #------------------------------------------------------------------------
-
- # This adjusts the text for the status window over on the right.
- POSSESSION = "持有" # How many items in possession of party.
- EQUIPPED = "装备中" # Appears if actor has item equipped.
-
- # This button is used to scroll the status window if it is too short.
- # This has been made mostly for games with more than 4 party members.
- SCROLL_KEY = Input::X
-
- # The following adjusts the icons used for stat increases and decreases.
- # Just refer them to ATK, DEF, SPI, and AGI in that order.
- STAT_INCREASE = [120, 121, 122, 123]
- STAT_DECREASE = [124, 125, 126, 127]
-
- #------------------------------------------------------------------------
- # PURCHASE WINDOW OPTIONS
- #------------------------------------------------------------------------
-
- # The following determines the text displayed at the amount selection
- # screen. Change the information here accordingly.
- PURCHASE = "购买数量" # Title of purchasing information.
- COST_ICN = 205 # Icon of total cost.
- COST_TXT = "价格" # Text for total cost.
- ITEMSTAT = "物品信息" # Text for item data.
- WPN_STAT = "基本加成" # Text for weapon data.
- ARM_STAT = "基本加成" # Text for armour data.
- NOEFFECT = "————" # Text if no data is revealed.
- FONTSIZE = 16 # Font size used for data text.
-
- # The following adjusts extra increment increases for pressing L or R
- # while the number window is open.
- LR_INCREMENT = 100
-
- # This part defines the data used for item/equipment properties.
- HP_HEAL_TEXT = "HP回复" # Text used for HP recovery.
- HP_HEAL_ICON = 128 # Icon used for HP recovery.
- MP_HEAL_TEXT = "MP回复" # Text used for MP recovery.
- MP_HEAL_ICON = 202 # Icon used for MP recovery.
- ERASE_STATE = "解除状态" # Text used for removing states.
- APPLY_STATE = "附加状态" # Text used for applying states.
- PARAM_BOOST = "提升 %s" # Text used for parameter raising.
- SPELL_EFFECT = "咒語能力" # Text used for spell effect items.
- SPELL_DAMAGE = "%d 伤害" # Text used for spell damage.
- SPELL_HEAL = "%d 治疗效果" # Text used for spell healing.
- NO_EQ_STAT = "---" # Text used when no equip
- EQ_ELEMENT_W = "附加属性" # Text used to represent equip elements.
- EQ_ELEMENT_A = "防御属性" # Text used to represent equip elements.
- EQ_STATUS_W = "附加状态" # Text used to represent equip states.
- EQ_STATUS_A = "防御状态" # Text used to represent equip states.
-
- # These are the general icons and text used for various aspects of new
- # shop windows. Used for items and equips alike.
- ICON_HP = 99 # Icon for MAXHP
- TEXT_HP = "HP" # Text for MAXHP
- ICON_MP = 100 # Icon for MAXMP
- TEXT_MP = "MP" # Text for MAXMP
- ICON_ATK = 2 # Icon for ATK
- TEXT_ATK = "攻击" # Text for ATK
- ICON_DEF = 52 # Icon for DEF
- TEXT_DEF = "防御" # Text for DEF
- ICON_SPI = 21 # Icon for SPI
- TEXT_SPI = "精神" # Text for SPI
- ICON_AGI = 48 # Icon for AGI
- TEXT_AGI = "敏捷" # Text for AGI
- ICON_HIT = 135 # Icon for HIT
- TEXT_HIT = "命中" # Text for HIT
- ICON_EVA = 158 # Icon for EVA
- TEXT_EVA = "闪避" # Text for EVA
- ICON_CRI = 119 # Icon for CRI
- TEXT_CRI = "暴击" # Text for CRI
- SHOW_CRI = true # Display CRI?
- ICON_ODDS = 137 # Icon for ODDS
- TEXT_ODDS = "幸運" # Text for ODDS
- SHOW_ODDS = true # Display ODDS?
- ICON_BASEDMG = 119 # Used for base damage.
- ICON_BASEHEAL = 128 # Used for base healing.
-
- # The following determines which elements can be shown in the elements
- # list. If an element is not included here, it is ignored.
- # 各属性的icon設定
- SHOWN_ELEMENTS ={
- # ElID => IconID
- 2 => 26,
- 3 => 4,
- 5 => 16,
- 6 => 29,
- 7 => 21,
- 9 => 104,
- 10 => 105,
- 11 => 106,
- 12 => 107,
- 13 => 108,
- 14 => 109,
- 15 => 110,
- 16 => 111,
- } # Do not remove this.
-
- end # SHOP
- end # REDUX
- end # YE
- #===============================================================================
- # Editting anything past this point may potentially result in causing computer
- # damage, incontinence, explosion of user's head, coma, death, and/or halitosis.
- # Therefore, edit at your own risk.
- #===============================================================================
- #===============================================================================
- # Scene_Shop
- #===============================================================================
- class Scene_Shop < Scene_Base
-
- #--------------------------------------------------------------------------
- # overwrite update
- #--------------------------------------------------------------------------
- def update
- super
- update_menu_background
- if @command_window.active
- @command_window.update
- @dummy_window.update
- update_command_selection
- elsif @status_window.visible and Input.press?(YE::REDUX::SHOP::SCROLL_KEY)
- update_scroll_status
- elsif @buy_window.active
- @gold_window.update
- @help_window.update
- @buy_window.update
- @status_window.cursor_rect.empty
- @status_window.update
- update_buy_selection
- elsif @sell_window.active
- @gold_window.update
- @help_window.update
- @sell_window.update
- update_sell_selection
- elsif @number_window.active
- @number_window.update
- @status_window.cursor_rect.empty
- @status_window.update
- update_number_input
- end
- end
-
- #--------------------------------------------------------------------------
- # update_scroll_status
- #--------------------------------------------------------------------------
- def update_scroll_status
- @status_window.cursor_rect.width = @status_window.contents.width
- @status_window.cursor_rect.height = @status_window.height - 32
- @status_window.update
- if Input.press?(Input::UP)
- @status_window.oy = [@status_window.oy - 4, 0].max
- elsif Input.press?(Input::DOWN)
- max_pos = [@status_window.contents.height -
- (@status_window.height - 32), 0].max
- @status_window.oy = [@status_window.oy + 4, max_pos].min
- end
- end
-
- end # Scene_Shop
- #===============================================================================
- # Window_ShopNumber
- #===============================================================================
- class Window_ShopNumber < Window_Base
- #--------------------------------------------------------------------------
- # overwrite refresh
- #--------------------------------------------------------------------------
- def refresh
- dy = 0
- sw = self.width - 32
- self.contents.clear
- self.contents.font.color = system_color
- self.contents.font.size = Font.default_size
- self.contents.draw_text(0, dy, sw, WLH, YE::REDUX::SHOP::PURCHASE, 1)
- dy += WLH
- self.contents.font.color = normal_color
- draw_item_name(@item, 0, dy)
- self.contents.draw_text(212, dy, 20, WLH, "×")
- self.contents.draw_text(218, dy, 50, WLH, @number, 2)
- self.cursor_rect.set(207, dy, 64, WLH)
- dy += WLH
- draw_icon(YE::REDUX::SHOP::COST_ICN, 0, dy)
- self.contents.draw_text(24, dy, sw-24, WLH, YE::REDUX::SHOP::COST_TXT)
- draw_currency_value(@price * @number, 4, dy, 264)
- dy += WLH
- if @item.is_a?(RPG::Item)
- draw_item_stats(dy, sw)
- else
- draw_equip_stats(dy, sw)
- end
- end
-
- #--------------------------------------------------------------------------
- # overwrite update
- #--------------------------------------------------------------------------
- def update
- super
- if self.active
- last_number = @number
- if Input.repeat?(Input::RIGHT) and [url=home.php?mod=space&uid=27178]@Number[/url] < @max
- @number += 1
- end
- if Input.repeat?(Input::LEFT) and @number > 1
- @number -= 1
- end
- if Input.repeat?(Input::UP) and @number < @max
- @number = [@number + 10, @max].min
- end
- if Input.repeat?(Input::DOWN) and @number > 1
- @number = [@number - 10, 1].max
- end
- if Input.repeat?(Input::L) and @number > 1
- @number = [@number - YE::REDUX::SHOP::LR_INCREMENT, 1].max
- end
- if Input.repeat?(Input::R) and @number < @max
- @number = [@number + YE::REDUX::SHOP::LR_INCREMENT, @max].min
- end
- if @number != last_number
- Sound.play_cursor
- refresh
- end
- end
- end
-
- #--------------------------------------------------------------------------
- # draw_item_stats
- #--------------------------------------------------------------------------
- def draw_item_stats(dy, sw)
- start_dy = dy
- self.contents.font.color = system_color
- self.contents.draw_text(0, dy, sw, WLH, YE::REDUX::SHOP::ITEMSTAT, 1)
- self.contents.font.size = YE::REDUX::SHOP::FONTSIZE
- #-----
- if @item.base_damage != 0
- dy += WLH
- if @item.base_damage > 0
- icon = YE::REDUX::SHOP::ICON_BASEDMG
- result = sprintf(YE::REDUX::SHOP::SPELL_DAMAGE, @item.base_damage)
- else
- icon = YE::REDUX::SHOP::ICON_BASEHEAL
- result = sprintf(YE::REDUX::SHOP::SPELL_HEAL, [email protected]_damage)
- end
- if @item.element_set != []
- for ele_id in @item.element_set
- next unless YE::REDUX::SHOP::SHOWN_ELEMENTS.include?(ele_id)
- icon = YE::REDUX::SHOP::SHOWN_ELEMENTS[ele_id]
- break
- end
- end
- text = YE::REDUX::SHOP::SPELL_EFFECT
- draw_icon(icon, 0, dy)
- self.contents.draw_text(24, dy, sw/2-24, WLH, text, 0)
- self.contents.font.color = normal_color
- self.contents.draw_text(sw/2, dy, sw/2, WLH, result, 2)
- end
- #-----
- if @item.hp_recovery != 0 or @item.hp_recovery_rate != 0
- self.contents.font.color = system_color
- dy += WLH
- draw_icon(YE::REDUX::SHOP::HP_HEAL_ICON, 0, dy)
- text = YE::REDUX::SHOP::HP_HEAL_TEXT
- self.contents.draw_text(24, dy, sw/2-24, WLH, text, 0)
- self.contents.font.color = normal_color
- if @item.hp_recovery_rate != 0 and @item.hp_recovery != 0
- text = sprintf("%+d%% %s", @item.hp_recovery_rate, Vocab::hp)
- self.contents.draw_text(sw/2, dy, sw/4, WLH, text, 2)
- text = sprintf("%+d %s", @item.hp_recovery, Vocab::hp)
- self.contents.draw_text(sw*3/4, dy, sw/4, WLH, text, 2)
- elsif @item.hp_recovery_rate != 0
- text = sprintf("%+d%% %s", @item.hp_recovery_rate, Vocab::hp)
- self.contents.draw_text(sw*3/4, dy, sw/4, WLH, text, 2)
- else
- text = sprintf("%+d %s", @item.hp_recovery, Vocab::hp)
- self.contents.draw_text(sw*3/4, dy, sw/4, WLH, text, 2)
- end
- end
- #-----
- if @item.mp_recovery != 0 or @item.mp_recovery_rate != 0
- self.contents.font.color = system_color
- dy += WLH
- draw_icon(YE::REDUX::SHOP::MP_HEAL_ICON, 0, dy)
- text = YE::REDUX::SHOP::MP_HEAL_TEXT
- self.contents.draw_text(24, dy, sw/2-24, WLH, text, 0)
- self.contents.font.color = normal_color
- if @item.mp_recovery_rate != 0 and @item.mp_recovery != 0
- text = sprintf("%+d%% %s", @item.mp_recovery_rate, Vocab::mp)
- self.contents.draw_text(sw/2, dy, sw/4, WLH, text, 2)
- text = sprintf("%+d %s", @item.mp_recovery, Vocab::mp)
- self.contents.draw_text(sw*3/4, dy, sw/4, WLH, text, 2)
- elsif @item.mp_recovery_rate != 0
- text = sprintf("%+d%% %s", @item.mp_recovery_rate, Vocab::mp)
- self.contents.draw_text(sw*3/4, dy, sw/4, WLH, text, 2)
- else
- text = sprintf("%+d %s", @item.mp_recovery, Vocab::mp)
- self.contents.draw_text(sw*3/4, dy, sw/4, WLH, text, 2)
- end
- end
- #-----
- if @item.plus_state_set != []
- self.contents.font.color = system_color
- dy += WLH
- self.contents.draw_text(0, dy, sw, WLH, YE::REDUX::SHOP::APPLY_STATE, 1)
- dx = (sw - (@item.plus_state_set.size * 24)) / 2
- dy += WLH
- for state_id in @item.plus_state_set
- state = $data_states[state_id]
- next if state == nil
- next if state.icon_index == 0
- draw_icon(state.icon_index, dx, dy)
- dx += 24
- end
- end
- if @item.minus_state_set != []
- self.contents.font.color = system_color
- dy += WLH
- self.contents.draw_text(0, dy, sw, WLH, YE::REDUX::SHOP::ERASE_STATE, 1)
- dx = (sw - (@item.minus_state_set.size * 24)) / 2
- dy += WLH
- for state_id in @item.minus_state_set
- state = $data_states[state_id]
- next if state == nil
- next if state.icon_index == 0
- draw_icon(state.icon_index, dx, dy)
- dx += 24
- end
- end
- #-----
- if @item.parameter_type != 0
- self.contents.font.color = system_color
- dy += WLH
- case @item.parameter_type
- when 1
- icon = YE::REDUX::SHOP::ICON_HP
- text = YE::REDUX::SHOP::TEXT_HP
- when 2
- icon = YE::REDUX::SHOP::ICON_MP
- text = YE::REDUX::SHOP::TEXT_MP
- when 3
- icon = YE::REDUX::SHOP::ICON_ATK
- text = YE::REDUX::SHOP::TEXT_ATK
- when 4
- icon = YE::REDUX::SHOP::ICON_DEF
- text = YE::REDUX::SHOP::TEXT_DEF
- when 5
- icon = YE::REDUX::SHOP::ICON_SPI
- text = YE::REDUX::SHOP::TEXT_SPI
- when 6
- icon = YE::REDUX::SHOP::ICON_AGI
- text = YE::REDUX::SHOP::TEXT_AGI
- end
- draw_icon(icon, 0, dy)
- boost = sprintf(YE::REDUX::SHOP::PARAM_BOOST, text)
- self.contents.draw_text(24, dy, sw/2-24, WLH, boost, 0)
- self.contents.font.color = normal_color
- param = sprintf("%+d %s", @item.parameter_points, text)
- self.contents.draw_text(sw/2, dy, sw/2, WLH, param, 2)
- end
- #-----
- if start_dy == dy
- dy += WLH
- self.contents.font.color = normal_color
- self.contents.draw_text(0, dy, sw, WLH, YE::REDUX::SHOP::NOEFFECT, 1)
- end
- end
-
- #--------------------------------------------------------------------------
- # draw_equip_stats
- #--------------------------------------------------------------------------
- def draw_equip_stats(dy, sw)
- self.contents.font.color = system_color
- if @item.is_a?(RPG::Weapon)
- self.contents.draw_text(0, dy, sw, WLH, YE::REDUX::SHOP::WPN_STAT, 1)
- else
- self.contents.draw_text(0, dy, sw, WLH, YE::REDUX::SHOP::ARM_STAT, 1)
- end
- self.contents.font.size = YE::REDUX::SHOP::FONTSIZE
- dy += 24
- if $imported["ExtraEquipmentOptions"]
- #---MaxHP---
- if @item.bonus_paramp[:maxhp] != 100
- text = sprintf("%+d%%", @item.bonus_paramp[:maxhp] - 100)
- enabled = true
- elsif @item.bonus_param[:maxhp] != 0
- text = sprintf("%+d", @item.bonus_param[:maxhp])
- enabled = true
- else
- text = YE::REDUX::SHOP::NO_EQ_STAT
- enabled = false
- end
- self.contents.font.color = system_color
- self.contents.font.color.alpha = enabled ? 255 : 128
- self.contents.draw_text(24, dy, sw/2-24, WLH, YE::REDUX::SHOP::TEXT_HP)
- self.contents.font.color = normal_color
- self.contents.font.color.alpha = enabled ? 255 : 128
- draw_icon(YE::REDUX::SHOP::ICON_HP, 0, dy, enabled)
- self.contents.draw_text(sw*1/4, dy, sw/5, WLH, text, 2)
- #---MaxMP---
- if @item.bonus_paramp[:maxmp] != 100
- text = sprintf("%+d%%", @item.bonus_paramp[:maxmp] - 100)
- enabled = true
- elsif @item.bonus_param[:maxmp] != 0
- text = sprintf("%+d", @item.bonus_param[:maxmp])
- enabled = true
- else
- text = YE::REDUX::SHOP::NO_EQ_STAT
- enabled = false
- end
- self.contents.font.color = system_color
- self.contents.font.color.alpha = enabled ? 255 : 128
- self.contents.draw_text(sw/2+24, dy, sw/2-24, WLH, YE::REDUX::SHOP::TEXT_MP)
- self.contents.font.color = normal_color
- self.contents.font.color.alpha = enabled ? 255 : 128
- draw_icon(YE::REDUX::SHOP::ICON_MP, sw/2, dy, enabled)
- self.contents.draw_text(sw*3/4, dy, sw/5, WLH, text, 2)
- #------
- dy += 24
- #------
- end
- #---ATK---
- if $imported["ExtraEquipmentOptions"] and @item.bonus_paramp[:atk] != 100
- text = sprintf("%+d%%", @item.bonus_paramp[:atk] - 100)
- enabled = true
- elsif $imported["ExtraEquipmentOptions"] and @item.bonus_param[:atk] != 0
- text = sprintf("%+d", @item.bonus_param[:atk] + @item.atk)
- enabled = true
- elsif @item.atk != 0
- text = sprintf("%+d", @item.atk)
- enabled = true
- else
- text = YE::REDUX::SHOP::NO_EQ_STAT
- enabled = false
- end
- self.contents.font.color = system_color
- self.contents.font.color.alpha = enabled ? 255 : 128
- self.contents.draw_text(24, dy, sw/2-24, WLH, YE::REDUX::SHOP::TEXT_ATK)
- self.contents.font.color = normal_color
- self.contents.font.color.alpha = enabled ? 255 : 128
- draw_icon(YE::REDUX::SHOP::ICON_ATK, 0, dy, enabled)
- self.contents.draw_text(sw*1/4, dy, sw/5, WLH, text, 2)
- #---DEF---
- if $imported["ExtraEquipmentOptions"] and @item.bonus_paramp[:def] != 100
- text = sprintf("%+d%%", @item.bonus_paramp[:def] - 100)
- enabled = true
- elsif $imported["ExtraEquipmentOptions"] and @item.bonus_param[:def] != 0
- text = sprintf("%+d", @item.bonus_param[:def] + @item.def)
- enabled = true
- elsif @item.def != 0
- text = sprintf("%+d", @item.def)
- enabled = true
- else
- text = YE::REDUX::SHOP::NO_EQ_STAT
- enabled = false
- end
- self.contents.font.color = system_color
- self.contents.font.color.alpha = enabled ? 255 : 128
- self.contents.draw_text(sw/2+24, dy, sw/2-24, WLH, YE::REDUX::SHOP::TEXT_DEF)
- self.contents.font.color = normal_color
- self.contents.font.color.alpha = enabled ? 255 : 128
- draw_icon(YE::REDUX::SHOP::ICON_DEF, sw/2, dy, enabled)
- self.contents.draw_text(sw*3/4, dy, sw/5, WLH, text, 2)
- #------
- dy += 24
- #---SPI---
- if $imported["ExtraEquipmentOptions"] and @item.bonus_paramp[:spi] != 100
- text = sprintf("%+d%%", @item.bonus_paramp[:spi] - 100)
- enabled = true
- elsif $imported["ExtraEquipmentOptions"] and @item.bonus_param[:spi] != 0
- text = sprintf("%+d", @item.bonus_param[:spi] + @item.spi)
- enabled = true
- elsif @item.spi != 0
- text = sprintf("%+d", @item.spi)
- enabled = true
- else
- text = YE::REDUX::SHOP::NO_EQ_STAT
- enabled = false
- end
- self.contents.font.color = system_color
- self.contents.font.color.alpha = enabled ? 255 : 128
- self.contents.draw_text(24, dy, sw/2-24, WLH, YE::REDUX::SHOP::TEXT_SPI)
- self.contents.font.color = normal_color
- self.contents.font.color.alpha = enabled ? 255 : 128
- draw_icon(YE::REDUX::SHOP::ICON_SPI, 0, dy, enabled)
- self.contents.draw_text(sw*1/4, dy, sw/5, WLH, text, 2)
- #---AGI---
- if $imported["ExtraEquipmentOptions"] and @item.bonus_paramp[:agi] != 100
- text = sprintf("%+d%%", @item.bonus_paramp[:agi] - 100)
- enabled = true
- elsif $imported["ExtraEquipmentOptions"] and @item.bonus_param[:agi] != 0
- text = sprintf("%+d", @item.bonus_param[:agi] + @item.agi)
- enabled = true
- elsif @item.agi != 0
- text = sprintf("%+d", @item.agi)
- enabled = true
- else
- text = YE::REDUX::SHOP::NO_EQ_STAT
- enabled = false
- end
- self.contents.font.color = system_color
- self.contents.font.color.alpha = enabled ? 255 : 128
- self.contents.draw_text(sw/2+24, dy, sw/2-24, WLH, YE::REDUX::SHOP::TEXT_AGI)
- self.contents.font.color = normal_color
- self.contents.font.color.alpha = enabled ? 255 : 128
- draw_icon(YE::REDUX::SHOP::ICON_AGI, sw/2, dy, enabled)
- self.contents.draw_text(sw*3/4, dy, sw/5, WLH, text, 2)
- #------
- dy += 24
- #---HIT---
- if $imported["ExtraEquipmentOptions"] and @item.bonus_paramp[:hit] != 100
- text = sprintf("%+d%%", @item.bonus_paramp[:hit] - 100)
- enabled = true
- elsif $imported["ExtraEquipmentOptions"] and @item.bonus_param[:hit] != 0
- value = @item.bonus_param[:hit]
- value += @item.hit if @item.is_a?(RPG::Weapon)
- text = sprintf("%+d%%", value)
- enabled = true
- elsif @item.is_a?(RPG::Weapon) and @item.hit != 0
- text = sprintf("%+d%%", @item.hit)
- enabled = true
- else
- text = YE::REDUX::SHOP::NO_EQ_STAT
- enabled = false
- end
- self.contents.font.color = system_color
- self.contents.font.color.alpha = enabled ? 255 : 128
- self.contents.draw_text(24, dy, sw/2-24, WLH, YE::REDUX::SHOP::TEXT_HIT)
- self.contents.font.color = normal_color
- self.contents.font.color.alpha = enabled ? 255 : 128
- draw_icon(YE::REDUX::SHOP::ICON_HIT, 0, dy, enabled)
- self.contents.draw_text(sw*1/4, dy, sw/5, WLH, text, 2)
- #---EVA---
- if $imported["ExtraEquipmentOptions"] and @item.bonus_paramp[:eva] != 100
- text = sprintf("%+d%%", @item.bonus_paramp[:eva] - 100)
- enabled = true
- elsif $imported["ExtraEquipmentOptions"] and @item.bonus_param[:eva] != 0
- text = sprintf("%+d%%", @item.bonus_param[:eva] + @item.eva)
- enabled = true
- elsif @item.is_a?(RPG::Armor) and @item.eva != 0
- text = sprintf("%+d%%", @item.eva)
- enabled = true
- else
- text = YE::REDUX::SHOP::NO_EQ_STAT
- enabled = false
- end
- self.contents.font.color = system_color
- self.contents.font.color.alpha = enabled ? 255 : 128
- self.contents.draw_text(sw/2+24, dy, sw/2-24, WLH, YE::REDUX::SHOP::TEXT_EVA)
- self.contents.font.color = normal_color
- self.contents.font.color.alpha = enabled ? 255 : 128
- draw_icon(YE::REDUX::SHOP::ICON_EVA, sw/2, dy, enabled)
- self.contents.draw_text(sw*3/4, dy, sw/5, WLH, text, 2)
- #------
- dy += 24
- #------
- if $imported["ExtraEquipmentOptions"] and YE::REDUX::SHOP::SHOW_CRI
- #---CRI---
- if @item.bonus_paramp[:cri] != 100
- text = sprintf("%+d%%", @item.bonus_paramp[:cri] - 100)
- enabled = true
- elsif @item.bonus_param[:cri] != 0
- text = sprintf("%+d%%", @item.bonus_param[:cri])
- enabled = true
- else
- text = YE::REDUX::SHOP::NO_EQ_STAT
- enabled = false
- end
- self.contents.font.color = system_color
- self.contents.font.color.alpha = enabled ? 255 : 128
- self.contents.draw_text(24, dy, sw/2-24, WLH, YE::REDUX::SHOP::TEXT_CRI)
- self.contents.font.color = normal_color
- self.contents.font.color.alpha = enabled ? 255 : 128
- draw_icon(YE::REDUX::SHOP::ICON_CRI, 0, dy, enabled)
- self.contents.draw_text(sw*1/4, dy, sw/5, WLH, text, 2)
- end
- if $imported["ExtraEquipmentOptions"] and YE::REDUX::SHOP::SHOW_ODDS
- #---ODDS---
- if @item.bonus_paramp[:odds] != 100
- text = sprintf("%+d%%", @item.bonus_paramp[:odds] - 100)
- enabled = true
- elsif @item.bonus_param[:odds] != 0
- text = sprintf("%+d", @item.bonus_param[:odds])
- enabled = true
- else
- text = YE::REDUX::SHOP::NO_EQ_STAT
- enabled = false
- end
- self.contents.font.color = system_color
- self.contents.font.color.alpha = enabled ? 255 : 128
- self.contents.draw_text(sw/2+24, dy, sw/2-24, WLH, YE::REDUX::SHOP::TEXT_ODDS)
- self.contents.font.color = normal_color
- self.contents.font.color.alpha = enabled ? 255 : 128
- draw_icon(YE::REDUX::SHOP::ICON_ODDS, sw/2, dy, enabled)
- self.contents.draw_text(sw*3/4, dy, sw/5, WLH, text, 2)
- #------
- end
- return if (dy + 48) >= (self.height - 32)
- #------ELEMENTS------
- drawn_elements = []
- for ele_id in YE::REDUX::SHOP::SHOWN_ELEMENTS
- break if @item.element_set == []
- if @item.element_set.include?(ele_id[0])
- drawn_elements.push(ele_id[0])
- end
- end
- if drawn_elements != [] # Draw Elements
- drawn_elements = drawn_elements.sort!
- dy += WLH
- if @item.is_a?(RPG::Weapon)
- text = YE::REDUX::SHOP::EQ_ELEMENT_W
- else
- text = YE::REDUX::SHOP::EQ_ELEMENT_A
- end
- self.contents.font.color = system_color
- self.contents.draw_text(0, dy, sw/2, WLH, text)
- dx = sw - (drawn_elements.size * 24)
- for ele_id in drawn_elements
- draw_icon(YE::REDUX::SHOP::SHOWN_ELEMENTS[ele_id], dx, dy)
- dx += 24
- end
- end
- return if (dy + 48) >= (self.height - 32)
- #------STATUS EFFECTS------
- drawn_states = []
- for state_id in @item.state_set
- state = $data_states[state_id]
- next if state == nil
- next if state.icon_index == 0
- drawn_states.push(state.icon_index)
- end
- if drawn_states != [] # Draw Elements
- dy += WLH
- if @item.is_a?(RPG::Weapon)
- text = YE::REDUX::SHOP::EQ_STATUS_W
- else
- text = YE::REDUX::SHOP::EQ_STATUS_A
- end
- self.contents.font.color = system_color
- self.contents.draw_text(0, dy, sw/2, WLH, text)
- dx = sw - (drawn_states.size * 24)
- for icon in drawn_states
- draw_icon(icon, dx, dy)
- dx += 24
- end
- end
- end
-
- end # Window_ShopNumber
- #===============================================================================
- # Window_ShopStatus
- #===============================================================================
- class Window_ShopStatus < Window_Base
-
- #--------------------------------------------------------------------------
- # overwrite refresh
- #--------------------------------------------------------------------------
- def refresh
- self.contents.clear
- self.contents.font.size = Font.default_size
- return if @item == nil
- number = $game_party.item_number(@item)
- self.contents.font.color = system_color
- self.contents.draw_text(4, 0, 200, WLH, YE::REDUX::SHOP::POSSESSION)
- self.contents.font.color = normal_color
- self.contents.draw_text(4, 0, 200, WLH, number, 2)
- return if @item.is_a?(RPG::Item)
- for actor in $game_party.members
- dx = 4
- dy = WLH * (2 + actor.index * 2)
- draw_actor_parameter_change(actor, dx, dy)
- end
- end
-
- #--------------------------------------------------------------------------
- # overwrite draw_actor_parameter_change
- #--------------------------------------------------------------------------
- def draw_actor_parameter_change(actor, x, y)
- enabled = actor.equippable?(@item)
- sw = self.width - 32
- self.contents.font.color = normal_color
- self.contents.font.color.alpha = enabled ? 255 : 128
- self.contents.font.size = YE::REDUX::SHOP::FONTSIZE
- cx = contents.text_size(YE::REDUX::SHOP::EQUIPPED).width
- self.contents.font.size = Font.default_size
- self.contents.draw_text(x, y, sw-cx-4, WLH, actor.name)
-
- self.contents.font.size = YE::REDUX::SHOP::FONTSIZE
- if @item.is_a?(RPG::Weapon)
- item1 = weaker_weapon(actor)
- elsif actor.two_swords_style and @item.kind == 0
- item1 = nil
- else
- if $imported["EquipExtension"]
- index = actor.equip_type.index(@item.kind)
- item1 = (index != nil ? actor.equips[1 + index] : nil)
- else
- item1 = actor.equips[1 + @item.kind]
- end
- end
- if item1 == @item
- self.contents.draw_text(x, y, sw-4, WLH, YE::REDUX::SHOP::EQUIPPED, 2)
- draw_item_name(item1, x, y + WLH, enabled)
- return
- end
- #-----
- if enabled
- dx = 0
- dy = y + WLH
- for i in 0..3
- case i
- when 0
- atk1 = item1 == nil ? 0 : item1.atk
- atk2 = @item == nil ? 0 : @item.atk
- change = atk2 - atk1
- when 1
- def1 = item1 == nil ? 0 : item1.def
- def2 = @item == nil ? 0 : @item.def
- change = def2 - def1
- when 2
- spi1 = item1 == nil ? 0 : item1.spi
- spi2 = @item == nil ? 0 : @item.spi
- change = spi2 - spi1
- when 3
- agi1 = item1 == nil ? 0 : item1.agi
- agi2 = @item == nil ? 0 : @item.agi
- change = agi2 - agi1
- end
- if change > 0
- draw_icon(YE::REDUX::SHOP::STAT_INCREASE[i], dx, dy)
- elsif change < 0
- draw_icon(YE::REDUX::SHOP::STAT_DECREASE[i], dx, dy)
- end
- if change != 0
- text = sprintf("%+d", change)
- self.contents.draw_text(dx+24, dy, sw/4-24, WLH, text, 0)
- end
- dx += sw/4
- end
- end
- #-----
- end
-
- end # Window_ShopStatus
- #===============================================================================
- #
- # END OF FILE
- #
- #===============================================================================
复制代码 求帮忙看看哪里出问题了。 |
|