查看: 960|回复: 0

RTAB+“精尽人亡”效果之后的奇怪现象

  [复制链接]
梦石
0
星屑
50
在线时间
601 小时
注册时间
2007-8-14
回帖
547

短篇七彩虹组冠军

发表于 2009-5-15 21:58:45 | 显示全部楼层 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有账号?注册会员

×
发现弄进了SP耗光也会挂这个效果之后,敌人在SP不够的情况下也会义无反顾地放技能,但是效果是全体范围的普攻(就是不是技能的效果而是普攻的效果),然后,理所当然地因为SP耗光而自爆了||||
请问这是怎么回事?=v=b

改了以下位置

#--------------------------------------------------------------------------
# ● 战斗不能判定
#--------------------------------------------------------------------------
  def dead?
    #return (@hp == 0 and not @immortal)
    return (@hp==0 or @sp==0 and not @immortal)
  end

==========================================

#--------------------------------------------------------------------------
# ● HP 0 判定
#--------------------------------------------------------------------------
  def hp0?
    return (not @hidden and @hp == 0 and @sp==0 )
  end

==========================================
Game_Battler 2中

      # 选项 [当作 HP 0 的状态] 有效的情况下
      if $data_states[state_id].zero_hp
        # HP 更改为 0
        @hp = 0
        @sp = 0
      end

但是发现改这三处并不会造成这个现象,那究竟动了哪里会出现这种情况呢||||

另外在我自己的工程里,如果去掉[自动复活]里自己加的这一段“

  #--------------------------------------------------------------------------
  # ● 更改 SP
  #     sp : 新的 SP
  #--------------------------------------------------------------------------
  def sp=(sp)
    @sp = [[sp, maxsp].min, 0].max
    # 解除附加的战斗不能状态
    for i in 1...$data_states.size
      if $data_states.zero_hp
        if self.dead?
          add_state(i)
        else
          remove_state(i)
        end
      end
    end
  end

就会出现敌人SP不够仍然能够放出技能(且效果也是技能的),然后自爆,但成了一个“假死”状态,也就是HP不为0,其实是活着的,但是必须把HP扣光才能“真死”= =|||||

另外经测试和def skill_can_use?无关,因为换成了默认的也还是这种情况= =
填坑填坑填坑填坑填坑填坑填坑填坑填坑
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部