Example #1
0
void findAllDoors(std::vector<int>& outDoors, const sRoom& room)
{
    outDoors.clear();
    auto len = room.w * room.h;
    for (auto i = 0; i < len; ++i)
    {
        if (isDoor(room.tiles[i * 2]))
        {
            outDoors.push_back(i);
        }
    }
}
Example #2
0
shObjectIlk *
shFeature::keyNeededForDoor ()
{
    if (!isDoor ()) return NULL;
    if ((mDoor.mFlags & kLock1) == kLock1)
        return &AllIlks[kObjKeycard1];
    if ((mDoor.mFlags & kLock2) == kLock2)
        return &AllIlks[kObjKeycard2];
    if ((mDoor.mFlags & kLock3) == kLock3)
        return &AllIlks[kObjKeycard3];
    if ((mDoor.mFlags & kLock4) == kLock4)
        return &AllIlks[kObjKeycard4];
    if ((mDoor.mFlags & kLockMaster) == kLockMaster)
        return &AllIlks[kObjMasterKeycard];
    return NULL;
}