예제 #1
0
    def spitfire2(self, origin_x, origin_y):
        '''
        spitfire is meant to be a general purpose weapon, with a high rof but low damage
        Leveling up spitfire will cause additional spitfire Bullets to fire at enemies
        '''
        weapon = 'spitfire2'

        bullet1 = Entity.Bullet(origin_x,
                                origin_y,
                                self.getSpeed(weapon),
                                self.getImagePath(weapon),
                                behavior='up',
                                damage=self.weapon_damage)
        bullet2 = Entity.Bullet(origin_x - spitfire_spread,
                                origin_y + 2 * spitfire_offset,
                                self.getSpeed(weapon),
                                self.getImagePath(weapon),
                                behavior='up',
                                damage=self.weapon_damage)
        bullet3 = Entity.Bullet(origin_x + spitfire_spread,
                                origin_y + 2 * spitfire_offset,
                                self.getSpeed(weapon),
                                self.getImagePath(weapon),
                                behavior='up',
                                damage=self.weapon_damage)
        return bullet1, bullet2, bullet3
예제 #2
0
 def bulletClass (self,className):
     '''contructs and returns enemy bullets off a 1 input nameing convention'''
     bulletSprite = None
     if className == "downwardLeft":
         bulletSprite = Entity.Bullet(COLUMN_WIDTH*1,0, -5, "bullet_art.png", 180 )# this will change, need to add spawn location and behavior
     elif className == "downwardRight":
         bulletSprite = Entity.Bullet(COLUMN_WIDTH*4,0, 5, "bullet_art.png", 180 ) # this will change, need to add spawn location and behavior
     else:#middle bullet is fallback
         bulletSprite = Entity.Bullet(SCREEN_WIDTH//2,0, 5, "bullet_art.png", 180 )# this will change, need to add spawn location and behavior
     return bulletSprite
예제 #3
0
    def blue_lazer(self, origin_x, origin_y):
        '''
        blue_lazer is a starter weapon, similar in ability to level 1 spitfire
        '''
        weapon = 'blue_lazer'

        bullet1 = Entity.Bullet(origin_x,
                                origin_y,
                                self.getSpeed(weapon),
                                self.getImagePath(weapon),
                                damage=self.weapon_damage)
        return bullet1
예제 #4
0
    def missle(self, origin_x, origin_y):
        '''
        missile is an experimental weapon that uses advanced Movement

        '''
        weapon = 'missle'

        bullet1 = Entity.Bullet(origin_x,
                                origin_y,
                                self.getSpeed(weapon),
                                self.getImagePath(weapon),
                                behavior="missle",
                                damage=self.weapon_damage)
        return bullet1
예제 #5
0
    def spitfire(self, origin_x, origin_y):
        '''
        spitfire is meant to be a general purpose weapon, with a high rof but low damage
        Leveling up spitfire will cause additional spitfire Bullets to fire at enemies
        '''
        weapon = 'spitfire'

        bullet1 = Entity.Bullet(origin_x,
                                origin_y,
                                self.getSpeed(weapon),
                                self.getImagePath(weapon),
                                angle=0,
                                behavior='up',
                                damage=self.weapon_damage)

        return bullet1
예제 #6
0
    def waveBeam(self, origin_x, origin_y):
        '''
        waveBeam will shoot an expanding wave that deals high damage to enemies
        Leveling up waveBeam will increase damage dealt as well as rof
        '''
        weapon = 'waveBeam'

        bullet1 = Entity.Bullet(origin_x,
                                origin_y,
                                self.getSpeed(weapon),
                                self.getImagePath(weapon),
                                angle=0,
                                behavior='up',
                                name='waveBeam',
                                damage=self.weapon_damage)
        return bullet1
예제 #7
0
 def chargeShot(self, origin_x, origin_y):
     '''
     chargeShot will "charge" (increment chargeShot timer) as the player holds down the fire key, and when the key is released
     a rapid stream of bullets will be shot continuosly until the chargeShot timer hits 0
     Leveling up this weapon will allow it to charge faster (increase the rate at which chargeShot timer increments)
     There is an animation that accompanies the chargeShot
     '''
     weapon = 'chargeShot'
     bullet1 = Entity.Bullet(origin_x,
                             origin_y,
                             self.getSpeed(weapon),
                             self.getImagePath(weapon),
                             angle=0,
                             behavior='up',
                             name=self.name,
                             damage=self.weapon_damage)
     return bullet1