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
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
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
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
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
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
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