concptr q = _("どれを撃ちますか? ", "Fire which item? ");
concptr s = _("発射されるアイテムがありません。", "You have nothing to fire.");
- ammo_ptr = choose_object(creature_ptr, &item, q, s, USE_INVEN | USE_FLOOR, static_cast<tval_type>(creature_ptr->tval_ammo));
+ ammo_ptr = choose_object(creature_ptr, &item, q, s, USE_INVEN | USE_FLOOR, creature_ptr->tval_ammo);
if (!ammo_ptr) {
flush();
return;
o_ptr = &creature_ptr->inventory_list[INVEN_BOW];
if (o_ptr->k_idx) {
- creature_ptr->tval_ammo = (byte)bow_tval_ammo(o_ptr);
+ creature_ptr->tval_ammo = bow_tval_ammo(o_ptr);
creature_ptr->num_fire = calc_num_fire(creature_ptr, o_ptr);
}
if (is_heavy_shoot(creature_ptr, o_ptr))
return (int16_t)num;
- tval_type tval_ammo = static_cast<tval_type>(bow_tval_ammo(o_ptr));
+ tval_type tval_ammo = bow_tval_ammo(o_ptr);
if ((creature_ptr->pclass == CLASS_RANGER) && (tval_ammo == TV_ARROW)) {
num += (creature_ptr->lev * 4);
}
* @param o_ptr 判定する射撃武器のアイテム情報参照ポインタ
* @return 対応する矢/弾薬のベースアイテムID
*/
-int bow_tval_ammo(object_type *o_ptr)
+tval_type bow_tval_ammo(object_type *o_ptr)
{
switch (o_ptr->sval) {
case SV_SLING: {
}
}
- return 0;
+ return TV_NONE;
}
#pragma once
+#include "object/tval-types.h"
+
typedef struct object_type object_type;
-int bow_tval_ammo(object_type *o_ptr);
+tval_type bow_tval_ammo(object_type *o_ptr);
#include "mutation/mutation-flag-types.h"
#include "object-enchant/trc-types.h"
+#include "object/tval-types.h"
#include "player-ability/player-ability-types.h"
#include "player/player-class-types.h"
#include "player/player-personality-types.h"
int16_t num_fire{}; /* Number of shots */
byte tval_xtra{}; /* (Unused)Correct xtra tval */
- byte tval_ammo{}; /* Correct ammo tval */
+ tval_type tval_ammo{}; /* Correct ammo tval */
int16_t pspeed{}; /*!< 現在の速度 / Current speed */