Project1

标题: 关于特殊回复物品的制作 [打印本页]

作者: 白魔导师宝儿    时间: 2013-11-1 12:55
标题: 关于特殊回复物品的制作
比如小药水,在菜单中使用时恢复100HP,而在战斗中使用时恢复200HP,这个怎么做?


作者: 白魔导师宝儿    时间: 2013-11-2 09:45
求助
这个问题想解决
作者: 351323331    时间: 2013-11-2 15:28
默认工程下暂时未发现有什么弊端。
#--------------------------------------------------------------------------
  # ● 发动物品效果
  #     user : 物品使用者
  #     item : 物品
  #--------------------------------------------------------------------------
  def item_effect(user, item)
    clear_action_results
    unless item_effective?(user, item)
      @skipped = true
      return
    end
    if rand(100) >= calc_hit(user, item)          # 计算命中率
      @missed = true
      return
    end
    if rand(100) < calc_eva(user, item)           # 计算闪躲率
      @evaded = true
      return
    end
    hp_recovery = calc_hp_recovery(user, item)    # 计算体力回复量
    mp_recovery = calc_mp_recovery(user, item)    # 计算魔力回复量
###################  
    r_item_id = [1,2] #战斗中2倍治疗效果的物品ID
    if $game_temp.in_battle and r_item_id.include?(item.id) #战斗中治疗效果为2倍
       hp_recovery *= 2
    end
#####################
   
    make_obj_damage_value(user, item)             # 计算伤害
    @hp_damage -= hp_recovery                     # 体力伤害减去回复量
    @mp_damage -= mp_recovery                     # 魔力伤害减去回复量
    make_obj_absorb_effect(user, item)            # 计算吸收效果
    execute_damage(user)                          # 伤害效果
    item_growth_effect(user, item)                # 能力值提升效果
    if item.physical_attack and @hp_damage == 0   # 判断是否物理伤害
      return                                    
    end
    apply_state_changes(item)                     # 增减状态
  end
作者: 白魔导师宝儿    时间: 2013-11-3 16:42
351323331 发表于 2013-11-2 15:28
默认工程下暂时未发现有什么弊端。
#---------------------------------------------------------------- ...

做到了
谢谢




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1