Ejemplo n.º 1
0
    def __init__(self, x, y, handler):
        health = 2000
        damage = 75
        win_quote = "OH YEAHHHH!"
        lose_quote = "IMPOSSIBLE!"
        name = "Lil' Shed"
        movespeed = 5
        defense = .7

        super().__init__(health, damage, win_quote, lose_quote, name, x, y,
                         movespeed, handler.getPlatformArray(),
                         handler.getAttackList(), handler, defense)

        # Misc
        self.tick = 0
        self.jump_pressed = False
        self.duck_pressed = False

        # Ranged
        self.ranged_cooldown = Cooldown(0.5)

        # Special
        self.special_cooldown = Cooldown(3)
        self.special_active = False
        self.specialx = 5
        self.specialy = 15
        self.special_phase = 1
        self.special_x_change = 1
        self.special_y_change = 1

        self.movingLeft = False
        self.movingRight = False
        self.gravity = 0
    def __init__(self, x, y, handler):
        health = 1000
        damage = 100
        win_quote = "Pog Champerino!!!!"
        lose_quote = "I was lagging!"
        name = "Reynaldo"
        movespeed = 6
        defense = .5
        self.handler = handler

        super().__init__(health, damage, win_quote, lose_quote, name, x, y, movespeed, handler.getPlatformArray(),
                         handler.getAttackList(), handler, defense)

        self.ranged_cooldown = Cooldown(1.5)
        self.ranged_count = 0
        self.ranged_active = False
        self.start_tick = 0

        self.special_sprite = pygame.image.load("media/Players/Reynaldo/ReynaldoSpecial.png").convert_alpha()
        self.special_sprite_rect = self.special_sprite.get_rect()
        self.special_active = False
        self.start_pos = []
        self.special_count = 0
        self.special_travel_speed = 20
        self.special_range = 800
        self.special_stage = 1
        self.special_cooldown = Cooldown(5)
        self.special_hit = False
        self.start_direction = 0
 def special(self):
     if self.special_cooldown.isDone():
         self.current_health = self.health
         self.special_active = True
         self.number = random.randint(1, 5)
         if self.number == 5:
             self.special_duration = Cooldown(5)
         else:
             self.special_duration = Cooldown(.1)
     if not self.special_cooldown.isDone():
         self.num = 0
    def __init__(self, x, y, handler):
        health = 700
        damage = 100
        defense = .5
        movespeed = 10
        win_quote = "Spaghet saved me"
        lose_quote = "I wrote the spaghet"
        name = "JaccobBonkley"
        self.handler = handler

        super().__init__(health, damage, win_quote, lose_quote, name, x, y, movespeed, handler.getPlatformArray(), handler.getAttackList(), handler, defense)

        self.bullet_speed = 20
        self.special_cooldown = Cooldown(3)
        self.special_duration = Cooldown(3)
        self.current_health = 0
        self.number = 0
        self.special_active = False
        self.keyboard = pygame.image.load("media/Misc/Keyboard.png").convert_alpha()
        self.keyboard2 = pygame.image.load("media/Misc/Keyboard2.png").convert_alpha()
        self.mr_smo = pygame.image.load("media/Players/Smo/Smo.png").convert_alpha()
        self.num = 0

        self.walkSpriteList = [
            pygame.image.load("media/Players/JaccobBonkley/JaccobBonkley.png").convert_alpha(),
            pygame.image.load("media/Players/JaccobBonkley/Bonkley2.png").convert_alpha(),
            pygame.image.load("media/Players/JaccobBonkley/Bonkley3.png").convert_alpha(),
            pygame.image.load("media/Players/JaccobBonkley/Bonkley4.png").convert_alpha()
        ]
        self.walkAnimation = Animation(self.handler, self, self.walkSpriteList)
        self.walk_animation_delay = 15

        self.crouchSpriteList = [
            pygame.image.load("media/Players/JaccobBonkley/JaccobBonkleyCrouch.png").convert_alpha(),
            pygame.image.load("media/Players/JaccobBonkley/BonkleyCrouch2.png").convert_alpha(),
            pygame.image.load("media/Players/JaccobBonkley/BonkleyCrouch3.png").convert_alpha(),
            pygame.image.load("media/Players/JaccobBonkley/BonkleyCrouch4.png").convert_alpha()
        ]
        self.crouchAnimation = Animation(self.handler, self, self.crouchSpriteList)
        self.crouch_animation_delay = 8

        self.animation_manager = AnimationManager(self, self.walkAnimation, None, self.crouchAnimation)

        self.keyboardAnimation = CircularQueue()
        for a in range(0, -90, -5):
            self.keyboardAnimation.addData(pygame.transform.rotate(self.keyboard, a))

        self.keyboardAnimation2 = CircularQueue()
        for b in range(-90, -180, -5):
            self.keyboardAnimation2.addData(pygame.transform.rotate(self.keyboard2, b))
Ejemplo n.º 5
0
    def __init__(self, x, y, handler):
        health = 1000
        damage = 75
        win_quote = "Broken like Katarina"
        lose_quote = "I don't even care"
        name = "Greg"
        movespeed = 5
        defense = .7

        super().__init__(health, damage, win_quote, lose_quote, name, x, y,
                         movespeed, handler.getPlatformArray(),
                         handler.getAttackList(), handler, defense)

        self.count = 0
        self.special_active = False
        self.special_cooldown = Cooldown(5)
        self.special_duration = Cooldown(1)
        self.attacksprite = pygame.image.load("media/Misc/fist.png").convert()
        self.specialsprite = pygame.image.load(
            "media/Players/Greg/GregSpecial.png").convert()
        self.specialframe1 = pygame.image.load(
            "media/Players/Greg/GregSpecial1.png").convert_alpha()
        self.specialframe2 = pygame.image.load(
            "media/Players/Greg/GregSpecial2.png").convert_alpha()
        self.specialnum = 1
        self.damage_ranged = 200
        self.damage_special = 125
        self.startgravity = self.gravity
        self.attacking = False
        self.attackcount = 0
        self.attackradius = 100
        self.ranged_cooldown = Cooldown(2)
        self.walk_animation_delay = 8

        # Animation
        self.walkSpriteList = [
            pygame.image.load("media/Players/Greg/Greg1.png").convert_alpha(),
            pygame.image.load("media/Players/Greg/Greg2.png").convert_alpha(),
            pygame.image.load("media/Players/Greg/Greg3.png").convert_alpha(),
            pygame.image.load("media/Players/Greg/Greg4.png").convert_alpha()
        ]

        self.walkAnimation = Animation(self.handler, self, self.walkSpriteList)

        self.animation_manager = AnimationManager(self, self.walkAnimation)
Ejemplo n.º 6
0
    def __init__(self, x, y, handler):
        health = 1100
        damage = 150
        win_quote = "Are the platforms fixed yet?"
        lose_quote = "I\'d better try to fix that... emphasis on try"
        name = "Kyle"
        defense = .6
        movespeed = 5

        super().__init__(health, damage, win_quote, lose_quote, name, x, y,
                         movespeed, handler.getPlatformArray(),
                         handler.getAttackList(), handler, defense)

        self.platformcount = 0
        self.special_cooldown = Cooldown(3)

        self.spriteList = [
            pygame.image.load("media/Players/Kyle/Kyle.png").convert_alpha(),
            pygame.image.load("media/Players/Kyle/Kyle1.png").convert_alpha(),
            pygame.image.load("media/Players/Kyle/Kyle2.png").convert_alpha(),
            pygame.image.load("media/Players/Kyle/Kyle3.png").convert_alpha(),
            pygame.image.load("media/Players/Kyle/Kyle4.png").convert_alpha(),
            pygame.image.load("media/Players/Kyle/Kyle5.png").convert_alpha(),
            pygame.image.load("media/Players/Kyle/Kyle6.png").convert_alpha(),
            pygame.image.load("media/Players/Kyle/Kyle7.png").convert_alpha()
        ]

        self.walkAnimation = Animation(self.handler, self, self.spriteList)
        self.walk_animation_delay = 1

        self.crouchSpriteList = [
            pygame.image.load(
                "media/Players/Kyle/KyleCrouch.png").convert_alpha(),
            pygame.image.load(
                "media/Players/Kyle/KyleCrouch1.png").convert_alpha(),
            pygame.image.load(
                "media/Players/Kyle/KyleCrouch2.png").convert_alpha(),
            pygame.image.load(
                "media/Players/Kyle/KyleCrouch3.png").convert_alpha(),
            pygame.image.load(
                "media/Players/Kyle/KyleCrouch4.png").convert_alpha(),
            pygame.image.load(
                "media/Players/Kyle/KyleCrouch5.png").convert_alpha(),
            pygame.image.load(
                "media/Players/Kyle/KyleCrouch6.png").convert_alpha(),
            pygame.image.load(
                "media/Players/Kyle/KyleCrouch7.png").convert_alpha()
        ]

        self.crouchAnimation = Animation(self.handler, self,
                                         self.crouchSpriteList)
        self.crouch_animation_delay = 1

        self.animation_manager = AnimationManager(self, self.walkAnimation,
                                                  None, self.crouchAnimation)

        self.frame = 0
Ejemplo n.º 7
0
    def __init__(self, x, y, handler):
        health = 1100
        damage = 50
        win_quote = "Chewbacca"
        lose_quote = "Chewbacca"
        name = "Kemul"
        defense = .7
        movespeed = 5

        super().__init__(health, damage, win_quote, lose_quote, name, x, y,
                         movespeed, handler.getPlatformArray(),
                         handler.getAttackList(), handler, defense)

        self.special_active = False
        self.special_cooldown = Cooldown(3)
        self.special_duration = Cooldown(2)
        self.caravan_sprite = pygame.image.load(
            "media/Players/Kemul/Kemul 2.png").convert_alpha()
        self.caravan_x = 1100
        self.caravan_y = 0
        self.caravan_loaded = True
Ejemplo n.º 8
0
 def __init__(self, screen, x, y, length, height, duration=-1, speed=0):
     super().__init__()
     self.screen = screen
     self.x = x
     self.y = y
     self.length = length
     self.height = height
     self.image = pygame.Surface([self.length, self.height])
     self.rect = self.image.get_rect()
     self.duration = duration
     self.speed = speed
     self.platform_cooldown = Cooldown(duration)
Ejemplo n.º 9
0
    def __init__(self, x, y, handler):
        health = 1200
        damage = 75
        win_quote = "I always start the party"
        lose_quote = "Zzz"
        name = "David"
        defense = .4
        movespeed = 3
        self.handler = handler

        super().__init__(health, damage, win_quote, lose_quote, name, x, y,
                         movespeed, handler.getPlatformArray(),
                         handler.getAttackList(), handler, defense)

        self.attacksprite = pygame.image.load(
            "media/Players/David/DavidAttack.png").convert_alpha()
        self.specialsprite = pygame.image.load(
            "media/Players/David/DavidSpecial.png").convert_alpha()
        # special
        self.special_cooldown = Cooldown(5)
        self.special_duration = Cooldown(1)
        self.special_active = False
        self.targetMoveSpeed = 0
Ejemplo n.º 10
0
    def __init__(self, x, y, handler):
        health = 1100
        damage = 50
        win_quote = "up to the board"
        lose_quote = "this will delay my victory"
        name = "Smo"
        defense = .5
        movespeed = 5

        super().__init__(health, damage, win_quote, lose_quote, name, x, y, movespeed, handler.getPlatformArray(), handler.getAttackList(), handler, defense)

        self.special_active = False
        self.special_range = 300
        self.startdefense = defense
        self.rangedcount = 0
        self.rangedavailable = True
        self.attackavailable = True
        self.special_available = True
        self.special_cooldown = Cooldown(5)
        self.special_duration = Cooldown(3)
        self.damage = damage
        self.pundatabase = PunDatabase()
        self.pun = self.pundatabase.getRandomPun()
        self.target_health_update()
Ejemplo n.º 11
0
    def __init__(self, x, y, handler):
        health = 1200
        damage = 60
        win_quote = "ROOOOOOSE"
        lose_quote = "at least I still have Kaitlin"
        name = "Collin"
        movespeed = 5
        defense = .6

        super().__init__(health, damage, win_quote, lose_quote, name, x, y,
                         movespeed, handler.getPlatformArray(),
                         handler.getAttackList(), handler, defense)

        self.handler = handler
        self.currenttick = 0
        # attacks
        self.damage = damage
        self.attacking = False
        self.enemydistx = 0
        self.enemydisty = 0
        # media
        left_attack1 = pygame.image.load(
            "media/Players/Collin/CollinRangedLeft1.png").convert_alpha()
        left_attack2 = pygame.image.load(
            "media/Players/Collin/CollinRangedLeft2.png").convert_alpha()
        right_attack1 = pygame.image.load(
            "media/Players/Collin/CollinRangedRight1.png").convert_alpha()
        right_attack2 = pygame.image.load(
            "media/Players/Collin/CollinRangedRight2.png").convert_alpha()
        self.leftAnimation = CircularQueue()
        self.leftAnimation.addData(left_attack1)
        self.leftAnimation.addData(left_attack2)
        self.rightAnimation = CircularQueue()
        self.rightAnimation.addData(right_attack1)
        self.rightAnimation.addData(right_attack2)
        self.rightAttImg = self.rightAnimation.get()
        self.leftAttImg = self.leftAnimation.get()

        # special
        self.special_sprite = pygame.image.load(
            "media/Players/Collin/CollinSpecial.png")
        self.specialAnimation = CircularQueue()
        for i in range(0, 72):
            self.specialAnimation.addData(
                pygame.transform.rotate(self.special_sprite, i * 5))
        self.special_cooldown = Cooldown(5)
        self.special_damage = 50
        self.special_active = False
Ejemplo n.º 12
0
    def __init__(self, x, y, handler):
        health = 1100
        damage = 15
        win_quote = "yikes"
        lose_quote = "yikes"
        name = "Jarod"
        defense = .5
        movespeed = 4

        super().__init__(health, damage, win_quote, lose_quote, name, x, y,
                         movespeed, handler.getPlatformArray(),
                         handler.getAttackList(), handler, defense)

        self.special_active = False
        self.special_available = False
        self.special_cooldown = Cooldown(15)
        self.damage = damage
        self.rangedavailable = False
        self.released = True
        self.tick = 0
Ejemplo n.º 13
0
    def __init__(self, health, damage, win_quote, lose_quote, name, x, y,
                 movespeed, plat_array, attack_list, handler, defense):
        super().__init__()
        self.i = 0
        self.sprite = pygame.image.load("media/Players/" + name + "/" + name +
                                        ".png").convert_alpha()
        self.stansprite = pygame.image.load("media/Players/" + name + "/" +
                                            name + ".png").convert_alpha()
        self.crouchsprite = pygame.image.load("media/Players/" + name + "/" +
                                              name +
                                              "Crouch.png").convert_alpha()
        self.attacksprite = pygame.image.load(
            "media/Misc/projectileRight.png").convert_alpha()
        self.jumpsprite = self.stansprite
        self.leftsprite = pygame.transform.flip(self.sprite, True, False)
        self.rightsprite = self.stansprite
        self.leftcrouchsprite = pygame.transform.flip(self.crouchsprite, True,
                                                      False)
        self.rightcrouchsprite = self.crouchsprite
        self.rightAttackSprite = self.attacksprite
        self.leftAttackSprite = pygame.transform.rotate(self.attacksprite, 180)

        self.walk_animation_delay = 10
        self.special_animation_delay = 10
        self.crouch_animation_delay = 10

        self.hitSound = Sound("DeathSound")
        self.attacksound = Sound("GunFiring")
        self.gregMeleeHit = Sound("Knife Slice Into Flesh Sound Effect")
        self.rapidFire = Sound("HEAVY MACHINE GUN SOUND EFFECT(1)")
        self.hoverOver = Sound("Beep2")
        self.deathsound = Sound("LongDeathSound")
        # self.jumpSound = Sound("y2mate.com - cartoon_boing_sound_effect_3_rm_qHuXXvpk")
        self.BIGGsound = Sound("BIGGDeathSound")

        self.damage = damage
        self.maxHP = health
        self.health = health
        self.winQuote = win_quote
        self.loseQuote = lose_quote
        self.name = name
        self.platArray = plat_array
        self.attackList = attack_list
        self.xchange = 0
        self.ychange = 0
        self.movespeed = movespeed
        self.gravity = 0.25
        self.width = self.sprite.get_width()
        self.height = self.sprite.get_height()
        self.rect = pygame.Rect(x, y, self.width, self.height)
        self.jumpCount = 0
        self.takenDamage = 0
        self.handler = handler
        self.defense = defense
        self.stunned = False
        self.sleeping = False
        self.facing = 1  # -1 for left, 1 for right
        self.special_cooldown = Cooldown(0)
        self.ranged_cooldown = Cooldown(0)
        self.bullet_speed = 15
        self.meleeattack = MeleeAttack(20, self, self.handler)

        self.jumpreleased = False
        self.duckreleased = False

        # Player states
        self.crouching = False
        self.attacking = False
        self.walking = False
        self.idle = False
        self.jumping = False
        self.in_special = False
    def update(self, screen):
        self.animation_manager.update()

        super().update(screen)

        if not self.special_cooldown.isDone():
            self.special_cooldown.update()

        if self.special_active and not self.sleeping:
            self.special_duration.update()
            if self.number != 5:
                if not self.special_duration.isDone():
                    if self.facing == 1:
                        screen.blit(self.keyboardAnimation.get(), (self.rect.x + 70, self.rect.y - 50))
                        if self.handler.getPlayer1().name == "JaccobBonkley" and (self.handler.getPlayer2().rect.x - self.rect.x) <= 170 and (self.handler.getPlayer2().rect.x - self.rect.x) >= 0 and (self.handler.getPlayer2().rect.y - self.rect.y) <= 50:
                            self.handler.player2.takeDamage(100)
                            self.special_active = False
                        if self.handler.getPlayer2().name == "JaccobBonkley" and (self.handler.getPlayer1().rect.x - self.rect.x) <= 170 and (self.handler.getPlayer1().rect.x - self.rect.x) >= 0 and (self.handler.getPlayer1().rect.y - self.rect.y) <= 50:
                            self.handler.player1.takeDamage(100)
                            self.special_active = False
                    if self.facing == -1:
                        screen.blit(self.keyboardAnimation2.get(), (self.rect.x - 70, self.rect.y - 50))
                        if self.handler.getPlayer1().name == "JaccobBonkley" and (self.rect.x - self.handler.getPlayer2().rect.x) <= 170 and (self.rect.x - self.handler.getPlayer2().rect.x) >= 0 and (self.handler.getPlayer2().rect.y - self.rect.y) <= 50:
                            self.handler.player2.takeDamage(100)
                            self.special_active = False
                        if self.handler.getPlayer2().name == "JaccobBonkley" and (self.rect.x - self.handler.getPlayer1().rect.x) <= 170 and (self.rect.x - self.handler.getPlayer1().rect.x) >= 0 and (self.handler.getPlayer1().rect.y - self.rect.y) <= 50:
                            self.handler.player1.takeDamage(100)
                            self.special_active = False

                else:
                    self.special_active = False
                    self.handler.getPlayer1().stunned = False
                    self.handler.getPlayer2().stunned = False
                    self.special_cooldown.update()
                    self.num = 0
            else:
                if not self.special_duration.isDone():
                    self.handler.getPlayer1().stunned = True
                    self.handler.getPlayer2().stunned = True
                    if self.facing == 1:
                        if self.num < (self.rect.x - 70):
                            screen.blit(self.mr_smo, (self.num, self.rect.y - 15))
                            self.num += 10
                        else:
                            screen.blit(self.mr_smo, (self.num, self.rect.y - 15))
                            screen.blit(self.keyboardAnimation.get(), (self.rect.x - 70, self.rect.y - 50))
                            if self.health != (self.current_health - 100):
                                self.takeDamage(100)
                                self.special_duration = Cooldown(.1)
                    if self.facing == -1:
                        if self.num < (1080 - self.rect.x):
                            screen.blit(self.mr_smo, (1150 - self.num, self.rect.y - 15))
                            self.num += 10
                        else:
                            screen.blit(self.mr_smo, (1150 - self.num, self.rect.y - 15))
                            screen.blit(self.keyboardAnimation2.get(), (self.rect.x + 70, self.rect.y - 50))
                            if self.health != (self.current_health - 100):
                                self.takeDamage(100)
                                self.special_duration = Cooldown(.1)

                else:
                    self.special_active = False
                    self.handler.getPlayer1().stunned = False
                    self.handler.getPlayer2().stunned = False
                    self.special_cooldown = Cooldown(3)
                    self.special_cooldown.update()
                    self.num = 0
Ejemplo n.º 15
0
    def __init__(self, x, y, handler):
        health = 1100
        damage = 55
        win_quote = "yikes"
        lose_quote = "yikes"
        name = "Will"
        defense = .5
        movespeed = 5

        super().__init__(health, damage, win_quote, lose_quote, name, x, y,
                         movespeed, handler.getPlatformArray(),
                         handler.getAttackList(), handler, defense)

        self.special_active = False
        self.count = 0
        self.start_time = 0
        self.startgravity = self.gravity
        self.startdefense = defense
        self.jumpsprite = pygame.image.load(
            "media/Players/Will/WillJump.png").convert_alpha()
        self.specialsprite = pygame.image.load(
            "media/Players/Will/WillSpecial.png").convert()
        self.attacksprite = pygame.image.load(
            "media/Players/Will/Attack2.png").convert_alpha()
        self.rangedsprite1 = pygame.image.load(
            "media/Players/Will/WillRanged1.png").convert_alpha()
        self.rangedsprite2 = pygame.image.load(
            "media/Players/Will/WillRanged2.png").convert_alpha()
        self.attack1 = pygame.image.load(
            "media/Players/Will/Attack1.png").convert_alpha()
        self.attack2 = pygame.image.load(
            "media/Players/Will/Attack2.png").convert_alpha()
        self.attack_animation = CircularQueue()
        self.attack_animation.addData(self.attack1)
        self.attack_animation.addData(self.attack2)
        self.powerattack_animation_right = CircularQueue()
        self.powerattack_animation_right.addData(
            pygame.image.load(
                "media/Players/Will/PowerAttack1.png").convert_alpha())
        self.powerattack_animation_right.addData(
            pygame.image.load(
                "media/Players/Will/PowerAttack2.png").convert_alpha())
        self.powerattack_animation_left = CircularQueue()
        self.powerattack_animation_left.addData(
            pygame.transform.flip(
                pygame.image.load(
                    "media/Players/Will/PowerAttack1.png").convert_alpha(),
                True, False))
        self.powerattack_animation_left.addData(
            pygame.transform.flip(
                pygame.image.load(
                    "media/Players/Will/PowerAttack2.png").convert_alpha(),
                True, False))

        self.walkSpriteList = [
            pygame.image.load("media/Players/Will/Will.png").convert_alpha(),
            pygame.image.load("media/Players/Will/Will1.png").convert_alpha(),
            pygame.image.load("media/Players/Will/Will2.png").convert_alpha(),
            pygame.image.load("media/Players/Will/Will3.png").convert_alpha()
        ]
        self.walkAnimation = Animation(self.handler, self, self.walkSpriteList)
        self.walk_animation_delay = 8

        self.specialSpriteList = [
            pygame.image.load(
                "media/Players/Will/WillSpecial1.png").convert_alpha(),
            pygame.image.load("media/Players/Will/WillSpecial.png").convert()
        ]

        self.specialAnimation = Animation(self.handler, self,
                                          self.specialSpriteList)

        self.crouchSpriteList = [
            pygame.image.load(
                "media/Players/Will/WillCrouch.png").convert_alpha(),
            pygame.image.load(
                "media/Players/Will/WillCrouch1.png").convert_alpha(),
            pygame.image.load(
                "media/Players/Will/WillCrouch2.png").convert_alpha(),
            pygame.image.load(
                "media/Players/Will/WillCrouch3.png").convert_alpha()
        ]

        self.crouchAnimation = Animation(self.handler, self,
                                         self.crouchSpriteList)
        self.crouch_animation_delay = 8

        self.attackSpriteList = [
            pygame.image.load(
                "media/Players/Will/WillRanged1.png").convert_alpha(),
            pygame.image.load(
                "media/Players/Will/WillRanged2.png").convert_alpha()
        ]

        self.attackAnimation = Animation(self.handler, self,
                                         self.attackSpriteList)

        self.animation_manager = AnimationManager(self, self.walkAnimation,
                                                  self.specialAnimation,
                                                  self.crouchAnimation,
                                                  self.attackAnimation)

        self.BIGGnoise = Sound("BIGGDeathSound")
        self.rangedcount = 0
        self.rangedavailable = False
        self.ranged_cooldown = Cooldown(5)
        self.attackavailable = False

        # Special
        self.special_available = True
        self.special_cooldown = Cooldown(5)
        self.special_duration = Cooldown(.25)
        self.special_count = 0
        self.special_start_time = 0
        self.roll_speed = 10

        self.released = False
        self.damage = damage
        self.tickcounter = 0
        self.right_ranged_animation = CircularQueue()
        self.right_ranged_animation.addData(self.rangedsprite1)
        self.right_ranged_animation.addData(self.rangedsprite2)
        self.left_ranged_animation = CircularQueue()
        self.left_ranged_animation.addData(
            pygame.transform.flip(self.rangedsprite1, True, False))
        self.left_ranged_animation.addData(
            pygame.transform.flip(self.rangedsprite2, True, False))
        self.ranged_used = False
        self.tick = 0