#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ #_/ ¡ß?Ýá?íå £­ KGC_EquipExtension¡ß #_/---------------------------------------------------------------------------- #_/ ?Ýá?Ö§ªÎѦÒöªò?í媷ªÞª¹¡£ #_/============================================================================ #_/ ¡ì?Ýáù¡àâïÒßÙá¬ûù[EquipDetailSetting]¡íªèªêß¾ #_/ ¡ì«¯«é«¹àâïÒßÙá¬ûù[ClassDetailSetting]¡íªèªêß¾ #_/ ¡ìùÚÍ£ÔÍ÷ò[LimitBreak]¡íªèªêß¾ #_/ ¡ì?Ýá?ØüËÇðã[EquipAlter]¡íªèªêù» #_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ if $game_special_elements == nil $game_special_elements = {} $data_system = load_data("Data/System.rxdata") end #============================================================================== # ¡Ú «««¹«¿«Þ«¤«ºú£ÙÍ ¡Ú #============================================================================== module KGC # ¡ß?íå?Ýá«¿«¤«×ïÒëù # ÛÕÖªªÎõÌôøª¬«¿«¤«× 5 ªËßÓ?¡£ì¤Ë½ 6,7,8,... ªÈ?ª¯¡£ EEX_EQUIP_TYPE_EXT = ["èÓÝ»", "ÊÅÝ»"] # ¡ß?Ýáù¡ªÎ«¿«¤«×(1:âê 2:Ôé 3:ãó? 4:?ãÞù¡ 5ì¤Ë½:¡èªÇïÒëù) # ¡ØªÉªÎªèª¦ªËò¦ïÒª·ªÆªâ¡¢ù±ªºõÌôøªÏÙëÐïªËªÊªêªÞª¹¡£ EEX_EQUIP_TYPE = [1, 2, 3, 4, 4, 5, 6] # ¡ßì£Óï×µãÁªÎÙëÐï? # ì£Óï×µãÁªÏ¡èªÎà»Ô骫ªé (EEX_TS_NUMBER - 1) ËÁªòÙëÐïªËöǪ­üµª¨ªë EEX_TS_NUMBER = 2 # ¡ß?ÝáÕ±ªÎÙ£îñ # ?Ê¥ª·ª¿?Ýá«¿«¤«×ªÎÙ£?ªâª³ª³ªÇò¦ïÒ¡£ EEX_EQUIP_NAME = [ $data_system.words.weapon, # ÙëÐï $data_system.words.armor1, # «¿«¤«× 1(âê) $data_system.words.armor2, # «¿«¤«× 2(Ôé) $data_system.words.armor3, # «¿«¤«× 3(ãó?) $data_system.words.armor4, # «¿«¤«× 4(?ãÞù¡) EEX_EQUIP_TYPE_EXT[0], # «¿«¤«× 5 EEX_EQUIP_TYPE_EXT[1] # «¿«¤«× 6 ] # ¡çª³ªÎ ] ªÏἪµªÊª¤ª³ªÈ # ¡ßõÌ??Ý᪫ªéð¶è⪹ªë?Ýá«¿«¤«× # ð¶è⪹ªë?Ýá«¿«¤«×ªòÌ«Ò¡¡£ # ¡ì?Ýá?ØüËÇðã¡íªÈ?éĪ·ª¿íÞùêªÏª³ªÁªéªòéÐ໡£ EEX_IGNORE_STRONGEST_TYPE = [4] # ¡ß?íå?Ýá?ØüªËøúãƪ¹ªë?ÝáÕ±ËÒã·Ûã? # ÙëÐïªò 0 ¡¢õÌôøªÎÛÁÎýªò 1 ªÈª·ª¿Ûã?(«¤«ó«Ç«Ã«¯«¹)¡£ EEX_EQUIP_EX_INDEX = 0 # ¡ß?íå?Ýá?ØüÛÎÌØ÷âΦ EEX_EQUIP_EX_BACK_TRANSPARENT = true # ¡ß?íå?Ýá?Øü¡¸?Ýá?ÌÚ¡¹Ù£? EEX_EQUIP_EX_COMMAND_EQUIP = "?Ýá?ÌÚ" # ¡ß?íå?Ýá?Øü¡¸õÌ??Ý᡹٣? EEX_EQUIP_EX_COMMAND_STRONGEST_EQUIP = "õÌ??Ýá" # ¡ß?íå?Ýá?Øü¡¸îïú°ð¶¡¹Ù£? EEX_EQUIP_EX_COMMAND_ALL_RELEASE = "îïú°ð¶" # ¡ß?íå?Ýá?Øü¡¸?Ýá?ÌÚ¡¹«Ø«ë«× EEX_EQUIP_EX_HELP_EQUIP = "?Ýáªò?ÌÚª·ªÞª¹¡£" # ¡ß?íå?Ýá?Øü¡¸õÌ??Ý᡹«Ø«ë«× EEX_EQUIP_EX_HELP_STRONGEST_EQUIP = "õ̪â?ÕôªÊÙëÎýªò?Ý᪷ªÞª¹¡£" # ¡ß?íå?Ýá?Øü¡¸îïú°ð¶¡¹«Ø«ë«× EEX_EQUIP_EX_HELP_ALL_RELEASE = "îïªÆªÎ?Ýáù¡ªòè⪷ªÞª¹¡£" # ¡ßEP(Equip Point)ð¤ªòÞÅéĪ¹ªë EEX_USE_EP = true # ¡ßá¼Þ¨EP?ïÒö· # á¼Þ¨EPª¬ò¦ïÒªµªìªÆª¤ªÊª¤?Ýáù¡ªÇÞÅéÄ EEX_EP_COST_DEFAULT = 1 # ¡ßEPß¾ùÚö· EEX_EP_MAX = 15 # ¡ßEPù»ùÚö· EEX_EP_MIN = 1 # ¡ßõÌÓÞEPß©õóãÒ # ¡¼lv¡¦«ì«Ù«ë¡½ # í»ÔÑîܪËïÚ??üµªµªìªëªÎªÇ¡¢Ì¿Íýª¬á³?ªËªÊªÃªÆªâOK¡£ EEX_EP_FORMULA = "lv * 0.6" # ¡ß¡¸EP¡¹ªÎÙ£? EEX_EP_NAME = "EP" # ¡ß?Ýá?ØüªÎEPõÌÓÞö·ÙÚ? # Ù£îñª¬?ªìª¿ªêª¹ªëíÞùêªÏ false ªËª·ªÆª¯ªÀªµª¤¡£ EEX_DRAW_EP_MAX = true # ¡ßá¼Þ¨EPö·ªÎßä(«¢«¤«Æ«àÙ£ªÎØÇÚ­ªËÜõª¯?ö·) EEX_EP_COLOR = Color.new(128, 255, 255) end #¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú $imported = {} if $imported == nil $imported["EquipExtension"] = true # ?â¢ò¥ªÁ?àõ $game_special_elements["two_handed"] = $data_system.elements.index("?â¢ò¥ªÁ") if KGC::EEX_EQUIP_TYPE_EXT.size > 0 for element in KGC::EEX_EQUIP_TYPE_EXT.compact $game_special_elements["EEX_#{element}"] = $data_system.elements.index(element) end end #¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú #-------------------------------------------------------------------------- # ¡Ü ?íå?Ýá?Øüû¼ªÓõóª· # actor_index : «¢«¯«¿?INDEX #-------------------------------------------------------------------------- def call_equip_extend(actor_index = 0) # «×«ì«¤«ä?ªÎí¬á§ªòÎìïá $game_player.straighten # ?íå?Ýá?ØüªËï·ªêô𪨠$scene = Scene_EquipExtend.new(actor_index) end #¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú #============================================================================== # ¡á RPG::Weapon #============================================================================== class RPG::Weapon #-------------------------------------------------------------------------- # ¡Ü Ù£îñö¢Ôð #-------------------------------------------------------------------------- def name return @name.gsub(/\[.*\]/) {""} end #-------------------------------------------------------------------------- # ¡Ü «ª«ê«¸«Ê«ëÙ£ö¢Ôð #-------------------------------------------------------------------------- def original_name return @name end #-------------------------------------------------------------------------- # ¡Ü á¼Þ¨EPö¢Ôð #-------------------------------------------------------------------------- def ep_cost return @name =~ /\[EP[ ]*(\d+)\]/i ? $1.to_i : KGC::EEX_EP_COST_DEFAULT end #-------------------------------------------------------------------------- # ¡Ü ?Ýá«¿«¤«×ö¢Ôð #-------------------------------------------------------------------------- def equip_type if @name =~ /\[ET[ ]*([0-9,]+)\]/i type = $1.split(/[,]/).compact for i in 0...type.size type[i] = type[i].to_i end type.insert(0, 0) if type[0] != 0 return type else return nil end end end #¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú #============================================================================== # ¡á RPG::Armor #============================================================================== class RPG::Armor #-------------------------------------------------------------------------- # ¡Ü Ù£îñö¢Ôð #-------------------------------------------------------------------------- def name return @name.gsub(/\[.*\]/) {""} end #-------------------------------------------------------------------------- # ¡Ü «ª«ê«¸«Ê«ëÙ£ö¢Ôð #-------------------------------------------------------------------------- def original_name return @name end #-------------------------------------------------------------------------- # ¡Ü á¼Þ¨EPö¢Ôð #-------------------------------------------------------------------------- def ep_cost return @name =~ /\[EP[ ]*(\d+)\]/i ? $1.to_i : KGC::EEX_EP_COST_DEFAULT end #-------------------------------------------------------------------------- # ¡Ü ðú×¾ö¢Ôð #-------------------------------------------------------------------------- def kind if @guard_element_set.size > 0 @guard_element_set.compact.each { |element| (0...KGC::EEX_EQUIP_TYPE_EXT.size).each { |i| if element == $game_special_elements["EEX_#{KGC::EEX_EQUIP_TYPE_EXT[i]}"] return i + 4 end } } end return @kind end end #¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú #============================================================================== # ¡á Game_Actor #============================================================================== class Game_Actor < Game_Battler #-------------------------------------------------------------------------- # ¡Ü ÍëËÒ«¤«ó«¹«¿«ó«¹?? #-------------------------------------------------------------------------- attr_accessor :weapon_fix # ÙëÐïͳïÒ attr_accessor :armor_id # ÛÁÎý ID attr_accessor :armor_fix # ÛÁÎýͳïÒ #-------------------------------------------------------------------------- # ¡Ü «»«Ã«È«¢«Ã«× # actor_id : «¢«¯«¿? ID #-------------------------------------------------------------------------- alias setup_KGC_EquipExtension setup def setup(actor_id) actor = $data_actors[actor_id] @weapons = [actor.weapon_id] (1...KGC::EEX_TS_NUMBER).each { |i| @weapons << 0 } @armor1_id = @armor2_id = @armor3_id = @armor4_id = 0 @weapon_fix = [actor.weapon_fix] (1...KGC::EEX_TS_NUMBER).each { |i| @weapon_fix << false } # ÛÁÎýͳïÒ?÷¾ªòàâïÒ @armor_fix = [false, false, false, false, false] (1..4).each { |i| if (index = KGC::EEX_EQUIP_TYPE.index(i)) != nil @armor_fix[index] = eval("actor.armor#{i}_fix") end } if self.equip_type.size > 5 (5...self.equip_type.size).each { |i| @armor_fix[i] = false } end # ÛÁÎýªòàâïÒ @armor_id = [0, 0, 0, 0, 0] if (index = KGC::EEX_EQUIP_TYPE.index(1)) != nil && ( @weapons[0] == 0 || !$data_weapons[@weapons[0]].element_set.include?( $game_special_elements["two_handed"]) ) @armor_id[index] = actor.armor1_id else @armor_id[1] = 0 end (2..4).each { |i| if (index = KGC::EEX_EQUIP_TYPE.index(i)) != nil @armor_id[index] = eval("actor.armor#{i}_id") end } if self.equip_type.size > 5 (5...self.equip_type.size).each { |i| @armor_id[i] = 0 } end setup_KGC_EquipExtension(actor_id) @equip_type = nil @equip_type_weapon = nil @two_swords = false @two_handed = false @ts_number = nil @attack_count = 0 if KGC::EEX_EQUIP_TYPE.size > 5 (5...KGC::EEX_EQUIP_TYPE.size).each { |i| # ÛÁÎýID, ͳïÒ«Õ«é«°ªòôøÑ¢ûù @armor_id[i] = 0 @armor_fix[i] = false # «ª?«È«¹«Æ?«ÈªòÌÚãæ update_auto_state(nil, $data_armors[self.armor_id[i]]) } end end #-------------------------------------------------------------------------- # ¡Ü ?Ýá«¿«¤«×ö¢Ôð #-------------------------------------------------------------------------- def equip_type type = (@equip_type_weapon != nil && @equip_type_weapon != []) ? @equip_type_weapon : (@equip_type != nil && @equip_type != []) ? @equip_type : KGC::EEX_EQUIP_TYPE if type[0] != 0 type.insert(0, 0) end return type end #-------------------------------------------------------------------------- # ¡Ü ?Ýá«¿«¤«×àâïÒ #-------------------------------------------------------------------------- def equip_type=(type) @equip_type = type end #-------------------------------------------------------------------------- # ¡Ü ?Ýáù¡«¿«¤«×?ÌÚîêéÄ #-------------------------------------------------------------------------- def equip_type_apply last_equip_type = self.equip_type.dup if self.weapon_id > 0 @equip_type_weapon = $data_weapons[self.weapon_id].equip_type else @equip_type_weapon = nil end # ?ÝáÜôʦÒöªËªÊªÃª¿ªâªÎªÏè⪹ for i in (self.two_swords? ? self.ts_number : 1)...last_equip_type.size next if @armor_id[i] == nil if (armor = $data_armors[@armor_id[i]]) != nil && self.equip_type[i] != armor.kind + 1 self.equip(i, 0) end end @armor_id = @armor_id[0...self.equip_type.size] end #-------------------------------------------------------------------------- # ¡Ü õÌÓÞEPö¢Ôð #-------------------------------------------------------------------------- def max_ep formula = KGC::EEX_EP_FORMULA.gsub(/lv/i) {"@level"} return [[Integer(eval(formula)), KGC::EEX_EP_MIN].max, KGC::EEX_EP_MAX].min end #-------------------------------------------------------------------------- # ¡Ü EPö¢Ôð #-------------------------------------------------------------------------- def ep if self.two_swords? n = 0 self.ts_number.times { |i| weapon = $data_weapons[self.weapon_id(i)] n += weapon != nil ? weapon.ep_cost : 0 } else n = (weapon = $data_weapons[self.weapon_id]) != nil ? weapon.ep_cost : 0 end ((self.two_swords? ? self.ts_number : 1)...self.equip_type.size).each { |i| n += (armor = $data_armors[self.armor_id[i]]) != nil ? armor.ep_cost : 0 } return self.max_ep - n end #-------------------------------------------------------------------------- # ¡Ü ì£Óï×µ?÷¾ö¢Ôð #-------------------------------------------------------------------------- def two_swords? return @two_swords end #-------------------------------------------------------------------------- # ¡Ü ì£Óï×µàâïÒ #-------------------------------------------------------------------------- def two_swords=(value) # ì£Óï×µªËªÊªÃª¿íÞùê if value && !@two_swords # ?â¢ò¥ªÁªòú°ð¶ self.two_handed = false # ì£Óï×µªÇ?ÝáÜôʦÒöªËªÊªëÛÁÎýªòè⪹ for i in 1...self.ts_number self.equip(i, 0) end # ì£Óï×µª¬ú°ð¶ªµªìª¿íÞùê elsif !value && @two_swords # êª?ÛÁÎýªÇª¢ªÃª¿Ý»ÝªÎÙëÐïªòè⪹ for i in 1...self.ts_number self.equip(i, 0) @weapons[i] = 0 @weapon_fix[i] = false end end @two_swords = value end #-------------------------------------------------------------------------- # ¡Ü ì£Óï×µÙëÐï?ö¢Ôð #-------------------------------------------------------------------------- def ts_number return @ts_number != nil ? @ts_number : KGC::EEX_TS_NUMBER end #-------------------------------------------------------------------------- # ¡Ü ì£Óï×µÙëÐï?àâïÒ #-------------------------------------------------------------------------- def ts_number=(number) @ts_number = number end #-------------------------------------------------------------------------- # ¡Ü ?â¢ò¥ªÁ?÷¾ö¢Ôð #-------------------------------------------------------------------------- def two_handed? return @two_handed end #-------------------------------------------------------------------------- # ¡Ü ?â¢ò¥ªÁàâïÒ #-------------------------------------------------------------------------- def two_handed=(value) # ?â¢ò¥ªÁªËªÊªÃª¿íÞùê if value && !@two_handed # ì£Óï×µªòú°ð¶ self.two_swords = false # õÌôøªÎÛÁÎýªòè⪹ self.equip(1, 0) # õÌôøªÎÛÁÎýªòͳïÒ @armor_fix[1] = true # ?â¢ò¥ªÁª¬ú°ð¶ªµªìª¿íÞùê elsif !value && @two_handed # õÌôøªÎÛÁÎýͳïÒªòú°ð¶ @armor_fix[1] = false end @two_handed = value end #-------------------------------------------------------------------------- # ¡Ü Íô?üÞ?ö¢Ôð #-------------------------------------------------------------------------- def attack_count @attack_count = 0 if @attack_count == nil return @attack_count end #-------------------------------------------------------------------------- # ¡Ü Íô?üÞ?àâïÒ #-------------------------------------------------------------------------- def attack_count=(value) @attack_count = 0 if @attack_count == nil @attack_count = value end #-------------------------------------------------------------------------- # ¡Ü ÙëÐïID ªÎö¢Ôð #-------------------------------------------------------------------------- def weapon_id(type = 0) @weapons[type] = 0 if @weapons[type] == nil return @weapons[type] end #-------------------------------------------------------------------------- # ¡Ü ÙëÐïID ªÎàâïÒ #-------------------------------------------------------------------------- def weapon_id=(n) @weapons[0] = n end #-------------------------------------------------------------------------- # ¡Ü ÙëÐïID ªÎàâïÒ(ì£Óï×µéÄ) #-------------------------------------------------------------------------- def set_weapon(type, n) @weapons[type] = n end #-------------------------------------------------------------------------- # ¡Ü ÙëÐï«ê«¹«Èö¢Ôð #-------------------------------------------------------------------------- def equip_weapon_list weapons = [] if self.two_swords? (0...self.ts_number).each { |i| weapons << $data_weapons[self.weapon_id(i)] } else weapons << $data_weapons[self.weapon_id] end return weapons.compact end #-------------------------------------------------------------------------- # ¡Ü ÛÁÎý«ê«¹«Èö¢Ôð #-------------------------------------------------------------------------- def equip_armor_list armors = [] (1...self.equip_type.size).each { |i| armors << $data_armors[self.armor_id[i]] } return armors.compact end #-------------------------------------------------------------------------- # ¡Ü ÛÁÎýID ªÎö¢Ôð #-------------------------------------------------------------------------- def armor_id type = self.equip_type.dup for i in 1...type.size if @armor_id[i] == nil @armor_id[i] = 0 end end return @armor_id end #-------------------------------------------------------------------------- # ¡Ü ÛÁÎýID 1 ªÎö¢Ôð(û»üµéÄ) #-------------------------------------------------------------------------- def armor1_id return self.armor_id[1] end #-------------------------------------------------------------------------- # ¡Ü ÛÁÎýID 1 ªÎàâïÒ(û»üµéÄ) #-------------------------------------------------------------------------- def armor1_id=(id) @armor_id[1] = id end #-------------------------------------------------------------------------- # ¡Ü ÛÁÎýID 2 ªÎö¢Ôð(û»üµéÄ) #-------------------------------------------------------------------------- def armor2_id return self.armor_id[2] end #-------------------------------------------------------------------------- # ¡Ü ÛÁÎýID 2 ªÎàâïÒ(û»üµéÄ) #-------------------------------------------------------------------------- def armor2_id=(id) @armor_id[2] = id end #-------------------------------------------------------------------------- # ¡Ü ÛÁÎýID 3 ªÎö¢Ôð(û»üµéÄ) #-------------------------------------------------------------------------- def armor3_id return self.armor_id[3] end #-------------------------------------------------------------------------- # ¡Ü ÛÁÎýID 3 ªÎàâïÒ(û»üµéÄ) #-------------------------------------------------------------------------- def armor3_id=(id) @armor_id[3] = id end #-------------------------------------------------------------------------- # ¡Ü ÛÁÎýID 4 ªÎö¢Ôð(û»üµéÄ) #-------------------------------------------------------------------------- def armor4_id return self.armor_id[4] end #-------------------------------------------------------------------------- # ¡Ü ÛÁÎýID 4 ªÎàâïÒ(û»üµéÄ) #-------------------------------------------------------------------------- def armor4_id=(id) @armor_id[4] = id end #-------------------------------------------------------------------------- # ¡Ü ÐñÜâÍô?ÕôªÎö¢Ôð #-------------------------------------------------------------------------- def base_atk if $game_temp.in_battle if self.two_swords? weapon = $data_weapons[self.weapon_id(@attack_count)] n = weapon != nil ? weapon.atk : 0 else weapon = $data_weapons[self.weapon_id] n = weapon != nil ? weapon.atk : 0 n *= 1.5 if self.two_handed? end else if self.two_swords? n = 0 (0...self.ts_number).each { |i| weapon = $data_weapons[self.weapon_id(i)] n += weapon != nil ? weapon.atk : 0 } else weapon = $data_weapons[self.weapon_id] n = weapon != nil ? weapon.atk : 0 n *= 1.5 if self.two_handed? end end return Integer(n) end #-------------------------------------------------------------------------- # ¡Ü ?àõÜÍïáö·ªÎö¢Ôð # element_id : ?àõ ID #-------------------------------------------------------------------------- def element_rate(element_id) # ?àõêó?ÓøªË??ª¹ªë?ö·ªòö¢Ôð table = [0,200,150,100,50,0,-100] result = table[$data_classes[@class_id].element_ranks[element_id]] # ÛÁÎýªÇª³ªÎ?àõª¬ÛÁåÙªµªìªÆª¤ªëíÞùêªÏÚâÊõ for i in (self.two_swords? ? self.ts_number : 1)...self.equip_type.size val = self.armor_id[i] next if val == nil armor = $data_armors[val] if armor != nil && armor.guard_element_set.include?(element_id) result /= 2 end end # «¹«Æ?«ÈªÇª³ªÎ?àõª¬ÛÁåÙªµªìªÆª¤ªëíÞùêªÏÚâÊõ for i in @states if $data_states[i].guard_element_set.include?(element_id) result /= 2 end end return result end #-------------------------------------------------------------------------- # ¡Ü «¹«Æ?«ÈÛÁåÙ÷÷ïÒ # state_id : «¹«Æ?«È ID #-------------------------------------------------------------------------- def state_guard?(state_id) for i in (self.two_swords? ? self.ts_number : 1)...self.equip_type.size val = self.armor_id[i] next if val == nil armor = $data_armors[val] if armor != nil if armor.guard_state_set.include?(state_id) return true end end end return false end #-------------------------------------------------------------------------- # ¡Ü ÷×ßÈÍô?ªÎ?àõö¢Ôð #-------------------------------------------------------------------------- unless $imported["SetAttackElement"] def element_set weapons = equip_weapon_list elements = [] weapons.each { |w| elements |= w.element_set } return elements end end #-------------------------------------------------------------------------- # ¡Ü ÷×ßÈÍô?ªÎ«¹«Æ?«È?ûù (+) ö¢Ôð #-------------------------------------------------------------------------- def plus_state_set weapons = equip_weapon_list state_set = [] weapons.each { |w| state_set |= w.plus_state_set } return state_set end #-------------------------------------------------------------------------- # ¡Ü ÷×ßÈÍô?ªÎ«¹«Æ?«È?ûù (-) ö¢Ôð #-------------------------------------------------------------------------- def minus_state_set weapons = equip_weapon_list state_set = [] weapons.each { |w| state_set |= w.minus_state_set } return state_set end #-------------------------------------------------------------------------- # ¡Ü ?Ýáù¡ªÎÒöÕôö·áóïáªÎö¢Ôð #-------------------------------------------------------------------------- def equipment_parameter(type) param = ["maxhp", "maxsp", "str", "dex", "agi", "int"] n = 0 (equip_weapon_list + equip_armor_list).each { |e| n += eval("e.#{param[type]}_plus") } return n end #-------------------------------------------------------------------------- # ¡Ü ÐñÜâèÓÕôªÎö¢Ôð #-------------------------------------------------------------------------- def base_str n = $data_actors[@actor_id].parameters[2, @level] n += equipment_parameter(2) return [[n, 1].max, 999].min end #-------------------------------------------------------------------------- # ¡Ü ÐñÜâÐïéĪµªÎö¢Ôð #-------------------------------------------------------------------------- def base_dex n = $data_actors[@actor_id].parameters[3, @level] n += equipment_parameter(3) return [[n, 1].max, 999].min end #-------------------------------------------------------------------------- # ¡Ü ÐñÜâáÈðĪµªÎö¢Ôð #-------------------------------------------------------------------------- def base_agi n = $data_actors[@actor_id].parameters[4, @level] n += equipment_parameter(4) return [[n, 1].max, 999].min end #-------------------------------------------------------------------------- # ¡Ü ÐñÜâتÕôªÎö¢Ôð #-------------------------------------------------------------------------- def base_int n = $data_actors[@actor_id].parameters[5, @level] n += equipment_parameter(5) return [[n, 1].max, 999].min end #-------------------------------------------------------------------------- # ¡Ü ÐñÜâÚª×âÛÁåÙªÎö¢Ôð #-------------------------------------------------------------------------- def base_pdef n = 0 if self.two_swords? for i in 0...self.ts_number weapon = $data_weapons[self.weapon_id(i)] n += weapon != nil ? weapon.pdef : 0 end else weapon = $data_weapons[self.weapon_id] n += weapon != nil ? weapon.pdef : 0 end for i in (self.two_swords? ? self.ts_number : 1)...self.equip_type.size armor = $data_armors[self.armor_id[i]] n += armor != nil ? armor.pdef : 0 end return n end #-------------------------------------------------------------------------- # ¡Ü ÐñÜâتÛöÛÁåÙªÎö¢Ôð #-------------------------------------------------------------------------- def base_mdef n = 0 if self.two_swords? for i in 0...self.ts_number weapon = $data_weapons[self.weapon_id(i)] n += weapon != nil ? weapon.mdef : 0 end else weapon = $data_weapons[self.weapon_id] n += weapon != nil ? weapon.mdef : 0 end for i in (self.two_swords? ? self.ts_number : 1)...self.equip_type.size armor = $data_armors[self.armor_id[i]] n += armor != nil ? armor.mdef : 0 end return n end #-------------------------------------------------------------------------- # ¡Ü ÐñÜâüÞù­áóïáªÎö¢Ôð #-------------------------------------------------------------------------- def base_eva n = 0 for i in (self.two_swords? ? self.ts_number : 1)...self.equip_type.size armor = $data_armors[self.armor_id[i]] n += armor != nil ? armor.eva : 0 end return n end #-------------------------------------------------------------------------- # ¡Ü ?ÝáªÎ?ÌÚ # equip_type : ?Ýá«¿«¤«× # id : ÙëÐï or ÛÁÎý ID (0 ªÊªé?Ýáú°ð¶) #-------------------------------------------------------------------------- def equip(equip_type, id) case equip_type when (self.two_swords? ? 0...self.ts_number : 0) # ÙëÐï if id == 0 || $game_party.weapon_number(id) > 0 # EP÷÷ïÒ if KGC::EEX_USE_EP && id > 0 # EPÜôðëªÎíÞùêªÏ?ªë if $data_weapons[id].ep_cost > self.ep return end end # ì£Óï×µì¤èâªÇ?â¢ò¥ªÁÙëÐïªò?Ý᪹ªëíÞùê if !self.two_swords? && id > 0 && $data_weapons[id].element_set.include?($game_special_elements["two_handed"]) # õÌôøªÎÛÁÎýªòè⪹ self.equip(1, 0) end $game_party.gain_weapon(self.weapon_id(equip_type), 1) self.set_weapon(equip_type, id) $game_party.lose_weapon(id, 1) end #when (self.two_swords? ? self.ts_number : 1)...self.equip_type.size else # ÛÁÎý # ì£Óï×µì¤èâªÇ¡¢?â¢ò¥ªÁÙëÐïªò?Ý᪷ªÆªªªê¡¢õÌôøªÎÛÁÎýªò?ÌÚª¹ªëíÞùêªÏ?ªë if !self.two_swords? && equip_type == 1 && self.weapon_id > 0 && $data_weapons[self.weapon_id].element_set.include?($game_special_elements["two_handed"]) return end if id == 0 || $game_party.armor_number(id) > 0 # EP÷÷ïÒ if KGC::EEX_USE_EP && id > 0 # EPÜôðëªÎíÞùêªÏ?ªë if $data_armors[id].ep_cost > self.ep return end end update_auto_state(@armor_id[equip_type] != nil ? $data_armors[@armor_id[equip_type]] : nil, $data_armors[id]) if @armor_id[equip_type] != nil && @armor_id[equip_type] > 0 $game_party.gain_armor(@armor_id[equip_type], 1) end @armor_id[equip_type] = id $game_party.lose_armor(id, 1) end end end #-------------------------------------------------------------------------- # ¡Ü ?ÝáͳïÒ÷÷ïÒ # equip_type : ?Ýá«¿«¤«× #-------------------------------------------------------------------------- def equip_fix?(equip_type) case equip_type when (self.two_swords? ? 0...self.ts_number : 0) # ÙëÐï return @weapon_fix[equip_type] #when (self.two_swords? ? self.ts_number : 1)...self.equip_type.size else # ÛÁÎý return @armor_fix[equip_type] end return false end #-------------------------------------------------------------------------- # ¡Ü ÷×ßÈÍô? Íô?ö°«¢«Ë«á?«·«ç«ó ID ªÎö¢Ôð #-------------------------------------------------------------------------- def animation1_id if self.two_swords? weapon = $data_weapons[self.weapon_id(self.attack_count)] return weapon != nil ? weapon.animation1_id : 0 else weapon = $data_weapons[self.weapon_id] return weapon != nil ? weapon.animation1_id : 0 end end #-------------------------------------------------------------------------- # ¡Ü ÷×ßÈÍô? ?ßÚö°«¢«Ë«á?«·«ç«ó ID ªÎö¢Ôð #-------------------------------------------------------------------------- def animation2_id if self.two_swords? weapon = $data_weapons[self.weapon_id(self.attack_count)] return weapon != nil ? weapon.animation2_id : 0 else weapon = $data_weapons[self.weapon_id] return weapon != nil ? weapon.animation2_id : 0 end end #-------------------------------------------------------------------------- # ¡Ü «¯«é«¹ ID ªÎ?ÌÚ # class_id : ã檷ª¤«¯«é«¹ ID #-------------------------------------------------------------------------- def class_id=(class_id) if $data_classes[class_id] != nil @class_id = class_id # ?ÝáªÇª­ªÊª¯ªÊªÃª¿«¢«¤«Æ«àªòè⪹ if self.two_swords? for i in 0...self.ts_number equip(i, 0) unless equippable?($data_weapons[self.weapon_id(i)]) end else equip(0, 0) unless equippable?($data_weapons[self.weapon_id]) end for i in (self.two_swords? ? self.ts_number : 1)...self.equip_type.size equip(i, 0) unless equippable?($data_armors[self.armor_id[i]]) end end end end #¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú #============================================================================== # ¡á Window_EquipLeft #============================================================================== unless $imported["EquipAlter"] class Window_EquipLeft < Window_Base #-------------------------------------------------------------------------- # ¡Ü «ê«Õ«ì«Ã«·«å #-------------------------------------------------------------------------- alias refresh_KGC_EquipExtension refresh def refresh # ꪪÎ?×âªò?ú¼ refresh_KGC_EquipExtension if KGC::EEX_USE_EP if KGC::EEX_DRAW_EP_MAX self.contents.font.color = system_color self.contents.draw_text(140, 0, 32, 32, KGC::EEX_EP_NAME) self.contents.font.color = @actor.ep == 0 ? knockout_color : normal_color self.contents.draw_text(172, 0, 24, 32, @actor.ep.to_s, 2) self.contents.font.color = normal_color self.contents.draw_text(196, 0, 16, 32, "/", 1) self.contents.draw_text(212, 0, 24, 32, @actor.max_ep.to_s, 2) else self.contents.font.color = system_color self.contents.draw_text(180, 0, 32, 32, KGC::EEX_EP_NAME) self.contents.font.color = @actor.ep == 0 ? knockout_color : normal_color self.contents.draw_text(212, 0, 24, 32, @actor.ep.to_s, 2) end end end end end #¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú #============================================================================== # ¡á Window_EquipRight #============================================================================== class Window_EquipRight < Window_Selectable #-------------------------------------------------------------------------- # ¡Ü «¿«¤«×ªÎö¢Ôð #-------------------------------------------------------------------------- def type return @equip_type[self.index] end #-------------------------------------------------------------------------- # ¡Ü «ê«Õ«ì«Ã«·«å #-------------------------------------------------------------------------- def refresh # ?Ýá«¿«¤«×ªòö¢Ôð @actor.equip_type_apply @equip_type = @actor.equip_type.dup if @actor.two_swords? for i in 1...@actor.ts_number @equip_type[i] = 0 end end if self.index >= @equip_type.size self.index = @equip_type.size - 1 end # «¦«£«ó«É«¦?黪òíÂà÷ self.contents.dispose self.contents = Bitmap.new(width - 32, @equip_type.size * 32) @data = [] if @actor.two_swords? for i in 0...@actor.ts_number @data.push($data_weapons[@actor.weapon_id(i)]) end for i in @actor.ts_number...@equip_type.size @data.push($data_armors[@actor.armor_id[i]]) end else @data.push($data_weapons[@actor.weapon_id]) for i in 1...@equip_type.size @data.push($data_armors[@actor.armor_id[i]]) end end @item_max = @data.size self.contents.font.color = system_color for i in 0...@equip_type.size if @actor.two_swords? && i < @actor.ts_number self.contents.draw_text(4, 32 * i, 92, 32, KGC::EEX_EQUIP_NAME[0]) else next if KGC::EEX_EQUIP_NAME[@actor.equip_type[i]] == nil self.contents.draw_text(4, 32 * i, 92, 32, KGC::EEX_EQUIP_NAME[@actor.equip_type[i]]) end end for i in 0...@data.size self.contents.font.color = normal_color draw_item_name(@data[i], 92, 32 * i) if KGC::EEX_USE_EP && @data[i] != nil self.contents.font.color = KGC::EEX_EP_COLOR self.contents.draw_text(92, 32 * i, 240, 32, @data[i].ep_cost.to_s, 2) end end end end #¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú #============================================================================== # ¡á Window_EquipItem #============================================================================== class Window_EquipItem < Window_Selectable #-------------------------------------------------------------------------- # ¡Ü ú£ÙͪÎÙÚ? # index : ú£ÙÍÛã? #-------------------------------------------------------------------------- alias draw_item_KGC_EquipExtension draw_item def draw_item(index) # ꪪÎ?×âªò?ú¼ draw_item_KGC_EquipExtension(index) item = @data[index] if KGC::EEX_USE_EP && item != nil x = 4 + index % 2 * (288 + 32) y = index / 2 * 32 self.contents.font.color = KGC::EEX_EP_COLOR self.contents.draw_text(x + 216, y, 24, 32, item.ep_cost.to_s, 2) end end end #¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú #============================================================================== # ¡á Window_Status #============================================================================== class Window_Status < Window_Base #-------------------------------------------------------------------------- # ¡Ü «ê«Õ«ì«Ã«·«å #-------------------------------------------------------------------------- def refresh self.contents.clear if $imported["StatusAlter"] draw_actor_graphic(@actor, 4, 48) else draw_actor_graphic(@actor, 40, 112) end draw_actor_name(@actor, 4, 0) draw_actor_class(@actor, 4 + 144, 0) draw_actor_level(@actor, 96, 32) draw_actor_state(@actor, 96, 64) draw_actor_hp(@actor, 96, 112, 172) draw_actor_sp(@actor, 96, 144, 172) draw_actor_parameter(@actor, 96, 192, 0) draw_actor_parameter(@actor, 96, 224, 1) draw_actor_parameter(@actor, 96, 256, 2) draw_actor_parameter(@actor, 96, 304, 3) draw_actor_parameter(@actor, 96, 336, 4) draw_actor_parameter(@actor, 96, 368, 5) draw_actor_parameter(@actor, 96, 400, 6) self.contents.font.color = system_color self.contents.draw_text(320, 48, 80, 32, "EXP") self.contents.draw_text(320, 80, 80, 32, "NEXT") self.contents.font.color = normal_color self.contents.draw_text(320 + 80, 48, 84, 32, @actor.exp_s, 2) self.contents.draw_text(320 + 80, 80, 84, 32, @actor.next_rest_exp_s, 2) if KGC::EEX_USE_EP self.contents.font.color = system_color self.contents.draw_text(468, 0, 48, 32, KGC::EEX_EP_NAME) self.contents.font.color = @actor.ep == 0 ? knockout_color : normal_color self.contents.draw_text(516, 0, 32, 32, @actor.ep.to_s, 2) self.contents.font.color = normal_color self.contents.draw_text(548, 0, 24, 32, "/", 1) self.contents.draw_text(572, 0, 32, 32, @actor.max_ep.to_s, 2) end self.contents.font.color = system_color self.contents.draw_text(320, 160, 96, 32, "?Ýá") if @actor.two_swords? for i in 0...@actor.ts_number draw_item_name($data_weapons[@actor.weapon_id(i)], 320 + 16, 192 + 32 * i) end for i in @actor.ts_number...@actor.equip_type.size draw_item_name($data_armors[ @actor.armor_id[i] ], 320 + 16, 192 + 32 * i) end else draw_item_name($data_weapons[@actor.weapon_id], 320 + 16, 192) for i in 1...@actor.equip_type.size draw_item_name($data_armors[ @actor.armor_id[i] ], 320 + 16, 192 + 32 * i) end end end end #¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú #============================================================================== # ¡á Window_ShopStatus #============================================================================== class Window_ShopStatus < Window_Base #-------------------------------------------------------------------------- # ¡Ü «ê«Õ«ì«Ã«·«å #-------------------------------------------------------------------------- unless $imported["LargeParty"] def refresh self.contents.clear if @item == nil return end case @item when RPG::Item number = $game_party.item_number(@item.id) when RPG::Weapon number = $game_party.weapon_number(@item.id) when RPG::Armor number = $game_party.armor_number(@item.id) end self.contents.font.size = 22 self.contents.font.color = system_color self.contents.draw_text(4, 0, 200, 32, "ò¥ªÃªÆª¤ªë?") self.contents.font.color = normal_color self.contents.draw_text(204, 0, 32, 32, number.to_s, 2) return if @item.is_a?(RPG::Item) self.contents.font.size = 18 if $imported["HelpExtension"] # ?Ýáù¡õÚÊ¥ï×Üà for i in 0...$game_party.actors.size # «¢«¯«¿?ªòö¢Ôð actor = $game_party.actors[i] # ?ÝáʦÒöªÊªé÷×ßÈÙþí®ßäªË¡¢ÜôʦÒöªÊªéÙí?Ùþí®ßäªËàâïÒ if actor.equippable?(@item) self.contents.font.color = normal_color else self.contents.font.color = disabled_color end # «¢«¯«¿?ªÎÙ£îñªòÙÚ? if $imported["HelpExtension"] self.contents.draw_text(4, 32 + 44 * i, 120, 32, actor.name) else self.contents.draw_text(4, 64 + 64 * i, 120, 32, actor.name) end # úÞÎ?Ýáù¡ªòö¢Ôð if @item.is_a?(RPG::Weapon) item1 = $data_weapons[actor.weapon_id] else for j in 1...actor.equip_type.size if actor.equip_type[j] == @item.kind + 1 item1 = $data_armors[actor.armor_id[j]] break end end end # ?ÝáʦÒöªÊíÞùê if actor.equippable?(@item) # ÙëÐïªÎíÞùê if @item.is_a?(RPG::Weapon) atk1 = item1 != nil ? item1.atk : 0 atk2 = @item != nil ? @item.atk : 0 change = atk2 - atk1 end # ÛÁÎýªÎíÞùê if @item.is_a?(RPG::Armor) pdef1 = item1 != nil ? item1.pdef : 0 mdef1 = item1 != nil ? item1.mdef : 0 pdef2 = @item != nil ? @item.pdef : 0 mdef2 = @item != nil ? @item.mdef : 0 change = pdef2 - pdef1 + mdef2 - mdef1 end # «Ñ«é«á?«¿ªÎ?ûùö·ªòÙÚ? if $imported["HelpExtension"] self.contents.draw_text(124, 32 + 44 * i, 112, 32, sprintf("%+d", change), 2) else self.contents.draw_text(124, 64 + 64 * i, 112, 32, sprintf("%+d", change), 2) end end # «¢«¤«Æ«àªòÙÚ? if item1 != nil x = 4 if $imported["HelpExtension"] y = 32 + 44 * i + 22 else y = 64 + 64 * i + 32 end icon = RPG::Cache.icon(item1.icon_name) opacity = self.contents.font.color == normal_color ? 255 : 128 self.contents.blt(x, y + 4, icon, icon.rect, opacity) self.contents.draw_text(x + 28, y, 212, 32, item1.name) end end end end end #¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú #============================================================================== # ¡á Window_EquipExtendControl #------------------------------------------------------------------------------ # ¡¡?Ýá?ØüªÇ¡¢ðÃíªòàÔ?ª¹ªë«¦«£«ó«É«¦ªÇª¹¡£ #============================================================================== class Window_EquipExtendControl < Window_Selectable #-------------------------------------------------------------------------- # ¡Ü «ª«Ö«¸«§«¯«ÈôøÑ¢ûù #-------------------------------------------------------------------------- def initialize super(0, 0, 640, 64) self.contents = Bitmap.new(width - 32, height - 32) @commands = [KGC::EEX_EQUIP_EX_COMMAND_EQUIP, KGC::EEX_EQUIP_EX_COMMAND_STRONGEST_EQUIP, KGC::EEX_EQUIP_EX_COMMAND_ALL_RELEASE] @item_max = @commands.size @column_max = @commands.size @item_width = (width - 32) / @commands.size self.z = 1000 self.index = 0 refresh end #-------------------------------------------------------------------------- # ¡Ü «ê«Õ«ì«Ã«·«å #-------------------------------------------------------------------------- def refresh for i in 0...@commands.size rect = Rect.new(@item_width * i, 0, @item_width, 32) self.contents.fill_rect(rect, Color.new(0, 0, 0, 0)) self.contents.font.color = system_color self.contents.draw_text(rect, @commands[i], 1) end end #-------------------------------------------------------------------------- # ¡Ü ««?«½«ëªÎÏ»û¡ÌÚãæ #-------------------------------------------------------------------------- def update_cursor_rect if index != -1 self.cursor_rect.set(@item_width * index, 0, @item_width, 32) end end #-------------------------------------------------------------------------- # ¡Ü «Ø«ë«×«Æ«­«¹«ÈÌÚãæ #-------------------------------------------------------------------------- def update_help case self.index when 0 @help_window.set_text(KGC::EEX_EQUIP_EX_HELP_EQUIP) when 1 @help_window.set_text(KGC::EEX_EQUIP_EX_HELP_STRONGEST_EQUIP) when 2 @help_window.set_text(KGC::EEX_EQUIP_EX_HELP_ALL_RELEASE) end end end #¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú #============================================================================== # ¡á Window_EquipExtendStatus #------------------------------------------------------------------------------ # ¡¡?íå?Ýá?ØüªÇ¡¢«¢«¯«¿?ªÎ«Ñ«é«á?«¿?ûùªòøúãƪ¹ªë«¦«£«ó«É«¦ªÇª¹¡£ #============================================================================== class Window_EquipExtendStatus < Window_EquipLeft #-------------------------------------------------------------------------- # ¡Ü ÍëËÒ«¤«ó«¹«¿«ó«¹?? #-------------------------------------------------------------------------- attr_accessor :new_equip # àÔ?ñéªÎ?Ýáù¡ attr_accessor :last_str # ?ÌÚîñªÎèÓÕô attr_accessor :last_dex # ?ÌÚîñªÎÐïéĪµ attr_accessor :last_agi # ?ÌÚîñªÎáÈðĪµ attr_accessor :last_int # ?ÌÚîñªÎتÕô #-------------------------------------------------------------------------- # ¡Ü «ª«Ö«¸«§«¯«ÈôøÑ¢ûù #-------------------------------------------------------------------------- def initialize(actor) super(actor) self.back_opacity = 160 if KGC::EEX_EQUIP_EX_BACK_TRANSPARENT self.x = 368 self.y = 288 self.z = 1000 # ôøÑ¢ÒöÕôö·ªòÜÁðí @new_equip = nil @last_equip = nil @last_str = @actor.str @last_dex = @actor.dex @last_agi = @actor.agi @last_int = @actor.int end #-------------------------------------------------------------------------- # ¡Ü «ê«Õ«ì«Ã«·«å #-------------------------------------------------------------------------- def refresh self.contents.clear draw_actor_name(@actor, 4, 0) draw_actor_level(@actor, 4, 32) if KGC::EEX_USE_EP if KGC::EEX_DRAW_EP_MAX self.contents.font.color = system_color self.contents.draw_text(140, 0, 32, 32, KGC::EEX_EP_NAME) self.contents.font.color = @actor.ep == 0 ? knockout_color : normal_color self.contents.draw_text(172, 0, 24, 32, @actor.ep.to_s, 2) self.contents.font.color = normal_color self.contents.draw_text(196, 0, 16, 32, "/", 1) self.contents.draw_text(212, 0, 24, 32, @actor.max_ep.to_s, 2) else self.contents.font.color = system_color self.contents.draw_text(180, 0, 32, 32, KGC::EEX_EP_NAME) self.contents.font.color = @actor.ep == 0 ? knockout_color : normal_color self.contents.draw_text(212, 0, 24, 32, @actor.ep.to_s, 2) end end self.contents.font.color = system_color self.contents.draw_text(4, 64, 72, 32, $data_system.words.atk) self.contents.draw_text(4, 96, 72, 32, $data_system.words.pdef) self.contents.draw_text(4, 128, 72, 32, $data_system.words.mdef) self.contents.draw_text(120, 32, 72, 32, $data_system.words.str) self.contents.draw_text(120, 64, 72, 32, $data_system.words.dex) self.contents.draw_text(120, 96, 72, 32, $data_system.words.agi) self.contents.draw_text(120, 128, 72, 32, $data_system.words.int) if @new_atk != nil self.contents.font.color = @actor.atk > @new_atk ? text_color(2) : @actor.atk < @new_atk ? text_color(3) : normal_color self.contents.draw_text(80, 64, 36, 32, @new_atk.to_s, 2) else self.contents.font.color = normal_color self.contents.draw_text(80, 64, 36, 32, @actor.atk.to_s, 2) end if @new_pdef != nil self.contents.font.color = @actor.pdef > @new_pdef ? text_color(2) : @actor.pdef < @new_pdef ? text_color(3) : normal_color self.contents.draw_text(80, 96, 36, 32, @new_pdef.to_s, 2) else self.contents.font.color = normal_color self.contents.draw_text(80, 96, 36, 32, @actor.pdef.to_s, 2) end if @new_mdef != nil self.contents.font.color = @actor.mdef > @new_mdef ? text_color(2) : @actor.mdef < @new_mdef ? text_color(3) : normal_color self.contents.draw_text(80, 128, 36, 32, @new_mdef.to_s, 2) else self.contents.font.color = normal_color self.contents.draw_text(80, 128, 36, 32, @actor.mdef.to_s, 2) end if @new_str != nil self.contents.font.color = @last_str > @new_str ? text_color(2) : @last_str < @new_str ? text_color(3) : normal_color self.contents.draw_text(200, 32, 36, 32, @new_str.to_s, 2) else self.contents.font.color = normal_color self.contents.draw_text(200, 32, 36, 32, @actor.str.to_s, 2) end if @new_dex != nil self.contents.font.color = @last_dex > @new_dex ? text_color(2) : @last_dex < @new_dex ? text_color(3) : normal_color self.contents.draw_text(200, 64, 36, 32, @new_dex.to_s, 2) else self.contents.font.color = normal_color self.contents.draw_text(200, 64, 36, 32, @actor.dex.to_s, 2) end if @new_agi != nil self.contents.font.color = @last_agi > @new_agi ? text_color(2) : @last_agi < @new_agi ? text_color(3) : normal_color self.contents.draw_text(200, 96, 36, 32, @new_agi.to_s, 2) else self.contents.font.color = normal_color self.contents.draw_text(200, 96, 36, 32, @actor.agi.to_s, 2) end if @new_int != nil self.contents.font.color = @last_int > @new_int ? text_color(2) : @last_int < @new_int ? text_color(3) : normal_color self.contents.draw_text(200, 128, 36, 32, @new_int.to_s, 2) else self.contents.font.color = normal_color self.contents.draw_text(200, 128, 36, 32, @actor.int.to_s, 2) end end #-------------------------------------------------------------------------- # ¡Ü ?Ýá?ÌÚý­ªÎ«Ñ«é«á?«¿àâïÒ #-------------------------------------------------------------------------- def set_new_parameters(new_atk, new_pdef, new_mdef, new_st = [nil, nil, nil, nil]) if @new_atk != new_atk || @new_pdef != new_pdef || @new_mdef != new_mdef || @new_str != new_st[0] || @new_dex != new_st[1] || @new_agi != new_st[2] || @new_int != new_st[3] @new_atk = new_atk @new_pdef = new_pdef @new_mdef = new_mdef @new_str = new_st[0] @new_dex = new_st[1] @new_agi = new_st[2] @new_int = new_st[3] @last_equip = @new_equip refresh return end end end #¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú #============================================================================== # ¡á Window_EquipExtendList #------------------------------------------------------------------------------ # ¡¡?íå?Ýá?ØüªÇ¡¢«¢«¯«¿?ª¬úÞî¤?Ý᪷ªÆª¤ªë«¢«¤«Æ«àªòøúãƪ¹ªë«¦«£«ó«É«¦ªÇª¹¡£ #============================================================================== class Window_EquipExtendList < Window_Selectable #-------------------------------------------------------------------------- # ¡Ü «ª«Ö«¸«§«¯«ÈôøÑ¢ûù # actor : «¢«¯«¿? #-------------------------------------------------------------------------- def initialize(actor) super(0, 64, 368, 416) if $imported["HelpExtension"] self.y = 128 self.height = 352 end self.contents = Bitmap.new(width - 32, height - 32) self.back_opacity = 160 if KGC::EEX_EQUIP_EX_BACK_TRANSPARENT self.active = false @actor = actor refresh self.index = 0 end #-------------------------------------------------------------------------- # ¡Ü «¢«¤«Æ«àªÎö¢Ôð #-------------------------------------------------------------------------- def item return @data[self.index] end #-------------------------------------------------------------------------- # ¡Ü «¿«¤«×ªÎö¢Ôð #-------------------------------------------------------------------------- def type return @equip_type[self.index] end #-------------------------------------------------------------------------- # ¡Ü «ê«Õ«ì«Ã«·«å #-------------------------------------------------------------------------- def refresh # ?Ýá«¿«¤«×ªòö¢Ôð @actor.equip_type_apply @equip_type = @actor.equip_type.dup if @actor.two_swords? for i in 1...@actor.ts_number @equip_type[i] = 0 end end if self.index >= @equip_type.size self.index = @equip_type.size - 1 end # «¢«¤«Æ«àªòõÚÊ¥ @data = [] if @actor.two_swords? for i in 0...@actor.ts_number @data.push($data_weapons[@actor.weapon_id(i)]) end for i in @actor.ts_number...@equip_type.size @data.push($data_armors[@actor.armor_id[i]]) end else @data.push($data_weapons[@actor.weapon_id]) for i in 1...@equip_type.size @data.push($data_armors[@actor.armor_id[i]]) end end @equip_type = @equip_type[KGC::EEX_EQUIP_EX_INDEX...@equip_type.size] @data = @data[KGC::EEX_EQUIP_EX_INDEX...@data.size] @item_max = @data.size # «¦«£«ó«É«¦?黪òíÂà÷ self.contents.dispose self.contents = Bitmap.new(width - 32, @equip_type.size * 32) self.contents.font.color = system_color for i in 0...@equip_type.size if @equip_type[i] == 0 && @actor.two_swords? && i < @actor.ts_number self.contents.draw_text(4, 32 * i, 92, 32, KGC::EEX_EQUIP_NAME[0]) else next if KGC::EEX_EQUIP_NAME[@equip_type[i]] == nil self.contents.draw_text(4, 32 * i, 92, 32, KGC::EEX_EQUIP_NAME[@equip_type[i]]) end end for i in 0...@data.size self.contents.font.color = normal_color draw_item_name(@data[i], 92, 32 * i) if KGC::EEX_USE_EP && @data[i] != nil self.contents.font.color = KGC::EEX_EP_COLOR self.contents.draw_text(92, 32 * i, 240, 32, @data[i].ep_cost.to_s, 2) end end end #-------------------------------------------------------------------------- # ¡Ü «Ø«ë«×«Æ«­«¹«ÈÌÚãæ #-------------------------------------------------------------------------- def update_help @help_window.set_text(self.item == nil ? "" : self.item.description) end end #¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú #============================================================================== # ¡á Window_EquipExtendItem #------------------------------------------------------------------------------ # ¡¡?íå?Ýá?ØüªÇ¡¢?Ýá?ÌÚªÎý¦ÜͪȪʪ뫢«¤«Æ«àªÎìé?ªòøúãƪ¹ªë«¦«£«ó«É«¦ªÇª¹¡£ #============================================================================== class Window_EquipExtendItem < Window_Selectable #-------------------------------------------------------------------------- # ¡Ü «ª«Ö«¸«§«¯«ÈôøÑ¢ûù # actor : «¢«¯«¿? # equip_type : ?ÝáÝ»êÈ (0¢¦3) #-------------------------------------------------------------------------- def initialize(actor, equip_type) super(368, 64, 320, 416) if $imported["HelpExtension"] self.y = 128 self.height = 352 end @actor = actor @equip_type = equip_type @column_max = 1 refresh self.active = false self.index = -1 self.back_opacity = 160 if KGC::EEX_EQUIP_EX_BACK_TRANSPARENT end #-------------------------------------------------------------------------- # ¡Ü «¢«¤«Æ«àªÎö¢Ôð #-------------------------------------------------------------------------- def item return @data[self.index] end #-------------------------------------------------------------------------- # ¡Ü «ê«Õ«ì«Ã«·«å #-------------------------------------------------------------------------- def refresh if self.contents != nil self.contents.dispose self.contents = nil end @data = [] # ?ÝáʦÒöªÊÙëÐïªòõÚÊ¥ if @equip_type == 0 weapon_set = $data_classes[@actor.class_id].weapon_set for i in 1...$data_weapons.size if $game_party.weapon_number(i) > 0 && weapon_set.include?(i) @data.push($data_weapons[i]) end end end # ?ÝáʦÒöªÊÛÁÎýªòõÚÊ¥ if @equip_type != 0 armor_set = $data_classes[@actor.class_id].armor_set for i in 1...$data_armors.size if $game_party.armor_number(i) > 0 && armor_set.include?(i) if $data_armors[i].kind == @equip_type-1 @data.push($data_armors[i]) end end end end # ÍöÛܪòõÚÊ¥ @data.push(nil) # «Ó«Ã«È«Þ«Ã«×ªòíÂà÷ª·¡¢îïú£ÙͪòÙÚ? @item_max = @data.size self.contents = Bitmap.new(width - 32, row_max * 32) for i in 0...@item_max-1 draw_item(i) end end #-------------------------------------------------------------------------- # ¡Ü ú£ÙͪÎÙÚ? # index : ú£ÙÍÛã? #-------------------------------------------------------------------------- def draw_item(index) item = @data[index] y = index * 32 case item when RPG::Weapon number = $game_party.weapon_number(item.id) when RPG::Armor number = $game_party.armor_number(item.id) end icon = RPG::Cache.icon(item.icon_name) self.contents.blt(0, y + 4, icon, icon.rect) self.contents.font.color = normal_color self.contents.draw_text(32, y, 212, 32, item.name, 0) self.contents.draw_text(244, y, 16, 32, ":", 1) self.contents.draw_text(260, y, 24, 32, number.to_s, 2) if KGC::EEX_USE_EP && item != nil self.contents.font.color = KGC::EEX_EP_COLOR self.contents.draw_text(220, y, 24, 32, item.ep_cost.to_s, 2) end end #-------------------------------------------------------------------------- # ¡Ü «Ø«ë«×«Æ«­«¹«ÈÌÚãæ #-------------------------------------------------------------------------- def update_help @help_window.set_text(self.item == nil ? "" : self.item.description) end end #¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú #============================================================================== # ¡á Interpreter (ÝÂùÜïÒëù 3) #============================================================================== class Interpreter #-------------------------------------------------------------------------- # ¡Ü ?ËìÝÂÐ÷ #-------------------------------------------------------------------------- def command_111 # «í?«««ë?? result ªòôøÑ¢ûù result = false # ?Ëì÷÷ïÒ case @parameters[0] when 0 # «¹«¤«Ã«Á result = ($game_switches[@parameters[1]] == (@parameters[2] == 0)) when 1 # ?? value1 = $game_variables[@parameters[1]] if @parameters[2] == 0 value2 = @parameters[3] else value2 = $game_variables[@parameters[3]] end case @parameters[4] when 0 # ªÈÔÒö· result = (value1 == value2) when 1 # ì¤ß¾ result = (value1 >= value2) when 2 # ì¤ù» result = (value1 <= value2) when 3 # õ± result = (value1 > value2) when 4 # Ú±? result = (value1 < value2) when 5 # ì¤èâ result = (value1 != value2) end when 2 # «»«ë«Õ«¹«¤«Ã«Á if @event_id > 0 key = [$game_map.map_id, @event_id, @parameters[1]] if @parameters[2] == 0 result = ($game_self_switches[key] == true) else result = ($game_self_switches[key] != true) end end when 3 # «¿«¤«Þ? if $game_system.timer_working sec = $game_system.timer / Graphics.frame_rate if @parameters[2] == 0 result = (sec >= @parameters[1]) else result = (sec <= @parameters[1]) end end when 4 # «¢«¯«¿? actor = $game_actors[@parameters[1]] if actor != nil case @parameters[2] when 0 # «Ñ?«Æ«£ªËª¤ªë result = ($game_party.actors.include?(actor)) when 1 # Ù£îñ result = (actor.name == @parameters[3]) when 2 # «¹«­«ë result = (actor.skill_learn?(@parameters[3])) when 3 # ÙëÐï if actor.two_swords? result = false for i in 0...actor.ts_number if actor.weapon_id(i) == @parameters[3] result = true break end end else result = (actor.weapon_id == @parameters[3]) end when 4 # ÛÁÎý result = false for i in 1...actor.equip_type.size if actor.armor_id[i] == @parameters[3] result = true break end end when 5 # «¹«Æ?«È result = (actor.state?(@parameters[3])) end end when 5 # «¨«Í«ß? enemy = $game_troop.enemies[@parameters[1]] if enemy != nil case @parameters[2] when 0 # õóúÞª·ªÆª¤ªë result = (enemy.exist?) when 1 # «¹«Æ?«È result = (enemy.state?(@parameters[3])) end end when 6 # «­«ã«é«¯«¿? character = get_character(@parameters[1]) if character != nil result = (character.direction == @parameters[2]) end when 7 # «´?«ë«É if @parameters[2] == 0 result = ($game_party.gold >= @parameters[1]) else result = ($game_party.gold <= @parameters[1]) end when 8 # «¢«¤«Æ«à result = ($game_party.item_number(@parameters[1]) > 0) when 9 # ÙëÐï result = ($game_party.weapon_number(@parameters[1]) > 0) when 10 # ÛÁÎý result = ($game_party.armor_number(@parameters[1]) > 0) when 11 # «Ü«¿«ó result = (Input.press?(@parameters[1])) when 12 # «¹«¯«ê«×«È result = eval(@parameters[1]) end # ÷÷ïÒÌ¿Íýªò«Ï«Ã«·«åªËÌ«Ò¡ @branch[@list[@index].indent] = result # ÷÷ïÒÌ¿Íýª¬?ªÀªÃª¿íÞùê if @branch[@list[@index].indent] == true # ÝÂÐ÷«Ç?«¿ªòÞûð¶ @branch.delete(@list[@index].indent) # ?? return true end # ?ËìªËú±?ª·ªÊª¤íÞùê : «³«Þ«ó«É«¹«­«Ã«× return command_skip end end #¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú #============================================================================== # ¡á Scene_Equip #============================================================================== class Scene_Equip #-------------------------------------------------------------------------- # ¡Ü «á«¤«ó?×â #-------------------------------------------------------------------------- alias main_KGC_EquipExtension main def main # «¢«¯«¿?ªòö¢Ôð @actor = $game_party.actors[@actor_index] # «¢«¤«Æ«à«¦«£«ó«É«¦ªòíÂà÷ if KGC::EEX_EQUIP_TYPE_EXT.size > 0 for i in 0...KGC::EEX_EQUIP_TYPE_EXT.size eval("@item_window#{i + 6} = Window_EquipItem.new(@actor, i + 5)") if $imported["MenuAlter"] && KGC::MA_MENU_TRANSPARENT eval("@item_window#{i + 6}.back_opacity = 160") end end end main_KGC_EquipExtension # «¢«¤«Æ«à«¦«£«ó«É«¦ªòú°Û¯ if KGC::EEX_EQUIP_TYPE_EXT.size > 0 for i in 0...KGC::EEX_EQUIP_TYPE_EXT.size eval("@item_window#{i + 6}.dispose if @item_window#{i + 6} != nil") end end end #-------------------------------------------------------------------------- # ¡Ü «ê«Õ«ì«Ã«·«å #-------------------------------------------------------------------------- def refresh # «Ø«ë«×«¦«£«ó«É«¦ªòàâïÒ if KGC::EEX_EQUIP_TYPE_EXT.size > 0 for i in 0...KGC::EEX_EQUIP_TYPE_EXT.size eval("@item_window#{i + 6}.help_window = @help_window") end end # «¢«¤«Æ«à«¦«£«ó«É«¦ªÎʦãÊ?÷¾àâïÒ @item_window1.visible = (@right_window.type == 0) @item_window2.visible = (@right_window.type == 1) @item_window3.visible = (@right_window.type == 2) @item_window4.visible = (@right_window.type == 3) @item_window5.visible = (@right_window.type == 4) if KGC::EEX_EQUIP_TYPE_EXT.size > 0 for i in 0...KGC::EEX_EQUIP_TYPE_EXT.size eval("@item_window#{i + 6}.visible = (@right_window.type == i + 5)") end end # úÞî¤?ÝáñéªÎ«¢«¤«Æ«àªòö¢Ôð item1 = @right_window.item # úÞΫ¢«¤«Æ«à«¦«£«ó«É«¦ªò @item_window ªËàâïÒ eval("@item_window = @item_window#{@right_window.type + 1}") # «é«¤«È«¦«£«ó«É«¦ª¬«¢«¯«Æ«£«ÖªÎíÞùê if @right_window.active # ?Ýá?ÌÚý­ªÎ«Ñ«é«á?«¿ªòá¼ËÛ @left_window.set_new_parameters(nil, nil, nil) end # «¢«¤«Æ«à«¦«£«ó«É«¦ª¬«¢«¯«Æ«£«ÖªÎíÞùê if @item_window.active # úÞî¤àÔ?ñéªÎ«¢«¤«Æ«àªòö¢Ôð item2 = @item_window.item # ?Ýáªò?ÌÚ last_hp = @actor.hp last_sp = @actor.sp if @actor.two_swords? case @right_window.index when 0...@actor.ts_number # ÙëÐï @actor.set_weapon(@right_window.index, item2 == nil ? 0 : item2.id) if $imported["EquipDetailSetting"] @actor.update_auto_state(item1, item2, true) end when @actor.ts_number...@actor.equip_type.size # ÛÁÎý @actor.armor_id[@right_window.index] = (item2 == nil ? 0 : item2.id) for i in @actor.ts_number...@actor.equip_type.size @actor.update_auto_state(item1, item2) end end else case @right_window.index when 0 # ÙëÐï @actor.weapon_id = (item2 == nil ? 0 : item2.id) if $imported["EquipDetailSetting"] @actor.update_auto_state(item1, item2, true) end when 1...@actor.equip_type.size # ÛÁÎý @actor.armor_id[@right_window.index] = (item2 == nil ? 0 : item2.id) for i in 1...@actor.equip_type.size @actor.update_auto_state(item1, item2) end end end # ?Ýá?ÌÚý­ªÎ«Ñ«é«á?«¿ªòö¢Ôð new_atk = @actor.atk new_pdef = @actor.pdef new_mdef = @actor.mdef if $imported["EquipAlter"] new_st = [@actor.str, @actor.dex, @actor.agi, @actor.int] end # ?Ýáªò?ª¹ if @actor.two_swords? case @right_window.index when 0...@actor.ts_number # ÙëÐï @actor.set_weapon(@right_window.index, item1 == nil ? 0 : item1.id) if $imported["EquipDetailSetting"] @actor.update_auto_state(item2, item1, true) end when @actor.ts_number...@actor.equip_type.size # ÛÁÎý @actor.armor_id[@right_window.index] = (item1 == nil ? 0 : item1.id) for i in @actor.ts_number...@actor.equip_type.size @actor.update_auto_state(item2, item1) end end else case @right_window.index when 0 # ÙëÐï @actor.weapon_id = (item1 == nil ? 0 : item1.id) if $imported["EquipDetailSetting"] @actor.update_auto_state(item2, item1, true) end when 1...@actor.equip_type.size # ÛÁÎý @actor.armor_id[@right_window.index] = (item1 == nil ? 0 : item1.id) for i in 1...@actor.equip_type.size @actor.update_auto_state(item2, item1) end end end @actor.hp = last_hp @actor.sp = last_sp # «ì«Õ«È«¦«£«ó«É«¦ªËÙÚ? if $imported["EquipAlter"] @left_window.set_new_parameters(new_atk, new_pdef, new_mdef, new_st) else @left_window.set_new_parameters(new_atk, new_pdef, new_mdef) end end end #-------------------------------------------------------------------------- # ¡Ü «Õ«ì?«àÌÚãæ («¢«¤«Æ«à«¦«£«ó«É«¦ª¬«¢«¯«Æ«£«ÖªÎíÞùê) #-------------------------------------------------------------------------- unless $imported["EquipAlter"] alias update_item_KGC_EquipExtension update_item def update_item # C «Ü«¿«óª¬ä㪵ªìª¿íÞùê if Input.trigger?(Input::C) # «¢«¤«Æ«à«¦«£«ó«É«¦ªÇúÞî¤àÔ?ªµªìªÆª¤ªë«Ç?«¿ªòö¢Ôð item = @item_window.item if KGC::EEX_USE_EP # EP÷÷ïÒ if item != nil && item.ep_cost > @actor.ep # «Ö«¶? SE ªòæÑñ´ $game_system.se_play($data_system.buzzer_se) return end end # ?Ýá SE ªòæÑñ´ $game_system.se_play($data_system.equip_se) # ?Ýáªò?ÌÚ @actor.equip(@right_window.index, item == nil ? 0 : item.id) # «ª?«È«¹«Æ?«ÈªòÌÚãæ if $imported["EquipDetailSetting"] if @actor.two_swords? @actor.update_auto_state(nil, $data_weapons[@actor.weapon_id(@right_window.index)], true) else @actor.update_auto_state(nil, $data_weapons[@actor.weapon_id], true) end end for i in 1...@actor.equip_type.size @actor.update_auto_state(nil, $data_armors[@actor.armor_id[i]]) end # ôøÑ¢ÒöÕôªòÌÚãæ if $imported["EquipAlter"] @left_window.last_str = @actor.str @left_window.last_dex = @actor.dex @left_window.last_agi = @actor.agi @left_window.last_int = @actor.int end # «é«¤«È«¦«£«ó«É«¦ªò«¢«¯«Æ«£«Öûù @right_window.active = true @item_window.active = false @item_window.index = -1 # «ì«Õ«È«¦«£«ó«É«¦ªòôøÑ¢ûù @left_window.new_equip = nil if $imported["EquipAlter"] @left_window.set_new_parameters(nil, nil, nil) # «é«¤«È«¦«£«ó«É«¦¡¢«¢«¤«Æ«à«¦«£«ó«É«¦ªÎ?黪òî¢íÂà÷ @right_window.refresh for i in 1..(KGC::EEX_EQUIP_TYPE_EXT.size + 5) eval("@item_window#{i}.refresh") end return end update_item_KGC_EquipExtension end end end #¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú #============================================================================== # ¡á Scene_Battle (ÝÂùÜïÒëù 1) #============================================================================== class Scene_Battle #-------------------------------------------------------------------------- # ¡Ü «á«¤«ó?×â #-------------------------------------------------------------------------- alias main_KGC_EquipExtension main def main # Íô?üÞ?ªòôøÑ¢ûù for actor in $game_party.actors actor.attack_count = 0 end main_KGC_EquipExtension end end #¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú #============================================================================== # ¡á Scene_Battle (ÝÂùÜïÒëù 4) #============================================================================== class Scene_Battle #-------------------------------------------------------------------------- # ¡Ü «Õ«ì?«àÌÚãæ («á«¤«ó«Õ«§?«º «¹«Æ«Ã«× 6 : «ê«Õ«ì«Ã«·«å) #-------------------------------------------------------------------------- alias update_phase4_step6_KGC_EquipExtension update_phase4_step6 def update_phase4_step6 update_phase4_step6_KGC_EquipExtension # ì£Óï×µ?÷×ßÈÍô?ªÎíÞùê if @active_battler.is_a?(Game_Actor) && @active_battler.two_swords? && @active_battler.current_action.kind == 0 && @active_battler.current_action.basic == 0 # Íô?üÞ?ʥߩ loop { @active_battler.attack_count += 1 if @active_battler.attack_count == @active_battler.ts_number || @active_battler.weapon_id(@active_battler.attack_count) > 0 break end } # ЮïÒüÞ?ú¼ÔѪ·ª¿íÞùê if @active_battler.attack_count == @active_battler.ts_number # Íô?üÞ?ªòôøÑ¢ûù @active_battler.attack_count = 0 else # ????ªÎíÞùê unless judge # Íô??ßÚª¬ÞݪóªÇª¤ªëíÞùêªÏî¢àâïÒ if @target_battlers[0].dead? if @active_battler.restriction == 3 @target_battlers[0] = $game_party.random_target_actor else @target_battlers[0] = $game_troop.random_target_enemy end end if $imported["ActiveCountBattle"] @action_battlers.insert(0, @active_battler) else # «¹«Æ«Ã«× 2 ªËì¹ú¼ @phase4_step = 2 end end end else if @active_battler.is_a?(Game_Actor) # Íô?üÞ?ªòôøÑ¢ûù @active_battler.attack_count = 0 end end end end #¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú #============================================================================== # ¡á Scene_EquipExtend #------------------------------------------------------------------------------ # ¡¡?íå?Ýá?ØüªÎ?×âªòú¼ª¦«¯«é«¹ªÇª¹¡£ #============================================================================== class Scene_EquipExtend #-------------------------------------------------------------------------- # ¡Ü «ª«Ö«¸«§«¯«ÈôøÑ¢ûù # actor_index : «¢«¯«¿?«¤«ó«Ç«Ã«¯«¹ # equip_index : ?Ý᫤«ó«Ç«Ã«¯«¹ #-------------------------------------------------------------------------- def initialize(actor_index = 0, equip_index = 0, call_menu = false) @actor_index = actor_index @equip_index = equip_index @call_menu = call_menu end #-------------------------------------------------------------------------- # ¡Ü «á«¤«ó?×â #-------------------------------------------------------------------------- def main @actor = $game_party.actors[@actor_index] @spriteset = Spriteset_Map.new if KGC::EEX_EQUIP_EX_BACK_TRANSPARENT # «¦«£«ó«É«¦ªòíÂà÷ if $imported["HelpExtension"] @help_window = Window_HelpExtension.new else @help_window = Window_Help.new end @control_window = Window_EquipExtendControl.new @control_window.y = 64 if $imported["HelpExtension"] @status_window = Window_EquipExtendStatus.new(@actor) @list_window = Window_EquipExtendList.new(@actor) @item_window1 = Window_EquipExtendItem.new(@actor, 0) @item_window2 = Window_EquipExtendItem.new(@actor, 1) @item_window3 = Window_EquipExtendItem.new(@actor, 2) @item_window4 = Window_EquipExtendItem.new(@actor, 3) @item_window5 = Window_EquipExtendItem.new(@actor, 4) # «Ø«ë«×«¦«£«ó«É«¦ªò?Ö§Üõª± @control_window.help_window = @help_window @list_window.help_window = @help_window @item_window1.help_window = @help_window @item_window2.help_window = @help_window @item_window3.help_window = @help_window @item_window4.help_window = @help_window @item_window5.help_window = @help_window # ?íå«¢«¤«Æ«à«¦«£«ó«É«¦ªòíÂà÷ if KGC::EEX_EQUIP_TYPE_EXT.size > 0 for i in 0...KGC::EEX_EQUIP_TYPE_EXT.size eval("@item_window#{i + 6} = Window_EquipExtendItem.new(@actor, i + 5)") eval("@item_window#{i + 6}.help_window = @help_window") if KGC::EEX_EQUIP_EX_BACK_TRANSPARENT eval("@item_window#{i + 6}.back_opacity = 160") end end end if KGC::EEX_EQUIP_EX_BACK_TRANSPARENT @help_window.back_opacity = 160 @control_window.back_opacity = 160 end # ««?«½«ëêÈöǪòàâïÒ @list_window.index = @equip_index @effect_type = 0 refresh # «È«é«ó«¸«·«ç«ó?ú¼ Graphics.transition # «á«¤«ó«ë?«× loop { Graphics.update Input.update update if $scene != self break end } # «È«é«ó«¸«·«ç«óñÞÝá Graphics.freeze # «¦«£«ó«É«¦ªòú°Û¯ @help_window.dispose @control_window.dispose @status_window.dispose @list_window.dispose @item_window1.dispose @item_window2.dispose @item_window3.dispose @item_window4.dispose @item_window5.dispose if KGC::EEX_EQUIP_TYPE_EXT.size > 0 for i in 0...KGC::EEX_EQUIP_TYPE_EXT.size eval("@item_window#{i + 6}.dispose if @item_window#{i + 6} != nil") end end @spriteset.dispose if KGC::EEX_EQUIP_EX_BACK_TRANSPARENT end #-------------------------------------------------------------------------- # ¡Ü «Õ«ì?«àÌÚãæ #-------------------------------------------------------------------------- def update # «¦«£«ó«É«¦ªòÌÚãæ @status_window.update @list_window.update @item_window.update @control_window.update refresh update_effect(@effect_type) # ðÃí«¦«£«ó«É«¦ª¬«¢«¯«Æ«£«ÖªÎíÞùê: update_control ªòû¼ªÖ if @control_window.active @effect_type = 0 update_control return end # «ê«¹«È«¦«£«ó«É«¦ª¬«¢«¯«Æ«£«ÖªÎíÞùê: update_list ªòû¼ªÖ if @list_window.active @effect_type = 1 update_list return end # «¢«¤«Æ«à«¦«£«ó«É«¦ª¬«¢«¯«Æ«£«ÖªÎíÞùê: update_item ªòû¼ªÖ if @item_window.active @effect_type = 2 update_item return end end #-------------------------------------------------------------------------- # ¡Ü «Õ«ì?«àÌÚãæ («¨«Õ«§«¯«È) #-------------------------------------------------------------------------- def update_effect(type) case type when 1 @last_index = -1 @status_window.x = [@status_window.x + 48, 368].min @status_window.y = [@status_window.y + 24, 288].min @list_window.x = [@list_window.x + 8, 0].min @item_window.x = [@item_window.x + 8, 368].min when 2 if @last_index != @list_window.index pos = @list_window.index - @list_window.top_row center = (@list_window.height - 32) / 64 @status_y = pos >= center ? @list_window.y : 288 @last_index = @list_window.index end @status_window.x = [@status_window.x - 48, 0].max if @status_y > @status_window.y @status_window.y = [@status_window.y + 24, @status_y].min elsif @status_y < @status_window.y @status_window.y = [@status_window.y - 24, @status_y].max end @list_window.x = [@list_window.x - 8, -48].max @item_window.x = [@item_window.x - 8, 320].max end end #-------------------------------------------------------------------------- # ¡Ü «Õ«ì?«àÌÚãæ (ðÃí«¦«£«ó«É«¦ª¬«¢«¯«Æ«£«ÖªÎíÞùê) #-------------------------------------------------------------------------- def update_control # B «Ü«¿«óª¬ä㪵ªìª¿íÞùê if Input.trigger?(Input::B) # «­«ã«ó«»«ë SE ªòæÑñ´ $game_system.se_play($data_system.cancel_se) if @call_menu # «á«Ë«å??ØüªËï·ªêô𪨠if $imported["MenuAlter"] index = KGC::MA_COMMANDS.index(2) if index != nil $scene = Scene_Menu.new(index) else $scene = Scene_Menu.new end else $scene = Scene_Menu.new(3) end else # «Þ«Ã«×?ØüªËï·ªêô𪨠$scene = Scene_Map.new end return end # C «Ü«¿«óª¬ä㪵ªìª¿íÞùê if Input.trigger?(Input::C) # ««?«½«ëêÈöǪÇÝÂÐ÷ case @control_window.index when 0 # ?Ýá?ÌÚ # ̽ïÒ SE ªòæÑñ´ $game_system.se_play($data_system.decision_se) # «ê«¹«È«¦«£«ó«É«¦ªËï·ªêô𪨠@list_window.active = true @list_window.index = 0 if @list_window.index == -1 @control_window.active = false @control_window.visible = false when 1 # õÌ??Ýá # ?Ýá SE ªòæÑñ´ $game_system.se_play($data_system.equip_se) # ?ÝáõÌÓÞ?ªòö¢Ôð if $imported["EquipExtension"] mx = @actor.equip_type.size else mx = 5 end for i in KGC::EEX_EQUIP_EX_INDEX...mx # ?ÝáͳïÒªÎíÞùêªÏó­ªØ next if @actor.equip_fix?(i) # ?ÝáªÎðú×¾ªÇÝÂÐ÷ tw = $imported["EquipExtension"] && @actor.two_swords? case i when (tw ? 0...@actor.ts_number : 0) # ÙëÐï # õÌ?ÙëÐï?Ýá equip_strongest_weapon(i) when (tw ? @actor.ts_number : 1)...mx # ÛÁÎý # õÌ?ÛÁÎý?Ýá equip_strongest_armor(@actor.equip_type[i], i) end end # ôøÑ¢ÒöÕôªòÌÚãæ @status_window.last_str = @actor.str @status_window.last_dex = @actor.dex @status_window.last_agi = @actor.agi @status_window.last_int = @actor.int # «ì«Õ«È«¦«£«ó«É«¦ªòôøÑ¢ûù @status_window.set_new_parameters(nil, nil, nil) # «¦«£«ó«É«¦ªò«ê«Õ«ì«Ã«·«å refresh_window when 2 # îïú°ð¶ # ?Ýá SE ªòæÑñ´ $game_system.se_play($data_system.equip_se) # ?ÝáõÌÓÞ?ªòö¢Ôð if $imported["EquipExtension"] mx = @actor.equip_type.size else mx = 5 end (KGC::EEX_EQUIP_EX_INDEX...mx).each { |i| # ?ÝáͳïҪǪʪ¤íÞùêªÏú°ð¶ @actor.equip(i, 0) unless @actor.equip_fix?(i) } # ôøÑ¢ÒöÕôªòÌÚãæ @status_window.last_str = @actor.str @status_window.last_dex = @actor.dex @status_window.last_agi = @actor.agi @status_window.last_int = @actor.int # «¹«Æ?«¿«¹«¦«£«ó«É«¦ªòôøÑ¢ûù @status_window.set_new_parameters(nil, nil, nil) # «¦«£«ó«É«¦ªò«ê«Õ«ì«Ã«·«å refresh_window end return end # R «Ü«¿«óª¬ä㪵ªìª¿íÞùê if Input.trigger?(Input::R) # ««?«½«ë SE ªòæÑñ´ $game_system.se_play($data_system.cursor_se) # ó­ªÎ«¢«¯«¿?ªØ @actor_index += 1 @actor_index %= $game_party.actors.size # ܬªÎ?Ýá?ØüªËï·ªêô𪨠$scene = Scene_EquipExtend.new(@actor_index, 0, @call_menu) return end # L «Ü«¿«óª¬ä㪵ªìª¿íÞùê if Input.trigger?(Input::L) # ««?«½«ë SE ªòæÑñ´ $game_system.se_play($data_system.cursor_se) # îñªÎ«¢«¯«¿?ªØ @actor_index += $game_party.actors.size - 1 @actor_index %= $game_party.actors.size # ܬªÎ?Ýá?ØüªËï·ªêô𪨠$scene = Scene_EquipExtend.new(@actor_index, 0, @call_menu) return end end #-------------------------------------------------------------------------- # ¡Ü «Õ«ì?«àÌÚãæ («ê«¹«È«¦«£«ó«É«¦ª¬«¢«¯«Æ«£«ÖªÎíÞùê) #-------------------------------------------------------------------------- def update_list # A «Ü«¿«óª¬ä㪵ªìª¿íÞùê if Input.trigger?(Input::A) index = @list_window.index + KGC::EEX_EQUIP_EX_INDEX # ?Ýá SE ªòæÑñ´ $game_system.se_play($data_system.equip_se) # ?Ýáªòè⪹ @actor.equip(index, 0) # «¦«£«ó«É«¦«ê«Õ«ì«Ã«·«å refresh_window return end # B «Ü«¿«óª¬ä㪵ªìª¿íÞùê if Input.trigger?(Input::B) # «­«ã«ó«»«ë SE ªòæÑñ´ $game_system.se_play($data_system.cancel_se) # ðÃí«¦«£«ó«É«¦ªËï·ªêô𪨠@list_window.active = false @control_window.active = true @control_window.visible = true # «ê«Õ«ì«Ã«·«å refresh return end # C «Ü«¿«óª¬ä㪵ªìª¿íÞùê if Input.trigger?(Input::C) # ?ÝáͳïÒªÎíÞùê if @actor.equip_fix?(@list_window.index + KGC::EEX_EQUIP_EX_INDEX) # «Ö«¶? SE ªòæÑñ´ $game_system.se_play($data_system.buzzer_se) return end # ̽ïÒ SE ªòæÑñ´ $game_system.se_play($data_system.decision_se) # «¢«¤«Æ«à«¦«£«ó«É«¦ªò«¢«¯«Æ«£«Öûù @list_window.active = false @item_window.active = true @item_window.index = 0 return end end #-------------------------------------------------------------------------- # ¡Ü «Õ«ì?«àÌÚãæ («¢«¤«Æ«à«¦«£«ó«É«¦ª¬«¢«¯«Æ«£«ÖªÎíÞùê) #-------------------------------------------------------------------------- def update_item # àÔ?ñéªÎ?Ýáù¡ªòÌÚãæ @status_window.new_equip = @item_window.item # B «Ü«¿«óª¬ä㪵ªìª¿íÞùê if Input.trigger?(Input::B) # «­«ã«ó«»«ë SE ªòæÑñ´ $game_system.se_play($data_system.cancel_se) # «¹«Æ?«¿«¹«¦«£«ó«É«¦ªòôøÑ¢ûù @status_window.new_equip = nil @status_window.set_new_parameters(nil, nil, nil) # «ê«¹«È«¦«£«ó«É«¦ªò«¢«¯«Æ«£«Öûù @list_window.active = true @item_window.active = false @item_window.index = -1 return end # C «Ü«¿«óª¬ä㪵ªìª¿íÞùê if Input.trigger?(Input::C) # «¢«¤«Æ«à«¦«£«ó«É«¦ªÇúÞî¤àÔ?ªµªìªÆª¤ªë«Ç?«¿ªòö¢Ôð item = @item_window.item index = @list_window.index + KGC::EEX_EQUIP_EX_INDEX if $imported["EquipExtension"] && KGC::EEX_USE_EP # EP÷÷ïÒ if item != nil && item.ep_cost > @actor.ep # «Ö«¶? SE ªòæÑñ´ $game_system.se_play($data_system.buzzer_se) return end end # ?Ýá SE ªòæÑñ´ $game_system.se_play($data_system.equip_se) # ?Ýáªò?ÌÚ @actor.equip(index, item == nil ? 0 : item.id) # «ª?«È«¹«Æ?«ÈªòÌÚãæ if $imported["EquipDetailSetting"] if $imported["EquipExtension"] && @actor.two_swords? @actor.update_auto_state(nil, $data_weapons[@actor.weapon_id(index)], true) else @actor.update_auto_state(nil, $data_weapons[@actor.weapon_id], true) end end if $imported["EquipExtension"] for i in (@actor.two_swords? ? @actor.ts_number : 1)...@actor.equip_type.size @actor.update_auto_state(nil, $data_armors[@actor.armor_id[i]]) end else for i in 1..4 @actor.update_auto_state(nil, $data_armors[eval("@actor.armor#{i}_id")]) end end # ôøÑ¢ÒöÕôªòÌÚãæ @status_window.last_str = @actor.str @status_window.last_dex = @actor.dex @status_window.last_agi = @actor.agi @status_window.last_int = @actor.int # «ê«¹«È«¦«£«ó«É«¦ªò«¢«¯«Æ«£«Öûù @list_window.active = true @item_window.active = false @item_window.index = -1 # «¹«Æ?«¿«¹«¦«£«ó«É«¦ªòôøÑ¢ûù @status_window.new_equip = nil @status_window.set_new_parameters(nil, nil, nil) # «¦«£«ó«É«¦ªÎ?黪òî¢íÂà÷ refresh_window return end end #-------------------------------------------------------------------------- # ¡Ü «ê«Õ«ì«Ã«·«å #-------------------------------------------------------------------------- def refresh # «¢«¤«Æ«à«¦«£«ó«É«¦ªÎʦãÊ?÷¾àâïÒ @item_window1.visible = (@list_window.type == 0) @item_window2.visible = (@list_window.type == 1) @item_window3.visible = (@list_window.type == 2) @item_window4.visible = (@list_window.type == 3) @item_window5.visible = (@list_window.type == 4) if KGC::EEX_EQUIP_TYPE_EXT.size > 0 for i in 0...KGC::EEX_EQUIP_TYPE_EXT.size eval("@item_window#{i + 6}.visible = (@list_window.type == i + 5)") end end # úÞî¤?ÝáñéªÎ«¢«¤«Æ«àªòö¢Ôð item1 = @list_window.item # úÞΫ¢«¤«Æ«à«¦«£«ó«É«¦ªò @item_window ªËàâïÒ eval("@item_window = @item_window#{@list_window.type + 1}") # «ê«¹«È«¦«£«ó«É«¦ª¬«¢«¯«Æ«£«ÖªÎíÞùê if @list_window.active # ?Ýá?ÌÚý­ªÎ«Ñ«é«á?«¿ªòá¼ËÛ @status_window.set_new_parameters(nil, nil, nil) end # «¢«¤«Æ«à«¦«£«ó«É«¦ª¬«¢«¯«Æ«£«ÖªÎíÞùê if @item_window.active # úÞî¤àÔ?ñéªÎ«¢«¤«Æ«àªòö¢Ôð item2 = @item_window.item index = @list_window.index + KGC::EEX_EQUIP_EX_INDEX # ?Ýáªò?ÌÚ last_hp = @actor.hp last_sp = @actor.sp if @actor.two_swords? case index when 0...@actor.ts_number # ÙëÐï @actor.set_weapon(index, item2 == nil ? 0 : item2.id) if $imported["EquipDetailSetting"] @actor.update_auto_state(item1, item2, true) end when @actor.ts_number...@actor.equip_type.size # ÛÁÎý @actor.armor_id[index] = (item2 == nil ? 0 : item2.id) for i in @actor.ts_number...@actor.equip_type.size @actor.update_auto_state(item1, item2) end end else case index when 0 # ÙëÐï @actor.weapon_id = (item2 == nil ? 0 : item2.id) if $imported["EquipDetailSetting"] @actor.update_auto_state(item1, item2, true) end when 1...@actor.equip_type.size # ÛÁÎý @actor.armor_id[index] = (item2 == nil ? 0 : item2.id) for i in 1...@actor.equip_type.size @actor.update_auto_state(item1, item2) end end end # ?Ýá?ÌÚý­ªÎ«Ñ«é«á?«¿ªòö¢Ôð new_atk = @actor.atk new_pdef = @actor.pdef new_mdef = @actor.mdef if $imported["EquipAlter"] new_st = [@actor.str, @actor.dex, @actor.agi, @actor.int] end # ?Ýáªò?ª¹ if @actor.two_swords? case index when 0...@actor.ts_number # ÙëÐï @actor.set_weapon(index, item1 == nil ? 0 : item1.id) if $imported["EquipDetailSetting"] @actor.update_auto_state(item2, item1, true) end when @actor.ts_number...@actor.equip_type.size # ÛÁÎý @actor.armor_id[index] = (item1 == nil ? 0 : item1.id) for i in @actor.ts_number...@actor.equip_type.size @actor.update_auto_state(item2, item1) end end else case index when 0 # ÙëÐï @actor.weapon_id = (item1 == nil ? 0 : item1.id) if $imported["EquipDetailSetting"] @actor.update_auto_state(item2, item1, true) end when 1...@actor.equip_type.size # ÛÁÎý @actor.armor_id[index] = (item1 == nil ? 0 : item1.id) for i in 1...@actor.equip_type.size @actor.update_auto_state(item2, item1) end end end @actor.hp = last_hp @actor.sp = last_sp # «¹«Æ?«¿«¹«¦«£«ó«É«¦ªËÙÚ? if $imported["EquipAlter"] @status_window.set_new_parameters(new_atk, new_pdef, new_mdef, new_st) else @status_window.set_new_parameters(new_atk, new_pdef, new_mdef) end end end #-------------------------------------------------------------------------- # ¡Ü «¦«£«ó«É«¦ªò«ê«Õ«ì«Ã«·«å #-------------------------------------------------------------------------- def refresh_window # ôøÑ¢ÒöÕôªòÌÚãæ @status_window.last_str = @actor.str @status_window.last_dex = @actor.dex @status_window.last_agi = @actor.agi @status_window.last_int = @actor.int # «ê«Õ«ì«Ã«·«å @status_window.refresh @list_window.refresh @item_window1.refresh @item_window2.refresh @item_window3.refresh @item_window4.refresh @item_window5.refresh if KGC::EEX_EQUIP_TYPE_EXT.size > 0 for i in 0...KGC::EEX_EQUIP_TYPE_EXT.size eval("@item_window#{i + 6}.refresh") end end end #-------------------------------------------------------------------------- # ¡Ü õÌ?ÙëÐï?Ýá #-------------------------------------------------------------------------- def equip_strongest_weapon(type) # ÙëÐï«ê«¹«ÈªòôøÑ¢ûù weapons = [] # ?ÝáʦÒöªÊÙëÐïªòõÚÊ¥ weapon_set = $data_classes[@actor.class_id].weapon_set for i in 1...$data_weapons.size if $game_party.weapon_number(i) > 0 && weapon_set.include?(i) weapons.push($data_weapons[i]) end end # ?ÝáʦÒöªÊÙëÐ窱Ùíª¤íÞùêªÏ?ªë return if weapons == [] # ÙëÐï«ê«¹«Èªòæ½â÷(IDªÎÓÞª­ª¤â÷)ªË?ªÙô𪨠weapons = weapons.reverse # õÌ?ÙëÐïªòôøÑ¢ûù strongest_weapon = weapons[0] # õÌ?ÙëÐïªòö¢Ôð(Íô?ÕôªÇ÷÷ïÒ) for weapon in weapons strongest_weapon = weapon if strongest_weapon.atk < weapon.atk end # úÞÎ?Ýáªòö¢Ôð now_weapon = $data_weapons[ $imported["EquipExtension"] && @actor.two_swords? ? @actor.weapon_id(type) : @actor.weapon_id] # ù¼ªâ?Ý᪷ªÆª¤ªÊª¤íÞùê if now_weapon == nil # ?Ýáªò?ÌÚ @actor.equip(type, strongest_weapon.id) # úÞÎ?Ýáªèªê?ª¤íÞùê elsif strongest_weapon.atk > now_weapon.atk # ?Ýáªò?ÌÚ @actor.equip(type, strongest_weapon.id) end end #-------------------------------------------------------------------------- # ¡Ü õÌ?ÛÁÎý?Ýá # type : ÛÁÎýªÎðú×¾ # index : ?ÝáËÍᶠ#-------------------------------------------------------------------------- def equip_strongest_armor(type, index) # ð¶èâ?ÝáªÎíÞùêªÏ?ªë return if KGC::EEX_IGNORE_STRONGEST_TYPE.include?(type) # ÛÁÎý«ê«¹«ÈªòôøÑ¢ûù armors = [] # ?ÝáʦÒöªÊÛÁÎýªòõÚÊ¥ armor_set = $data_classes[@actor.class_id].armor_set for i in 1...$data_armors.size if $game_party.armor_number(i) > 0 && armor_set.include?(i) if $data_armors[i].kind == type - 1 armors.push($data_armors[i]) end end end # ?ÝáʦÒöªÊÛÁÎýª¬Ùíª¤íÞùêªÏ?ªë return if armors == [] # ÛÁÎý«ê«¹«Èªòæ½â÷(IDªÎÓÞª­ª¤â÷)ªË?ªÙô𪨠armors = armors.reverse # õÌ?ÛÁÎýªòôøÑ¢ûù strongest_armor = armors[0] # õÌ?ÛÁÎýªòö¢Ôð(Úª×âÛÁåÙªÇ÷÷ïÒ) for armor in armors strongest_armor = armor if strongest_armor.pdef < armor.pdef end # úÞÎ?Ýáªòö¢Ôð now_armor = $data_armors[$imported["EquipExtension"] ? @actor.armor_id[index] : eval("@actor.armor#{index}_id")] # ù¼ªâ?Ý᪷ªÆª¤ªÊª¤íÞùê if now_armor == nil # ?Ýáªò?ÌÚ @actor.equip(index, strongest_armor.id) # úÞÎ?Ýáªèªê?ª¤íÞùê elsif strongest_armor.pdef > now_armor.pdef # ?Ýáªò?ÌÚ @actor.equip(index, strongest_armor.id) end end end