# ¤¢¤ XRXSv17-HP1. ƒwƒ‹ƒvEƒvƒ‰ƒX ¤¢¤ # # publish 2010/ 5/ 4 # update - 11/ 1/ 9f # #============================================================================== # ’lŽæ“¾‚ւ̑Ήž #============================================================================== module XRXSV17_RPGBaseItemBase def mnd return 0 end end class RPG::BaseItem include XRXSV17_RPGBaseItemBase end #============================================================================== # ƒtƒBƒbƒgƒEƒBƒ“ƒhƒE‹@”\ #============================================================================== module XRXSV_FitWindow def initialize @contents_sprite = Sprite_Base.new @contents_sprite.bitmap = Bitmap.new(1,1) super self.contents_opacity = 0 end def create_contents self.width += 32 self.height += 32 super self.width -= 32 self.height -= 32 end def contents return @contents_sprite.bitmap end def contents=(bitmap) @contents_sprite.bitmap = bitmap end def x=(n) @contents_sprite.x = n super end def y=(n) @contents_sprite.y = n super end def z=(n) @contents_sprite.z = n + 3 super end def dispose @contents_sprite.dispose super end end #============================================================================== # Šg’£ƒwƒ‹ƒv #============================================================================== class Window_HelpEX < Window_Help include XRXSV_FitWindow #-------------------------------------------------------------------------- # ¤ ƒIƒuƒWƒFƒNƒg‰Šú‰» #-------------------------------------------------------------------------- def initialize super self.height += 32 self.z += 5 create_contents @item = nil end #-------------------------------------------------------------------------- # ¤ ƒeƒLƒXƒgÝ’è #-------------------------------------------------------------------------- def set(item) if @item != item self.contents.clear if item draw_item_name(item, 12, 8) set = [] case item when RPG::Item if item.note["\\grinder"] set.push(["“¹‹ï‹­‰»",item.parameter_points.to_s]) elsif item.note["\\composer"] set.push(["‡¬", ""]) else str = "" if item.hp_recovery_rate >= 1 str = item.hp_recovery_rate.to_s + "%" elsif item.hp_recovery >= 1 str = item.hp_recovery.to_s end if str.size >= 1 set.push([Vocab::hp + "‰ñ•œ", str]) end str = "" if item.mp_recovery_rate >= 1 str = item.mp_recovery_rate.to_s + "%" elsif item.mp_recovery >= 1 str = item.mp_recovery.to_s end if str.size >= 1 set.push([Vocab::mp + "‰ñ•œ", str]) end if item.parameter_type >= 1 param_s = [ "", Vocab::hp, Vocab::mp, Vocab::atk, Vocab::def, Vocab::spi, Vocab::agi ][item.parameter_type] + "+" set.push([param_s, item.parameter_points.to_s]) end item.note.gsub(/\\exp\[([0-9]+?)\]/) do set.push(["EXP+", $1.to_i]) end end item.note.gsub(/\\skill\[([0-9]+?)\]/) do skill = $data_skills[$1.to_i] if skill set.push(["K“¾", skill.name]) end end end for element_id in item.element_set name = $data_system.elements[element_id] set.push([name, ""]) end case item when RPG::Item, RPG::Skill if item.is_a?(RPG::Skill) or item.atk_f >= 1 or item.spi_f >= 1 or item.base_damage >= 1 if item.atk_f >= 1 and item.spi_f == 0 type_s = "•¨—" elsif item.atk_f == 0 and item.spi_f >= 1 type_s = "–‚–@" else type_s = "“ÁŽê" end set.push([type_s, ""]) if item.base_damage == 0 power_s = "---" elsif item.base_damage.abs == 1 power_s = (item.atk_f + item.spi_f).to_s + "%" else power_s = item.base_damage.abs.to_s + "`" end set.push(["ˆÐ—Í", power_s, 32, 72]) set.push(["–½’†", item.hit.to_s, 32]) if item.is_a?(RPG::Skill) set.push(["ŠÑ’Ê", ""]) if item.ignore_defense if item.note[/\\([0-9]+?)hit/] set.push([$1 + "hit", ""]) end end for state_id in item.plus_state_set if state_id == 1 name = "‘¦Ž€" else name = $data_states[state_id].name end set.push([name, "", 56]) end end ehp = (item.equip_hp rescue 0) set.push([Vocab.hp, ehp]) if ehp >= 1 emp = (item.equip_mp rescue 0) set.push([Vocab.mp, emp]) if emp >= 1 case item when RPG::Weapon, RPG::Armor mnd_s = (Vocab.mnd rescue "") mnd_n = (item.mnd rescue 0) dex_s = (Vocab.dex rescue "") dex_n = (item.dex rescue 0) hit_n = (item.hit rescue 0) eva_n = (item.eva rescue 0) set.push([Vocab.atk, item.atk]) if item.atk >= 1 set.push([Vocab.def, item.def]) if item.def >= 1 set.push([Vocab.spi, item.spi]) if item.spi >= 1 set.push([mnd_s, mnd_n]) if mnd_n >= 1 set.push([Vocab.agi, item.agi]) if item.agi >= 1 set.push([dex_s, dex_n]) if dex_n >= 1 set.push(["–½’†", hit_n]) if hit_n >= 1 set.push(["‰ñ”ð", eva_n]) if eva_n >= 1 end item.note.gsub(/\\gold\[([0-9]+?)\]/) do set.push([Vocab::gold + "+", $1 + "%"]) end if (item.auto_hp_recover rescue false) set.push([Vocab::hp + "Ž©“®‰ñ•œ", ""]) end if (item.fast_attack rescue false) set.push(["æ§", ""]) end if (item.dual_attack rescue false) set.push(["˜A‘±UŒ‚", ""]) end if (item.half_mp_cost rescue false) set.push(["Á”ïMP”¼Œ¸", ""]) end if (item.prevent_critical rescue false) set.push(["–h•K", ""]) end if (item.slip_guard rescue false) set.push(["–h“Å", ""]) end if (item.eye_guard rescue false) set.push(["–hŠá", ""]) end if (item.wstar rescue false) set.push(["Ž¡–ü‘£i", ""]) end # x = 24 y = WLH + 8 for data in set self.contents.font.size = 16 self.contents.font.color = system_color w = (data[2] ? data[2] : 48) self.contents.draw_text(x, y, w, WLH, data[0]) x += w self.contents.font.size = 20 self.contents.font.color = normal_color if data[1].size >= 1 w = (data[3] ? data[3] : 40) self.contents.draw_text(x, y, w, WLH, data[1]) x += w end end self.contents.font.color = normal_color self.contents.draw_text(24, 8 + WLH*2, 500, WLH, item.description) end @item = item @text = nil @align = nil self.x = self.x self.y = self.y end end def set_text(text, align = 0) if text != @text or align != @align @contents_sprite.x = self.x + 16 @contents_sprite.y = self.y + 32 @item = nil end super end end