Ejemplo n.º 1
0
    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
Ejemplo n.º 2
0
    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
Ejemplo n.º 3
0
    def getYawDiff(self):
        currentYaw = CIGlobals.angleMod(self.getYaw())
        if currentYaw == self.idealYaw:
            return 0

        return CIGlobals.angleDiff(self.idealYaw, currentYaw)