Hengband  2.2.1
データ構造 | マクロ定義 | 型定義 | 関数 | 変数
quest.h ファイル
被依存関係図:

[ソースコード]

データ構造

struct  quest_type
 クエスト情報の構造体 / Structure for the "quests". [詳解]
 

マクロ定義

#define MIN_RANDOM_QUEST   40 /*<! ランダムクエストを割り当てるクエストIDの開始値 */
 
#define MAX_RANDOM_QUEST   49 /*<! ランダムクエストを割り当てるクエストIDの終了値 */
 
#define QUEST_STATUS_UNTAKEN   0
 クエストステータス状態:未発生 [詳解]
 
#define QUEST_STATUS_TAKEN   1
 クエストステータス状態:発生中 [詳解]
 
#define QUEST_STATUS_COMPLETED   2
 クエストステータス状態:達成 [詳解]
 
#define QUEST_STATUS_REWARDED   3
 クエストステータス状態:報酬受け取り前 [詳解]
 
#define QUEST_STATUS_FINISHED   4
 クエストステータス状態:完了 [詳解]
 
#define QUEST_STATUS_FAILED   5
 クエストステータス状態:失敗 [詳解]
 
#define QUEST_STATUS_FAILED_DONE   6
 クエストステータス状態:失敗完了 [詳解]
 
#define QUEST_STATUS_STAGE_COMPLETED   7
 クエストステータス状態:ステージ毎達成 [詳解]
 
#define QUEST_TYPE_KILL_LEVEL   1
 クエスト目的: 特定のユニークモンスターを倒す [詳解]
 
#define QUEST_TYPE_KILL_ANY_LEVEL   2
 クエスト目的: イベント受託時点でランダムで選ばれた特定のユニークモンスターを倒す [詳解]
 
#define QUEST_TYPE_FIND_ARTIFACT   3
 クエスト目的: 特定のアーティファクトを発見する [詳解]
 
#define QUEST_TYPE_FIND_EXIT   4
 クエスト目的: 脱出する [詳解]
 
#define QUEST_TYPE_KILL_NUMBER   5
 クエスト目的: モンスターを無差別に特定数倒す [詳解]
 
#define QUEST_TYPE_KILL_ALL   6
 クエスト目的: エリア中のすべてのモンスターを全て倒す [詳解]
 
#define QUEST_TYPE_RANDOM   7
 クエスト目的: ランダムクエストとして選ばれたユニーク1体を倒す [詳解]
 
#define QUEST_TYPE_TOWER   8
 クエスト目的: 複数のエリアの全てのモンスターを倒す [詳解]
 
#define QUEST_FLAG_SILENT   0x01
 クエストフラグ: クエスト進行に関する情報表示を抑止する / no messages from completion [詳解]
 
#define QUEST_FLAG_PRESET   0x02
 クエストフラグ: クエストがダンジョン外で発生する / quest is outside the main dungeon [詳解]
 
#define QUEST_FLAG_ONCE   0x04
 クエストフラグ: クエストがフロアを出た時点で完了する / quest is marked finished after leaving [詳解]
 
#define QUEST_FLAG_TOWER   0x08
 クエストフラグ: クエスト:塔の形式で進行する / Tower quest is special [詳解]
 
#define is_fixed_quest_idx(Q_IDX)   (((Q_IDX) < MIN_RANDOM_QUEST) || ((Q_IDX) > MAX_RANDOM_QUEST))
 該当IDが固定クエストかどうかを判定する / Check is the quest index is "fixed" [詳解]
 
#define QUEST_TOWER1   5 /*<! 塔クエスト(第1階層)に割り振るクエストID */
 
#define QUEST_TOWER2   6 /*<! 塔クエスト(第2階層)に割り振るクエストID */
 
#define QUEST_TOWER3   7 /*<! 塔クエスト(第3階層)に割り振るクエストID */
 
#define QUEST_OBERON   8 /*<! オベロン打倒クエストに割り振るクエストID */
 
#define QUEST_SERPENT   9 /*<! サーペント打倒クエストに割り振るクエストID */
 

型定義

typedef struct quest_type quest_type
 

関数

void determine_random_questor (quest_type *q_ptr)
 ランダムクエストの討伐ユニークを決める / Determine the random quest uniques [詳解]
 
void complete_quest (QUEST_IDX quest_num)
 クエストを達成状態にする / [詳解]
 
void check_quest_completion (monster_type *m_ptr)
 特定の敵を倒した際にクエスト達成処理 / Check for "Quest" completion when a quest monster is killed or charmed. [詳解]
 
void check_find_art_quest_completion (object_type *o_ptr)
 特定のアーティファクトを入手した際のクエスト達成処理 / Check for "Quest" completion when a quest monster is killed or charmed. [詳解]
 
void quest_discovery (QUEST_IDX q_idx)
 クエストの導入メッセージを表示する / Discover quest [詳解]
 
QUEST_IDX quest_number (DEPTH level)
 新しく入ったダンジョンの階層に固定されている一般のクエストを探し出しIDを返す。 / Hack – Check if a level is a "quest" level [詳解]
 
QUEST_IDX random_quest_number (DEPTH level)
 新しく入ったダンジョンの階層に固定されているランダムクエストを探し出しIDを返す。 [詳解]
 
void leave_quest_check (void)
 クエスト階層から離脱する際の処理 [詳解]
 
void leave_tower_check (void)
 「塔」クエストの各階層から離脱する際の処理 [詳解]
 
void do_cmd_quest (void)
 クエスト入り口にプレイヤーが乗った際の処理 / Do building commands [詳解]
 

変数

quest_typequest
 Quest info [詳解]
 
QUEST_IDX max_q_idx
 Maximum number of quests [詳解]
 
char quest_text [10][80]
 Quest text [詳解]
 
int quest_text_line
 Current line of the quest text [詳解]
 
int leaving_quest
 

マクロ定義詳解

◆ is_fixed_quest_idx

#define is_fixed_quest_idx (   Q_IDX)    (((Q_IDX) < MIN_RANDOM_QUEST) || ((Q_IDX) > MAX_RANDOM_QUEST))

該当IDが固定クエストかどうかを判定する / Check is the quest index is "fixed"

引数
Q_IDXクエストID
戻り値
固定クエストならばTRUEを返す

◆ MAX_RANDOM_QUEST

#define MAX_RANDOM_QUEST   49 /*<! ランダムクエストを割り当てるクエストIDの終了値 */

◆ MIN_RANDOM_QUEST

#define MIN_RANDOM_QUEST   40 /*<! ランダムクエストを割り当てるクエストIDの開始値 */

◆ QUEST_FLAG_ONCE

#define QUEST_FLAG_ONCE   0x04

クエストフラグ: クエストがフロアを出た時点で完了する / quest is marked finished after leaving

◆ QUEST_FLAG_PRESET

#define QUEST_FLAG_PRESET   0x02

クエストフラグ: クエストがダンジョン外で発生する / quest is outside the main dungeon

◆ QUEST_FLAG_SILENT

#define QUEST_FLAG_SILENT   0x01

クエストフラグ: クエスト進行に関する情報表示を抑止する / no messages from completion

◆ QUEST_FLAG_TOWER

#define QUEST_FLAG_TOWER   0x08

クエストフラグ: クエスト:塔の形式で進行する / Tower quest is special

◆ QUEST_OBERON

#define QUEST_OBERON   8 /*<! オベロン打倒クエストに割り振るクエストID */

◆ QUEST_SERPENT

#define QUEST_SERPENT   9 /*<! サーペント打倒クエストに割り振るクエストID */

◆ QUEST_STATUS_COMPLETED

#define QUEST_STATUS_COMPLETED   2

クエストステータス状態:達成

◆ QUEST_STATUS_FAILED

#define QUEST_STATUS_FAILED   5

クエストステータス状態:失敗

◆ QUEST_STATUS_FAILED_DONE

#define QUEST_STATUS_FAILED_DONE   6

クエストステータス状態:失敗完了

◆ QUEST_STATUS_FINISHED

#define QUEST_STATUS_FINISHED   4

クエストステータス状態:完了

◆ QUEST_STATUS_REWARDED

#define QUEST_STATUS_REWARDED   3

クエストステータス状態:報酬受け取り前

◆ QUEST_STATUS_STAGE_COMPLETED

#define QUEST_STATUS_STAGE_COMPLETED   7

クエストステータス状態:ステージ毎達成

◆ QUEST_STATUS_TAKEN

#define QUEST_STATUS_TAKEN   1

クエストステータス状態:発生中

◆ QUEST_STATUS_UNTAKEN

#define QUEST_STATUS_UNTAKEN   0

クエストステータス状態:未発生

◆ QUEST_TOWER1

#define QUEST_TOWER1   5 /*<! 塔クエスト(第1階層)に割り振るクエストID */

◆ QUEST_TOWER2

#define QUEST_TOWER2   6 /*<! 塔クエスト(第2階層)に割り振るクエストID */

◆ QUEST_TOWER3

#define QUEST_TOWER3   7 /*<! 塔クエスト(第3階層)に割り振るクエストID */

◆ QUEST_TYPE_FIND_ARTIFACT

#define QUEST_TYPE_FIND_ARTIFACT   3

クエスト目的: 特定のアーティファクトを発見する

◆ QUEST_TYPE_FIND_EXIT

#define QUEST_TYPE_FIND_EXIT   4

クエスト目的: 脱出する

◆ QUEST_TYPE_KILL_ALL

#define QUEST_TYPE_KILL_ALL   6

クエスト目的: エリア中のすべてのモンスターを全て倒す

◆ QUEST_TYPE_KILL_ANY_LEVEL

#define QUEST_TYPE_KILL_ANY_LEVEL   2

クエスト目的: イベント受託時点でランダムで選ばれた特定のユニークモンスターを倒す

◆ QUEST_TYPE_KILL_LEVEL

#define QUEST_TYPE_KILL_LEVEL   1

クエスト目的: 特定のユニークモンスターを倒す

◆ QUEST_TYPE_KILL_NUMBER

#define QUEST_TYPE_KILL_NUMBER   5

クエスト目的: モンスターを無差別に特定数倒す

◆ QUEST_TYPE_RANDOM

#define QUEST_TYPE_RANDOM   7

クエスト目的: ランダムクエストとして選ばれたユニーク1体を倒す

◆ QUEST_TYPE_TOWER

#define QUEST_TYPE_TOWER   8

クエスト目的: 複数のエリアの全てのモンスターを倒す

型定義詳解

◆ quest_type

typedef struct quest_type quest_type

関数詳解

◆ check_find_art_quest_completion()

void check_find_art_quest_completion ( object_type o_ptr)

特定のアーティファクトを入手した際のクエスト達成処理 / Check for "Quest" completion when a quest monster is killed or charmed.

引数
o_ptr入手したオブジェクトの構造体参照ポインタ
戻り値
なし
呼び出し関係図:

◆ check_quest_completion()

void check_quest_completion ( monster_type m_ptr)

特定の敵を倒した際にクエスト達成処理 / Check for "Quest" completion when a quest monster is killed or charmed.

引数
m_ptr撃破したモンスターの構造体参照ポインタ
戻り値
なし
呼び出し関係図:

◆ complete_quest()

void complete_quest ( QUEST_IDX  quest_num)

クエストを達成状態にする /

引数
quest_num達成状態にしたいクエストのID
戻り値
なし
呼び出し関係図:

◆ determine_random_questor()

void determine_random_questor ( quest_type q_ptr)

ランダムクエストの討伐ユニークを決める / Determine the random quest uniques

引数
q_ptrクエスト構造体の参照ポインタ
戻り値
なし
呼び出し関係図:

◆ do_cmd_quest()

void do_cmd_quest ( void  )

クエスト入り口にプレイヤーが乗った際の処理 / Do building commands

戻り値
なし
呼び出し関係図:

◆ leave_quest_check()

void leave_quest_check ( void  )

クエスト階層から離脱する際の処理

戻り値
なし
呼び出し関係図:

◆ leave_tower_check()

void leave_tower_check ( void  )

「塔」クエストの各階層から離脱する際の処理

戻り値
なし
呼び出し関係図:

◆ quest_discovery()

void quest_discovery ( QUEST_IDX  q_idx)

クエストの導入メッセージを表示する / Discover quest

引数
q_idx開始されたクエストのID
呼び出し関係図:

◆ quest_number()

QUEST_IDX quest_number ( DEPTH  level)

新しく入ったダンジョンの階層に固定されている一般のクエストを探し出しIDを返す。 / Hack – Check if a level is a "quest" level

引数
level検索対象になる階
戻り値
クエストIDを返す。該当がない場合0を返す。
呼び出し関係図:

◆ random_quest_number()

QUEST_IDX random_quest_number ( DEPTH  level)

新しく入ったダンジョンの階層に固定されているランダムクエストを探し出しIDを返す。

引数
level検索対象になる階
戻り値
クエストIDを返す。該当がない場合0を返す。
呼び出し関係図:

変数詳解

◆ leaving_quest

int leaving_quest

◆ max_q_idx

QUEST_IDX max_q_idx

Maximum number of quests

◆ quest

quest_type* quest

Quest info

◆ quest_text

char quest_text[10][80]

Quest text

◆ quest_text_line

int quest_text_line

Current line of the quest text