diff options
-rw-r--r-- | engines/hdb/ai-funcs.cpp | 14 | ||||
-rw-r--r-- | engines/hdb/map.cpp | 6 |
2 files changed, 10 insertions, 10 deletions
diff --git a/engines/hdb/ai-funcs.cpp b/engines/hdb/ai-funcs.cpp index af55d86586..761be53680 100644 --- a/engines/hdb/ai-funcs.cpp +++ b/engines/hdb/ai-funcs.cpp @@ -948,7 +948,7 @@ void AI::animateEntity(AIEntity *e) { bgTileFlags = g_hdb->_map->getMapBGTileFlags(e->tileX, e->tileY); fgTileFlags = g_hdb->_map->getMapFGTileFlags(e->tileX, e->tileY); - if (e->level == 1 ? (bgTileFlags & kFlagIce) : ((bgTileFlags & kFlagIce) && !(fgTileFlags & kFlagGrating))) { + if (e->level == 1 ? ((bgTileFlags & kFlagIce) == kFlagIce) : (((bgTileFlags & kFlagIce) == kFlagIce) && !(fgTileFlags & kFlagGrating))) { int xva[] = {9, 0, 0, -1, 1}, yva[] = {9, -1, 1, 0, 0}; int nx, ny, moveOK = 0; AIEntity *hit; @@ -1042,9 +1042,9 @@ void AI::animateEntity(AIEntity *e) { bgTileFlags = g_hdb->_map->getMapBGTileFlags(cx, cy); fgTileFlags = g_hdb->_map->getMapFGTileFlags(cx, cy); if ((bgTileFlags & kFlagPlayerDie) && !(checkFloating(cx, cy)) && !(fgTileFlags & kFlagGrating)) { - if (bgTileFlags & kFlagEnergyFloor) + if ((bgTileFlags & kFlagEnergyFloor) == kFlagEnergyFloor) killPlayer(DEATH_SHOCKED); - else if ((bgTileFlags & kFlagPlasmaFloor) || (bgTileFlags & kFlagRadFloor)) + else if (((bgTileFlags & kFlagPlasmaFloor) == kFlagPlasmaFloor) || ((bgTileFlags & kFlagRadFloor) == kFlagRadFloor)) killPlayer(DEATH_FRIED); else killPlayer(DEATH_NORMAL); @@ -1189,7 +1189,7 @@ void AI::animateEntity(AIEntity *e) { // If it is a light barrel on a melting floor // If it is supposed to slide across the floor // If it is being pushed on a floating entity, don't float it - if (flags & kFlagSlime) { + if ((flags & kFlagSlime) == kFlagSlime) { // unless its a Heavy Barrel in which case it floats in slime if ((e->type == AI_CRATE || e->type == AI_HEAVYBARREL) && !checkFloating(e->tileX, e->tileY)) { addAnimateTarget(e->x, e->y, 0, 3, ANIM_NORMAL, false, false, GROUP_SLIME_SPLASH_SIT); @@ -1227,7 +1227,7 @@ void AI::animateEntity(AIEntity *e) { hit = findEntityIgnore(e->tileX + xv, e->tileY + yv, &_dummyLaser); if (!hit) { e->state = STATE_SLIDING; - if (flags & kFlagAnimFast) + if ((flags & kFlagAnimFast) == kFlagAnimFast) e->moveSpeed = kPlayerMoveSpeed << 1; else if (flags & kFlagAnimSlow) e->moveSpeed = kPlayerMoveSpeed >> 1; @@ -1274,7 +1274,7 @@ void AI::animateEntity(AIEntity *e) { } if (!checkFloating(e->tileX + xv, e->tileY + yv)) { - if (flags & kFlagAnimFast) + if ((flags & kFlagAnimFast) == kFlagAnimFast) e->moveSpeed = kPlayerMoveSpeed << 1; else if (flags & kFlagAnimMedium) e->moveSpeed = kPlayerMoveSpeed; @@ -1319,7 +1319,7 @@ void AI::animateEntity(AIEntity *e) { } else if (((flags = g_hdb->_map->getMapBGTileFlags(e->tileX, e->tileY)) & kFlagWater) && (e->type == AI_MAGIC_EGG || e->type == AI_ICE_BLOCK)) { // And no foreground tile is there if (g_hdb->_map->getMapFGTileIndex(e->tileX, e->tileY) < 0 && !checkFloating(e->tileX, e->tileY)) { - if (flags & kFlagSlime) { + if ((flags & kFlagSlime) == kFlagSlime) { // Evaporates in Slime addAnimateTarget(e->x, e->y, 0, 3, ANIM_NORMAL, false, false, GROUP_STEAM_PUFF_SIT); removeEntity(e); diff --git a/engines/hdb/map.cpp b/engines/hdb/map.cpp index fbaa4c98e2..b209332c94 100644 --- a/engines/hdb/map.cpp +++ b/engines/hdb/map.cpp @@ -1021,11 +1021,11 @@ void Map::addFGTileAnimation(int x, int y) { uint32 flags = tile->_flags; // FOREGROUND - if (flags & kFlagAnimFast) { + if ((flags & kFlagAnimFast) == kFlagAnimFast) { _listFGAnimFast.push_back(i); - } else if (flags & kFlagAnimSlow) { + } else if ((flags & kFlagAnimSlow) == kFlagAnimSlow) { _listFGAnimSlow.push_back(i); - } else if (flags & kFlagAnimMedium) { + } else if ((flags & kFlagAnimMedium) == kFlagAnimMedium) { _listFGAnimMedium.push_back(i); } } |