作者laechan (小太保)
看板mud_sanc
标题[技能] 战士的暴走(bousou)修改
时间Wed Jun 9 14:19:50 2010
先写在前面。如果有 wiz 或 ppl 对圣殿任何的现况有所
不满,请以比较正面的方式提出。
因为这对你自己也有好处。
==================================================
到 /std、/adm/daemons 下搜寻 bousou
1. /std/user.c 的写法有问题
757: if(query_temp("time_record/bousou_times")>0)
759: temp_data["time_record"]["bousou_times"]--;
765: delete_temp("time_record/bousou_times");
1193: if(query_temp("time_record/bousou_times")>0)
原则上我不想使用 time() 的方式,所以我将让 bousou.c
拥有心跳,避免断线时会产生的 bug。
(万一这方法无效,就采用 time() 判定法)
2. /adm/daemons/user_d.c 的部份
741: if(me->query_temp("time_record/bousou_times")>0)
1219: me->delete_temp("time_record/bousou_times");
1221: tb=me->query_temp("time_record/bousou_times");
1225: me->set("record_data/next_bousou_times",time()+tb*10+300);
1226: me->delete_temp("time_record/bousou_times");
暴走 bug 产生的另一个原因是因为防暴走阵亡的判断式
写在 die() 函数内。
这个也将修改..
1)暴走无法防止「直接阵亡式」的攻击
即 this_player()->die() 以後对暴走有效。
2)暴走也无法防止「直接扣血式」的攻击
即 this_player()->add("hp",负值) 以後对暴走有效。
3)暴走中若断线,使用者直接阵亡。
防止(使用)断线 bug。
但暴走以後可以防 receive_damage 式的扣血,在战斗中
怪物对玩家的攻击多是用 show->receive_damage,我会
在 receive_damage 函数内加一段..
int receive_damage(int dam)
{
int ap;
if(dam <= 0 || query("linkdead")) return 0;
// 圣战的部份
if(query_temp("time_record/holywar_times")>time())
return 0;
.
.
if ( data["hp"] < 0)
{
// 暴走的部份
if(query_temp("time_record/holywar_times")>time())
{
data["hp"]=1;
return 0;
}
else if( !data["dead"] )
{
data["dead"]=1;
data["last_attacker"]= this_player() ;
me->die();
}
}
圣战是「完全不扣血」,暴走是「血量至少维持在 1」,
两者的差异在发动圣战的人即使看起来受到很多伤害,实
际上血量都是全满;暴走的人则是受到快死的伤害时顶多
就是「快死状态」,不会真的死掉。
改这样的好处就是 receive_damage 同样不会触发 die函
数,可减少不必要的 bug 产生。
三、bousou 的副作用及使用限制
一、在暴走状态下的战斗完全无法获得熟练度。进一步可以
连学点都无法获得。但经验值一定可获得。
二、sp 强制设在 1。
三、暴走中无法使用 cast、spell 及 heart。
暴走中之前限制无法使用的指令部份,取消 recall 及
drink 的限制。
四、暴走的持续时间依 fighter heart 值来决定,暴走的
持续时间公式为 基本时间 + fighter heart 影响值
五、暴走前必须先 heart damage。
四、暴走的好处
有了副作用为前提,好处如下..
一、暴走状态时无视 multi-attack 影响,连击数的影响
值直接 +10。
二、暴走状态的攻击命中率x2
三、暴走中仍可接受别人的 cast。
四、暴走结束无副作用。
五、暴走状态下,每一连击的杀伤比前次连击增加 5%
(正常值是 2~3%)(注)
由於需动到 /std/user.c 所以有些东西必须 shutdown 前才
能改,本周因无二拍计划所以我会订一个 shutdown 时间。
能改的则可以先改。
至於 bousou 的 bug 部份,我会看过「那一篇」之後再决定
要怎麽处理。
注的部份,那个效果也可以给别的技能,例如一直很欠缺关键
效果的加强杀伤力(damage),我会评估一天後做决定。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
※ 编辑: laechan 来自: 61.225.162.212 (06/09 15:18)
1F:→ golds :设sp100,pp200,气能转换50%,暴走後pp=200?因为sp剩1? 06/09 17:15
所以 sp = 1 那个还没改(没标色就是还没动到的)。
因为暴走前玩家可以 interchange,所以限制暴走後不能
interchange 也很怪。
2F:→ golds :目前bousou中仍会被「打」挂 06/09 18:06
3F:→ golds :又,bousou中如阵亡,则可立刻bousou (小保辛苦了 06/09 18:07
4F:→ golds : 在同步率超过 200% 之後,你暴走了!!!! 06/09 18:10
5F:→ golds :之前是400%,想请问看看判定公式是...? 06/09 18:11
那是讯息罢了,调一下即可。400% 感觉比较有漫画的 fu。
※ 编辑: laechan 来自: 122.117.3.82 (06/09 19:27)
6F:→ golds :了解~ 辛苦了! 06/09 19:39
7F:推 justinj :刚刚放时..在bousou中放heart fighter会多出一句 06/10 14:52
8F:→ justinj :你已经在使用一种公会 heart 了. 06/10 14:52
9F:→ laechan :fixed. 06/10 14:59