查看: 931|回复: 1

人物状态能不能设置成最多1个?

  [复制链接]
梦石
0
星屑
253
在线时间
574 小时
注册时间
2006-8-25
回帖
772
发表于 2009-6-2 01:38:33 | 显示全部楼层 |阅读模式

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

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

×
除了HP=0时候强制增加死亡状态这个不变.

只要中了状态,在状态效果消失之前都不会中其他状态。
怎么弄?
版务信息:本贴由楼主自主结贴~
梦石
0
星屑
7095
在线时间
1666 小时
注册时间
2008-10-29
回帖
6612

贵宾

发表于 2009-6-2 03:10:00 | 显示全部楼层
就加了那3行 不晓得有没有遗漏- -!

  #--------------------------------------------------------------------------
  # ● 附加状态
  #     state_id : 状态 ID
  #     force    : 强制附加标志 (处理自动状态时使用)
  #--------------------------------------------------------------------------
  def add_state(state_id, force = false)
    if $data_states[state_id] == nil
      return
    end
###################################################################
    if @states.size > 0 and not $data_states[state_id].zero_hp
      return
    end
##############################################################
    unless force
      for i in @states
        if $data_states.minus_state_set.include?(state_id) and
           not $data_states[state_id].minus_state_set.include?(i)
          return
        end
      end
    end
    unless state?(state_id)
      @states.push(state_id)
      if $data_states[state_id].zero_hp
        @hp = 0
      end
      for i in 1...$data_states.size
        if $data_states[state_id].plus_state_set.include?(i)
          add_state(i)
        end
        if $data_states[state_id].minus_state_set.include?(i)
          remove_state(i)
        end
      end
      @states.sort! do |a, b|
        state_a = $data_states[a]
        state_b = $data_states
        if state_a.rating > state_b.rating
          -1
        elsif state_a.rating < state_b.rating
          +1
        elsif state_a.restriction > state_b.restriction
          -1
        elsif state_a.restriction < state_b.restriction
          +1
        else
          a <=> b
        end
      end
    end
    # 强制附加的场合
    if force
      @states_turn[state_id] = -1
    end
    unless  @states_turn[state_id] == -1
      @states_turn[state_id] = $data_states[state_id].hold_turn
    end
    unless movable?
      @current_action.clear
    end
    @hp = [@hp, self.maxhp].min
    @sp = [@sp, self.maxsp].min
  end

系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~











你知道得太多了

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

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

在本版发帖返回顶部