Project1

标题: 请问VX如何使二刀流固定其中一种装备 [打印本页]

作者: Password    时间: 2012-7-4 13:37
标题: 请问VX如何使二刀流固定其中一种装备
比如二刀流的人如何永久固定其中一种装备(初始装备)?
还有我想设计一个有副作用的技能,使用后自身受到的伤害是敌人受到的伤害的10% ?dsu_plus_rewardpost_czw
作者: limaolinghu    时间: 2012-7-4 14:07
比如二刀流的人如何永久固定其中一种装备(初始装备)?
Scene_Equip里面增加红色这行,二刀流时,不允许替换1号武器,不知道你是不是这个意思,呵呵。
  #--------------------------------------------------------------------------
  # ● 更新装备物品选择
  #--------------------------------------------------------------------------
  def update_item_selection
    if Input.trigger?(Input::B)
      Sound.play_cancel
      @equip_window.active = true
      @item_window.active = false
      @item_window.index = -1
    elsif Input.trigger?(Input::C)
      return if @actor.two_swords_style and @equip_window.index==0
      Sound.play_equip
      @actor.change_equip(@equip_window.index, @item_window.item)
      @equip_window.active = true
      @item_window.active = false
      @item_window.index = -1
      @equip_window.refresh
      for item_window in @item_windows
        item_window.refresh
      end
    end
  end
end
作者: Password    时间: 2012-7-4 15:11
limaolinghu 发表于 2012-7-4 14:07
比如二刀流的人如何永久固定其中一种装备(初始装备)?
Scene_Equip里面增加红色这行,二刀流时,不允许替 ...

是这个意思,那第二个问题呢?
作者: limaolinghu    时间: 2012-7-4 15:36
本帖最后由 limaolinghu 于 2012-7-4 15:36 编辑

Game_Battler类,红的是加的,没仔细测,也没加文字描述。当使用技能编号1的技能时,自己受到伤害的10%

  def execute_damage(user, skill = nil)
    if @hp_damage > 0           # 若伤害为正数
      remove_states_shock       # 攻击移除状态
    end
    self.hp -= @hp_damage
    user.hp -= @hp_damage / 10 if skill.id == 1
    self.mp -= @mp_damage
    if @absorbed                # 若吸收
      user.hp += @hp_damage
      user.mp += @mp_damage
    end
  end

  def skill_effect(user, skill)
    clear_action_results
    unless skill_effective?(user, skill)
      @skipped = true
      return
    end
    if rand(100) >= calc_hit(user, skill)         # 计算命中率
      @missed = true
      return
    end
    if rand(100) < calc_eva(user, skill)          # 计算闪躲率
      @evaded = true
      return
    end
    make_obj_damage_value(user, skill)            # 计算伤害
    make_obj_absorb_effect(user, skill)           # 计算吸收效果
    execute_damage(user, skill)                          # 伤害效果
    if skill.physical_attack and @hp_damage == 0  # 判断是否物理伤害
      return                                    
    end
    apply_state_changes(skill)                    # 增减状态
  end
作者: 铅笔描绘的思念    时间: 2012-7-4 16:10
limaolinghu 发表于 2012-7-4 15:36
Game_Battler类,红的是加的,没仔细测,也没加文字描述。当使用技能编号1的技能时,自己受到伤害的10%

   ...

user.hp -= @hp_damage * 0.1 if @states.include?(21) MS更好。。。
作者: limaolinghu    时间: 2012-7-4 16:14
铅笔描绘的思念 发表于 2012-7-4 16:10
user.hp -= @hp_damage * 0.1 if @states.include?(21) MS更好。。。

前辈的意思是添加一个状态专门记录反伤?
作者: limaolinghu    时间: 2012-7-4 17:08
本帖最后由 limaolinghu 于 2012-7-4 17:08 编辑

我测试过可以的,注意我用的是技能1,你要改这里
状态是对应技能的,需要把你的技能绑定新做的状态上




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