Re: [技能] 治療術(heal spell)變更

看板mud_sanc (Sanctuary - 聖殿)作者 (揮淚斬馬雲)時間3年前 (2021/06/05 22:57), 編輯推噓1(100)
留言1則, 1人參與, 2年前最新討論串3/11 (看更多)
※ 引述《Emiielf (Emiielf)》之銘言: : 目前牧師 cast heal 並沒有明顯治癒效果 : 以往滿等滿裝 一招下去就滿了,現在有點悽慘 : 以牧師 cast heal 小法師後的狀態如下,效果堪憂 : 你是兩千零九十六歲的女性魔人法師,已經玩了1年 13週 6天 7 小時 4分 16秒。 : 你的主公會是法師,你已經不能再變更主公會了! : 你已經過了適婚年齡,但你依然是個黃花大閨女。 : 生命力: 139570/ 244427 ( 57%) 體質(con): 1273/ 976 (+240) : 精神力: 749763/ 749763 (100%) 魔力(mag): 4636/ 3475 (+320) : 內 力: 461386/ 347940 (132%) 氣勁(air): 3077/ 2150 (+ 0) : 力量(str): 3905/ 2806 (+ 0) 敏捷(dex): 2312/ 2004 (+ 0) : 感性(fel): 2021/ 1685 (+ 0) 理性(int): 2290/ 1560 (+240) : 妳緩緩唸道: 瑪法呀..請讓此人的身與心都復原吧... : 自妳的手心發出了一陣柔和的白色光芒... : 你開始唸起古老的咒文: ~ 30 ~ ~ ~ 治療術 ~ : 艾莉娜已經滿血了(262.42%)。 : 妳已經滿血了(739.02%)。 : 生命力: 142014/ 238867 ( 59%) 體質(con): 1273/ 976 (+240) : 精神力: 749763/ 749763 (100%) 魔力(mag): 4636/ 3475 (+320) : 內 力: 461386/ 345160 (133%) 氣勁(air): 3077/ 2150 (+ 0) : 力量(str): 3627/ 2806 (+ 0) 敏捷(dex): 2312/ 2004 (+ 0) : 感性(fel): 2021/ 1685 (+ 0) 理性(int): 2290/ 1560 (+240) 看起來是滿血的判斷有錯,下次麻煩貼一下遊戲 id 或 score -l 的完整畫面,不然沒法看你的詳細數值。 生命力: 142014/ 238867 ( 59%) 這行應該沒錯。(除非七位數無法顯示只顯示六位數) 另外,我沒動治癒量,我檢查一下 a1=g*g+fel+(LEVEL*LEVEL)/10; // 基本治癒能力 a2=lv*(fel*2+heart)/10; t=a1+a2; 假設g=50級, fel=3627, LEVEL=120, lv=30, heart=9900 a1=2500+3627+1440=7567 a2=30x(3627x2+9900)/10=3x17154=51462 a1+a2=59029 if((string)ppl->query("pri_guild")=="clerical") if(ppl->query("adv_guild")) t=t*2; if(pri_guild=="clerical" && adv_guild=="marfa") t=t*3; 呃這裡好像寫錯了,原意是一般進階兩倍,marfa三倍,上面會變六倍。 不過這個就不動了^^ 理論上你放一次 t = 59029x6 = 354174 繼續檢查,嗯,我看到錯誤了: a1=target->query("hp_src"); a2=t+(int)target->query("hp"); /* if(a1>10000) { a1=a1/10; a2=a2/10; } else if(a1>100000) { a1=a1/100; a2=a2/100; } 這個沒必要存在了我把它拿掉, 但是 bug 不在這裡 */ a3=(a2*10000)/a1; a4=a3%100; if(a4<10) str=(a3/100)+".0"+a4+"%"; else str=(a3/100)+"."+a4+"%"; if(a2<a1) { tell_object(target,HIW+target->query("sex_name")+"身上受傷的地方發出淡淡的光>芒, "+ "傷勢逐漸回復中("+str+")...\n"NOR); target->add_3p("hp",t,t); } else if(target==ppl) tell_object(target,target->query("sex_name")+"已經滿血了("+str+")。"NOR"\n"); else tell_object(ppl,target->query("chi_name")+"已經滿血了("+str+")。"NOR"\n"); 上面的意思是,因為 回復量+你原先的hp >= 你的hp最大值,所以 它就不補了,直接秀"你已經滿血了"。 也就是實際上沒補血,你到的補血是你的自然回復or其它回復值。 這 bug 我剛修正了,它分兩種情況: 1.被補的對象本來 hp 值就 >= hp最大值 那就不補, 顯示你已經滿血了(100%以上) 2.反之,就補血,補完後高於 hp最大值,就降為 hp最大值 【 牧師 】第一百二十級摳頂機器(Laechan:進階牧師) 生命力: 394283/ 3917320 ( 10%) 體質(con): 10801/ 10801 (+10000) 感性(fel): 3581/ 3581 (+3000) 理性(int): 340/ 340 (+ 0) 10% 252% 222% > cast heal 你緩緩唸道: 瑪法呀..請讓此人的身與心都復原吧... 自你的手心發出了一陣柔和的白色光芒... 你開始唸起古老的咒文: ~ 30 ~ ~ ~ 治療術 ~ 你身上受傷的地方發出淡淡的光芒, 傷勢逐漸回復中(15.00%)... 10% 252% 222% > score 【 牧師 】第一百二十級摳頂機器(Laechan:進階牧師) 生命力: 587911/ 3917320 ( 15%) 體質(con): 10801/ 10801 (+10000) 回了大概 20萬 左右,因為我 clerical heart 是 0 的關係。 (如果 heart clerical, 心法9900的話, 大概回了 377718) 總之,應該正常了^^; 感謝回報 bug,你可以 ask rewards, 瑪法維持能補最高血量的設定。 LAechan -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.33.66.104 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/mud_sanc/M.1622905034.A.4D4.html

06/06 20:10, 2年前 , 1F
感謝找到原因 :)
06/06 20:10, 1F
文章代碼(AID): #1Wkv3AJK (mud_sanc)
討論串 (同標題文章)
文章代碼(AID): #1Wkv3AJK (mud_sanc)