作者laechan (小太保)
看板mud_sanc
标题Re: [讨论] 骑士保护
时间Sun Apr 18 11:13:56 2010
※ 引述《hlead (希多)》之铭言:
: 目前骑士保护,是一次可以保护全体,
: 而且好像是100%的保护率。(除了特殊攻击外)
通常来说,骑士只能决定保护谁。合理的做法,就是当这个
骑士发动保护时..
一、指定目标
二、则该目标之後受攻击时,骑士主动帮他挡下一击
三、之後骑士必须再发动一次保护
这里需考量的就是 zmud 玩家是否会用触发,当骑士帮xx挡
下攻击的讯息出现时马上触发再保护。
(当然,手动的也一样,这里只是举例说明)
这时就会出现指令频繁被执行的问题。因此产生的变通方式
是「下一次,然後就可以在战斗中机率性提供保护」。
机率性保护一定有作用,这时分两种..
一、原本a会受攻击,改成b受攻击。
=>这时机率可以大一点。
二、原本a会受攻击,结果因为b的保护,此攻击无效。
=>这时机率要低点一点。(因为是完全保护)
完全保护就类似樱战二那样,由队长挡下一次攻击,而且队
长跟队员均无损血=怪物该次攻击无效,这种保护其实没有
比上面的一合理。
也就是说,如果怪物原先拿a当目标,但此时因为b的保护
(比方b挡在a前面),怪物就改拿b当目标,这是可以的。
不过写法很复杂。
首先,我们可以限定保护「只能用来抵挡特殊攻击」,在这
情况下分两种..
一、怪物的 special_fun(object me,object tar)
当怪物呼叫 special_fun 前做如下判断..
if(tar2=tar->query_temp("defender") && environment(tar2)==environment(me))
tar=tar2;
me->special_fun(me,tar);
这样怪物就会改抓 defender 为目标。讯息部份则当然
写在上面如下..
show(tar,tar2,"$O突然跑到$N的身前道:危险!!");.
大概是这类的讯息。
二、怪物的 shut
抓取的方式同上,它的好处是可以窜改攻击叙述,例如
原本是..
str="原本的讯息";
shut(str,杀伤,命中,...)
改成
str="就在$O突然挡在$N的前面,准备替$N挡下XXX的攻击!!\n"+
"原本的讯息";
shut(str,杀伤,命中,...)
它另一个好处是「怪物也适用」(因为玩家跟怪物都呼叫
shut)。
但是它的缺点就是判断会很频繁,在这情况下撰写相关
判断程式段就要谨慎一些。
我是认为让骑士觉得「保护有用」、让被保护的人觉得「保
护有作用」,比方某 boss 发出一招打下去肯定a会爆水晶
的攻击,结果被b挡住。
一、a本来会爆水晶,变成不爆了。
二、干!结果b本来不会爆水晶,却爆了。
像这样的设定就尽量不要弄。也就是说,如果是单纯的shut
攻击,那其实可窜改的数据还可以包括「杀伤值」,这时就
有了所谓「保护的能力」高低。
为避免混乱,设定可以如下..
一、只有「队长」可以保护队员。这时「一个队长」可以同
时保护「n个队员」,这个是蛮不错的”特色”设定,
可以考虑实行(不过它肯定会造成系统负担)。
二、队长保护队员的「能力」,可以看 knight heart 以及
adventure heart,以前面的数值为主,後面为辅。若
有专用的对应技能就以该技能为主,adventure heart
为辅。
三、该「能力」会影响实际打到骑士的杀伤值。这个是合理
的,因为当怪物攻击a时,b是「旁观」的角色,这时
b削弱掉该攻击的杀伤就合理(因为他是准备过後才挡)
,这时削弱掉的值可以0%~n%。
「若只是用来对特攻有反应」那就照上面那样改即可,而且
还蛮好改的,这种修改也不需要 shutdown,而且所有的队长
都可以用─但是骑士使用效果会最好。
Laechan
--
※ 发信站: 批踢踢实业坊(ptt.cc)
※ 编辑: laechan 来自: 111.253.160.45 (04/18 11:14)
1F:推 Yanten :可以给 工会技能 保护队友 主工会可以不暴水晶之类 04/18 11:47
2F:→ laechan :骑士公会技能表已经无空间可塞,所以目前的想法是让 04/18 12:37
3F:→ laechan :knight heart 或 leadership 来支援 04/18 12:37
4F:→ laechan :然後不管你是什麽职业,只要是队长都可以对队员保护 04/18 12:37
5F:→ laechan :保护的能力中会以大家都有的冒险之心当副参考值 04/18 12:38