class Game_Battler
#--------------------------------------------------------------------------
# ● 附加状态
# state_id : 状态 ID
# force : 强制附加标志 (处理自动状态时使用)
#--------------------------------------------------------------------------
def add_state(state_id, force = false)
# 无效状态的情况下
if $data_states[state_id] == nil
# 过程结束
return
end
# 无法强制附加的情况下
unless force
# 已存在的状态循环
for i in @states
# 新的状态和已经存在的状态 (-) 同时包含的情况下、
# 本状态不包含变化为新状态的状态变化 (-)
# (ex : 战斗不能与附加中毒同时存在的场合)
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)
# 状态 ID 追加到 @states 序列中
@states.push(state_id)
# 选项 [当作 HP 0 的状态] 有效的情况下
if $data_states[state_id].zero_hp
# HP 更改为 0
@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
# 设置为自然解除的最低回数 -1 (无效)
@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 及 SP 的最大值
@hp = [@hp, self.maxhp].min
@sp = [@sp, self.maxsp].min
#---------------------------------
if state_id == (金蚕王狀態id)
self.level += 1
unless force
@states.delete(state_id)
end
end
end
#---------------------------------
end
以下引用萧萧无痕于2008-2-14 19:54:05的发言:
很简单
制作一个状态“金蚕王”
先做一个物品叫:金蚕王
增加状态:金蚕王
事件要怎么写看下:
◆假如李云在队伍
◆李云的状态为[战斗不能]
◆无法升级
◆物品增加:金蚕王+1(因为是要消耗物品的,所以为了防止消耗物品只能这样)
◆除外
◆李云的等级+1
◆分歧结束
◆分歧结束
注:设置物品时必须设置为我方单体和+状态:[金蚕王]
[本贴由作者于 2008-2-15 13:34:54 最后编辑]
以下引用暴動衝鋒于2008-8-26 17:43:20的发言:
按理来说可以绑定CommonEvents的,但是直接指定物品使用者就难了。
以下引用暴動衝鋒于2008-8-26 19:19:10的发言:
以下引用做游戏的新手于2008-8-26 19:18:13的发言:
以下引用暴動衝鋒于2008-8-26 17:43:20的发言:
按理来说可以绑定CommonEvents的,但是直接指定物品使用者就难了。
切。。公共事件就是公共事件
什么CommonEvents不CommonEvents的
我用英文版RPGXP不行么?
[不习惯莫尼卡的版本]
以下引用天圣的马甲于2008-2-15 12:47:40的发言:
那是在很久很久以前……有一个技术叫做“状态法”(很远很远地远目ing)
欢迎光临 Project1 (https://rpg.blue/) | Powered by Discuz! X3.1 |