Project1
标题:
无视速度先发
[打印本页]
作者:
邪月长啸
时间:
2015-4-22 13:51
标题:
无视速度先发
想请教一下,如何做出当 角色或敌人 拥有该 属性或状态 时
无视敌我双方的速度,必定最先攻击
我尝试用事件状态做,但要用到很多变量,而且很繁琐
不知哪个大神给个好的办法?
作者:
芯☆淡茹水
时间:
2015-4-22 14:25
本帖最后由 芯☆淡茹水 于 2015-4-22 14:37 编辑
这个强行增加出手速度值,除非其它战斗者的属性速度(agi)达到 一百万,否则都是 先出手状态 的战斗者先行动。
如果2个或2个以上的战斗者都处于先出手状态,他们之间的出手顺序依其本身速度来算。
#==============================================================================
class Game_Battler
INITE_ID = 17 #<= 先出手的状态ID。
#--------------------------------------------------------------------------
# ● 确定动作速度
#--------------------------------------------------------------------------
def make_action_speed
speed = agi + rand(10 + agi / 4)
speed += 1000000 if state?(INITE_ID)
@current_action.speed = speed
end
end
#==============================================================================
复制代码
作者:
邪月长啸
时间:
2015-4-24 12:35
芯☆淡茹水 发表于 2015-4-22 14:25
这个强行增加出手速度值,除非其它战斗者的属性速度(agi)达到 一百万,否则都是 先出手状态 的战斗者先行 ...
追问一个问题
如果我想多几个这样的状态
是否把 INITE_ID = 17 改为 INITE_ID = [17,18,19]
这样可行吗?
作者:
芯☆淡茹水
时间:
2015-4-24 12:43
#==============================================================================
class Game_Battler
INITE_ID = [17,18,19] #<= 先出手的状态ID。
#--------------------------------------------------------------------------
# ● 确定动作速度
#--------------------------------------------------------------------------
def make_action_speed
judeg = false
INITE_ID.each{|i| judeg = true if state?(i)}
@current_action.speed = agi + rand(10 + agi / 4) + (judeg ? 1000000 : 0)
end
end
#==============================================================================
复制代码
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1