Tíquete #14614

呪われた複数重なっている松明のバグ
: 2009-01-12 22:42 Última Atualização: 2009-05-10 00:11

Relator:
Dono:
Tipo:
Estado:
Aberto [Owner assigned]
Componente:
(Nenhum)
Marcos:
(Nenhum)
Prioridade:
5 - Medium
Gravidade:
5 - Medium
Resolução:
Fixed
Arquivo:
1

Details

呪われた、複数重なっている松明を[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

宜しくお願いします。

Ticket History (3/5 Histories)

2009-01-12 23:09 Updated by: sakusha
Comentário
[追記]
…該当パッチ見直してみましたが、これでは不十分かもしれません。

該当パッチだと、obj->quanが1を超える時に(obj == uwep && welded(obj))なら処理を停止するようになっていますが、
これだと「装備せずに[a]pplyした場合」はすり抜けてしまいそうです。
 #自動的に装備する処理はこの箇所より後に入っている。
2009-01-13 20:42 Updated by: sakusha
  • File 3560: torchfix.diff is attached
Comentário
修正ファイル自作してみました。
#但しJSLASH'EM上でのコンパイル確認等は行っていません。
宜しくお願いします。
2009-01-14 22:48 Updated by: so-miya
  • Resolução Update from Nenhum to Accepted
  • Dono Update from (Nenhum) to so-miya
Comentário
ご報告ありがとうございます。

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

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

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

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

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

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

2009-05-10 00:11 Updated by: so-miya
  • Resolução Update from Accepted to Fixed

Attachment File List

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

Editar

You are not logged in. I you are not logged in, your comment will be treated as an anonymous post. » Login