作者laechan (小太保)
看板mud_sanc
标题Re: [闲聊] 关於防御技能的发生顺序?
时间Tue Dec 22 12:52:01 2009
※ 引述《lefthead (matt)》之铭言:
: 我在玩的时候的感觉
: 1. 骑士山之阵>护盾类>其他skill
: 2. 骑马+拿武器+拿盾: 发动频率 独孤9剑>武器招架>骑乘驾驭>>盾挡
: 不骑马+武器+拿盾: 发动频率 独孤9剑>盾挡>闪躲>>武器招架
: 我有个问题 这些发动 机率是如何决定?
: 上述我有练的,其他的发生机率又如何呢?
圣殿的格挡招架判断是串连式的,就是若一个判断失败,它就
接下去判断别的,直到其中一个成功 or 全部失败为止。
再来的话就是会依主职业的不同,稍微区别一下一些判断的顺
序,例如..
case "slasher": // 等於 clerical
{
msg=parry_defance(tar,me,(hitr/2),u,type,damage);
if(msg=="ERROR") msg=dodge_defance(tar,me,hitr,u,type,damage);
if(msg=="ERROR") msg=shield_defance(tar,me,hitr,u,type);
break;
}
剑士就是先招架→闪躲→盾挡(如果有拿盾的话)
case "fister":
{
msg=dodge_defance(tar,me,(hitr/2),u,type,damage);
if(msg=="ERROR") msg=parry_defance(tar,me,hitr,u,type,damage);
if(msg=="ERROR") msg=shield_defance(tar,me,hitr,u,type);
if(msg=="ERROR") msg=egingin_defance(tar,me,hitr,u,type);
break;
}
拳士是先闪躲(通常没拿武器)→招架→盾挡→易筋经的抵挡
这些是写在 /adm/daemons/fight_d.c 的 defence 函数里头的,
在这个函数里面还定义了一个优先於上述各种闪躲格挡招架的判
断,就是护盾的部份会最优先。
但是,以怪物发特攻为例,怪物发特攻会呼叫 shut 函数,shut
再呼叫上面的 fight_d.c 做招架判断,那 shut 在呼叫它之前
,它内部自己也会先做一些基本的闪躲格挡招架判断,例如山阵
的判断就是写在那边。
所以基本上你感觉到的顺序是对的,就是山阵最优先,其次是护
盾,再来才是其它。就因为如此,越优先的判断其实应该要越弱
─就是发动机率要越低,其它的闪躲格挡招架叙述才有出现的机
率,但目前的设定就是护盾几乎挡100%,也就是只要你有上护盾
,然後怪物没穿盾攻击的情况下,看到的讯息就几乎都是护盾的
讯息。
(所以有一阵子我做了护盾讯息的简化,目的就在这,因为几乎人
人都有上盾,则护盾的抵挡讯息越简单,相对就对系统的负担较
低)
判断设为串连式的目的,就是为了让学越多技能的玩家,可以挡
到越多、闪到越多,各位可能还有印象以前是要挡到、闪到时,
相关的技能才会加熟练度,这就会造成玩家要练 dodge 时就得特
定脱武器及脱盾才能练,所以後来 len 才会将 parry/shield/dodge
在战斗中熟练度会增加的设定取消─因为这样不合理。
Laechan
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.225.163.99
※ 编辑: laechan 来自: 61.225.163.99 (12/22 12:54)
1F:推 hmml :主要是shield最後会无法练成,因为顺位太低,必定会 12/22 23:12
2F:→ hmml :被先练成的dodge完全卡死,parry的干扰可以回避,但 12/22 23:12
3F:→ hmml :除非脚剁下来,否则永远练不了shield... 12/22 23:13
4F:→ HighElf :当初I还是这样练完了shield了呀:p 12/24 22:08