object_prep(q_ptr, lookup_kind(TV_FLASK, SV_ANY));
/* Fuel with oil (move pval to xtra4) */
- apply_magic(q_ptr, 1, 0L);
+ apply_magic(q_ptr, 1, AM_NO_FIXED_ART);
q_ptr->number = (byte)rand_range(7, 12);
object_aware(q_ptr);
int number;
bool small;
- u32b mode = AM_OKAY | AM_GOOD;
+ u32b mode = AM_GOOD;
object_type forge;
object_type *q_ptr;
if (randint0(100) < (15 - dun_level/2))
{
/* Create a simple object */
- place_object(y, x, AM_OKAY);
+ place_object(y, x, 0L);
/* Observe new object */
if (player_can_see_bold(y, x))
/*
* Bit flags for apply_magic() (etc)
*/
-#define AM_OKAY 0x00000001 /* Allow roll for fixed artifacts */
-#define AM_GOOD 0x00000002 /* Generate good items */
-#define AM_GREAT 0x00000004 /* Generate great items */
-#define AM_SPECIAL 0x00000008 /* Generate artifacts (for debug mode only) */
-#define AM_CURSED 0x00000010 /* Generate cursed/worthless items */
+#define AM_NO_FIXED_ART 0x00000001 /* Don't allow roll for fixed artifacts */
+#define AM_GOOD 0x00000002 /* Generate good items */
+#define AM_GREAT 0x00000004 /* Generate great items */
+#define AM_SPECIAL 0x00000008 /* Generate artifacts (for debug mode only) */
+#define AM_CURSED 0x00000010 /* Generate cursed/worthless items */
/*** Monster blow constants ***/
case ALLOC_TYP_OBJECT:
{
- place_object(y, x, AM_OKAY);
+ place_object(y, x, 0L);
break;
}
}
/* Place an item */
if (randint0(100) < 75)
{
- place_object(j, k, AM_OKAY);
+ place_object(j, k, 0L);
}
/* Place gold */
*/
if (randint0(100) < 75)
{
- place_object(*y, *x, AM_OKAY);
+ place_object(*y, *x, 0L);
}
else
{
/* Create an out of deep object */
if (randint0(100) < 75)
- place_object(*y, *x, AM_OKAY);
+ place_object(*y, *x, 0L);
else if (randint0(100) < 80)
- place_object(*y, *x, AM_OKAY | AM_GOOD);
+ place_object(*y, *x, AM_GOOD);
else
- place_object(*y, *x, AM_OKAY | AM_GOOD | AM_GREAT);
+ place_object(*y, *x, AM_GOOD | AM_GREAT);
object_level = base_level;
}
}
/* Apply magic (no messages, no artifacts) */
- apply_magic(o_ptr, base_level, AM_GOOD);
+ apply_magic(o_ptr, base_level, AM_NO_FIXED_ART | AM_GOOD);
(void)drop_near(o_ptr, -1, *y, *x);
}
if (mode & (AM_GREAT | AM_SPECIAL)) rolls = 4;
/* Hack -- Get no rolls if not allowed */
- if (!(mode & AM_OKAY) || o_ptr->name1) rolls = 0;
+ if ((mode & AM_NO_FIXED_ART) || o_ptr->name1) rolls = 0;
/* Roll for artifacts if allowed */
for (i = 0; i < rolls; i++)
{
object_type *i_ptr;
object_type object_type_body;
- u32b mode = AM_OKAY | AM_GOOD | (great ? AM_GREAT : 0L);
+ u32b mode = AM_GOOD | (great ? AM_GREAT : 0L);
/* Acquirement */
while (num--)
q_ptr->number = (byte)rand_range(15,30);
object_aware(q_ptr);
object_known(q_ptr);
- apply_magic(q_ptr, p_ptr->lev, 0L);
+ apply_magic(q_ptr, p_ptr->lev, AM_NO_FIXED_ART);
q_ptr->discount = 99;
(void)inven_carry(q_ptr);
/* Hack -- Give the player some small firestones */
object_prep(q_ptr, lookup_kind(TV_ARROW, m_bonus(1, p_ptr->lev)+ 1));
- q_ptr->number = (byte)rand_range(5,10);
+ q_ptr->number = (byte)rand_range(5, 10);
object_aware(q_ptr);
object_known(q_ptr);
- apply_magic(q_ptr, p_ptr->lev, 0L);
+ apply_magic(q_ptr, p_ptr->lev, AM_NO_FIXED_ART);
q_ptr->discount = 99;
else
{
q_ptr = &o_list[0 - item];
- }
+ }
/* Get local object */
q_ptr = &forge;
/* Hack -- Give the player some small firestones */
object_prep(q_ptr, lookup_kind(TV_BOLT, m_bonus(1, p_ptr->lev)+1));
- q_ptr->number = (byte)rand_range(4,8);
+ q_ptr->number = (byte)rand_range(4, 8);
object_aware(q_ptr);
object_known(q_ptr);
- apply_magic(q_ptr, p_ptr->lev, 0L);
+ apply_magic(q_ptr, p_ptr->lev, AM_NO_FIXED_ART);
q_ptr->discount = 99;
}
/* Place a treasure in the vault */
- place_object(yval, xval, AM_OKAY);
+ place_object(yval, xval, 0L);
/* Let's guard the treasure well */
vault_monsters(yval, xval, randint0(2) + 3);
/* Object (80%) */
if (randint0(100) < 80)
{
- place_object(yval, xval, AM_OKAY);
+ place_object(yval, xval, 0L);
}
/* Stairs (20%) */
vault_monsters(yval, xval + 2, randint1(2));
/* Objects */
- if (one_in_(3)) place_object(yval, xval - 2, AM_OKAY);
- if (one_in_(3)) place_object(yval, xval + 2, AM_OKAY);
+ if (one_in_(3)) place_object(yval, xval - 2, 0L);
+ if (one_in_(3)) place_object(yval, xval + 2, 0L);
}
break;
case '*':
if (randint0(100) < 75)
{
- place_object(y, x, AM_OKAY);
+ place_object(y, x, 0L);
}
else
{
case 'A':
/* Reward for Pattern walk */
object_level = base_level + 12;
- place_object(y, x, AM_OKAY | AM_GOOD);
+ place_object(y, x, AM_GOOD);
object_level = base_level;
break;
}
place_monster(y, x, PM_ALLOW_SLEEP);
monster_level = base_level;
object_level = base_level + 7;
- place_object(y, x, AM_OKAY | AM_GOOD);
+ place_object(y, x, AM_GOOD);
object_level = base_level;
break;
}
place_monster(y, x, PM_ALLOW_SLEEP);
monster_level = base_level;
object_level = base_level + 20;
- place_object(y, x, AM_OKAY | AM_GOOD | AM_GREAT);
+ place_object(y, x, AM_GOOD | AM_GREAT);
object_level = base_level;
break;
}
if (randint0(100) < 50)
{
object_level = base_level + 7;
- place_object(y, x, AM_OKAY);
+ place_object(y, x, 0L);
object_level = base_level;
}
break;
place_monster(y, x, (PM_ALLOW_SLEEP | PM_ALLOW_GROUP));
monster_level = base_level;
object_level = base_level + 20;
- place_object(y, x, AM_OKAY | AM_GOOD);
+ place_object(y, x, AM_GOOD);
object_level = base_level;
}
else if (value < 5)
place_monster(y, x, (PM_ALLOW_SLEEP | PM_ALLOW_GROUP));
monster_level = base_level;
object_level = base_level + 10;
- place_object(y, x, AM_OKAY | AM_GOOD);
+ place_object(y, x, AM_GOOD);
object_level = base_level;
}
else if (value < 10)
/* Object or trap */
if (randint0(100) < 25)
{
- place_object(y, x, AM_OKAY);
+ place_object(y, x, 0L);
}
else
{
if (randint0(100) < 50)
{
object_level = base_level + 7;
- place_object(y, x, AM_OKAY);
+ place_object(y, x, 0L);
object_level = base_level;
}
}
}
else if (randint0(100) < 50)
{
- place_object(y, x, AM_OKAY);
+ place_object(y, x, 0L);
}
}
build_small_room(x0, y0);
/* Place a treasure in the vault */
- place_object(y0, x0, AM_OKAY);
+ place_object(y0, x0, 0L);
/* Let's guard the treasure well */
vault_monsters(y0, x0, randint0(2) + 3);
obvious = TRUE;
}
- /* Place gold */
- place_object(y, x, AM_OKAY);
+ /* Place object */
+ place_object(y, x, 0L);
}
}
object_prep(q_ptr, i);
/* Apply some "low-level" magic (no artifacts) */
- apply_magic(q_ptr, level, 0L);
+ apply_magic(q_ptr, level, AM_NO_FIXED_ART);
/* Require valid object */
if (!store_will_buy(q_ptr)) continue;
case 'w': case 'W':
{
object_prep(q_ptr, o_ptr->k_idx);
- apply_magic(q_ptr, dun_level, AM_GOOD | AM_GREAT | AM_CURSED);
+ apply_magic(q_ptr, dun_level, AM_NO_FIXED_ART | AM_GOOD | AM_GREAT | AM_CURSED);
break;
}
/* Apply bad magic, but first clear object */
case 'c': case 'C':
{
object_prep(q_ptr, o_ptr->k_idx);
- apply_magic(q_ptr, dun_level, AM_GOOD | AM_CURSED);
+ apply_magic(q_ptr, dun_level, AM_NO_FIXED_ART | AM_GOOD | AM_CURSED);
break;
}
/* Apply normal magic, but first clear object */
case 'n': case 'N':
{
object_prep(q_ptr, o_ptr->k_idx);
- apply_magic(q_ptr, dun_level, 0L);
+ apply_magic(q_ptr, dun_level, AM_NO_FIXED_ART);
break;
}
/* Apply good magic, but first clear object */
case 'g': case 'G':
{
object_prep(q_ptr, o_ptr->k_idx);
- apply_magic(q_ptr, dun_level, AM_GOOD);
+ apply_magic(q_ptr, dun_level, AM_NO_FIXED_ART | AM_GOOD);
break;
}
/* Apply great magic, but first clear object */
case 'e': case 'E':
{
object_prep(q_ptr, o_ptr->k_idx);
- apply_magic(q_ptr, dun_level, AM_GOOD | AM_GREAT);
+ apply_magic(q_ptr, dun_level, AM_NO_FIXED_ART | AM_GOOD | AM_GREAT);
break;
}
/* Apply special magic, but first clear object */
case 's': case 'S':
{
object_prep(q_ptr, o_ptr->k_idx);
- apply_magic(q_ptr, dun_level, AM_OKAY | AM_GOOD | AM_GREAT | AM_SPECIAL);
+ apply_magic(q_ptr, dun_level, AM_GOOD | AM_GREAT | AM_SPECIAL);
/* Failed to create artifact; make a random one */
if (!artifact_p(q_ptr) && !q_ptr->art_name) create_artifact(q_ptr, FALSE);
if (ch == 'n' || ch == 'N')
{
- mode = AM_OKAY;
+ mode = 0L;
quality = "normal";
}
else if (ch == 'g' || ch == 'G')
{
- mode = AM_OKAY | AM_GOOD;
+ mode = AM_GOOD;
quality = "good";
}
else if (ch == 'e' || ch == 'E')
{
- mode = AM_OKAY | AM_GOOD | AM_GREAT;
+ mode = AM_GOOD | AM_GREAT;
quality = "excellent";
}
else
object_prep(q_ptr, k_idx);
/* Apply magic */
- apply_magic(q_ptr, dun_level, 0L);
+ apply_magic(q_ptr, dun_level, AM_NO_FIXED_ART);
/* Drop the object from heaven */
(void)drop_near(q_ptr, -1, py, px);
object_wipe(q_ptr);
/* Make a great object */
- make_object(q_ptr, AM_OKAY | AM_GOOD | AM_GREAT);
+ make_object(q_ptr, AM_GOOD | AM_GREAT);
/* Drop it in the dungeon */
(void)drop_near(q_ptr, -1, y, x);
bool visible = (m_ptr->ml || (r_ptr->flags1 & RF1_UNIQUE));
- u32b mo_mode = AM_OKAY;
+ u32b mo_mode = 0L;
bool do_gold = (!(r_ptr->flags1 & RF1_ONLY_ITEM));
bool do_item = (!(r_ptr->flags1 & RF1_ONLY_GOLD));
/* Prepare to make a prize */
object_prep(q_ptr, lookup_kind(arena_info[p_ptr->arena_number].tval, arena_info[p_ptr->arena_number].sval));
- apply_magic(q_ptr, object_level, 0L);
+ apply_magic(q_ptr, object_level, AM_NO_FIXED_ART);
/* Drop it in the dungeon */
(void)drop_near(q_ptr, -1, y, x);
/* Prepare to make an object */
object_prep(q_ptr, lookup_kind(TV_CORPSE, (corpse ? SV_CORPSE : SV_SKELETON)));
- apply_magic(q_ptr, object_level, 0L);
+ apply_magic(q_ptr, object_level, AM_NO_FIXED_ART);
q_ptr->pval = m_ptr->r_idx;
/* Prepare to make a Blade of Chaos */
object_prep(q_ptr, lookup_kind(TV_SWORD, SV_BLADE_OF_CHAOS));
- apply_magic(q_ptr, object_level, 0L);
+ apply_magic(q_ptr, object_level, AM_NO_FIXED_ART);
/* Drop it in the dungeon */
(void)drop_near(q_ptr, -1, y, x);
get_obj_num_prep();
/* Make a book */
- make_object(q_ptr, AM_OKAY);
+ make_object(q_ptr, 0L);
/* Drop it in the dungeon */
(void)drop_near(q_ptr, -1, y, x);
q_ptr->name1 = ART_GROND;
/* Mega-Hack -- Actually create "Grond" */
- apply_magic(q_ptr, -1, AM_OKAY | AM_GOOD | AM_GREAT);
+ apply_magic(q_ptr, -1, AM_GOOD | AM_GREAT);
/* Drop it in the dungeon */
(void)drop_near(q_ptr, -1, y, x);
q_ptr->name1 = ART_CHAOS;
/* Mega-Hack -- Actually create "Chaos" */
- apply_magic(q_ptr, -1, AM_OKAY | AM_GOOD | AM_GREAT);
+ apply_magic(q_ptr, -1, AM_GOOD | AM_GREAT);
/* Drop it in the dungeon */
(void)drop_near(q_ptr, -1, y, x);
/* Prepare to make a Can of Toys */
object_prep(q_ptr, lookup_kind(TV_CHEST, SV_CHEST_KANDUME));
- apply_magic(q_ptr, object_level, 0L);
+ apply_magic(q_ptr, object_level, AM_NO_FIXED_ART);
/* Drop it in the dungeon */
(void)drop_near(q_ptr, -1, y, x);
get_obj_num_prep();
/* Make a cloak */
- make_object(q_ptr, AM_OKAY);
+ make_object(q_ptr, 0L);
/* Drop it in the dungeon */
(void)drop_near(q_ptr, -1, y, x);
get_obj_num_prep();
/* Make a poleweapon */
- make_object(q_ptr, AM_OKAY);
+ make_object(q_ptr, 0L);
/* Drop it in the dungeon */
(void)drop_near(q_ptr, -1, y, x);
get_obj_num_prep();
/* Make a hard armor */
- make_object(q_ptr, AM_OKAY);
+ make_object(q_ptr, 0L);
/* Drop it in the dungeon */
(void)drop_near(q_ptr, -1, y, x);
get_obj_num_prep();
/* Make a sword */
- make_object(q_ptr, AM_OKAY);
+ make_object(q_ptr, 0L);
/* Drop it in the dungeon */
(void)drop_near(q_ptr, -1, y, x);
/* Prepare to make a reward */
object_prep(q_ptr, k_idx);
- apply_magic(q_ptr, object_level, AM_GOOD);
+ apply_magic(q_ptr, object_level, AM_NO_FIXED_ART | AM_GOOD);
/* Drop it in the dungeon */
(void)drop_near(q_ptr, -1, y, x);