5 * @details Ego-Item indexes (see "lib/edit/e_info.txt")
7 #include "object-enchant/object-ego.h"
12 ego_item_type *e_info;
17 * Maximum number of ego-items in e_info.txt
22 * @brief アイテムのエゴをレア度の重みに合わせてランダムに選択する
23 * Choose random ego type
24 * @param slot 取得したいエゴの装備部位
25 * @param good TRUEならば通常のエゴ、FALSEならば呪いのエゴが選択対象となる。
26 * @return 選択されたエゴ情報のID、万一選択できなかった場合はmax_e_idxが返る。
28 byte get_random_ego(byte slot, bool good)
31 for (int i = 1; i < max_e_idx; i++) {
34 if (e_ptr->slot == slot && ((good && e_ptr->rating) || (!good && !e_ptr->rating))) {
36 total += (255 / e_ptr->rarity);
40 int value = randint1(total);
42 for (j = 1; j < max_e_idx; j++) {
45 if (e_ptr->slot == slot && ((good && e_ptr->rating) || (!good && !e_ptr->rating))) {
47 value -= (255 / e_ptr->rarity);