- if (HERE(SNAKE))
- obj = obj * NOBJECTS + SNAKE;
- if (AT(DRAGON) && game.prop[DRAGON] == DRAGON_BARS)
- obj = obj * NOBJECTS + DRAGON;
- if (AT(TROLL))
- obj = obj * NOBJECTS + TROLL;
- if (AT(OGRE))
- obj = obj * NOBJECTS + OGRE;
- if (HERE(BEAR) && game.prop[BEAR] == UNTAMED_BEAR)
- obj = obj * NOBJECTS + BEAR;
- if (obj > NOBJECTS)
- return GO_UNKNOWN;
- if (obj == 0) {
+ ++changes;
+ }
+ if (HERE(SNAKE)) {
+ obj = SNAKE;
+ ++changes;
+ }
+ if (AT(DRAGON) && game.prop[DRAGON] == DRAGON_BARS) {
+ obj = DRAGON;
+ ++changes;
+ }
+ if (AT(TROLL)) {
+ obj = TROLL;
+ ++changes;
+ }
+ if (AT(OGRE)) {
+ obj = OGRE;
+ ++changes;
+ }
+ if (HERE(BEAR) && game.prop[BEAR] == UNTAMED_BEAR) {
+ obj = BEAR;
+ ++changes;
+ }
+ /* check for low-priority targets */
+ if (obj == NO_OBJECT) {