OSDN Git Service

[Refactor] #41493 Removed unnecessary files in io/
[hengband/hengband.git] / src / lore / lore-util.c
1 #include "lore/lore-util.h"
2 #include "game-option/birth-options.h"
3 #include "monster-race/monster-race.h"
4 #include "term/screen-processor.h"
5 #include "term/term-color-types.h"
6
7 concptr wd_he[3] = { _("それ", "it"), _("彼", "he"), _("彼女", "she") };
8 concptr wd_his[3] = { _("それの", "its"), _("彼の", "his"), _("彼女の", "her") };
9
10 /*
11  * Prepare hook for c_roff(). It will be changed for spoiler generation in wizard1.c.
12  */
13 hook_c_roff_pf hook_c_roff = c_roff;
14
15 lore_type *initialize_lore_type(lore_type *lore_ptr, MONRACE_IDX r_idx, BIT_FLAGS mode)
16 {
17 #ifdef JP
18 #else
19     lore_ptr->sin = FALSE;
20 #endif
21     lore_ptr->r_idx = r_idx;
22     lore_ptr->nightmare = ironman_nightmare && !(mode & 0x02);
23     lore_ptr->r_ptr = &r_info[r_idx];
24     lore_ptr->speed = lore_ptr->nightmare ? lore_ptr->r_ptr->speed + 5 : lore_ptr->r_ptr->speed;
25     lore_ptr->drop_gold = lore_ptr->r_ptr->r_drop_gold;
26     lore_ptr->drop_item = lore_ptr->r_ptr->r_drop_item;
27     lore_ptr->flags1 = (lore_ptr->r_ptr->flags1 & lore_ptr->r_ptr->r_flags1);
28     lore_ptr->flags2 = (lore_ptr->r_ptr->flags2 & lore_ptr->r_ptr->r_flags2);
29     lore_ptr->flags3 = (lore_ptr->r_ptr->flags3 & lore_ptr->r_ptr->r_flags3);
30     lore_ptr->flags4 = (lore_ptr->r_ptr->flags4 & lore_ptr->r_ptr->r_flags4);
31     lore_ptr->a_ability_flags1 = (lore_ptr->r_ptr->a_ability_flags1 & lore_ptr->r_ptr->r_flags5);
32     lore_ptr->a_ability_flags2 = (lore_ptr->r_ptr->a_ability_flags2 & lore_ptr->r_ptr->r_flags6);
33     lore_ptr->flags7 = (lore_ptr->r_ptr->flags7 & lore_ptr->r_ptr->flags7);
34     lore_ptr->flagsr = (lore_ptr->r_ptr->flagsr & lore_ptr->r_ptr->r_flagsr);
35     lore_ptr->reinforce = FALSE;
36     lore_ptr->know_everything = FALSE;
37     lore_ptr->mode = mode;
38     lore_ptr->old = FALSE;
39     lore_ptr->count = 0;
40     return lore_ptr;
41 }
42
43 /*!
44  * @brief モンスターの思い出メッセージをあらかじめ指定された関数ポインタに基づき出力する
45  * @param str 出力文字列
46  * @return なし
47  */
48 void hooked_roff(concptr str) { hook_c_roff(TERM_WHITE, str); }