X-Git-Url: https://jxself.org/git/?a=blobdiff_plain;f=actions.c;fp=actions.c;h=6cd73b562d218bf489abc5269d0e7bd54332ffea;hb=a86c67c2ab269eb638cbcb6029e6b07afd4824c9;hp=d3d671ae8b3eb3aa24b7aed8146de1a88809925b;hpb=49edca485d31556f1aeec231ce78c4d5df3b565e;p=open-adventure.git diff --git a/actions.c b/actions.c index d3d671a..6cd73b5 100644 --- a/actions.c +++ b/actions.c @@ -154,12 +154,11 @@ static int bigwords(long foo) static int bivalve(token_t verb, token_t obj) /* Clam/oyster actions */ { - int spk, k=0; - if (obj == OYSTER)k=1; - /* FIXME: Arithmetic on message numbers in next lines */ - spk=PEARL_FALLS+k; - if (TOTING(obj))spk=DROP_CLAM+k; - if (!TOTING(TRIDNT))spk=CLAM_OPENER+k; + int spk; + bool is_oyster = (obj == OYSTER); + spk= is_oyster ? OYSTER_OPENS : PEARL_FALLS; + if (TOTING(obj))spk= is_oyster ? DROP_OYSTER : DROP_CLAM; + if (!TOTING(TRIDNT))spk= is_oyster ? OYSTER_OPENER : CLAM_OPENER; if (verb == LOCK)spk=HUH_MAN; if (spk == PEARL_FALLS) { DSTROY(CLAM); @@ -276,7 +275,7 @@ static int carry(token_t verb, token_t obj) } if (!TOTING(CAGE))spk=CANNOT_CARRY; if (TOTING(ROD))spk=BIRD_EVADES; - if (spk/2 == 13) { /* FIXME: Arithmetic on message number */ + if (spk == CANNOT_CARRY || spk == BIRD_EVADES) { RSPEAK(spk); return GO_CLEAROBJ; } @@ -592,7 +591,7 @@ static int fly(token_t verb, token_t obj) if (obj == INTRANSITIVE) { if (game.prop[RUG] != 2)spk=RUG_NOTHING2; if (!HERE(RUG))spk=FLAP_ARMS; - if (spk/2 == 112) { /* FIXME: Arithmetic on message numbers */ + if (spk == RUG_NOTHING2 || spk == FLAP_ARMS) { RSPEAK(spk); return GO_CLEAROBJ; } @@ -730,10 +729,10 @@ static int lock(token_t verb, token_t obj) if (!game.panic)game.clock2=15; game.panic=true; } else { - spk=ALREADY_LOCKED+game.prop[GRATE]; /* FIXME: Arithmetic on message number */ + spk=game.prop[GRATE] ? GRATE_LOCKED : ALREADY_LOCKED; game.prop[GRATE]=1; if (verb == LOCK)game.prop[GRATE]=0; - spk=spk+2*game.prop[GRATE]; + spk=game.prop[GRATE] ? GRATE_UNLOCKED : GRATE_LOCKED; } } }