X-Git-Url: https://jxself.org/git/?p=open-adventure.git;a=blobdiff_plain;f=actions.c;h=91a0e6e680fd069e68b016472869d6ad01369f67;hp=1aa70ac2916115d0ad9a65d5cb2a7a4388daff48;hb=ca7ac4063f162290491c68124a13d75f2f5c010a;hpb=53efcdf2d262c07a53d791ff5d6085e732112134 diff --git a/actions.c b/actions.c index 1aa70ac..91a0e6e 100644 --- a/actions.c +++ b/actions.c @@ -113,12 +113,12 @@ static int attack(struct command_t *command) state_change(DRAGON, DRAGON_DEAD); game.prop[RUG] = RUG_FLOOR; /* Hardcoding LOC_SECRET5 as the dragon's death location is ugly. - * The way it was computed before was wirse; it depended on the + * The way it was computed before was worse; it depended on the * two dragon locations being LOC_SECRET4 and LOC_SECRET6 and * LOC_SECRET5 being right between them. */ - move(DRAGON + NOBJECTS, -1); - move(RUG + NOBJECTS, LOC_NOWHERE); + move(DRAGON + NOBJECTS, IS_FIXED); + move(RUG + NOBJECTS, IS_FREE); move(DRAGON, LOC_SECRET5); move(RUG, LOC_SECRET5); drop(BLOOD, LOC_SECRET5); @@ -493,7 +493,7 @@ static int discard(token_t verb, obj_t obj) } else if (obj == BEAR && AT(TROLL)) { state_change(TROLL, TROLL_GONE); move(TROLL, LOC_NOWHERE); - move(TROLL + NOBJECTS, LOC_NOWHERE); + move(TROLL + NOBJECTS, IS_FREE); move(TROLL2, objects[TROLL].plac); move(TROLL2 + NOBJECTS, objects[TROLL].fixd); juggle(CHASM); @@ -1150,7 +1150,7 @@ static int throw (struct command_t *command) /* Snarf a treasure for the troll. */ drop(command->obj, LOC_NOWHERE); move(TROLL, LOC_NOWHERE); - move(TROLL + NOBJECTS, LOC_NOWHERE); + move(TROLL + NOBJECTS, IS_FREE); drop(TROLL2, objects[TROLL].plac); drop(TROLL2 + NOBJECTS, objects[TROLL].fixd); juggle(CHASM); @@ -1170,9 +1170,9 @@ static int throw (struct command_t *command) return throw_support(DRAGON_SCALES); if (AT(TROLL)) return throw_support(TROLL_RETURNS); - else if (AT(OGRE)) + if (AT(OGRE)) return throw_support(OGRE_DODGE); - else if (HERE(BEAR) && game.prop[BEAR] == UNTAMED_BEAR) { + if (HERE(BEAR) && game.prop[BEAR] == UNTAMED_BEAR) { /* This'll teach him to throw the axe at the bear! */ drop(AXE, game.loc); game.fixed[AXE] = IS_FIXED; @@ -1289,10 +1289,10 @@ int action(struct command_t *command) else if ((LIQUID() == command->obj && HERE(BOTTLE)) || command->obj == LIQLOC(game.loc)) /* FALL THROUGH */; - else if (command->obj == OIL && HERE(URN) && game.prop[URN] != 0) { + else if (command->obj == OIL && HERE(URN) && game.prop[URN] != URN_EMPTY) { command->obj = URN; /* FALL THROUGH */; - } else if (command->obj == PLANT && AT(PLANT2) && game.prop[PLANT2] != 0) { + } else if (command->obj == PLANT && AT(PLANT2) && game.prop[PLANT2] != PLANT_THIRSTY) { command->obj = PLANT2; /* FALL THROUGH */; } else if (command->obj == KNIFE && game.knfloc == game.loc) {