[技能] 戰士的暴走(bousou)修改

看板mud_sanc (Sanctuary - 聖殿)作者 (小太保)時間15年前 (2010/06/09 14:19), 編輯推噓1(108)
留言9則, 3人參與, 最新討論串1/1
先寫在前面。如果有 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)

06/09 17:15, , 1F
設sp100,pp200,氣能轉換50%,暴走後pp=200?因為sp剩1?
06/09 17:15, 1F
所以 sp = 1 那個還沒改(沒標色就是還沒動到的)。 因為暴走前玩家可以 interchange,所以限制暴走後不能 interchange 也很怪。

06/09 18:06, , 2F
目前bousou中仍會被「打」掛
06/09 18:06, 2F

06/09 18:07, , 3F
又,bousou中如陣亡,則可立刻bousou (小保辛苦了
06/09 18:07, 3F

06/09 18:10, , 4F
在同步率超過 200% 之後,你暴走了!!!!
06/09 18:10, 4F

06/09 18:11, , 5F
之前是400%,想請問看看判定公式是...?
06/09 18:11, 5F
那是訊息罷了,調一下即可。400% 感覺比較有漫畫的 fu。 ※ 編輯: laechan 來自: 122.117.3.82 (06/09 19:27)

06/09 19:39, , 6F
了解~ 辛苦了!
06/09 19:39, 6F

06/10 14:52, , 7F
剛剛放時..在bousou中放heart fighter會多出一句
06/10 14:52, 7F

06/10 14:52, , 8F
你已經在使用一種公會 heart 了.
06/10 14:52, 8F

06/10 14:59, , 9F
fixed.
06/10 14:59, 9F
文章代碼(AID): #1C3pAAvi (mud_sanc)
文章代碼(AID): #1C3pAAvi (mud_sanc)