|
发表于 2010-6-13 22:28:53
|
显示全部楼层
还是原来那个地方
- #--------------------------------------------------------------------------
- # ● 仿造set_graphic
- #--------------------------------------------------------------------------
- def reset_graphic
- actor = $data_actors[@actor_id]
- @character_name = actor.character_name
- @character_hue = actor.character_hue
- @battler_name = actor.battler_name
- @battler_hue = actor.battler_hue
- end
- #--------------------------------------------------------------------------
- # ● 解除状态
- # state_id : 状态 ID
- # force : 强制解除标志 (处理自动状态时使用)
- #--------------------------------------------------------------------------
- def remove_state(state_id, force = false)
- # 无法附加本状态的情况下
- if state?(state_id)
- # 被强制附加的状态、并不是强制解除的情况下
- if @states_turn[state_id] == -1 and not force
- # 过程结束
- return
- end
- # 现在的 HP 为 0 当作选项 [当作 HP 0 的状态]有效的场合
- if @hp == 0 and $data_states[state_id].zero_hp
- # 判断是否有另外的 [当作 HP 0 的状态]状态
- zero_hp = false
- for i in @states
- if i != state_id and $data_states[i].zero_hp
- zero_hp = true
- end
- end
- # 如果可以解除战斗不能、将 HP 更改为 1
- if zero_hp == false
- @hp = 1
- end
- end
- # 将状态 ID 从 @states 队列和 @states_turn hash 中删除
- @states.delete(state_id)
- @states_turn.delete(state_id)
- reset_graphic
- end
- # 检查 HP 及 SP 的最大值
- @hp = [@hp, self.maxhp].min
- @sp = [@sp, self.maxsp].min
- end
复制代码 |
|