Ejemplo n.º 1
0
/**
 * Browse a given book.
 */
void textui_book_browse(const object_type * o_ptr)
{
	menu_type *m;

	m = spell_menu_new(o_ptr, spell_okay_to_browse);
	if (m) {
		spell_menu_browse(m, magic_desc[mp_ptr->spell_realm][SPELL_NOUN]);
		spell_menu_destroy(m);
	} else {
		msg("You cannot browse that.");
	}
}
Ejemplo n.º 2
0
/**
 * Browse a given book.
 */
void textui_book_browse(const struct object *obj)
{
	struct menu *m;
	const char *noun = player->class->magic.spell_realm->spell_noun;

	m = spell_menu_new(obj, spell_okay_to_browse);
	if (m) {
		spell_menu_browse(m, noun);
		spell_menu_destroy(m);
	} else {
		msg("You cannot browse that.");
	}
}
Ejemplo n.º 3
0
/**
 * Interactively select a spell.
 *
 * Returns the spell selected, or -1.
 */
static int get_spell(const object_type * o_ptr, const char *verb,
					 bool(*spell_test) (int spell))
{
	menu_type *m;
	const char *noun;

	noun = magic_desc[mp_ptr->spell_realm][SPELL_NOUN];

	m = spell_menu_new(o_ptr, spell_test);
	if (m) {
		int spell = spell_menu_select(m, noun, verb);
		spell_menu_destroy(m);
		return spell;
	}

	return -1;
}
Ejemplo n.º 4
0
/**
 * Get a spell from specified book.
 */
int textui_get_spell_from_book(const char *verb, struct object *book,
							   const char *error,
							   bool (*spell_filter)(int spell_index))
{
	const char *noun = player->class->magic.spell_realm->spell_noun;

	struct menu *m;

	track_object(player->upkeep, book);
	handle_stuff(player);

	m = spell_menu_new(book, spell_filter);
	if (m) {
		int spell_index = spell_menu_select(m, noun, verb);
		spell_menu_destroy(m);
		return spell_index;
	}

	return -1;
}