Hengband
2.2.1
|
データ構造 | |
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_type * | quest |
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 |
#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 |
#define MAX_RANDOM_QUEST 49 /*<! ランダムクエストを割り当てるクエストIDの終了値 */ |
#define MIN_RANDOM_QUEST 40 /*<! ランダムクエストを割り当てるクエストIDの開始値 */ |
#define QUEST_FLAG_ONCE 0x04 |
クエストフラグ: クエストがフロアを出た時点で完了する / quest is marked finished after leaving
#define QUEST_FLAG_PRESET 0x02 |
クエストフラグ: クエストがダンジョン外で発生する / quest is outside the main dungeon
#define QUEST_FLAG_SILENT 0x01 |
クエストフラグ: クエスト進行に関する情報表示を抑止する / no messages from completion
#define QUEST_FLAG_TOWER 0x08 |
クエストフラグ: クエスト:塔の形式で進行する / Tower quest is special
#define QUEST_OBERON 8 /*<! オベロン打倒クエストに割り振るクエストID */ |
#define QUEST_SERPENT 9 /*<! サーペント打倒クエストに割り振るクエストID */ |
#define QUEST_STATUS_COMPLETED 2 |
クエストステータス状態:達成
#define QUEST_STATUS_FAILED 5 |
クエストステータス状態:失敗
#define QUEST_STATUS_FAILED_DONE 6 |
クエストステータス状態:失敗完了
#define QUEST_STATUS_FINISHED 4 |
クエストステータス状態:完了
#define QUEST_STATUS_REWARDED 3 |
クエストステータス状態:報酬受け取り前
#define QUEST_STATUS_STAGE_COMPLETED 7 |
クエストステータス状態:ステージ毎達成
#define QUEST_STATUS_TAKEN 1 |
クエストステータス状態:発生中
#define QUEST_STATUS_UNTAKEN 0 |
クエストステータス状態:未発生
#define QUEST_TOWER1 5 /*<! 塔クエスト(第1階層)に割り振るクエストID */ |
#define QUEST_TOWER2 6 /*<! 塔クエスト(第2階層)に割り振るクエストID */ |
#define QUEST_TOWER3 7 /*<! 塔クエスト(第3階層)に割り振るクエストID */ |
#define QUEST_TYPE_FIND_ARTIFACT 3 |
クエスト目的: 特定のアーティファクトを発見する
#define QUEST_TYPE_FIND_EXIT 4 |
クエスト目的: 脱出する
#define QUEST_TYPE_KILL_ALL 6 |
クエスト目的: エリア中のすべてのモンスターを全て倒す
#define QUEST_TYPE_KILL_ANY_LEVEL 2 |
クエスト目的: イベント受託時点でランダムで選ばれた特定のユニークモンスターを倒す
#define QUEST_TYPE_KILL_LEVEL 1 |
クエスト目的: 特定のユニークモンスターを倒す
#define QUEST_TYPE_KILL_NUMBER 5 |
クエスト目的: モンスターを無差別に特定数倒す
#define QUEST_TYPE_RANDOM 7 |
クエスト目的: ランダムクエストとして選ばれたユニーク1体を倒す
#define QUEST_TYPE_TOWER 8 |
クエスト目的: 複数のエリアの全てのモンスターを倒す
typedef struct quest_type quest_type |
void check_find_art_quest_completion | ( | object_type * | o_ptr | ) |
特定のアーティファクトを入手した際のクエスト達成処理 / Check for "Quest" completion when a quest monster is killed or charmed.
o_ptr | 入手したオブジェクトの構造体参照ポインタ |
void check_quest_completion | ( | monster_type * | m_ptr | ) |
特定の敵を倒した際にクエスト達成処理 / Check for "Quest" completion when a quest monster is killed or charmed.
m_ptr | 撃破したモンスターの構造体参照ポインタ |
void complete_quest | ( | QUEST_IDX | quest_num | ) |
クエストを達成状態にする /
quest_num | 達成状態にしたいクエストのID |
void determine_random_questor | ( | quest_type * | q_ptr | ) |
ランダムクエストの討伐ユニークを決める / Determine the random quest uniques
q_ptr | クエスト構造体の参照ポインタ |
void do_cmd_quest | ( | void | ) |
クエスト入り口にプレイヤーが乗った際の処理 / Do building commands
void leave_quest_check | ( | void | ) |
クエスト階層から離脱する際の処理
void leave_tower_check | ( | void | ) |
「塔」クエストの各階層から離脱する際の処理
void quest_discovery | ( | QUEST_IDX | q_idx | ) |
クエストの導入メッセージを表示する / Discover quest
q_idx | 開始されたクエストのID |
新しく入ったダンジョンの階層に固定されている一般のクエストを探し出しIDを返す。 / Hack – Check if a level is a "quest" level
level | 検索対象になる階 |
新しく入ったダンジョンの階層に固定されているランダムクエストを探し出しIDを返す。
level | 検索対象になる階 |
int leaving_quest |
QUEST_IDX max_q_idx |
Maximum number of quests
quest_type* quest |
Quest info
char quest_text[10][80] |
Quest text
int quest_text_line |
Current line of the quest text