OSDN Git Service

Add new option -- show_ammo_detail / show_ammo_no_crit
[hengband/hengband.git] / src / wizard2.c
index 77443de..27fa4b1 100644 (file)
@@ -340,6 +340,39 @@ static void prt_alloc(byte tval, byte sval, int row, int col)
        prt(r, row, col);
 }
 
+static void do_cmd_wiz_reset_class(void)
+{
+       int tmp_int;
+       char tmp_val[160];
+       char ppp[80];
+
+       /* Prompt */
+       sprintf(ppp, "Class (0-%d): ", MAX_CLASS - 1);
+
+       /* Default */
+       sprintf(tmp_val, "%d", p_ptr->pclass);
+
+       /* Query */
+       if (!get_string(ppp, tmp_val, 2)) return;
+
+       /* Extract */
+       tmp_int = atoi(tmp_val);
+
+       /* Verify */
+       if (tmp_int < 0 || tmp_int >= MAX_CLASS) return;
+
+       /* Save it */
+       p_ptr->pclass = tmp_int;
+
+       /* Redraw inscription */
+       p_ptr->window |= (PW_PLAYER);
+
+       /* {.} and {$} effect p_ptr->warning and TRC_TELEPORT_SELF */
+       p_ptr->update |= (PU_BONUS | PU_HP | PU_MANA | PU_SPELLS);
+
+       update_stuff();
+}
+
 
 /*
  * Hack -- Teleport to the target
@@ -1815,7 +1848,7 @@ static void do_cmd_dump_options(void)
        /* Check for exist option bits */
        for (i = 0; option_info[i].o_desc; i++)
        {
-               option_type *ot_ptr = &option_info[i];
+               const option_type *ot_ptr = &option_info[i];
                if (ot_ptr->o_var) exist[ot_ptr->o_set][ot_ptr->o_bit] = i + 1;
        }
 
@@ -1831,7 +1864,7 @@ static void do_cmd_dump_options(void)
                {
                        if (exist[i][j])
                        {
-                               option_type *ot_ptr = &option_info[exist[i][j] - 1];
+                               const option_type *ot_ptr = &option_info[exist[i][j] - 1];
                                fprintf(fff, "  %d -  %02d (%4d) %s\n",
                                        i, j, ot_ptr->o_page, ot_ptr->o_text);
                        }
@@ -2022,6 +2055,11 @@ void do_cmd_debug(void)
                (void)gain_random_mutation(command_arg);
                break;
 
+       /* Reset Class */
+       case 'R':
+               (void)do_cmd_wiz_reset_class();
+               break;
+
        /* Specific reward */
        case 'r':
                (void)gain_level_reward(command_arg);