设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 881|回复: 1
打印 上一主题 下一主题

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

 关闭 [复制链接]

Lv2.观梦者

梦石
0
星屑
253
在线时间
574 小时
注册时间
2006-8-25
帖子
969
跳转到指定楼层
1
发表于 2009-6-2 01:38:33 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

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

只要中了状态,在状态效果消失之前都不会中其他状态。
怎么弄?
版务信息:本贴由楼主自主结贴~

Lv4.逐梦者

梦石
0
星屑
6875
在线时间
1666 小时
注册时间
2008-10-29
帖子
6710

贵宾

2
发表于 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感谢您的热情解答~











你知道得太多了

回复 支持 反对

使用道具 举报

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

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2025-1-14 01:05

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表