チケット #29960

帰還と階段昇降が同ターンに発生した時の不具合

登録: 2012-10-27 10:00 最終更新: 2020-08-20 21:26

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

詳細

現象の複数報告確認。帰還時に階段を昇降した場合、帰還先のプレイヤーの足元にダンジョン生成処理の階段が出来てしまう。


処理の概要:

  • dungeon.cで階段昇降処理と帰還処理が行われる
  • 階段昇降などの@やモンスターの移動処理のあと、帰還処理などの世界の処理を行う
  • 階段昇降ではゲームターンが 1 進む
  • 世界の処理ではゲームターン数の1の位が0のとき帰還などの処理を行う
  • 帰還では、ダンジョンレベルが正なら上に帰還、そうでなければ下に帰還

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

2012-10-27 10:00 更新者: deskull
  • 新しいチケット "帰還と階段昇降が同ターンに発生した時の不具合" が作成されました
2013-02-03 13:41 更新者: iks
  • 解決法なし から 修正済み に更新されました
  • 優先度5 - 中 から 1 - 最低 に更新されました
  • 詳細が更新されました
コメント

症状について調べました。

  • 階段を昇ると同時に帰還発動: ** 昇った階のまま(そこに帰還)、足元に降り階段、降りてもダンジョン
  • 階段を降りると同時に帰還発動: ** 降りた階のまま(そこに帰還)、足元に昇り階段、昇ってもダンジョン
  • ダンジョンの入り口を昇る(1階から昇る)と同時に帰還発動: ** 荒野に帰還(上に帰還して荒野から荒野に)、ダンジョンへの入り口を降りるとダンジョンの1階
  • ダンジョンの入り口を降りる(1階に降りる)と同時に帰還発動: ** ダンジョンに帰還(下に帰還してダンジョンからダンジョンに)、足元に昇り階段で、昇ると荒野に出るが帰還階の1つ上の階になる(おかしくなる)

対処:

  • 場当たり的ではあるが、最後のケースに対処するため、ダンジョンに入る瞬間(p_ptr->enter_dungeon==TRUE)のときは下ではなく上に帰還するようにした ** 入る→荒野に戻る となる。
  • 他の場合も致命的な症状はなく普通にプレイ続行はできるが、挙動自体は怪しいので余裕があるときに見直すべき
2020-02-23 03:34 更新者: deskull
2020-08-20 21:26 更新者: deskull
コメント

iks への返信

症状について調べました。 * 階段を昇ると同時に帰還発動: ** 昇った階のまま(そこに帰還)、足元に降り階段、降りてもダンジョン * 階段を降りると同時に帰還発動: ** 降りた階のまま(そこに帰還)、足元に昇り階段、昇ってもダンジョン * ダンジョンの入り口を昇る(1階から昇る)と同時に帰還発動: ** 荒野に帰還(上に帰還して荒野から荒野に)、ダンジョンへの入り口を降りるとダンジョンの1階 * ダンジョンの入り口を降りる(1階に降りる)と同時に帰還発動: ** ダンジョンに帰還(下に帰還してダンジョンからダンジョンに)、足元に昇り階段で、昇ると荒野に出るが帰還階の1つ上の階になる(おかしくなる) 対処: * 場当たり的ではあるが、最後のケースに対処するため、ダンジョンに入る瞬間(p_ptr->enter_dungeon==TRUE)のときは下ではなく上に帰還するようにした ** 入る→荒野に戻る となる。 * 他の場合も致命的な症状はなく普通にプレイ続行はできるが、挙動自体は怪しいので余裕があるときに見直すべき

この件、リファクタリングで妙なミスが発生してないか再確認します。

2020-08-20 21:26 更新者: deskull
  • 担当者(未割り当て) から deskull に更新されました

添付ファイルリスト

添付ファイルはありません

編集

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