X-Git-Url: https://jxself.org/git/?a=blobdiff_plain;f=actions.c;h=6a6448bafbc26492eacbdc465506cdafba072fd7;hb=0a4325ce456f3633ade892c40093133da78d5603;hp=c9bf2396981601d25999920d2dd64877a4afa282;hpb=37117f20e0e3b45901431bea58f74c74e1fa6870;p=open-adventure.git diff --git a/actions.c b/actions.c index c9bf239..6a6448b 100644 --- a/actions.c +++ b/actions.c @@ -3,6 +3,8 @@ #include "advent.h" #include "database.h" +#define VRSION 25 /* bump on save format change */ + /* * Action handlers. Eventually we'll do lookup through a method table * that calls these. Absolutely nothing like the original FORTRAN. @@ -80,22 +82,23 @@ static int attack(FILE *input, long verb, long obj) * too. Then do a null motion to get new description. */ RSPEAK(49); GETIN(input,WD1,WD1X,WD2,WD2X); - if (WD1 != MAKEWD(25) && WD1 != MAKEWD(250519)) return(2607); + if (WD1 != MAKEWD(25) && WD1 != MAKEWD(250519)) + return(2607); PSPEAK(DRAGON,3); game.prop[DRAGON]=1; game.prop[RUG]=0; - K=(PLAC[DRAGON]+FIXD[DRAGON])/2; + int k=(PLAC[DRAGON]+FIXD[DRAGON])/2; MOVE(DRAGON+NOBJECTS,-1); MOVE(RUG+NOBJECTS,0); - MOVE(DRAGON,K); - MOVE(RUG,K); - DROP(BLOOD,K); + MOVE(DRAGON,k); + MOVE(RUG,k); + DROP(BLOOD,k); for (obj=1; obj<=NOBJECTS; obj++) { - if (game.place[obj] == PLAC[DRAGON] || game.place[obj] == FIXD[DRAGON])MOVE(obj,K); - /*etc*/ ; - } /* end loop */ - game.loc=K; - K=NUL; + if (game.place[obj] == PLAC[DRAGON] || game.place[obj] == FIXD[DRAGON]) + MOVE(obj,k); + } + game.loc=k; + K=NUL; /* FIXME: error if removed */ return(8); } @@ -110,7 +113,6 @@ static int bigwords(long foo) if (game.foobar != 0)SPK=151; return(2011); } else { - game.foobar=k; if (k != 4) return(2009); game.foobar=0; @@ -524,7 +526,7 @@ static int find(token_t obj) { if (AT(obj) || (LIQ(0) == obj && AT(BOTTLE)) || - K == LIQLOC(game.loc) || + obj == LIQLOC(game.loc) || (obj == DWARF && ATDWRF(game.loc) > 0)) SPK=94; if (game.closed)SPK=138;