1 #include "view/display-lore-drops.h"
2 #include "lore/lore-util.h"
3 #include "monster-race/race-flags1.h"
4 #include "util/bit-flags-calculator.h"
6 void display_monster_drop_quantity(lore_type *lore_ptr)
8 lore_ptr->drop_quantity = MAX(lore_ptr->drop_gold, lore_ptr->drop_item);
9 if (lore_ptr->drop_quantity == 1) {
10 hooked_roff(_("一つの", " a"));
15 } else if (lore_ptr->drop_quantity == 2) {
16 hooked_roff(_("一つか二つの", " one or two"));
18 hooked_roff(format(_(" %d 個までの", " up to %d"), lore_ptr->drop_quantity));
22 void display_monster_drop_quality(lore_type* lore_ptr)
24 if (lore_ptr->flags1 & RF1_DROP_GREAT) {
25 lore_ptr->drop_quality = _("特別な", " exceptional");
26 } else if (lore_ptr->flags1 & RF1_DROP_GOOD) {
27 lore_ptr->drop_quality = _("上質な", " good");
30 lore_ptr->sin = false;
33 lore_ptr->drop_quality = nullptr;
37 void display_monster_drop_items(lore_type *lore_ptr)
39 if (lore_ptr->drop_item == 0)
47 lore_ptr->sin = false;
50 if (lore_ptr->drop_quality != nullptr)
51 hooked_roff(lore_ptr->drop_quality);
53 hooked_roff(_("アイテム", " object"));
56 if (lore_ptr->drop_quantity != 1)
59 lore_ptr->drop_quality = _("や", " or");
62 void display_monster_drop_golds(lore_type *lore_ptr)
64 auto is_item_only = lore_ptr->drop_gold == 0;
65 is_item_only |= any_bits(lore_ptr->flags1, RF1_DROP_GOOD);
66 is_item_only |= any_bits(lore_ptr->flags1, RF1_DROP_GREAT);
72 if (lore_ptr->drop_quality == nullptr)
73 lore_ptr->sin = false;
78 lore_ptr->sin = false;
81 if (lore_ptr->drop_quality != nullptr)
82 hooked_roff(lore_ptr->drop_quality);
84 hooked_roff(_("財宝", " treasure"));
87 if (lore_ptr->drop_quantity != 1)
92 void display_monster_drops(lore_type *lore_ptr)
94 if ((lore_ptr->drop_gold == 0) && (lore_ptr->drop_item == 0))
97 hooked_roff(format(_("%^sは", "%^s may carry"), Who::who(lore_ptr->msex)));
100 lore_ptr->sin = false;
103 display_monster_drop_quantity(lore_ptr);
104 display_monster_drop_quality(lore_ptr);
105 display_monster_drop_items(lore_ptr);
106 display_monster_drop_golds(lore_ptr);
107 hooked_roff(_("を持っていることがある。", ". "));