describe_chest_trap(flavor_ptr);
}
+static void describe_digging(player_type *player_ptr, flavor_type *flavor_ptr)
+{
+ if (object_is_quest_target(player_ptr, flavor_ptr->o_ptr) && !flavor_ptr->known)
+ return;
+
+ flavor_ptr->t = object_desc_chr(flavor_ptr->t, ' ');
+ flavor_ptr->t = object_desc_chr(flavor_ptr->t, flavor_ptr->p1);
+ flavor_ptr->t = object_desc_num(flavor_ptr->t, flavor_ptr->o_ptr->dd);
+ flavor_ptr->t = object_desc_chr(flavor_ptr->t, 'd');
+ flavor_ptr->t = object_desc_num(flavor_ptr->t, flavor_ptr->o_ptr->ds);
+ flavor_ptr->t = object_desc_chr(flavor_ptr->t, flavor_ptr->p2);
+}
+
+static void describe_bow(player_type *player_ptr, flavor_type *flavor_ptr)
+{
+ flavor_ptr->power = bow_tmul(flavor_ptr->o_ptr->sval);
+ if (have_flag(flavor_ptr->flags, TR_XTRA_MIGHT))
+ flavor_ptr->power++;
+
+ flavor_ptr->t = object_desc_chr(flavor_ptr->t, ' ');
+ flavor_ptr->t = object_desc_chr(flavor_ptr->t, flavor_ptr->p1);
+ flavor_ptr->t = object_desc_chr(flavor_ptr->t, 'x');
+ flavor_ptr->t = object_desc_num(flavor_ptr->t, flavor_ptr->power);
+ flavor_ptr->t = object_desc_chr(flavor_ptr->t, flavor_ptr->p2);
+ flavor_ptr->fire_rate = calc_num_fire(player_ptr, flavor_ptr->o_ptr);
+ if ((flavor_ptr->fire_rate == 0) || (flavor_ptr->power <= 0) || !flavor_ptr->known)
+ return;
+
+ flavor_ptr->fire_rate = bow_energy(flavor_ptr->o_ptr->sval) / flavor_ptr->fire_rate;
+ flavor_ptr->t = object_desc_chr(flavor_ptr->t, ' ');
+ flavor_ptr->t = object_desc_chr(flavor_ptr->t, flavor_ptr->p1);
+ flavor_ptr->t = object_desc_num(flavor_ptr->t, flavor_ptr->fire_rate / 100);
+ flavor_ptr->t = object_desc_chr(flavor_ptr->t, '.');
+ flavor_ptr->t = object_desc_num(flavor_ptr->t, flavor_ptr->fire_rate % 100);
+ flavor_ptr->t = object_desc_str(flavor_ptr->t, "turn");
+ flavor_ptr->t = object_desc_chr(flavor_ptr->t, flavor_ptr->p2);
+}
+
+static void describe_tval(player_type *player_ptr, flavor_type *flavor_ptr)
+{
+ switch (flavor_ptr->o_ptr->tval) {
+ case TV_SHOT:
+ case TV_BOLT:
+ case TV_ARROW:
+ case TV_HAFTED:
+ case TV_POLEARM:
+ case TV_SWORD:
+ case TV_DIGGING:
+ describe_digging(player_ptr, flavor_ptr);
+ break;
+ case TV_BOW:
+ describe_bow(player_ptr, flavor_ptr);
+ break;
+ }
+}
+
/*!
* @brief オブジェクトの各表記を返すメイン関数 / Creates a description of the item "o_ptr", and stores it in "out_val".
* @param player_ptr プレーヤーへの参照ポインタ
if (flavor_ptr->o_ptr->ac)
flavor_ptr->show_armour = TRUE;
- switch (flavor_ptr->o_ptr->tval) {
- case TV_SHOT:
- case TV_BOLT:
- case TV_ARROW:
- case TV_HAFTED:
- case TV_POLEARM:
- case TV_SWORD:
- case TV_DIGGING: {
- if (object_is_quest_target(player_ptr, flavor_ptr->o_ptr) && !flavor_ptr->known)
- break;
-
- flavor_ptr->t = object_desc_chr(flavor_ptr->t, ' ');
- flavor_ptr->t = object_desc_chr(flavor_ptr->t, flavor_ptr->p1);
- flavor_ptr->t = object_desc_num(flavor_ptr->t, flavor_ptr->o_ptr->dd);
- flavor_ptr->t = object_desc_chr(flavor_ptr->t, 'd');
- flavor_ptr->t = object_desc_num(flavor_ptr->t, flavor_ptr->o_ptr->ds);
- flavor_ptr->t = object_desc_chr(flavor_ptr->t, flavor_ptr->p2);
- break;
- }
- case TV_BOW: {
- flavor_ptr->power = bow_tmul(flavor_ptr->o_ptr->sval);
- if (have_flag(flavor_ptr->flags, TR_XTRA_MIGHT))
- flavor_ptr->power++;
-
- flavor_ptr->t = object_desc_chr(flavor_ptr->t, ' ');
- flavor_ptr->t = object_desc_chr(flavor_ptr->t, flavor_ptr->p1);
- flavor_ptr->t = object_desc_chr(flavor_ptr->t, 'x');
- flavor_ptr->t = object_desc_num(flavor_ptr->t, flavor_ptr->power);
- flavor_ptr->t = object_desc_chr(flavor_ptr->t, flavor_ptr->p2);
- flavor_ptr->fire_rate = calc_num_fire(player_ptr, flavor_ptr->o_ptr);
- if (flavor_ptr->fire_rate != 0 && flavor_ptr->power > 0 && flavor_ptr->known) {
- flavor_ptr->fire_rate = bow_energy(flavor_ptr->o_ptr->sval) / flavor_ptr->fire_rate;
- flavor_ptr->t = object_desc_chr(flavor_ptr->t, ' ');
- flavor_ptr->t = object_desc_chr(flavor_ptr->t, flavor_ptr->p1);
- flavor_ptr->t = object_desc_num(flavor_ptr->t, flavor_ptr->fire_rate / 100);
- flavor_ptr->t = object_desc_chr(flavor_ptr->t, '.');
- flavor_ptr->t = object_desc_num(flavor_ptr->t, flavor_ptr->fire_rate % 100);
- flavor_ptr->t = object_desc_str(flavor_ptr->t, "turn");
- flavor_ptr->t = object_desc_chr(flavor_ptr->t, flavor_ptr->p2);
- }
-
- break;
- }
- }
-
+ describe_tval(player_ptr, flavor_ptr);
if (flavor_ptr->known) {
if (flavor_ptr->show_weapon) {
flavor_ptr->t = object_desc_chr(flavor_ptr->t, ' ');