#include "world.h"
#include "sort.h"
+#include "avatar.h"
+#include "mutation.h"
+#include "quest.h"
+#include "artifact.h"
+
/*!
* ループ中で / hack as in leave_store in store.c
*/
static void get_questinfo(IDX questnum, bool do_init)
{
int i;
- IDX old_quest;
+ QUEST_IDX old_quest;
GAME_TEXT tmp_str[80];
/* Clear the text */
*/
static void castle_quest(void)
{
- IDX q_index = 0;
- monster_race *r_ptr;
- quest_type *q_ptr;
- concptr name;
+ QUEST_IDX q_index = 0;
+ monster_race *r_ptr;
+ quest_type *q_ptr;
+ concptr name;
clear_bldg(4, 18);
screen_save();
clear_bldg(0, 22);
-#ifdef JP
- put_str(format("あなたの現在のAC: %3d", iAC), row++, 0);
- put_str(format("ダメージ軽減率 : %3d%%", protection), row++, 0);
+ put_str(format(_("あなたの現在のAC: %3d", "Your current AC : %3d"), iAC), row++, 0);
+ put_str(format(_("ダメージ軽減率 : %3d%%", "Protection rate : %3d%%"), protection), row++, 0);
row++;
- put_str("敵のレベル :", row + 0, 0);
- put_str("回避率 :", row + 1, 0);
- put_str("ダメージ期待値 :", row + 2, 0);
-#else
- put_str(format("Your current AC : %3d", iAC), row++, 0);
- put_str(format("Protection rate : %3d%%", protection), row++, 0);
- row++;
-
- put_str("Level of Monster:", row + 0, 0);
- put_str("Dodge Rate :", row + 1, 0);
- put_str("Average Damage :", row + 2, 0);
-#endif
+ put_str(_("敵のレベル :", "Level of Monster:"), row + 0, 0);
+ put_str(_("回避率 :", "Dodge Rate :"), row + 1, 0);
+ put_str(_("ダメージ期待値 :", "Average Damage :"), row + 2, 0);
for (col = 17 + 1, lvl = 0; lvl <= 100; lvl += 10, col += 5)
{
#else
msg_format("%^s %s recharged for %d gold.", tmp_str, ((o_ptr->number > 1) ? "were" : "was"), price);
#endif
-
- /* Combine / Reorder the pack (later) */
p_ptr->update |= (PU_COMBINE | PU_REORDER);
p_ptr->window |= (PW_INVEN);
/* Give feedback */
msg_format(_("$%d で再充填しました。", "You pay %d gold."), total_cost);
msg_print(NULL);
-
- /* Combine / Reorder the pack (later) */
p_ptr->update |= (PU_COMBINE | PU_REORDER);
p_ptr->window |= (PW_INVEN);
MONSTER_IDX *who;
/* XTRA HACK WHATSEARCH */
- bool all = FALSE;
- bool uniq = FALSE;
- bool norm = FALSE;
+ bool all = FALSE;
+ bool uniq = FALSE;
+ bool norm = FALSE;
char temp[80] = "";
/* XTRA HACK REMEMBER_IDX */
p_ptr->redraw |= (PR_BASIC | PR_EXTRA | PR_EQUIPPY | PR_MAP);
p_ptr->window |= (PW_OVERHEAD | PW_DUNGEON);
}
-
-
-/*!
- * @brief クエスト突入時のメッセージテーブル / Array of places to find an inscription
- */
-static concptr find_quest[] =
-{
- _("床にメッセージが刻まれている:", "You find the following inscription in the floor"),
- _("壁にメッセージが刻まれている:", "You see a message inscribed in the wall"),
- _("メッセージを見つけた:", "There is a sign saying"),
- _("何かが階段の上に書いてある:", "Something is written on the staircase"),
- _("巻物を見つけた。メッセージが書いてある:", "You find a scroll with the following message"),
-};
-
-
-/*!
- * @brief クエストの導入メッセージを表示する / Discover quest
- * @param q_idx 開始されたクエストのID
- */
-void quest_discovery(QUEST_IDX q_idx)
-{
- quest_type *q_ptr = &quest[q_idx];
- monster_race *r_ptr = &r_info[q_ptr->r_idx];
- MONSTER_NUMBER q_num = q_ptr->max_num;
- GAME_TEXT name[MAX_NLEN];
-
- /* No quest index */
- if (!q_idx) return;
-
- strcpy(name, (r_name + r_ptr->name));
-
- msg_print(find_quest[rand_range(0, 4)]);
- msg_print(NULL);
-
- if (q_num == 1)
- {
- /* Unique */
-
- /* Hack -- "unique" monsters must be "unique" */
- if ((r_ptr->flags1 & RF1_UNIQUE) && (0 == r_ptr->max_num))
- {
- msg_print(_("この階は以前は誰かによって守られていたようだ…。", "It seems that this level was protected by someone before..."));
- /* The unique is already dead */
- quest[q_idx].status = QUEST_STATUS_FINISHED;
- q_ptr->complev = 0;
- update_playtime();
- q_ptr->comptime = playtime;
- }
- else
- {
- msg_format(_("注意せよ!この階は%sによって守られている!", "Beware, this level is protected by %s!"), name);
- }
- }
- else
- {
- /* Normal monsters */
-#ifndef JP
- plural_aux(name);
-#endif
- msg_format(_("注意しろ!この階は%d体の%sによって守られている!", "Be warned, this level is guarded by %d %s!"), q_num, name);
-
- }
-}
-
-
-/*!
- * @brief 新しく入ったダンジョンの階層に固定されている一般のクエストを探し出しIDを返す。
- * / Hack -- Check if a level is a "quest" level
- * @param level 検索対象になる階
- * @return クエストIDを返す。該当がない場合0を返す。
- */
-QUEST_IDX quest_number(DEPTH level)
-{
- QUEST_IDX i;
-
- /* Check quests */
- if (p_ptr->inside_quest)
- return (p_ptr->inside_quest);
-
- for (i = 0; i < max_q_idx; i++)
- {
- if (quest[i].status != QUEST_STATUS_TAKEN) continue;
-
- if ((quest[i].type == QUEST_TYPE_KILL_LEVEL) &&
- !(quest[i].flags & QUEST_FLAG_PRESET) &&
- (quest[i].level == level) &&
- (quest[i].dungeon == dungeon_type))
- return (i);
- }
-
- /* Check for random quest */
- return (random_quest_number(level));
-}
-
-/*!
- * @brief 新しく入ったダンジョンの階層に固定されているランダムクエストを探し出しIDを返す。
- * @param level 検索対象になる階
- * @return クエストIDを返す。該当がない場合0を返す。
- */
-QUEST_IDX random_quest_number(DEPTH level)
-{
- QUEST_IDX i;
-
- if (dungeon_type != DUNGEON_ANGBAND) return 0;
-
- for (i = MIN_RANDOM_QUEST; i < MAX_RANDOM_QUEST + 1; i++)
- {
- if ((quest[i].type == QUEST_TYPE_RANDOM) &&
- (quest[i].status == QUEST_STATUS_TAKEN) &&
- (quest[i].level == level) &&
- (quest[i].dungeon == DUNGEON_ANGBAND))
- {
- return i;
- }
- }
-
- return 0;
-}