赞 | 2 |
VIP | 0 |
好人卡 | 0 |
积分 | 36 |
经验 | 9389 |
最后登录 | 2024-11-16 |
在线时间 | 912 小时 |
Lv3.寻梦者
- 梦石
- 0
- 星屑
- 3642
- 在线时间
- 912 小时
- 注册时间
- 2017-1-19
- 帖子
- 269
|
加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员
x
- class RPG::BaseItem
- def load
- return if self.is_a?(RPG::Skill)
- self.note.split(/[\r\n]+/).each { |line|
- if line =~ /\[(?:load|负重|負重) (\w+)\]/
- return $1.nil? ? 0 : $1.to_i
- end}
- return 0
- end
- end
- class Scene_Item < Scene_ItemBase
- alias load_start start
- alias load_terminate terminate
- alias load_update update
- def start
- load_start
- @load_window = Window_Base.new(392, 0, 152, 56)
- @load_window.viewport = @viewport
- end
- def terminate
- @load_window.dispose
- load_terminate
- end
- def update
- @load_window.update
- if @temp_load != $game_party.current_load
- @load_window.contents.clear
- @load_window.contents.draw_text(0, 0, 120, 24, "负重:#{$game_party.current_load}/#{$game_party.total_load}")
- @temp_load = $game_party.current_load
- end
- if Input.trigger?(Input::X)
- @item = @item_window.item
- $game_party.lose_item(@item, 1)
- @item_window.refresh
- end
- load_update
- end
- end
- class Scene_Shop < Scene_MenuBase
- alias load_start start
- alias load_terminate terminate
- alias load_update update
- def start
- load_start
- @load_window = Window_Base.new(392, 0, 152, 56)
- @load_window.viewport = @viewport
- end
- def terminate
- @load_window.dispose
- load_terminate
- end
- def update
- @load_window.update
- if @temp_load != $game_party.current_load
- @load_window.contents.clear
- @load_window.contents.draw_text(0, 0, 120, 24, "负重:#{$game_party.current_load}/#{$game_party.total_load}")
- @temp_load = $game_party.current_load
- end
- load_update
- end
- end
- class Game_Party < Game_Unit
- attr_reader :current_load
- alias load_initialize initialize
- alias load_gain_item gain_item
- def initialize
- load_initialize
- @current_load = 0
- end
- # 获取队伍最大负重
- def total_load
- party_load = 0
- #members.size.times do |i|
- for i in 0...members.size
- actor = members[i]
- party_load += actor.load
- end
- return party_load
-
- end
- def gain_item(item, n, include_equip = false)
- return if item.nil?
- load_gain_item(item, n, include_equip)
- @current_load += item.load * n
- end
- end
- class Game_Actor < Game_Battler
- # 获取队员负重
- def load
- return (mhp + mmp) * @level / agi # 获取队员负重的公式
- end
- end
- class Game_Interpreter
- alias load_command_126 command_126
- alias load_command_127 command_127
- alias load_command_128 command_128
-
- def command_126
- n = operate_value(@params[1], @params[2], @params[3])
- return command_115 if check_load(@params[0], 0, n)
- load_command_126
- end
- #--------------------------------------------------------------------------
- # ● 增減武器
- #--------------------------------------------------------------------------
- def command_127
- n = operate_value(@params[1], @params[2], @params[3])
- return command_115 if check_load(@params[0], 1, n)
- load_command_127
- end
- #--------------------------------------------------------------------------
- # ● 增減防具
- #--------------------------------------------------------------------------
- def command_128
- n = operate_value(@params[1], @params[2], @params[3])
- return command_115 if check_load(@params[0], 2, n)
- load_command_128
- end
-
- def check_load(item_id, type, n)
- case type
- when 0; item = $data_items[item_id]
- when 1; item = $data_weapons[item_id]
- when 2; item = $data_armors[item_id]
- end
- if (((item.load * n) + $game_party.current_load) > $game_party.total_load)
- $game_message.texts.push("负重已满,无法移动") if $game_message.visible != true
- $game_message.visible = true
- end
- return
- end
- end
- class Game_Player < Game_Character
-
- alias vipmovable? movable?
- #--------------------------------------------------------------------------
- # ● 判定是否负重已满
- #--------------------------------------------------------------------------
- def mfz_vip?
- $game_party.total_load < $game_party.current_load
- end
- #--------------------------------------------------------------------------
- # ● 判定是否可以移动
- #--------------------------------------------------------------------------
- def movable?
- return false if mfz_vip?
- vipmovable?
- end
- end
- class Window_ShopBuy < Window_Selectable
-
- #--------------------------------------------------------------------------
- # ● 判定是否负重已满
- #--------------------------------------------------------------------------
- def mfz_vip?
- $game_party.total_load <= $game_party.current_load
- end
- #--------------------------------------------------------------------------
- # ● 查询商品是否可买
- #--------------------------------------------------------------------------
- def enable?(item)
- item && price(item) <= @money && !$game_party.item_max?(item) && !mfz_vip?
- end
- end
- class Scene_Shop < Scene_MenuBase
- #--------------------------------------------------------------------------
- # ● 获取可以买入的最大值
- #--------------------------------------------------------------------------
- def max_buy
- vip = ($game_party.total_load - $game_party.current_load) / @item.load
- max = $game_party.max_item_number(@item) - $game_party.item_number(@item)
- buying_price == 0 ? [max,vip].min : [max,vip, money / buying_price].min
- end
- end
复制代码 |
|