if (isEnemy) { // Handle potential stayput condition (map-provided or hard-coded). if (newSectnum < 0 || ((actor[spriteNum].actorstayput >= 0 && actor[spriteNum].actorstayput != newSectnum) || (pSprite->picnum == BOSS2 && pSprite->pal == 0 && sector[newSectnum].lotag != ST_3) || ((pSprite->picnum == BOSS1 || pSprite->picnum == BOSS2) && sector[newSectnum].lotag == ST_1_ABOVE_WATER) || (sector[oldSectnum].lotag != ST_1_ABOVE_WATER && sector[newSectnum].lotag == ST_1_ABOVE_WATER && (pSprite->picnum == LIZMAN || (pSprite->picnum == LIZTROOP && pSprite->zvel == 0))))) { *(vec2_t *) pSprite = oldPos; // NOTE: in Duke3D, LIZMAN on water takes on random angle here. setsprite(spriteNum, (vec3_t *)pSprite); if (newSectnum < 0) newSectnum = 0; return 16384+newSectnum; }
Specifically, why are pigcops excluded? Is it because the developers hated police, or is it because this code was a kludge motivated by the pool in E3L1, which has no pigcops around it?