/* Generate quests */
for (i = MIN_RANDOM_QUEST + number_of_quests - 1; i >= MIN_RANDOM_QUEST; i--)
{
- quest_type *q_ptr = &quest[i];
- monster_race *quest_r_ptr;
+ quest_type *q_ptr = &quest[i];
+ monster_race *quest_r_ptr;
q_ptr->status = QUEST_STATUS_TAKEN;
determine_random_questor(q_ptr);
extern void safe_setuid_drop(void);
extern void safe_setuid_grab(void);
extern s16b tokenize(char *buf, s16b num, char **tokens, BIT_FLAGS mode);
-extern void display_player(BIT_FLAGS mode);
+extern void display_player(int mode);
extern errr make_character_dump(FILE *fff);
extern errr file_character(cptr name);
extern errr process_pref_file_command(char *buf);
* Mode 4 = mutations
* </pre>
*/
-void display_player(BIT_FLAGS mode)
+void display_player(int mode)
{
int i;
-
- char buf[80];
- char tmp[64];
-
+ char buf[80];
+ char tmp[64];
if ((p_ptr->muta1 || p_ptr->muta2 || p_ptr->muta3) && display_mutations)
mode = (mode % 5);
char c;
char buf[1024];
- /* Display player */
display_player(0);
/* Dump part of the screen */
}
update_playtime();
-
- /* Display player */
display_player(0);
/* Prompt for inventory */
teleport_player(10, 0L);
break;
+ /* Take a Quests */
+ case 'Q':
+ {
+ char ppp[30];
+ char tmp_val[5];
+ int tmp_int;
+ sprintf(ppp, "QuestID (0-%d):", max_q_idx - 1);
+ sprintf(tmp_val, "%d", 0);
+
+ if (!get_string(ppp, tmp_val, 3)) return;
+ tmp_int = atoi(tmp_val);
+
+ if(tmp_int < 0) break;
+ if(tmp_int >= max_q_idx) break;
+
+ p_ptr->inside_quest = tmp_int;
+ process_dungeon_file("q_info.txt", 0, 0, 0, 0);
+ quest[tmp_int].status = QUEST_STATUS_TAKEN;
+ p_ptr->inside_quest = 0;
+ }
+ break;
+
/* Complete a Quest -KMW- */
case 'q':
if(p_ptr->inside_quest)
Term_activate(angband_term[j]);
update_playtime();
-
- /* Display player */
display_player(0);
Term_fresh();