summaryrefslogtreecommitdiff
path: root/src/object2.cc
diff options
context:
space:
mode:
authorBardur Arantsson <bardur@scientician.net>2016-10-05 18:45:08 +0200
committerBardur Arantsson <bardur@scientician.net>2016-10-05 18:45:08 +0200
commitfd6449ac75f553e32d2efa84c3cdfba88bb32d6e (patch)
tree61499f66f9f44171085ef4d3ba9aad4955658f2b /src/object2.cc
parent1173c144b06d5d2d3c9e6351af5e6f06cb843d4b (diff)
Move ra_gen and ra_info into GameEditData
Diffstat (limited to 'src/object2.cc')
-rw-r--r--src/object2.cc21
1 files changed, 9 insertions, 12 deletions
diff --git a/src/object2.cc b/src/object2.cc
index 98487e46..ab84a214 100644
--- a/src/object2.cc
+++ b/src/object2.cc
@@ -4679,23 +4679,20 @@ static bool_ kind_is_good(int k_idx)
*/
bool_ kind_is_artifactable(int k_idx)
{
- int i, j;
- object_kind *k_ptr = &k_info[k_idx];
+ auto const &ra_info = game->edit_data.ra_info;
+ object_kind *k_ptr = &k_info[k_idx];
if (kind_is_good(k_idx))
{
- /* We consider the item artifactable if there is at least one
- * randart power in ra_info that could be added to this item. */
- for (i = 0; i < max_ra_idx; i++)
+ // Consider the item artifactable if there is at least one
+ // randart power which could be added to the item.
+ for (auto const &ra_ref: ra_info)
{
- randart_part_type *ra_ptr = &ra_info[i];
-
- for (j = 0; j < 20; j++)
+ for (auto const &filter: ra_ref.kind_filter)
{
- if (ra_ptr->tval[j] != k_ptr->tval) continue;
- if (ra_ptr->min_sval[j] > k_ptr->sval) continue;
- if (ra_ptr->max_sval[j] < k_ptr->sval) continue;
- /* Winner */
+ if (filter.tval != k_ptr->tval) continue;
+ if (filter.min_sval > k_ptr->sval) continue;
+ if (filter.max_sval < k_ptr->sval) continue;
return TRUE;
}
}