X-Git-Url: https://jxself.org/git/?a=blobdiff_plain;f=actions.c;h=d817c6d23c6d328e87bb5702e546560b19fdfb21;hb=refs%2Fmerge-requests%2F207%2Fhead;hp=5689ad2c41d8862c8cf4525ae1b35d84304971e2;hpb=e46cbdf194bf086ea4d4b091746cb81dd469a443;p=open-adventure.git diff --git a/actions.c b/actions.c index 5689ad2..d817c6d 100644 --- a/actions.c +++ b/actions.c @@ -337,7 +337,7 @@ static int vcarry(token_t verb, token_t obj) rspeak(YOU_JOKING); return GO_CLEAROBJ; } - int spk; + if (obj == WATER || obj == OIL) { if (!HERE(BOTTLE) || @@ -355,23 +355,24 @@ static int vcarry(token_t verb, token_t obj) obj = BOTTLE; } - spk = CARRY_LIMIT; if (game.holdng >= INVLIMIT) { - rspeak(spk); + rspeak(CARRY_LIMIT); return GO_CLEAROBJ; - } else if (obj == BIRD && game.prop[BIRD] != BIRD_CAGED && -1 - game.prop[BIRD] != BIRD_CAGED) { + + } + + if (obj == BIRD && game.prop[BIRD] != BIRD_CAGED && -1 - game.prop[BIRD] != BIRD_CAGED) { if (game.prop[BIRD] == BIRD_FOREST_UNCAGED) { DESTROY(BIRD); rspeak(BIRD_CRAP); return GO_CLEAROBJ; } - if (!TOTING(CAGE)) - spk = CANNOT_CARRY; - if (TOTING(ROD)) - spk = BIRD_EVADES; - if (spk == CANNOT_CARRY || - spk == BIRD_EVADES) { - rspeak(spk); + if (!TOTING(CAGE)) { + rspeak(CANNOT_CARRY); + return GO_CLEAROBJ; + } + if (TOTING(ROD)) { + rspeak(BIRD_EVADES); return GO_CLEAROBJ; } game.prop[BIRD] = BIRD_CAGED; @@ -446,12 +447,11 @@ static int discard(token_t verb, token_t obj, bool just_do_it) * bird (might attack snake or dragon) and cage (might contain bird) and vase. * Drop coins at vending machine for extra batteries. */ { - int spk = actions[verb].message; if (!just_do_it) { if (TOTING(ROD2) && obj == ROD && !TOTING(ROD)) obj = ROD2; if (!TOTING(obj)) { - rspeak(spk); + rspeak(actions[verb].message); return GO_CLEAROBJ; } if (obj == BIRD && HERE(SNAKE)) { @@ -468,7 +468,7 @@ static int discard(token_t verb, token_t obj, bool just_do_it) game.prop[CAVITY] = CAVITY_FULL; if (HERE(RUG) && ((obj == EMERALD && game.prop[RUG] != RUG_HOVER) || (obj == RUBY && game.prop[RUG] == RUG_HOVER))) { - spk = RUG_RISES; + int spk = RUG_RISES; if (TOTING(RUG)) spk = RUG_WIGGLES; if (obj == RUBY) @@ -514,7 +514,7 @@ static int discard(token_t verb, token_t obj, bool just_do_it) int k = LIQUID(); if (k == obj) obj = BOTTLE; - if (obj == BOTTLE && k != 0) + if (obj == BOTTLE && k != NO_OBJECT) game.place[k] = LOC_NOWHERE; if (obj == CAGE && game.prop[BIRD] == BIRD_CAGED) drop(BIRD, game.loc); @@ -692,7 +692,7 @@ int fill(token_t verb, token_t obj) rspeak(SHATTER_VASE); game.prop[VASE] = VASE_BROKEN; game.fixed[VASE] = -1; - return (discard(verb, obj, true)); + return (discard(verb, VASE, true)); } if (obj == URN) {