Ejemplo n.º 1
0
 def tick(self, dtime):
     if self.shots <= 0:
         self.shooting = False
         self.shotClock = self.shotFrequency
         
     if self.shooting == False:
         self.reloadClock -= dtime
         if self.reloadClock < 0:
             self.shooting = True
             self.shots = self.clip
             self.reloadClock = self.reload
     else:
         self.shotClock -= dtime
     
     if self.shooting == True and self.shotClock < 0:
         self.targetLoc = self.engine.entityMgr.hero.pos
         diffZ = self.targetLoc.z - self.pos.z
         diffX = self.targetLoc.x - self.pos.x        
         desiredHeading = -ogre.Math.ATan2(diffZ, diffX).valueRadians()
         self.engine.entityMgr.addComm(self, command.fireWhiteBullet(self, desiredHeading))
         self.shotClock = self.shotFrequency
         self.shots -= 1
         
     for aspect in self.aspects:
         aspect.tick(dtime)
         
     self.checkCollision()
     self.checkHealth()
Ejemplo n.º 2
0
 def tick(self, dtime):
     self.shotClock -= dtime
     
     if self.shotClock < 0:
         self.targetLoc = self.engine.entityMgr.hero.pos
         diffZ = self.targetLoc.z - self.pos.z
         diffX = self.targetLoc.x - self.pos.x        
         desiredHeading = -ogre.Math.ATan2(diffZ, diffX).valueRadians()
         self.engine.entityMgr.addComm(self, command.fireWhiteBullet(self, desiredHeading))
         self.engine.entityMgr.addComm(self, command.fireWhiteBullet(self, desiredHeading+ogre.Degree(22).valueRadians()))
         self.engine.entityMgr.addComm(self, command.fireWhiteBullet(self, desiredHeading+ogre.Degree(44).valueRadians()))
         self.engine.entityMgr.addComm(self, command.fireWhiteBullet(self, desiredHeading-ogre.Degree(22).valueRadians()))
         self.engine.entityMgr.addComm(self, command.fireWhiteBullet(self, desiredHeading-ogre.Degree(44).valueRadians()))
         self.shotClock = self.shotFrequency
     for aspect in self.aspects:
         aspect.tick(dtime)
         
     self.checkCollision()
     self.checkHealth()