無料アクセスカウンターofuda.cc「全世界カウント計画」
■掲示板に戻る■ 全部 1- 101- 201- 301- 401- 501- 最新50    

テスト用スレッド

401 :転載保存:2010/10/10(日) 23:24:54 ID:c1Wy0o/+
271 :名無しさんの野望:2010/10/10(日) 21:21:53 ID:dnWs1So/
ブレスバグを修正する非公式パッチを公開してみるテスト。
バイナリパッチのほうは、メモリパッチと違って起動するごとにあてる必要がないのが良いのですが、
複数のパッチを管理したり、パッチ前の状態に戻す必要が生じたときが面倒です。
公式のアップデートがあったときに問題が生じる虞も否定できないので、メモリパッチの方をオススメします。
どちらを適用する場合でも、バックアップをとるなどして自己責任でお願いします。

ねこまんま用メモリパッチ
005F9245-0C
005F924B-08
005F9263-0C
005F9269-08
005F9281-0C
005F9287-08
005F929F-0C
005F92A5-08
005F92BD-0C
005F92C3-08

バイナリパッチ
FILENAME Wizardry.exe
001F9245: 08 0C
001F924B: 0C 08
001F9263: 08 0C
001F9269: 0C 08
001F9281: 08 0C
001F9287: 0C 08
001F929F: 08 0C
001F92A5: 0C 08
001F92BD: 08 0C
001F92C3: 0C 08


272 :名無しさんの野望:2010/10/10(日) 21:23:27 ID:dnWs1So/
参考までに…

パッチ前
005F9243 837D 08 00  CMP DWORD PTR SS:[EBP+8],0
005F9249 8B45 0C    MOV EAX,DWORD PTR SS:[EBP+C]
005F9261 837D 08 01  CMP DWORD PTR SS:[EBP+8],1
005F9267 8B55 0C    MOV EDX,DWORD PTR SS:[EBP+C]
005F927F 837D 08 02  CMP DWORD PTR SS:[EBP+8],2
005F9285 8B4D 0C    MOV ECX,DWORD PTR SS:[EBP+C]
005F929D 837D 08 03  CMP DWORD PTR SS:[EBP+8],3
005F92A3 8B45 0C    MOV EAX,DWORD PTR SS:[EBP+C]
005F92BB 837D 08 04  CMP DWORD PTR SS:[EBP+8],4
005F92C1 8B55 0C    MOV EDX,DWORD PTR SS:[EBP+C]

パッチ後
005F9243 837D 0C 00  CMP DWORD PTR SS:[EBP+C],0
005F9249 8B45 08    MOV EAX,DWORD PTR SS:[EBP+8]
005F9261 837D 0C 01  CMP DWORD PTR SS:[EBP+C],1
005F9267 8B55 08    MOV EDX,DWORD PTR SS:[EBP+8]
005F927F 837D 0C 02  CMP DWORD PTR SS:[EBP+C],2
005F9285 8B4D 08    MOV ECX,DWORD PTR SS:[EBP+8]
005F929D 837D 0C 03  CMP DWORD PTR SS:[EBP+C],3
005F92A3 8B45 08    MOV EAX,DWORD PTR SS:[EBP+8]
005F92BB 837D 0C 04  CMP DWORD PTR SS:[EBP+C],4
005F92C1 8B55 08    MOV EDX,DWORD PTR SS:[EBP+8]

要するに、判定種類とキャラの訓練所IDを間違って逆に参照しているところで
第1引数と第2引数の入れ替えをしています。

274 :名無しさんの野望:2010/10/10(日) 21:35:05 ID:dnWs1So/
ブレスの種類と回避判定に使われる運勢値の(本来の)対応表はこちら。

ブレス  運勢値
1     4
2     1
3     2
4     3
5     5

ブレスの種類
1:毒、ダメージ半減
2:眠、麻
3:石
4:(該当なし)
5:死

ブレスの種類とキャラの訓練所IDを間違って逆に参照しているバグのせいで
毒のブレスの回避とブレスダメージ半減の判定には、どのキャラであっても
訓練所1番目のキャラの運勢値が使われます。
訓練所の並び順で運勢値4,1,2,3,5が使われて6番目以降のキャラは必ず失敗します。

死のブレスの回避の判定には、どのキャラであっても
訓練所5番目のキャラの運勢値が使われます。
訓練所の並び順で運勢値4,1,2,3,5が使われて6番目以降のキャラは必ず失敗します。

276 :名無しさんの野望:2010/10/10(日) 21:36:48 ID:dnWs1So/
ブレス回避判定
 ダイス[0,21] > 運勢値

運勢値 = 20 - Lv/5 - LUC/6 -(職業補正) - (種族補正)
但し、上限18、下限1。

職業補正と種族補正は#1と殆ど同じ。
違うのは一箇所、ビショップの運勢値5の補正が「3」になっていることだけ。

参考:Wizardry(NES) 解析 - 運勢値
http://www6.atpages.jp/appsouko/work/Game/Wiz1_NES/fortune.html' target="_blank">ttp://www6.atpages.jp/appsouko/work/Game/Wiz1_NES/fortune.html
------------------------------------------------------------

いつもありがとうございます、助かります!
それにしてもなんつーバグだwしかし#1から種族ごとの耐性とかあったんだねー、6からだと思ってた。

273KB
続きを読む

名前: E-mail(省略可)
Valid HTML 4.01 Transitional READ.CGI - 0ch+ BBS 0.6.5 20120615
ぜろちゃんねる :: ぜろちゃんねるプラス