Do not compare state to magic numbers
This commit is contained in:
parent
b8d86b840d
commit
ab79fc7814
3 changed files with 18 additions and 16 deletions
14
actions.c
14
actions.c
|
@ -170,8 +170,8 @@ static int bigwords(token_t foo)
|
|||
} else {
|
||||
/* Bring back troll if we steal the eggs back from him before
|
||||
* crossing. */
|
||||
if (game.place[EGGS] == LOC_NOWHERE && game.place[TROLL] == LOC_NOWHERE && game.prop[TROLL] == 0)
|
||||
game.prop[TROLL] = 1;
|
||||
if (game.place[EGGS] == LOC_NOWHERE && game.place[TROLL] == LOC_NOWHERE && game.prop[TROLL] == TROLL_UNPAID)
|
||||
game.prop[TROLL] = TROLL_PAIDONCE;
|
||||
k = 2;
|
||||
if (HERE(EGGS))
|
||||
k = 1;
|
||||
|
@ -354,21 +354,21 @@ static int chain(token_t verb)
|
|||
spk = CHAIN_UNLOCKED;
|
||||
if (game.prop[BEAR] == UNTAMED_BEAR)
|
||||
spk = BEAR_BLOCKS;
|
||||
if (game.prop[CHAIN] == 0)
|
||||
if (game.prop[CHAIN] == CHAIN_HEAP)
|
||||
spk = ALREADY_UNLOCKED;
|
||||
if (spk != CHAIN_UNLOCKED) {
|
||||
rspeak(spk);
|
||||
return GO_CLEAROBJ;
|
||||
}
|
||||
game.prop[CHAIN] = 0;
|
||||
game.fixed[CHAIN] = 0;
|
||||
game.prop[CHAIN] = CHAIN_HEAP;
|
||||
game.fixed[CHAIN] = CHAIN_HEAP;
|
||||
if (game.prop[BEAR] != BEAR_DEAD)
|
||||
game.prop[BEAR] = CONTENTED_BEAR;
|
||||
/* FIXME: Arithmetic on state numbers */
|
||||
game.fixed[BEAR] = 2 - game.prop[BEAR];
|
||||
} else {
|
||||
spk = CHAIN_LOCKED;
|
||||
if (game.prop[CHAIN] != 0)
|
||||
if (game.prop[CHAIN] != CHAIN_HEAP)
|
||||
spk = ALREADY_LOCKED;
|
||||
if (game.loc != objects[CHAIN].plac)
|
||||
spk = NO_LOCKSITE;
|
||||
|
@ -376,7 +376,7 @@ static int chain(token_t verb)
|
|||
rspeak(spk);
|
||||
return GO_CLEAROBJ;
|
||||
}
|
||||
game.prop[CHAIN] = 2;
|
||||
game.prop[CHAIN] = CHAIN_FIXED;
|
||||
if (TOTING(CHAIN))
|
||||
drop(CHAIN, game.loc);
|
||||
game.fixed[CHAIN] = -1;
|
||||
|
|
|
@ -3724,9 +3724,9 @@ objects: !!omap
|
|||
immovable: true
|
||||
treasure: true
|
||||
descriptions:
|
||||
- 'There is a golden chain lying in a heap on the floor!'
|
||||
- 'The bear is locked to the wall with a golden chain!'
|
||||
- 'There is a golden chain locked to the wall!'
|
||||
- [CHAIN_HEAP, 'There is a golden chain lying in a heap on the floor!']
|
||||
- [CHAINING_BEAR, 'The bear is locked to the wall with a golden chain!']
|
||||
- [CHAIN_FIXED, 'There is a golden chain locked to the wall!']
|
||||
- RUBY:
|
||||
words: ['ruby']
|
||||
inventory: 'Giant ruby'
|
||||
|
|
14
main.c
14
main.c
|
@ -770,8 +770,8 @@ static bool closecheck(void)
|
|||
juggle(CHASM);
|
||||
if (game.prop[BEAR] != BEAR_DEAD)
|
||||
DESTROY(BEAR);
|
||||
game.prop[CHAIN] = 0;
|
||||
game.fixed[CHAIN] = 0;
|
||||
game.prop[CHAIN] = CHAIN_HEAP;
|
||||
game.fixed[CHAIN] = CHAIN_HEAP;
|
||||
game.prop[AXE] = 0;
|
||||
game.fixed[AXE] = 0;
|
||||
rspeak(CAVE_CLOSING);
|
||||
|
@ -873,8 +873,8 @@ static void listobjects(void)
|
|||
/* Print out descriptions of objects at this location. If
|
||||
* not closing and property value is negative, tally off
|
||||
* another treasure. Rug is special case; once seen, its
|
||||
* game.prop is 1 (dragon on it) till dragon is killed.
|
||||
* Similarly for chain; game.prop is initially 1 (locked to
|
||||
* game.prop is RUG_DRAGON (dragon on it) till dragon is killed.
|
||||
* Similarly for chain; game.prop is initially CHAINING_BEAR (locked to
|
||||
* bear). These hacks are because game.prop=0 is needed to
|
||||
* get full score. */
|
||||
{
|
||||
|
@ -890,8 +890,10 @@ static void listobjects(void)
|
|||
if (game.closed)
|
||||
continue;
|
||||
game.prop[obj] = 0;
|
||||
if (obj == RUG || obj == CHAIN)
|
||||
game.prop[obj] = 1;
|
||||
if (obj == RUG)
|
||||
game.prop[RUG] = RUG_DRAGON;
|
||||
if (obj == CHAIN)
|
||||
game.prop[CHAIN] = CHAINING_BEAR;
|
||||
--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
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue