チケット #40652

プレイヤーのフラグについて耐性処理と表示処理を一致させる

登録: 2020-08-20 23:54 最終更新: 2021-09-30 23:12

報告者:
担当者:
チケットの種類:
状況:
完了
コンポーネント:
(未割り当て)
優先度:
5 - 中
重要度:
5 - 中
解決法:
なし
ファイル:
なし

詳細

現状ダンプで表示される各耐性と特性と実際の分岐処理が別個になっているため、今後の追加などに色々障ることが多いと判断、面倒だがどうにか今回の内に統合する。

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

2020-08-20 23:54 更新者: deskull
  • 新しいチケット "プレイヤーのフラグについて耐性処理と表示処理を一致させる" が作成されました
2020-08-23 02:07 更新者: deskull
コメント

flag_cause構造体を定義

enum flag_cause {
    FLAG_CAUSE_INVEN_RARM = 0, /*!< アイテムスロット…右手 */
    FLAG_CAUSE_INVEN_LARM = 1, /*!< アイテムスロット…左手 */
    FLAG_CAUSE_INVEN_BOW = 2, /*!< アイテムスロット…射撃 */
    FLAG_CAUSE_INVEN_RIGHT = 3, /*!< アイテムスロット…右手指 */
    FLAG_CAUSE_INVEN_LEFT = 4, /*!< アイテムスロット…左手指 */
    FLAG_CAUSE_INVEN_NECK = 5, /*!< アイテムスロット…首 */
    FLAG_CAUSE_INVEN_LITE = 6, /*!< アイテムスロット…光源 */
    FLAG_CAUSE_INVEN_BODY = 7, /*!< アイテムスロット…体 */
    FLAG_CAUSE_INVEN_OUTER = 8, /*!< アイテムスロット…体の上 */
    FLAG_CAUSE_INVEN_HEAD = 9, /*!< アイテムスロット…頭部 */
    FLAG_CAUSE_INVEN_HANDS = 10, /*!< アイテムスロット…腕部 */
    FLAG_CAUSE_INVEN_FEET = 11, /*!< アイテムスロット…脚部 */
    FLAG_CAUSE_RACE = 12, /*!< 種族上の体得 */
    FLAG_CAUSE_CLASS = 13, /*!< 職業上の体得 */
    FLAG_CAUSE_PERSONALITY = 14, /*!< 性格上の体得 */
    FLAG_CAUSE_MAGIC_TIME_EFFECT = 15 /*!< 魔法による時限効果 */
};

player-status-flags.c/h 中でダンプに出力しているものの返り値をBIT_FLAGS(32bit)にして、フラグを得られた起因を確保し、そのままダンプに応用できるようにする予定。後々の拡張の基礎にもできると判断。

2021-01-02 22:10 更新者: deskull
コメント

依然3.0.0正式版までの対応をキープ。

2021-01-17 23:34 更新者: deskull
コメント

3.0.0Alpha系のバグで弊害をいくつも起こしている。やはり、早期に対応しておくべきだったか。 #41185 にてHabus氏にplayer-status-flags.cの関数命名についても突っ込み入れられているので検討しておく。

2021-04-01 09:01 更新者: None
2021-09-30 23:12 更新者: hourier
  • 状況オープン から 完了 に更新されました
コメント

命名規則はさておき、(言語ではなく設計として)C++への変換を進めていてかなり低減されてきた
このチケットで対応する意味はもはやないとみなしてクローズ

添付ファイルリスト

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

編集

このチケットにコメントを追加するには、ログインが必要です » ログインする