OSDN Git Service

[Refactor] #37353 混沌の戦士のレイシャル「幻惑の光」を confusing_light() に分離。 / Separate Chaos warrior...
[hengband/hengband.git] / src / birth.c
index 7be7221..4e4b1eb 100644 (file)
  */
 
 #include "angband.h"
+#include "avatar.h"
 #include "history.h"
 #include "monsterrace-hook.h"
 #include "store.h"
+#include "quest.h"
+#include "player-status.h"
 
 /*!
  * オートローラーの内容を描画する間隔 / 
@@ -1829,45 +1832,6 @@ static void player_wipe_without_name(void)
 }
 
 
-/*!
- * @brief ランダムクエストの討伐ユニークを決める / Determine the random quest uniques
- * @param q_ptr クエスト構造体の参照ポインタ
- * @return なし
- */
-void determine_random_questor(quest_type *q_ptr)
-{
-       MONRACE_IDX r_idx;
-       monster_race *r_ptr;
-
-       /* Prepare allocation table */
-       get_mon_num_prep(mon_hook_quest, NULL);
-
-       while (1)
-       {
-               /*
-                * Random monster 5 - 10 levels out of depth
-                * (depending on level)
-                */
-               r_idx = get_mon_num(q_ptr->level + 5 + randint1(q_ptr->level / 10));
-               r_ptr = &r_info[r_idx];
-
-               if (!(r_ptr->flags1 & RF1_UNIQUE)) continue;
-               if (r_ptr->flags1 & RF1_QUESTOR) continue;
-               if (r_ptr->rarity > 100) continue;
-               if (r_ptr->flags7 & RF7_FRIENDLY) continue;
-               if (r_ptr->flags7 & RF7_AQUATIC) continue;
-               if (r_ptr->flags8 & RF8_WILD_ONLY) continue;
-               if (no_questor_or_bounty_uniques(r_idx)) continue;
-
-               /*
-                * Accept monsters that are 2 - 6 levels
-                * out of depth depending on the quest level
-                */
-               if (r_ptr->level > (q_ptr->level + (q_ptr->level / 20))) break;
-       }
-
-       q_ptr->r_idx = r_idx;
-}
 
 /*!
  * @brief ダンジョン内部のクエストを初期化する / Initialize random quests and final quests
@@ -2252,8 +2216,6 @@ void player_outfit(void)
 
        case RACE_DEMON:
                /* Demon can drain vitality from humanoid corpse */
-
-               /* Prepare allocation table */
                get_mon_num_prep(monster_hook_human, NULL);
 
                for (i = rand_range(3,4); i > 0; i--)
@@ -2282,7 +2244,7 @@ void player_outfit(void)
        case RACE_ENT:
                /* Potions of Water */
                object_prep(q_ptr, lookup_kind(TV_POTION, SV_POTION_WATER));
-               q_ptr->number = (byte)rand_range(15, 23);
+               q_ptr->number = (ITEM_NUMBER)rand_range(15, 23);
                add_outfit(q_ptr);
 
                break;
@@ -2294,7 +2256,7 @@ void player_outfit(void)
                /* Fuel with oil (move pval to xtra4) */
                apply_magic(q_ptr, 1, AM_NO_FIXED_ART);
 
-               q_ptr->number = (byte)rand_range(7, 12);
+               q_ptr->number = (ITEM_NUMBER)rand_range(7, 12);
                add_outfit(q_ptr);
 
                break;
@@ -2302,7 +2264,7 @@ void player_outfit(void)
        default:
                /* Food rations */
                object_prep(q_ptr, lookup_kind(TV_FOOD, SV_FOOD_RATION));
-               q_ptr->number = (byte)rand_range(3, 7);
+               q_ptr->number = (ITEM_NUMBER)rand_range(3, 7);
 
                add_outfit(q_ptr);
        }
@@ -2313,7 +2275,7 @@ void player_outfit(void)
                /* Hack -- Give the player scrolls of DARKNESS! */
                object_prep(q_ptr, lookup_kind(TV_SCROLL, SV_SCROLL_DARKNESS));
 
-               q_ptr->number = rand_range(2, 5);
+               q_ptr->number = (ITEM_NUMBER)rand_range(2, 5);
 
                add_outfit(q_ptr);
        }
@@ -2321,7 +2283,7 @@ void player_outfit(void)
        {
                /* Hack -- Give the player some torches */
                object_prep(q_ptr, lookup_kind(TV_LITE, SV_LITE_TORCH));
-               q_ptr->number = rand_range(3, 7);
+               q_ptr->number = (ITEM_NUMBER)rand_range(3, 7);
                q_ptr->xtra4 = rand_range(3, 7) * 500;
 
                add_outfit(q_ptr);
@@ -2354,7 +2316,7 @@ void player_outfit(void)
        {
                /* Hack -- Give the player some arrows */
                object_prep(q_ptr, lookup_kind(TV_ARROW, SV_AMMO_NORMAL));
-               q_ptr->number = (byte)rand_range(15, 20);
+               q_ptr->number = (ITEM_NUMBER)rand_range(15, 20);
 
                add_outfit(q_ptr);
        }
@@ -2363,7 +2325,7 @@ void player_outfit(void)
                /* Hack -- Give the player some arrows */
                object_prep(q_ptr, lookup_kind(TV_WAND, SV_WAND_MAGIC_MISSILE));
                q_ptr->number = 1;
-               q_ptr->pval = (byte)rand_range(25, 30);
+               q_ptr->pval = (PARAMETER_VALUE)rand_range(25, 30);
 
                add_outfit(q_ptr);
        }
@@ -2711,13 +2673,13 @@ static bool get_player_class(void)
                                else
                                        sprintf(cur, "%c%c%s", sym[cs], p2, str);
 
-                                       c_put_str(TERM_L_BLUE, cp_ptr->title, 3, 40);
-                                       put_str(_("の職業修正", ": Class modification"), 3, 40+strlen(cp_ptr->title));
-                                       put_str(_("腕力 知能 賢さ 器用 耐久 魅力 経験 ", "Str  Int  Wis  Dex  Con  Chr   EXP "), 4, 40);
-                                       sprintf(buf, "%+3d  %+3d  %+3d  %+3d  %+3d  %+3d %+4d%% ",
-                                               cp_ptr->c_adj[0], cp_ptr->c_adj[1], cp_ptr->c_adj[2], cp_ptr->c_adj[3],
-                                               cp_ptr->c_adj[4], cp_ptr->c_adj[5], cp_ptr->c_exp);
-                                       c_put_str(TERM_L_BLUE, buf, 5, 40);
+                               c_put_str(TERM_L_BLUE, cp_ptr->title, 3, 40);
+                               put_str(_("の職業修正", ": Class modification"), 3, 40 + strlen(cp_ptr->title));
+                               put_str(_("腕力 知能 賢さ 器用 耐久 魅力 経験 ", "Str  Int  Wis  Dex  Con  Chr   EXP "), 4, 40);
+                               sprintf(buf, "%+3d  %+3d  %+3d  %+3d  %+3d  %+3d %+4d%% ",
+                                       cp_ptr->c_adj[0], cp_ptr->c_adj[1], cp_ptr->c_adj[2], cp_ptr->c_adj[3],
+                                       cp_ptr->c_adj[4], cp_ptr->c_adj[5], cp_ptr->c_exp);
+                               c_put_str(TERM_L_BLUE, buf, 5, 40);
                        }
                        c_put_str(TERM_YELLOW, cur, 13 + (cs / 4), 2 + 19 * (cs % 4));
                        os = cs;
@@ -4743,4 +4705,3 @@ void dump_yourself(FILE *fff)
                }
        }
 }
-