case 'w': case 'W':
{
object_prep(q_ptr, o_ptr->k_idx);
- apply_magic(q_ptr, dun_level, FALSE, TRUE, TRUE, TRUE);
+ 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, FALSE, TRUE, FALSE, TRUE);
+ 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, FALSE, FALSE, FALSE, FALSE);
+ 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, FALSE, TRUE, FALSE, FALSE);
+ 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, FALSE, TRUE, TRUE, FALSE);
+ 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, TRUE, TRUE, TRUE, FALSE);
+ apply_magic(q_ptr, dun_level, AM_GOOD | AM_GREAT | AM_SPECIAL);
- /* Failed to create normal artifact; make a random one */
- if (!artifact_p(q_ptr)) create_artifact(q_ptr, FALSE);
+ /* Failed to create artifact; make a random one */
+ if (!artifact_p(q_ptr) && !q_ptr->art_name) create_artifact(q_ptr, FALSE);
break;
}
}
char ch;
cptr quality;
- bool good, great;
+ u32b mode;
object_type forge;
object_type *q_ptr;
if (ch == 'n' || ch == 'N')
{
- good = FALSE;
- great = FALSE;
+ mode = 0L;
quality = "normal";
}
else if (ch == 'g' || ch == 'G')
{
- good = TRUE;
- great = FALSE;
+ mode = AM_GOOD;
quality = "good";
}
else if (ch == 'e' || ch == 'E')
{
- good = TRUE;
- great = TRUE;
+ mode = AM_GOOD | AM_GREAT;
quality = "excellent";
}
else
{
- good = FALSE;
- great = FALSE;
break;
}
object_wipe(q_ptr);
/* Create an object */
- make_object(q_ptr, good, great);
+ make_object(q_ptr, mode);
/* XXX XXX XXX Mega-Hack -- allow multiple artifacts */
}
}
+/* debug command for blue mage */
+static void do_cmd_wiz_blue_mage(void)
+{
+
+ int i = 0;
+ int j = 0;
+ s32b f4 = 0, f5 = 0, f6 = 0;
+
+ for (j=1; j<6; j++)
+ {
+
+ set_rf_masks(&f4, &f5, &f6, j);
+
+ for (i = 0; i < 32; i++)
+ {
+ if ((0x00000001 << i) & f4) p_ptr->magic_num2[i] = 1;
+ }
+ for (; i < 64; i++)
+ {
+ if ((0x00000001 << (i - 32)) & f5) p_ptr->magic_num2[i] = 1;
+ }
+ for (; i < 96; i++)
+ {
+ if ((0x00000001 << (i - 64)) & f6) p_ptr->magic_num2[i] = 1;
+ }
+ }
+}
/*
object_prep(q_ptr, k_idx);
/* Apply magic */
- apply_magic(q_ptr, dun_level, FALSE, FALSE, FALSE, FALSE);
+ apply_magic(q_ptr, dun_level, AM_NO_FIXED_ART);
/* Drop the object from heaven */
(void)drop_near(q_ptr, -1, py, px);
do_cmd_wiz_change();
break;
+ /* Blue Mage Only */
+ case 'E':
+ if (p_ptr->pclass == CLASS_BLUE_MAGE)
+ {
+ do_cmd_wiz_blue_mage();
+ }
+ break;
+
/* View item info */
case 'f':
identify_fully(FALSE);