Project1
标题:
如何在暴击发生之后让受攻击者无法进行反击?
[打印本页]
作者:
jianyulei
时间:
2015-10-1 10:19
标题:
如何在暴击发生之后让受攻击者无法进行反击?
暴击的判断@result.critical放到反击里面会报critical错误,请问如何实现暴击后敌人无法反击的效果?
作者:
Silentever
时间:
2015-10-1 21:17
只能修改系统结构,因为默认系统会先判断反击,
成功的时候不会再继续原本的行动,当然也不可能有@result.critical的计算
作者:
jianyulei
时间:
2015-10-2 09:17
Silentever 发表于 2015-10-1 21:17
只能修改系统结构,因为默认系统会先判断反击,
成功的时候不会再继续原本的行动,当然也不可能有@result.c ...
修改系统结构这没办法了,不过我想了其他办法,在判定反击几率的地方添加暴击判定,如果有暴击是吧反击设为0,修改后虽然@result.critical是没报错了,但是却怎么也无法顺利成功,判断@result.critical开启的话就一直反击,没开启却一次都不反击了,跟是否暴击一点关系都没有。
难道@result.critical不是记录是否发生暴击的变量吗?
作者:
Silentever
时间:
2015-10-4 19:24
#--------------------------------------------------------------------------
# ● 计算技能/物品的反击几率
#--------------------------------------------------------------------------
def item_cnt(user, item)
@result.clear
@result.critical = (rand < item_cri(user, item))
return 0 if @result.critical
return 0 unless item.physical? # 攻击类型不是物理攻击
return 0 unless opposite?(user) # 队友无法反击
return cnt # 返回反击几率
end
复制代码
然后从item_apply中删除“@result.clear”跟“@result.critical = (rand < item_cri(user, item))”
虽然没测试,但应该没问题才对……
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1