bool isCloser(const CGObjectInstance *lhs, const CGObjectInstance *rhs) { const CGPathNode *ln = cb->getPathInfo(lhs->visitablePos()), *rn = cb->getPathInfo(rhs->visitablePos()); if(ln->turns != rn->turns) return ln->turns < rn->turns; return (ln->moveRemains > rn->moveRemains); }
bool isBlockedBorderGate(int3 tileToHit) { return cb->getTile(tileToHit)->topVisitableId() == Obj::BORDER_GATE && cb->getPathInfo(tileToHit)->accessible != CGPathNode::ACCESSIBLE; }
bool isReachable(const CGObjectInstance *obj) { return cb->getPathInfo(obj->visitablePos())->turns < 255; }