Example #1
0
    def getHit(self, direction, damage):

        helpers.shake(self.screen, 40)

        self.old_position = self.rect.topleft

        if self.invul == 0:

           if direction == "right":

              self.old_position = self.position[0] + 40, self.position[1]

           elif direction == "left":

              self.old_position = self.position[0] - 40, self.position[1]

           elif direction == "down":

              self.old_position = self.position[0], self.position[1] +40

           elif direction == "up":

              self.old_position = self.position[0], self.position[1] -40

           self.rect.topleft = helpers.checkBoundry(self.old_position)

           self.health -= damage

           self.invul = 80

        self.position = self.rect.topleft

        if self.health < 0:

            self.alive = False
Example #2
0
 def breakRock(self, rocks):
     if self.hit_rock_timer < 20:
         self.image = self.break_rock_image
     if self.hit_rock_timer > 0:
        self.hit_rock_timer -=1   
     else:
        self.image = self.front_still
        hit_rock = pygame.sprite.spritecollide(self, rocks, False)
        if hit_rock:
           helpers.shake(pygame.display.get_surface(), 100)
           hit_rock[0].kill()
           self.touched_rocks.empty()
        self.stuck = False
    	  self.hit_rock_timer = 100
Example #3
0
 def __check_collision(self, rocks, player, old_position):
     
    hit_rock = pygame.sprite.spritecollide(self, rocks, False)
    if hit_rock:
       self.rect.topleft = old_position[0], old_position[1]
       self.position = self.rect.topleft
       self.stun_timer = 60
       helpers.shake(pygame.display.get_surface(), 50)
       self.to_be_moved_rock = hit_rock[0]
       self.hit_distance = 15
    hit_player = pygame.sprite.collide_rect(self, player)
    if hit_player:
       player.getHit(self.follow_direction, 2)
       self.stun_timer = 15
Example #4
0
 def getHit(self, direction, damage):
 	helpers.shake(self.windowSurface, 40)
 	self.old_position = self.rect.topleft
 	self.position = self.rect.topleft
 	if self.weapon == 0:
 	    self.attack_group.empty()
 	if self.invul == 0:
        if direction == "right":
           self.old_position = self.position[0] + 40, self.position[1]
        elif direction == "left":
           self.old_position = self.position[0] - 40, self.position[1]
        elif direction == "down":
           self.old_position = self.position[0], self.position[1] +40
        elif direction == "up":
           self.old_position = self.position[0], self.position[1] -40
        self.rect.topleft = helpers.checkBoundry(self.old_position)
        self.health -= damage
        self.invul = 80
     self.position = self.rect.topleft
Example #5
0
 def update(self, player, rocks):
	if not self.dying:
		if self.attack_timer == 0:
			self.__loadShot(player)
			self.attack_timer = 130
		elif self.attack_timer <10:
			self.image = self.faceGrowl
			self.attack_timer -=1
		else:
			self.__bob()
			self.attack_timer -=1
			self.image = self.faceSmile
	
		self.attack_group.update(player, rocks)
		self.attack_group.draw(self.screen)
		hit_player = pygame.sprite.spritecollide(player, self.attack_group, False)
		if hit_player:
			player.getHit("none", 1)
			#hit_player[0].kill()
		if player.hasFriend:
			friend = player.passComp()
			hit_friend = pygame.sprite.spritecollide(friend, self.attack_group, True)
			if hit_friend:
				friend.getHit("none", 100)
				friend.getDead()
				hit_friend[0].kill()
				player.hasFriend = False
		hit_head = pygame.sprite.spritecollide(self, self.attack_group, False)
		if hit_head and self.immortal_timer <= 0:
			helpers.shake(pygame.display.get_surface(), 50)
			self.health -= 1
			self.immortal_timer = 30
			if self.health <=0:
				self.image = self.faceGrowl 
				self.dying = True
		self.immortal_timer -= 1
	else:
		self.__die()
Example #6
0
    def getHit(self):
	    helpers.shake(pygame.display.get_surface(), 50)
	    if self.on_it: 
	       self.shaken = True
Example #7
0
 def getHit(self):
 	helpers.shake(pygame.display.get_surface(), 50)
 	self.kill()