flavor_ptr->aware = false;
flavor_ptr->flavor = true;
flavor_ptr->known = false;
- flavor_ptr->flavor_k_ptr = flavor_ptr->k_ptr;
+ flavor_ptr->flavor_bii_ptr = flavor_ptr->bii_ptr;
}
}
}
const auto timeout_per_one = baseitems_info[item.bi_id].pval;
- if (timeout_per_one <= 0) {
- return "";
- }
-
auto num_of_charging = (item.timeout + (timeout_per_one - 1)) / timeout_per_one;
if (num_of_charging > item.number) {
num_of_charging = item.number;
flavor_ptr->b2 = ']';
flavor_ptr->c1 = '{';
flavor_ptr->c2 = '}';
- flavor_ptr->k_ptr = &baseitems_info[o_ptr->bi_id];
- flavor_ptr->flavor_k_ptr = &baseitems_info[flavor_ptr->k_ptr->flavor];
+ flavor_ptr->bii_ptr = &baseitems_info[o_ptr->bi_id];
+ flavor_ptr->flavor_bii_ptr = &baseitems_info[flavor_ptr->bii_ptr->flavor];
return flavor_ptr;
}
char fake_insc_buf[30];
TrFlags tr_flags;
ItemEntity *bow_ptr;
- BaseitemInfo *k_ptr;
- BaseitemInfo *flavor_k_ptr;
+ BaseitemInfo *bii_ptr;
+ BaseitemInfo *flavor_bii_ptr;
int avgdam;
};
#include "info-reader/parse-error-types.h"
#include "main/angband-headers.h"
#include "object-enchant/tr-types.h"
+#include "object/tval-types.h"
#include "system/baseitem-info.h"
#include "term/gameterm.h"
#include "util/bit-flags-calculator.h"
const auto sval = std::stoi(tokens[2], nullptr, base);
bii_ptr->bi_key = { tval, sval };
info_set_value(bii_ptr->pval, tokens[3]);
+ if ((tval == ItemKindType::ROD) && (bii_ptr->pval <= 0)) {
+ return PAESE_ERROR_INVALID_PVAL;
+ }
} else if (tokens[0] == "W") {
// W:level:weight:cost
if (tokens.size() < 4) {
PARSE_ERROR_OUT_OF_BOUNDS = 8,
PARSE_ERROR_TOO_FEW_ARGUMENTS = 9,
PARSE_ERROR_UNDEFINED_TERRAIN_TAG = 10,
- PARSE_ERROR_MAX = 11,
+ PAESE_ERROR_INVALID_PVAL = 11,
+ PARSE_ERROR_MAX,
};