HTML Encoder

HTML Encoder

2011年9月24日 星期六

[PS][洛克人X5]殖民地破壞成功率研究+金手指

一切都要感謝TAS
我昨天發現這個討論串在研究X5 怎樣才能在開場就發射大炮破壞殖民地破壞成功
http://tasvideos.org/forum/viewtopic.php?t=7216&postdays=0&postorder=asc&start=0

最後該討論串找出全遊戲的亂數值所在位址為093F70,093F71,我轉成日版的位址為095450, 095451

此亂數值決定殖民地破壞是否成功

觀察這數值後發現,就跟該討論串所說的一樣,此亂數值只有在關卡中,還有Cutscene部份情況會跳動,在選關畫面下亂數值是不會動的,這就是為什麼在發射前即存,無論讀檔幾次結果都不會變

所以,如果想要改變殖民地破壞是否成功,請先進關卡洗一下亂數(教學關或自動DEMO也會洗亂數) 然後再讀取遊戲紀錄重來
不過在實機狀態下一定要進關卡才能跳出遊戲重來所以不用即存的話每次發射結果都有可能不一樣的

另外該討論串也列出了判定破壞成功與否的公式,不過我實測發現有點小錯誤
自己測試後推測規則如下(寫得有點難懂 也可能是錯的 看看就好了)

======================================

另A=095450的值%64
(095450的值是一個8bit無號數(範圍0~255), overflow或underflow問題省略 所以255+1=0,0-1=255)
(%64的意思是取除以64後剩下的餘數,所以A的值域為0~63)

另C = (A+(095451的值%64)*3)%64
B為一特定值(底下會說明)
判斷公式:如果C < B則破壞成功,否則失敗
======================================

上述式子不知道數學式表達正不正確,總之是取095450的值%64後看是否小於特定值
(例如是否<4)決定是否成功,而095451的值會把成功的值往左平移3
例如095451=00時,095450成功的值為0,1,2,3
095451=01時 成095450功的值變成61,62,63,0
(這邊已經把095450的值%64了)

B的值會根據你擁有多少大炮或太空梭的強化零件改變
舉例來說,大炮無強化零件時B=4,這代表殖民地破壞成功率為4/64
前面公式看不懂沒關係,只要記得成功率是B/64就行了

而B的值經測試後整理如下表

大炮エニグマ
強化零件數
B的值
成功率
成功率(百分比)
0 4 4/64 6.25%
1 8 8/64 12.5%
2 8 8/64 12.5%
3 8 8/64 12.5%
4 8 8/64 12.5%
太空梭シャトル
強化零件數
B的值
成功率
成功率(百分比)
0 8 8/64 12.5%
1 24 24/64 37.5%
2 24 24/64 37.5%
3 48 48/64 75%
4 48 48/64 75%

由此表可看出,大炮只需收集一個零件就好了,而且成功率也只和太空梭空裝相同而已
所以期待大炮完全不實際,而太空梭集滿三個零件就達到最大成功率了,但成功率也只有75%而已,其實比想像中的低(不過這個機率多讀檔幾次一定能成功的)

最後,如果你覺得上面這些東西都太煩了看不懂
那沒關係,就直接用金手指鎖吧
但要注意,由於遊戲中還有其他地方也共用這亂數
請在發射前鎖住一次後馬上解鎖,以免遊戲因亂數不會動出現異常

殖民地破壞必定成功
80095450 8B61
殖民地破壞必定失敗
80095450 1247


延伸應用

在太空梭破壞成功率達最大(75%)的情況下存檔,重開機後馬上讀檔(不要讓它跑DEMO, 不要開新遊戲or玩訓練關),讀檔後馬上發射太空梭則一定會破壞成功

因為不進關卡亂數值不會動,又剛開機時亂數值是固定的
所以這次讀檔的亂數值也固定,這個值剛好能破壞成功

而如果開機後給遊戲跑3次完整的DEMO後再讀檔發射的話則一定會失敗(笑)


==========2012/02/20補充==========

有人指出傑洛中毒次數過多則太空梭一定會失敗
今天測試的結果....這情報是正確的!

測試方法是這樣,先打贏飛馬、薔薇、恐龍
接著打蝙蝠關時利用上下倒轉區一直洗西格瑪病毒
中毒(Virus狀態)30次後打王,存檔
這時太空梭破壞率為最大75%,根據之前的研究的必勝方法
重開機後馬上讀檔發射應該要成功,結果太空梭破壞失敗,傑洛爆走
後來又再讀取打蝙蝠前的存檔測試中毒次數,最後發現
傑洛中毒次數達13次以上後太空梭必定會破壞失敗
不過正常玩其實是很難玩到中毒13次以上的....

另外也因為確定了這個情報,而推測遊戲必定有紀錄中毒次數
所以也找了相關金手指給各位參考

中毒次數紀錄
X
800D3196 xxxx
Zero
800D3181 xxxx

利用金手指測試, X的中毒次數不影響太空梭
大炮則是先鎖住破壞成功亂數,並將傑洛中毒次數調到255次仍然可以破壞成功
因此判定大炮不受傑洛中毒次數影響

沒有留言:

張貼留言