- if (game.limit <= 30 && HERE(BATTER) && game.prop[BATTER] == 0 && HERE(LAMP))
- goto L12000;
- if (game.limit == 0) goto L12400;
- if (game.limit <= 30) goto L12200;
+
+ /* Another way we can force an end to things is by having the
+ * lamp give out. When it gets close, we come here to warn
+ * him. First following ar, if the lamp and fresh batteries are
+ * here, in which case we replace the batteries and continue.
+ * Second is for other cases of lamp dying. 12400 is when it
+ * goes out. Even then, he can explore outside for a while
+ * if desired. */
+ if (game.limit<=30 && HERE(BATTER) && game.prop[BATTER]==0 && HERE(LAMP))
+ {
+ RSPEAK(188);
+ game.prop[BATTER]=1;
+ if (TOTING(BATTER))DROP(BATTER,game.loc);
+ game.limit=game.limit+2500;
+ game.lmwarn=false;
+ } else if (game.limit == 0) {
+ game.limit= -1;
+ game.prop[LAMP]=0;
+ if (HERE(LAMP))RSPEAK(184);
+ } else if (game.limit <= 30) {
+ if (game.lmwarn || !HERE(LAMP)) goto L19999;
+ game.lmwarn=true;
+ SPK=187;
+ if (game.place[BATTER] == 0)SPK=183;
+ if (game.prop[BATTER] == 1)SPK=189;
+ RSPEAK(SPK);
+ }