def isPlayerInVisionCone(self, plyr): # Is the player in my angle of vision? toPlyr = plyr.getPos() - self.getPos() yaw = CIGlobals.angleMod(CIGlobals.vecToYaw(toPlyr)) diff = CIGlobals.angleDiff(yaw, CIGlobals.angleMod(self.getYaw())) #print("Vision cone from self->player:", diff) return abs(diff) <= self.MAX_VISION_ANGLE
def isPlayerInVisionCone_FromPlayer(self, plyr): # Am I in the player's vision cone? toSelf = self.getPos() - plyr.getPos() yaw = CIGlobals.angleMod(CIGlobals.vecToYaw(toSelf)) diff = CIGlobals.angleDiff(yaw, CIGlobals.angleMod(plyr.getH())) #print("Vision cone from player->self:", diff) return abs(diff) <= self.MAX_VISION_ANGLE
def getYawDiff(self): currentYaw = CIGlobals.angleMod(self.getYaw()) if currentYaw == self.idealYaw: return 0 return CIGlobals.angleDiff(self.idealYaw, currentYaw)