《俠之道》屬性與傷害等各類計算公式一覽
屬性與攻擊
四維分別為str, vit, dex, spr
基礎攻擊str*1.2+vit*0.2+dex*0.8+spi*0.5
基礎防禦str*0.2+vit*1.2+dex*0.5+spi*0.8
氣血上限str*1+vit*2.5+dex*1+spi*1.5
真氣上限str*1+vit*1.5+dex*1+spi*2
基礎移動力math.min(1,(dex/120))+math.max(0,((dex-120)/200))
基礎(帳面)招架力str/10
基礎反擊力vit/10
基礎(帳面)閃避力dex/10
基礎(帳面)暴擊力spi/10
基礎傷害attacker_attack^2/(attacker_attack+defender_defense)
背襲傷害係數1.6
側襲傷害係數1.2
暴擊傷害係數2
招架最終減傷係數0.3
五行相剋傷害係數math.max(0,(attacker_spi-defender_spi))*0.0007+1.3
一般技能傷害 slv*x+y,x在0.02~0.06之間,y在0.35~1.2之間
揮拳傷害math.max(0,(slv-9))*5.1+0.4,也就是10級前統一0.4,10級5.5,傳統藝能野球拳
基本功增加經驗公式str*100
招式增加經驗公式((math.log(player_status/require_status)/math.log(10))*2)*500+225,其中require_status的取值:招式看個別四維,心法看四維總值
隊友成長加成%數(community_lv-1)*0.1,全看你跟他關繫好不好
1.基礎攻擊str*1.2+vit*0.2+dex*0.8+spi*0.5
所有招式都以此為基礎值計算賬面值,四維越高則攻擊越高,力量:體魄:靈巧:意誌=12:2:8:5
2.傷害公式 攻擊*攻擊/(攻擊+防禦)
這是很多網遊用來平衡pvp裡猛點防禦玩法的經典公式,其攻擊意義遠大於防禦,攻擊係數略小於防禦*血量
3.招式增加經驗公式((math.log(player_status/require_status)/math.log(10))*2)*500+225
對數函數,自然導致數值未達標前獲得經驗極低但增長迅速,而達標後增速趨緩。練招式前先把能堆對應四維的藥吃掉,收益會高一些
4.五行相剋傷害係數math.max(0,(attacker_spi-defender_spi))*0.0007+1.3
懷疑多寫了個0,目前這係數幾乎就等於1.3倍增傷,除非意誌相差幾百上千,導致五行意誌增傷近乎0。文本順序裡明顯可以看出五行剋製系統是較晚時候臨時改的,bug多難免
5.(湊數)揮拳的代號是godfist,上帝之拳
6.移動力math.min(1,(dex/120))+math.max(0,((dex-120)/200))
7.大家心心念唸的淨,真名淩雨寒
同樣id的還有一個白,109和109c的區別,瞎猜個雙胞胎設定吧,另外前面108被刪了。
四維倍率
用Excel拉一下,分別為8個情況下所需四維倍率
另外如果滿級都是900,那麼225這個數字也就有意義了
225=900/4
即剛好達到修煉要求時,4次練滿
藥浴加的東西也發一下好了
鍛煉基本功,額外加2/3/5點對應四維,即初/中/高級
修煉心法、劍法、暗器,額外+3意誌
修煉拳法、長柄,額外+3力量
修煉腿法、短柄,額外+3靈巧
修煉刀法、醫學,額外+3體魄
琴棋書畫對應修養爽朗膽識堅毅,額外+5/8/10點本身藝能點數和性格點數
打工目前只有最初級的,都是額外+150錢,可以看到之後會有很多新類型的工種,加錢更多
還有一排額外加性格值很多的,分別是巡遊/花草/校寵/馬吊/投壺/蹴鞠/食堂聊天
下面還對應加人物很多好感度,大概就是非升階的約會?
我從來沒有試過非友好度升階時點外出約會,所以不確定
有人問四藝招式攻擊力的計算方式
這幾個裡面注釋都寫的是第三年才給的招式,放第一年都過強了
琴 廣陵散(0.6*zither)*(slv*0.04+0.6) 群體buff
棋 攻敵之要0.5+slv*0.04+chess/1000
畫 丹青餘絢0.4+slv*0.04+painting/1000
書 顛張狂素0.6+slv*0.04+calligraphy/1000
二週目摸完,再隨便扒拉點東西好了
NPC屬性變化
NPC四維是有倆值的,一個基礎值Level,一個額外值Extra
最終的取值則為兩者相加
基礎值
對應CharacterInfo.txt屬性裡初期值和每回合成長值
比如段紅兒初期值是(1010,48)(1020,40)(1030,57)(1040,55)
每當過回合時所有角色呼叫此函數增加四維經驗
一回合對應一旬晝+夜,每年60回合
每年係數coefficient不同,當前公式裡第一年0.5,第二年1,第三年1.5
且每回合成長值是有隨機性的
比如段紅兒[1010,(140,160)][1020,(140,160)][1030,(140,160)][1040,(140,160)]
就是每回合四維經驗隨機增長(140~160)*0.5,每100經驗升一點
而閣主和段霄烈兩個大佬成長值都是0,也就是不會成長了
額外值
目前程式碼都是基礎值乘上一個係數,但可入隊NPC和不可入隊的算法是不一樣的
可入隊的是根據其好友等級來計算係數
所以好友等級越高則其對基礎值加成越多,但並不影響基礎值的增長
也就是何時升級好友並不影響最終好友屬性,關係升級了立馬點數就會加上去
不可入隊的則是根據成長因子來計算
每個NPC的成長因子各異,說白了就是拿來調節關卡難度的
根據玩家反饋,在對應關卡裡把出現的NPC係數調一下就行了
另外段紅兒的好友等級公式跟別人不大一樣
別人都是(community_lv-1)*0.1,也就是每級+10%四維
段紅兒是(community_lv-1)*0.08+math.max(community_lv-5,0)*0.11
也就是6級之前每級+8%,6級後每級+19%(最高好像就6~7級?)
還有淨師傅目前公式是0,不過畢竟EA版,不作數
結論是敵人的強度並非按照你的四維或者強度來計算的
而是類似火紋的每旬升級凹點,臉白了全+1,臉差的加白板
不過比起火紋,隨機幅度很小,幾乎清一色20
所以凡是帶成長隨機值的NPC,每週目體驗都會不一樣,而且越往後方差越大
一些傳書任務,越晚做自然NPC強度就會高一些,你的隊友同理
戰鬥相關
基礎閃避率math.max(0,(defender_dodge-attacker_dodge))
基礎招架率 math.max(0,(defender_parry-attacker_parry))
基礎反擊率math.max(0,(defender_counter-attacker_counter))
基礎暴擊率math.max(0,(attacker_critical-defender_critical))
也就是你的閃避、招架、反擊、暴擊,都要先和對方的閃避、招架、反擊、暴擊做加減
這種,講真我覺得蠻新鮮的
講人話就是,我只要比你更靈活,我打你你就閃不掉;我只要比你更暴力,你就沒法暴擊我
程式碼裡,實際運算、招式攻擊、傷害估算,三者是三個函數,完全不相干
傷害估算和實際運算比較接近,去除了隨機值(±5%)和暴擊等等
目前是用的經典除法公式來計算,也就是atk^2/(atk+def)
意義就是若防禦是攻擊的n倍,則造成的傷害是攻擊力的1/(n+1)
這裡atk、def均取的是人物面板顯示的數值,與招式無瓜
然後得出的傷害值再去乘招式倍率
還要再乘上暴擊、背刺側擊、buff加成等等各種倍率
而在人物技能樹UI裡顯示的招式攻擊力
其實就是簡單地把招式倍率乘上你的面板攻擊力而得出的一個數字
除法公式下也就相當於當對方防禦力為0時的傷害值
也就是給你看爽的,對面防禦力越高則誤差越大
傷害計算
①基礎傷害值 basic_damage
除法公式算出,前文有解釋,不再贅述,可通過改配置檔案換掉
預估值無隨機,而實際運算裡有0.95~1.05的浮動值
②當次傷害增減 add_and_sub
由4個值組成,攻方增傷,攻方減傷,守方增傷,守方減傷
先每一項各自加減,然後將4個值相乘
③方向係數 dir_coefficient
基礎值是配置檔案裡的方向係數
然後增減技能/心法/天賦裡的方向增傷減傷係數
④暴擊係數 coefficient_of_critical
基礎值是配置檔案裡寫的2,可修改
然後加上技能/心法/天賦裡的暴擊增傷係數
⑤五行係數 element_coefficient
基礎值是配置檔案裡的公式,可修改
然後增減技能/心法/天賦裡的五行增傷減傷係數
⑥技能係數 skill_coefficient
就簡單地按技能去找配表裡的公式帶入一下
每個技能都不同,比如野球拳10級就可以到5.5倍
前5項相乘是寫死的,第6項可加可乘
但實際上配表裡除了反擊用的普攻、醫術外,都配的乘法
所以,最終傷害=①*②*③*④*⑤*⑥
技能傷害
九疊雲錦張
目標存在一重縛身時,當次傷害提升30%
{ “BufferPropertyAction” : 7004, 1, 30.00000}
7004=Attack_Damage_Add, 攻擊者傷害增傷
即第②項裡的攻方增傷+30%
牛下九坎
若本次攻擊剋製目標五行屬性,傷害+50%
{ “BufferPropertyAction” : 7006, 1, 50.00000}
7006=Attack_Weak_Add, 攻擊者相剋增傷
即第⑤項裡的攻方增傷+50%,1.3*1.5=1.95
這種乘法增傷,很容易搞到數值爆炸,畢竟你的各種屬性是加法式培養,攻擊傷害卻因為參數全是相乘關係。
參數一點點小變化,最終數值都會打滾式往上漲,就算每個係數都隻增加10%,乘多了一樣爆炸。
相關修改
①武器切換後過回合
Heluo.UI.CtrlBattle.OnChangeWeapon
最後面加一句
Game.BattleStateMachine.SendEvent(”FINISHED”, new FSM.Battle.EndUnitEventArgs{ AwaitTime = 0.5f });
②解鎖戰鬥Pitch視角旋轉
Heluo.Components.GameCamera.SetBattleCamera
把ylocked改為false即可
③修煉內功中旬實際經驗計算2次的bug
Heluo.UI.CtrlNurturance.DoMantra
additionCoe乘了兩次,刪一次即可
不過應該沒人想改吧,除非官方自己改了
④UI裡直接顯示所有可入隊隊友
Heluo.UI.CtrlHome.Show
把判斷是否已open的判斷去掉即可
附解鎖戰鬥Pitch視角的圖,右鍵可拖動角度,跟河洛群俠傳一樣,但無相機碰撞會導致穿模
來源:俠之道吧
作者:binarizer