the-infocom-files/planetfall

Wrong response from GLOBAL-GAMES-F if Floyd is deactivated and in the room with you

Opened this issue · 0 comments

There is a GLOBAL-GAMES-F that can be triggered a couple of different ways, but the simplest is to simply use one of the synonyms for GLOBAL-GAMES.

When you're by yourself:

>PLAY BOCCI
Okay. Gee, that was fun.

When Floyd is with you, and activated:

>PLAY BOCCI
You play with Floyd for several centichrons until you drop to the floor,
exhausted. Floyd pokes at you gleefully. "C'mon! Let's play some more!"

When Floyd is with you and not yet activated (or deactivated):

>PLAY BOCCI
I sometimes wonder about your mental health.

That's because GLOBAL-GAME-F assumes you always want to play with Floyd if he's there:

<ROUTINE GLOBAL-GAMES-F ()
	 <COND (<VERB? PLAY>
		<COND (<IN? ,FLOYD ,HERE>
		       <PERFORM ,V?PLAY-WITH ,FLOYD>
		       <RTRUE>)
		      (T
		       <TELL "Okay. Gee, that was fun." CR>)>)>>

It should probably test if Floyd is activated, i.e. has RLANDBIT, before it tries to redirect the action to him.