X-Git-Url: https://jxself.org/git/?p=open-adventure.git;a=blobdiff_plain;f=main.c;h=c18803605493f35f506df5262185652e47fbaa9c;hp=c4892ffe04e8eb04f74b0cae5bebb62c2d5777e4;hb=c2df849dade5bb7d8214c6abb6c0856b84d0d1d1;hpb=fa9b6d317f5138c8a4937a14a92acf4b5928545e diff --git a/main.c b/main.c index c4892ff..c188036 100644 --- a/main.c +++ b/main.c @@ -148,7 +148,7 @@ int main(int argc, char *argv[]) game.loc = LOC_START; game.limit = 330; if (!rfp) { - game.novice = YES(WELCOME_YOU, CAVE_NEARBY, NO_MESSAGE); + game.novice = YES(arbitrary_messages[WELCOME_YOU], arbitrary_messages[CAVE_NEARBY], arbitrary_messages[NO_MESSAGE]); if (game.novice)game.limit = 1000; } else { restore(rfp); @@ -264,11 +264,11 @@ static void checkhints(void) /* Fall through to hint display */ game.hintlc[hint] = 0; - if (!YES(HINTS[hint][3], NO_MESSAGE, OK_MAN)) + if (!YES(arbitrary_messages[HINTS[hint][3]], arbitrary_messages[NO_MESSAGE], arbitrary_messages[OK_MAN])) return; SETPRM(1, HINTS[hint][2], HINTS[hint][2]); RSPEAK(HINT_COST); - game.hinted[hint] = YES(WANT_HINT, HINTS[hint][4], OK_MAN); + game.hinted[hint] = YES(arbitrary_messages[WANT_HINT], arbitrary_messages[HINTS[hint][4]], arbitrary_messages[OK_MAN]); if (game.hinted[hint] && game.limit > WARNTIME) game.limit += WARNTIME * HINTS[hint][2]; } @@ -470,7 +470,7 @@ static bool dwarfmove(void) /* "You're dead, Jim." * * If the current loc is zero, it means the clown got himself killed. - * We'll allow this maxdie times. MAXDIE is automatically set based + * We'll allow this maxdie times. maximum_deaths is automatically set based * on the number of snide messages available. Each death results in * a message (81, 83, etc.) which offers reincarnation; if accepted, * this results in message 82, 84, etc. The last time, if he wants @@ -490,6 +490,8 @@ static bool dwarfmove(void) static void croak(void) /* Okay, he's dead. Let's get on with it. */ { + const char* query = obituaries[game.numdie].query; + const char* yes_response = obituaries[game.numdie].yes_response; ++game.numdie; if (game.closng) { /* He died during closing time. No resurrection. Tally up a @@ -497,8 +499,7 @@ static void croak(void) RSPEAK(DEATH_CLOSING); terminate(endgame); } - /* FIXME: Arithmetic on message numbers */ - else if (game.numdie == MAXDIE || !YES(WATCH_IT + game.numdie * 2, WHICH_WAY + game.numdie * 2, OK_MAN)) + else if (game.numdie == maximum_deaths || !YES(query, yes_response, arbitrary_messages[OK_MAN])) terminate(endgame); else { game.place[WATER] = game.place[OIL] = NOWHERE; @@ -841,7 +842,7 @@ static void lampcheck(void) * goes out. Even then, he can explore outside for a while * if desired. */ if (game.limit <= WARNTIME && HERE(BATTERY) && game.prop[BATTERY] == 0 && HERE(LAMP)) { - RSPEAK(REPLACE_BATTERYIES); + RSPEAK(REPLACE_BATTERIES); game.prop[BATTERY] = 1; if (TOTING(BATTERY)) DROP(BATTERY, game.loc); @@ -855,7 +856,7 @@ static void lampcheck(void) } else if (game.limit <= WARNTIME) { if (!game.lmwarn && HERE(LAMP)) { game.lmwarn = true; - int spk = GET_BATTERYIES; + int spk = GET_BATTERIES; if (game.place[BATTERY] == NOWHERE)spk = LAMP_DIM; if (game.prop[BATTERY] == 1)spk = MISSING_BATTERYIES; RSPEAK(spk);