Improved behavior when magic words are said before they're seen.
Note: there is a tiny risk that this could break savefile compatibility, as I swiped an unused int member in the game structure and turned it into a bool. int and bool *should* be the same sixe...
This commit is contained in:
parent
4ce4de190e
commit
fe378b9e13
7 changed files with 15 additions and 3 deletions
|
@ -231,7 +231,10 @@ static phase_codes_t bigwords(vocab_t id)
|
|||
}
|
||||
} else {
|
||||
/* Magic-word sequebce was started but is incorrect */
|
||||
if (settings.oldstyle || game.seenbigwords)
|
||||
rspeak(START_OVER);
|
||||
else
|
||||
rspeak(WELL_POINTLESS);
|
||||
game.foobar = WORD_EMPTY;
|
||||
return GO_CLEAROBJ;
|
||||
}
|
||||
|
|
2
advent.h
2
advent.h
|
@ -178,7 +178,7 @@ struct game_t {
|
|||
int saved; // point penalty for saves
|
||||
int tally; // count of treasures gained
|
||||
int thresh; // current threshold for endgame scoring tier
|
||||
turn_t trndex; // FIXME: not used, remove on next format bump
|
||||
bool seenbigwords; // have we red the grafitti in the Giant's Room?
|
||||
turn_t trnluz; // # points lost so far due to turns used
|
||||
turn_t turns; // counts commands given (ignores yes/no)
|
||||
char zzword[TOKLEN + 1]; // randomly generated magic word from bird
|
||||
|
|
|
@ -3016,6 +3016,7 @@ arbitrary_messages: !!omap
|
|||
black smoke.
|
||||
- SHELL_IMPERVIOUS: 'The shell is very strong and is impervious to attack.'
|
||||
- START_OVER: 'What''s the matter, can''t you read? Now you''d best start over.'
|
||||
- WELL_POINTLESS: 'Well, that was remarkably pointless!'
|
||||
- DRAGON_SCALES: 'The axe bounces harmlessly off the dragon''s thick scales.'
|
||||
- NASTY_DRAGON: 'The dragon looks rather nasty. You''d best not try to get by.'
|
||||
- BIRD_BURNT: |-
|
||||
|
|
2
main.c
2
main.c
|
@ -935,6 +935,8 @@ static void listobjects(void)
|
|||
game.prop[RUG] = RUG_DRAGON;
|
||||
if (obj == CHAIN)
|
||||
game.prop[CHAIN] = CHAINING_BEAR;
|
||||
if (obj == EGGS)
|
||||
game.seenbigwords = true;
|
||||
--game.tally;
|
||||
/* Note: There used to be a test here to see whether the
|
||||
* player had blown it so badly that he could never ever see
|
||||
|
|
|
@ -53,6 +53,11 @@ Bug fixes:
|
|||
|
||||
* Response to an attempt to unlock the oyster while carrying it was incorrect.
|
||||
|
||||
* Behavior when saying the giant's magic words before having seen them wasn't
|
||||
quite correct - the game responded as though the player had already
|
||||
read them ("...can't you read?"). The new message is "Nothing happens."
|
||||
The -o option reverts this change.
|
||||
|
||||
* Attempting to extinguish an unlit urn caused it to lose its oil.
|
||||
|
||||
* "A crystal bridge now spans the fissure." (progressive present) was
|
||||
|
|
|
@ -67,7 +67,7 @@ OK
|
|||
|
||||
> say fum
|
||||
|
||||
What's the matter, can't you read? Now you'd best start over.
|
||||
Well, that was remarkably pointless!
|
||||
|
||||
> z
|
||||
|
||||
|
|
|
@ -6,5 +6,6 @@ sed \
|
|||
-e '/bridge now spans the fissure/s//bridge spans the fissure/' \
|
||||
-e '/ground/s//surface/' \
|
||||
-e '/floor/s//surface/' \
|
||||
-e "/Well, that was remarkably pointless!/s//What's the matter, can't you read? Now you'd best start over./" \
|
||||
|
||||
# end
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue