Reduce gotos & labels

This commit is contained in:
Peje Nilsson 2017-06-08 12:15:02 +02:00
parent 86e75219e3
commit d2424771e3

View file

@ -140,30 +140,32 @@ L9028: game.prop[VASE]=2;
int attack(FILE *input, long obj, long verb) { int attack(FILE *input, long obj, long verb) {
I=ATDWRF(game.loc); I=ATDWRF(game.loc);
if (obj != 0) goto L9124; if (obj == 0) {
if (I > 0)obj=DWARF; if (I > 0)obj=DWARF;
if (HERE(SNAKE))obj=obj*NOBJECTS+SNAKE; if (HERE(SNAKE))obj=obj*NOBJECTS+SNAKE;
if (AT(DRAGON) && game.prop[DRAGON] == 0)obj=obj*NOBJECTS+DRAGON; if (AT(DRAGON) && game.prop[DRAGON] == 0)obj=obj*NOBJECTS+DRAGON;
if (AT(TROLL))obj=obj*NOBJECTS+TROLL; if (AT(TROLL))obj=obj*NOBJECTS+TROLL;
if (AT(OGRE))obj=obj*NOBJECTS+OGRE; if (AT(OGRE))obj=obj*NOBJECTS+OGRE;
if (HERE(BEAR) && game.prop[BEAR] == 0)obj=obj*NOBJECTS+BEAR; if (HERE(BEAR) && game.prop[BEAR] == 0)obj=obj*NOBJECTS+BEAR;
if (obj > NOBJECTS) return(8000); if (obj > NOBJECTS) return(8000);
if (obj != 0) goto L9124; if (obj == 0) {
/* Can't attack bird or machine by throwing axe. */ /* Can't attack bird or machine by throwing axe. */
if (HERE(BIRD) && verb != THROW)obj=BIRD; if (HERE(BIRD) && verb != THROW)obj=BIRD;
if (HERE(VEND) && verb != THROW)obj=obj*NOBJECTS+VEND; if (HERE(VEND) && verb != THROW)obj=obj*NOBJECTS+VEND;
/* Clam and oyster both treated as clam for intransitive case; /* Clam and oyster both treated as clam for intransitive case;
* no harm done. */ * no harm done. */
if (HERE(CLAM) || HERE(OYSTER))obj=NOBJECTS*obj+CLAM; if (HERE(CLAM) || HERE(OYSTER))obj=NOBJECTS*obj+CLAM;
if (obj > NOBJECTS) return(8000); if (obj > NOBJECTS) return(8000);
L9124: if (obj == BIRD) { }
}
if (obj == BIRD) {
SPK=137; SPK=137;
if (game.closed) return(2011); if (game.closed) return(2011);
DSTROY(BIRD); DSTROY(BIRD);
game.prop[BIRD]=0; game.prop[BIRD]=0;
SPK=45; SPK=45;
} }
L9125: if (obj == VEND) { if (obj == VEND) {
PSPEAK(VEND,game.prop[VEND]+2); PSPEAK(VEND,game.prop[VEND]+2);
game.prop[VEND]=3-game.prop[VEND]; game.prop[VEND]=3-game.prop[VEND];
return(2012); return(2012);