チケット #14614

呪われた複数重なっている松明のバグ
登録: 2009-01-12 22:42 最終更新: 2009-05-10 00:11

報告者:
担当者:
チケットの種類:
状況:
オープン [担当者決定済み]
コンポーネント:
(未割り当て)
マイルストーン:
(未割り当て)
優先度:
5 - 中
重要度:
5 - 中
解決法:
修正済み
ファイル:
1

詳細

呪われた、複数重なっている松明を[a]pplyした時に点灯に失敗すると、手にした松明に取り分けた(はずの)残りの松明が重なってしまい、その後の動作がおかしくなります。
#元はFHSパッチに対するyoukanさんのご報告でしたが、
#JSLASH'EM-0.0.7E7F3-J0.2.1でも同様の状況を確認。

なお、似たような報告が本家にもありました。
[ 1957126 ] Cursed torch causes dungeon to collapse (2008-05-04)
http://sourceforge.net/tracker/index.php?func=detail&aid=1957126&group_id=9746&atid=109746

それに対するパッチがこちら。
[ 2181262 ] Patch for cursed torches crash (2008-10-20)
https://sourceforge.net/tracker/index.php?func=detail&aid=2181262&group_id=9746&atid=309746

宜しくお願いします。

チケットの履歴 (5 件中 3 件表示)

2009-01-12 23:09 更新者: sakusha
コメント
[追記]
…該当パッチ見直してみましたが、これでは不十分かもしれません。

該当パッチだと、obj->quanが1を超える時に(obj == uwep && welded(obj))なら処理を停止するようになっていますが、
これだと「装備せずに[a]pplyした場合」はすり抜けてしまいそうです。
 #自動的に装備する処理はこの箇所より後に入っている。
2009-01-13 20:42 更新者: sakusha
  • 添付ファイル 3560: torchfix.diff が付加されました
コメント
修正ファイル自作してみました。
#但しJSLASH'EM上でのコンパイル確認等は行っていません。
宜しくお願いします。
2009-01-14 22:48 更新者: so-miya
  • 解決法なし から 受領 に更新されました
  • 担当者(未割り当て) から so-miya に更新されました
コメント
ご報告ありがとうございます。

いただいたパッチですが、消灯時の動作が本家と違っちゃうのはできれば避けたいので後半だけお手本にさせていただきます。

hold_another_objectの前後でobj->speを±1させるか、obj->ageを±20すれば表示メッセージを変更することなく回避できるかな・・・?
ageならlongだからたぶん桁あふれは無いと思う。
2009-05-09 22:59 更新者: so-miya
コメント

hold_another_objectの前後でobj->speを±1させるだけではダメですね。その時点では問題ないけれど、別けた松明を落して拾ったときにマージされるが、そのときにおかしくなる。

あと、hold_another_objectの前後でobj->speを±1させるとアイテム名が表示される場合があって、そのときに強化値が表示されてしまうようなのでobj->ageを±20で対処するかな。

まぁ、呪われたものを装備しているとき、通常は分割して落すことはできないけれど、松明の場合は使用すると分割できちゃうのは少し奇妙ではあるけれどしょうがないかな。

装備しないでの消灯と、取り分け時のメッセージは本家と動作が変わってしまうので見送る予定です。

2009-05-10 00:11 更新者: so-miya
  • 解決法受領 から 修正済み に更新されました

添付ファイルリスト

  • torchfix.diff(1KB)
    • 松明修正用diff (JSLASH'EM-0.0.7E7F3-J0.2.1用)

編集

ログインしていません。ログインしていない状態では、コメントに記載者の記録が残りません。 » ログインする