-+-+-+-+-+-+-+-+ START OF PART 77 -+-+-+-+-+-+-+-+ X for (j = 0; j < cur_width; j++) X if (cave`5Bi`5D`5Bj`5D.fval <= MAX_CAVE_FLOOR) X`09for (k = i-1; k <= i+1; k++) X`09 for (l = j-1; l <= j+1; l++) X`09 `7B X`09 c_ptr = &cave`5Bk`5D`5Bl`5D; X`09 c_ptr->pl = flag; X`09 if (!flag) X`09`09c_ptr->fm = FALSE; X`09 `7D X prt_map(); X`7D X X X/* Wizard routine for gaining on stats`09`09`09-RAK-`09*/ Xvoid change_character() X`7B X register int tmp_val; X register int32 tmp_lval; X int8u *a_ptr; X vtype tmp_str; X register struct misc *m_ptr; X X a_ptr = py.stats.max_stat; X prt("(3 - 118) Strength = ", 0, 0); X if (get_string(tmp_str, 0, 25, 3)) X `7B X tmp_val = atoi(tmp_str); X if ((tmp_val > 2) && (tmp_val < 119)) X`09`7B X`09 a_ptr`5BA_STR`5D = tmp_val; X`09 (void) res_stat(A_STR); X`09`7D X `7D X else X return; X X prt("(3 - 118) Intelligence = ", 0, 0); X if (get_string(tmp_str, 0, 25, 3)) X `7B X tmp_val = atoi(tmp_str); X if ((tmp_val > 2) && (tmp_val < 119)) X`09`7B X`09 a_ptr`5BA_INT`5D = tmp_val; X`09 (void) res_stat(A_INT); X`09`7D X `7D X else X return; X X prt("(3 - 118) Wisdom = ", 0, 0); X if (get_string(tmp_str, 0, 25, 3)) X `7B X tmp_val = atoi(tmp_str); X if ((tmp_val > 2) && (tmp_val < 119)) X`09`7B X`09 a_ptr`5BA_WIS`5D = tmp_val; X`09 (void) res_stat(A_WIS); X`09`7D X `7D X else X return; X X prt("(3 - 118) Dexterity = ", 0, 0); X if (get_string(tmp_str, 0, 25, 3)) X `7B X tmp_val = atoi(tmp_str); X if ((tmp_val > 2) && (tmp_val < 119)) X`09`7B X`09 a_ptr`5BA_DEX`5D = tmp_val; X`09 (void) res_stat(A_DEX); X`09`7D X `7D X else X return; X X prt("(3 - 118) Constitution = ", 0, 0); X if (get_string(tmp_str, 0, 25, 3)) X `7B X tmp_val = atoi(tmp_str); X if ((tmp_val > 2) && (tmp_val < 119)) X`09`7B X`09 a_ptr`5BA_CON`5D = tmp_val; X`09 (void) res_stat(A_CON); X`09`7D X `7D X else X return; X X prt("(3 - 118) Charisma = ", 0, 0); X if (get_string(tmp_str, 0, 25, 3)) X `7B X tmp_val = atoi(tmp_str); X if ((tmp_val > 2) && (tmp_val < 119)) X`09`7B X`09 a_ptr`5BA_CHR`5D = tmp_val; X`09 (void) res_stat(A_CHR); X`09`7D X `7D X else X return; X X m_ptr = &py.misc; X prt("(1 - 32767) Hit points = ", 0, 0); X if (get_string(tmp_str, 0, 25, 5)) X `7B X tmp_val = atoi(tmp_str); X if ((tmp_val > 0) && (tmp_val <= MAX_SHORT)) X`09`7B X`09 m_ptr->mhp = tmp_val; X`09 m_ptr->chp = tmp_val; X`09 m_ptr->chp_frac = 0; X`09 prt_mhp(); X`09 prt_chp(); X`09`7D X `7D X else X return; X X prt("(0 - 32767) Mana = ", 0, 0); X if (get_string(tmp_str, 0, 25, 5)) X `7B X tmp_val = atoi(tmp_str); X if ((tmp_val > -1) && (tmp_val <= MAX_SHORT) && (*tmp_str != '\0')) X`09`7B X`09 m_ptr->mana = tmp_val; X`09 m_ptr->cmana = tmp_val; X`09 m_ptr->cmana_frac = 0; X`09 prt_cmana(); X`09`7D X `7D X else X return; X X (void) sprintf(tmp_str, "Current=%ld Gold = ", m_ptr->au); X tmp_val = strlen(tmp_str); X prt(tmp_str, 0, 0); X if (get_string(tmp_str, 0, tmp_val, 7)) X `7B X tmp_lval = atol(tmp_str); X if (tmp_lval > -1 && (*tmp_str != '\0')) X`09`7B X`09 m_ptr->au = tmp_lval; X`09 prt_gold(); X`09`7D X `7D X else X return; X X (void) sprintf(tmp_str, "Current=%d (0-200) Searching = ", m_ptr->srh); X tmp_val = strlen(tmp_str); X prt(tmp_str, 0, 0); X if (get_string(tmp_str, 0, tmp_val, 3)) X `7B X tmp_val = atoi(tmp_str); X if ((tmp_val > -1) && (tmp_val < 201) && (*tmp_str != '\0')) X`09m_ptr->srh = tmp_val; X `7D X else X return; X X (void) sprintf(tmp_str, "Current=%d (-1-18) Stealth = ", m_ptr->stl); X tmp_val = strlen(tmp_str); X prt(tmp_str, 0, 0); X if (get_string(tmp_str, 0, tmp_val, 3)) X `7B X tmp_val = atoi(tmp_str); X if ((tmp_val > -2) && (tmp_val < 19) && (*tmp_str != '\0')) X`09m_ptr->stl = tmp_val; X `7D X else X return; X X (void) sprintf(tmp_str, "Current=%d (0-200) Disarming = ", m_ptr->disarm) V; X tmp_val = strlen(tmp_str); X prt(tmp_str, 0, 0); X if (get_string(tmp_str, 0, tmp_val, 3)) X `7B X tmp_val = atoi(tmp_str); X if ((tmp_val > -1) && (tmp_val < 201) && (*tmp_str != '\0')) X`09m_ptr->disarm = tmp_val; X `7D X else X return; X X (void) sprintf(tmp_str, "Current=%d (0-100) Save = ", m_ptr->save); X tmp_val = strlen(tmp_str); X prt(tmp_str, 0, 0); X if (get_string(tmp_str, 0, tmp_val, 3)) X `7B X tmp_val = atoi(tmp_str); X if ((tmp_val > -1) && (tmp_val < 201) && (*tmp_str != '\0')) X`09m_ptr->save = tmp_val; X `7D X else X return; X X (void) sprintf(tmp_str, "Current=%d (0-200) Base to hit = ", m_ptr->bth); X tmp_val = strlen(tmp_str); X prt(tmp_str, 0, 0); X if (get_string(tmp_str, 0, tmp_val, 3)) X `7B X tmp_val = atoi(tmp_str); X if ((tmp_val > -1) && (tmp_val < 201) && (*tmp_str != '\0')) X`09m_ptr->bth = tmp_val; X `7D X else X return; X X (void) sprintf(tmp_str, "Current=%d (0-200) Bows/Throwing = ", X`09`09 m_ptr->bthb); X tmp_val = strlen(tmp_str); X prt(tmp_str, 0, 0); X if (get_string(tmp_str, 0, tmp_val, 3)) X `7B X tmp_val = atoi(tmp_str); X if ((tmp_val > -1) && (tmp_val < 201) && (*tmp_str != '\0')) X`09m_ptr->bthb = tmp_val; X `7D X else X return; X X (void) sprintf(tmp_str, "Current=%d Weight = ", m_ptr->wt); X tmp_val = strlen(tmp_str); X prt(tmp_str, 0, 0); X if (get_string(tmp_str, 0, tmp_val, 3)) X `7B X tmp_val = atoi(tmp_str); X if (tmp_val > -1 && (*tmp_str != '\0')) X`09m_ptr->wt = tmp_val; X `7D X else X return; X X while(get_com("Alter speed? (+/-)", tmp_str)) X `7B X if (*tmp_str == '+') X`09change_speed(-1); X else if (*tmp_str == '-') X`09change_speed(1); X else X`09break; X prt_speed(); X `7D X`7D X X X/* Wizard routine for creating objects`09`09`09-RAK-`09*/ Xvoid wizard_create() X`7B X register int tmp_val; X int32 tmp_lval; X vtype tmp_str; X register inven_type *i_ptr; X inven_type forge; X register cave_type *c_ptr; X char pattern`5B4`5D; X X msg_print("Warning: This routine can cause a fatal error."); X i_ptr = &forge; X i_ptr->index = OBJ_WIZARD; X i_ptr->name2 = 0; X inscribe(i_ptr, "wizard item"); X i_ptr->ident = ID_KNOWN2`7CID_STOREBOUGHT; X X prt("Tval : ", 0, 0); X if (!get_string(tmp_str, 0, 9, 3)) X return; X tmp_val = atoi(tmp_str); X i_ptr->tval = tmp_val; X X prt("Tchar : ", 0, 0); X if (!get_string(tmp_str, 0, 9, 1)) X return; X i_ptr->tchar = tmp_str`5B0`5D; X X prt("Subval : ", 0, 0); X if (!get_string(tmp_str, 0, 9, 5)) X return; X tmp_val = atoi(tmp_str); X i_ptr->subval = tmp_val; X X prt("Weight : ", 0, 0); X if (!get_string(tmp_str, 0, 9, 5)) X return; X tmp_val = atoi(tmp_str); X i_ptr->weight = tmp_val; X X prt("Number : ", 0, 0); X if (!get_string(tmp_str, 0, 9, 5)) X return; X tmp_val = atoi(tmp_str); X i_ptr->number = tmp_val; X X prt("Damage (dice): ", 0, 0); X if (!get_string(tmp_str, 0, 15, 3)) X return; X tmp_val = atoi(tmp_str); X i_ptr->damage`5B0`5D = tmp_val; X X prt("Damage (sides): ", 0, 0); X if (!get_string(tmp_str, 0, 16, 3)) X return; X tmp_val = atoi(tmp_str); X i_ptr->damage`5B1`5D = tmp_val; X X prt("+To hit: ", 0, 0); X if (!get_string(tmp_str, 0, 9, 3)) X return; X tmp_val = atoi(tmp_str); X i_ptr->tohit = tmp_val; X X prt("+To dam: ", 0, 0); X if (!get_string(tmp_str, 0, 9, 3)) X return; X tmp_val = atoi(tmp_str); X i_ptr->todam = tmp_val; X X prt("AC : ", 0, 0); X if (!get_string(tmp_str, 0, 9, 3)) X return; X tmp_val = atoi(tmp_str); X i_ptr->ac = tmp_val; X X prt("+To AC : ", 0, 0); X if (!get_string(tmp_str, 0, 9, 3)) X return; X tmp_val = atoi(tmp_str); X i_ptr->toac = tmp_val; X X prt("P1 : ", 0, 0); X if (!get_string(tmp_str, 0, 9, 5)) X return; X tmp_val = atoi(tmp_str); X i_ptr->p1 = tmp_val; X X prt("Flags (In HEX): ", 0, 0); X if (!get_string(tmp_str, 0, 16, 8)) X return; X /* can't be constant string, this causes problems with the GCC compiler X and some scanf routines */ X (void) strcpy (pattern, "%lx"); X (void) sscanf(tmp_str, pattern, &tmp_lval); X i_ptr->flags = tmp_lval; X X prt("Cost : ", 0, 0); X if (!get_string(tmp_str, 0, 9, 8)) X return; X tmp_lval = atol(tmp_str); X i_ptr->cost = tmp_lval; X X prt("Level : ", 0, 0); X if (!get_string(tmp_str, 0, 10, 3)) X return; X tmp_val = atoi(tmp_str); X i_ptr->level = tmp_val; X X if (get_check("Allocate?")) X `7B X /* delete object first if any, before call popt */ X c_ptr = &cave`5Bchar_row`5D`5Bchar_col`5D; X if (c_ptr->tptr != 0) X`09(void) delete_object(char_row, char_col); X X tmp_val = popt(); X t_list`5Btmp_val`5D = forge; X c_ptr->tptr = tmp_val; X msg_print("Allocated."); X `7D X else X msg_print("Aborted."); X`7D $ CALL UNPACK WIZARD.C;1 1496306077 $ v=f$verify(v) $ EXIT