OSDN Git Service

[Fix] #41173 ウィンドウフラグに装備を表示した状態で射撃武器を装備すると強制終了する不具合
authorHabu <habu@users.sourceforge.jp>
Fri, 15 Jan 2021 09:34:51 +0000 (18:34 +0900)
committerHabu <habu@users.sourceforge.jp>
Fri, 15 Jan 2021 09:35:19 +0000 (18:35 +0900)
commit06eb73be837d192963435c25f19e74a78550cb37
tree8a689138e31d060f785b5c68d14950b127999c1c
parente2af5c49e4c15076c1cd6673b129256d8aee3ba0
[Fix] #41173 ウィンドウフラグに装備を表示した状態で射撃武器を装備すると強制終了する不具合

player_ptr->tval_ammo には、calc_bonuses() において装備している射撃武器に合った矢弾の tval がセットされる。
しかし、射撃武器を装備した時にサブウィンドウに装備を描画する段階では
まだ player_ptr->tval_ammo が更新されておらず TV_NONE になっている。
この状態で空欄になっている装備スロットに対し describe_flavor() が呼ばれると
装備無しスロットは tval が TV_NONE なので player_ptr->tval_ammo と一致してしまい、
空欄に対して矢弾のダメージ表記を計算しようとしてしまう。
空欄なので weight が 0 であるため、0除算が発生して強制終了となる。
player_ptr->tval_ammo は使用せず、bow_tval_ammo() を直接呼び出して正しい矢弾の種類を得るようにする。
src/flavor/flavor-describer.c