Beispiel #1
0
int
use(void)
{
	if (inc_wordnumber(words[wordnumber], "what"))
		return(-1);
	if (wordvalue[wordnumber] == AMULET && TestBit(inven, AMULET) &&
	    position != FINAL) {
		puts("The amulet begins to glow.");
		if (TestBit(inven, MEDALION)) {
			puts("The medallion comes to life too.");
			if (position == 114) {
				location[position].down = 160;
				whichway(location[position]);
				puts("The waves subside and it is possible to descend to the sea cave now.");
				ourtime++;
				wordnumber++;
				return (-1);
			}
		}
		puts("A light mist falls over your eyes and the sound of purling water trickles in");
		puts("your ears.   When the mist lifts you are standing beside a cool stream.");
		if (position == 229)
			position = 224;
		else
			position = 229;
		ourtime++;
		notes[CANTSEE] = 0;
		wordnumber++;
		return (0);
	}
	else if (position == FINAL)
		puts("The amulet won't work in here.");
	else if (wordvalue[wordnumber] == COMPASS && TestBit(inven, COMPASS))
		printf("Your compass points %s.\n", truedirec(NORTH,'-'));
	else if (wordvalue[wordnumber] == COMPASS)
		puts("You aren't holding the compass.");
	else if (wordvalue[wordnumber] == AMULET)
		puts("You aren't holding the amulet.");
	else
		puts("There is no apparent use.");
	wordnumber++;
	return (-1);
}
Beispiel #2
0
writedes()
{
	int compass;
	register char *p;
	register c;

	printf("\n\t%s\n", location[position].name);
	if (beenthere[position] < 3) {
		compass = NORTH;
		for (p = location[position].desc; c = *p++;)
			if (c != '-' && c != '*' && c != '+')
				putchar(c);
			else {
				if (c != '*')
					printf(truedirec(compass, c));
				compass++;
			}
	}
}
Beispiel #3
0
void
writedes(void)
{
	int compass;
	const char *p;
	unsigned int c;

	printf("\n\t%s\n", location[position].name);
	if (beenthere[position] < 3) {
		compass = NORTH;
		for (p = location[position].desc; (c = *p++) != 0;)
			if (c != '-' && c != '*' && c != '+') {
				putchar((int)c);
			} else {
				if (c != '*')
					printf("%s", truedirec(compass, c));
				compass++;
			}
	}
}
Beispiel #4
0
void
writedes()
{
	int     compass;
	const char   *p;
	int     c;

	printf("\n\t%s\n", location[position].name);
	if (beenthere[position] < ROOMDESC || verbose) {
		compass = NORTH;
		for (p = location[position].desc; (c = *p++) != 0;)
			if (c != '-' && c != '*' && c != '+') {
				if (c == '=')
					putchar('-');
				else
					putchar(c);
			} else {
				if (c != '*')
					printf(truedirec(compass, c));
				compass++;
			}
	}
}