【只狼】巨型忍者 梟——AI機(jī)制解析
今天又頭禿了一晚上終于大體上搞明白AI機(jī)制怎么看了,555我太難了

先對(duì)AI機(jī)制進(jìn)行分類:主動(dòng)計(jì)劃、反擊計(jì)劃、干擾對(duì)策

梟的主動(dòng)計(jì)劃:太復(fù)雜了,略

變招計(jì)劃:之前說過了:


開始今天的正文,梟的反擊計(jì)劃:
AI在執(zhí)行反擊計(jì)劃時(shí),需要檢測(cè)反擊節(jié)點(diǎn),即何時(shí)反擊,對(duì)梟而言,有以下節(jié)點(diǎn)會(huì)采取反擊計(jì)劃:
1、梟在自身的右手側(cè)彈開
????反斬、蹬大狼
2、左手側(cè)彈開
????反斬、肘擊+鞭炮斬、煙霧彈、蹬大狼
3、神秘?cái)?shù)字大于等于22(神秘?cái)?shù)字后面介紹)
????后跳
4、被彈開后做出刀往自身右側(cè)撇的動(dòng)作(比如義父在左手側(cè)招架后直接出刀反擊,如果此到被彈開則進(jìn)入第四種反擊計(jì)劃)
????如果神秘?cái)?shù)字大于等于25:
????反斬、后跳撒鞭炮
????神秘?cái)?shù)字<25:
????反斬、假動(dòng)作反斬、后跳撒鞭炮
5、被彈開后做出刀往自身左側(cè)撇的動(dòng)作(比如義父平砍三連的第三刀被彈開)
????????反斬、假動(dòng)作反斬、煙霧彈
6、梟在自身的右手側(cè)招架
????反斬、假動(dòng)作反斬
7、左手側(cè)招架
????反斬、假動(dòng)作反斬、煙霧彈
頓號(hào)之間表示都有可能,具體可能性的計(jì)算我還沒有參透
最后還有一條,如果沒被忍殺過一次,則不能出煙霧彈
除了這7種情況外,均為主動(dòng)計(jì)劃或者干擾響應(yīng)。

神秘?cái)?shù)字:
什么,你是心算大佬?那么聽好了,預(yù)判后跳的方法就在這里:
當(dāng)義父做出任何攻擊動(dòng)作后,會(huì)增加神秘?cái)?shù)字的值,而后跳和后跳撒鞭炮會(huì)讓這個(gè)值清零
不論是主動(dòng)后跳還是反擊后跳都會(huì)清零!
平砍三連或平砍二連+轉(zhuǎn)身二連:+2+5+3(全出完共+10)
手里劍+追斬:+9
跳劈:+9
蹬大狼:沒蹬到+1
蹬大狼+手里劍:共+5
蹬大狼+撒毒:共+25
二連飛鏢+跳劈:+1+1+7=9(一般不會(huì)被打斷)
蕩刀+禁藥或轉(zhuǎn)身二連:+5+3=8(右前方墊步躲第一刀的話不出禁藥或轉(zhuǎn)身二連)
原地直接扔禁藥球:+6
上面是常見的主動(dòng)計(jì)劃對(duì)應(yīng)的神秘?cái)?shù)字變化
下面是反擊的情況:
鞭炮斬:+25(所以可以穩(wěn)定招架后接后跳)
各種反斬:+6
蹬大狼:沒蹬到+10,蹬到了同上
煙霧彈:+6

親愛的小伙伴,你學(xué)廢了嗎?

代碼附錄:
local local0 = ReturnKengekiSpecialEffect(arg1[S1]?)
??? if local0 == 0 then
??????? return false
??? end
??? local local1 = {}
??? local local2 = {}
??? local local3 = {}
??? Common_Clear_Param(local1, local2, local3)
??? local local4 = arg1:GetDist(TARGET_ENE_0)
??? local local5 = arg1:GetSp(TARGET_SELF)
??? if local0 == 200226[S2]? then
??????? local1[9] = 200
??????? local1[10] = 100
??? elseif local0 == 200210[S3]? then
??????? if 4 <= local4 then
??????????? local1[26] = 100
??????? else
??????????? local1[1] = 150
??????????? local1[12] = 300[S4]?
??????? end
??? elseif local0 == 200211[S5]? then
??????? if 4 <= local4 then
??????????? local1[26] = 100
??????? else
??????????? local1[2] = 150
??????????? local1[4] = 300
??????????? local1[8] = 800
??????????? local1[12] = 200
??????? end
??? elseif 25 - 3 <= arg1:GetNumber(5) then
??????? if 4 <= local4 then
??????????? local1[26] = 100
??????? elseif local0 == 200201 or local0 == 200211 or local0 == 200216 then
??????????? local1[8] = 300
??????????? local1[24] = 100
??????? else
??????????? local1[24] = 100
??????? end
??? elseif local0 == 200200[S6]? then
??????? if 4 <= local4 then
??????????? local1[26] = 100
??????? elseif 25 <= arg1:GetNumber(5) then
??????????? local1[1] = 200
??????????? local1[3] = 100
??????????? local1[26] = 100
??????? else
??????????? local1[1] = 100
??????????? local1[6] = 100
??????????? local1[3] = 100
??????????? local1[26] = 100
??????? end
??? elseif local0 == 200201[S7]? then
??????? if 4 <= local4 then
??????????? local1[26] = 100
??????? else
??????????? local1[2] = 100
??????????? local1[7] = 100
??????????? local1[8] = 1500
??????????? local1[26] = 100
??????? end
??? elseif local0 == 200215[S8]? then
??????? if 4 <= local4 then
??????????? local1[26] = 100
??????? elseif 25 <= arg1:GetNumber(5) then
??????????? local1[1] = 200
??????????? local1[6] = 200
??????? else
??????????? local1[1] = 200
??????????? local1[6] = 200
??? ????end
??? elseif local0 == 200216[S9]? then
??????? if 4 <= local4 then
??????????? local1[26] = 100
??????? else
??????????? local1[2] = 100
??????????? local1[7] = 100
??????????? local1[8] = 1500[S10]?
??????? end
??? end
??? if arg1:HasSpecialEffectId(TARGET_SELF, 200051) == false then
??????? local1[8] = 0
????end
注釋:
?[S1]產(chǎn)生變招的反擊信號(hào)
?[S2]抱殺被彈開……但是這一招不會(huì)出啊
?[S3]右手側(cè)彈開
?[S4]實(shí)測(cè)23,有20次選在1,3次選在12
?[S5]左手側(cè)彈開
?[S6]被彈開后做出刀往自身右側(cè)撇的動(dòng)作
?[S7]被彈開后做出刀往自身左側(cè)撇的動(dòng)作
?[S8]右手側(cè)招架
?[S9]左手側(cè)招架
?[S10]應(yīng)該是數(shù)字越小概率越大