売却アイテムの食い違いバグ (フォーラムメッセージ #82368 からの引用)
フォーラム 変愚蛮怒フォーラム [#82368] からの引用
[forum: 82368] > [環境] > OS:Windows 10 Ver 1803 (64bit) > 変愚蛮怒:2.2.1.6(開発版) (ローグライク実験室のhengband-20190108065314-1ddecd2-win) > > [事象] > 未鑑定の物品を売った時、それと違うものが無くなって元のものは鑑定されて残る、といったものです。 > > 再現できる状況としては、例えば > ・修行僧で初めて、 > ・もの言えぬ証人クエストで未鑑定の酔っ払いの薬と致命傷の薬を拾ってきて、 > ・店で未鑑定の酔っ払いの薬を5個いっぺんに売却すると > ログが以下のようになり、 > ---------------------------------------------------------------------------- > 5服の 刺激臭のする薬(e)を売却する。 > すんなりとこの金額にまとまった。 > そうしよう! > 店主は耳うちした: > すべてのパターンの武器は混沌の悪魔たちに致命的な一撃を与えるそうだ。 > 5服の 酔っ払いの薬を $70で売却しました。 > ザックの中のアイテムを並べ直した。 > 誰かがむせび泣く声が聞こえる...。 > もうヒーローの薬を持っていない。 > ---------------------------------------------------------------------------- > 初期物品のヒーローの薬が代わりに無くなってしまい、酔っ払いの薬は手元に残ったままになります。 > > 半年程度前のversion(具体的な数は今確認できないのですが)では起こらなかったと > 思っています。 >
原因判明、更新処理の雑然とした状態に対処するためのリファクタリングに伴う副作用。msg_print()中に統合したhandle_stuff()が予めONにしていたアイテム並び替え処理を行ってしまい、売却するアイテムと残すアイテムが交換されるのが原因であった。
以上を踏まえて、当該問題点は直接対処する上で、今後の拡張性を高めるためにも以下のように再度リファクタリングする。
一応今回の直接の原因になった問題は対応。
問題なさそうなのでチケット完了。
フォーラム 変愚蛮怒フォーラム [#82368] からの引用