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 {
|
} else {
|
||||||
/* Magic-word sequebce was started but is incorrect */
|
/* Magic-word sequebce was started but is incorrect */
|
||||||
rspeak(START_OVER);
|
if (settings.oldstyle || game.seenbigwords)
|
||||||
|
rspeak(START_OVER);
|
||||||
|
else
|
||||||
|
rspeak(WELL_POINTLESS);
|
||||||
game.foobar = WORD_EMPTY;
|
game.foobar = WORD_EMPTY;
|
||||||
return GO_CLEAROBJ;
|
return GO_CLEAROBJ;
|
||||||
}
|
}
|
||||||
|
|
2
advent.h
2
advent.h
|
@ -178,7 +178,7 @@ struct game_t {
|
||||||
int saved; // point penalty for saves
|
int saved; // point penalty for saves
|
||||||
int tally; // count of treasures gained
|
int tally; // count of treasures gained
|
||||||
int thresh; // current threshold for endgame scoring tier
|
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 trnluz; // # points lost so far due to turns used
|
||||||
turn_t turns; // counts commands given (ignores yes/no)
|
turn_t turns; // counts commands given (ignores yes/no)
|
||||||
char zzword[TOKLEN + 1]; // randomly generated magic word from bird
|
char zzword[TOKLEN + 1]; // randomly generated magic word from bird
|
||||||
|
|
|
@ -3016,6 +3016,7 @@ arbitrary_messages: !!omap
|
||||||
black smoke.
|
black smoke.
|
||||||
- SHELL_IMPERVIOUS: 'The shell is very strong and is impervious to attack.'
|
- 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.'
|
- 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.'
|
- 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.'
|
- NASTY_DRAGON: 'The dragon looks rather nasty. You''d best not try to get by.'
|
||||||
- BIRD_BURNT: |-
|
- BIRD_BURNT: |-
|
||||||
|
|
2
main.c
2
main.c
|
@ -935,6 +935,8 @@ static void listobjects(void)
|
||||||
game.prop[RUG] = RUG_DRAGON;
|
game.prop[RUG] = RUG_DRAGON;
|
||||||
if (obj == CHAIN)
|
if (obj == CHAIN)
|
||||||
game.prop[CHAIN] = CHAINING_BEAR;
|
game.prop[CHAIN] = CHAINING_BEAR;
|
||||||
|
if (obj == EGGS)
|
||||||
|
game.seenbigwords = true;
|
||||||
--game.tally;
|
--game.tally;
|
||||||
/* Note: There used to be a test here to see whether the
|
/* Note: There used to be a test here to see whether the
|
||||||
* player had blown it so badly that he could never ever see
|
* 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.
|
* 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.
|
* Attempting to extinguish an unlit urn caused it to lose its oil.
|
||||||
|
|
||||||
* "A crystal bridge now spans the fissure." (progressive present) was
|
* "A crystal bridge now spans the fissure." (progressive present) was
|
||||||
|
|
|
@ -67,7 +67,7 @@ OK
|
||||||
|
|
||||||
> say fum
|
> say fum
|
||||||
|
|
||||||
What's the matter, can't you read? Now you'd best start over.
|
Well, that was remarkably pointless!
|
||||||
|
|
||||||
> z
|
> z
|
||||||
|
|
||||||
|
|
|
@ -6,5 +6,6 @@ sed \
|
||||||
-e '/bridge now spans the fissure/s//bridge spans the fissure/' \
|
-e '/bridge now spans the fissure/s//bridge spans the fissure/' \
|
||||||
-e '/ground/s//surface/' \
|
-e '/ground/s//surface/' \
|
||||||
-e '/floor/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
|
# end
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue