//Method for initializing the boss turret subtype //I'll see how this goes.. public void BossTurretInitialize() { //TODO: lines? //TODO: initialization for base myTexture = GameState.content.Load<Texture2D>(@"Textures\Enemy\TURRETBOSS_Body_medium"); //finish and replace art health = 25500; startingHealth = 20500; speed = 1.06f; currentSprite = 0; currentSpriteColumn = 0; totalSprites = 7; totalSpriteColumn = 4; myRect.Width = 64; myRect.Height = 64; bossTargetTimer = 0; RoF = 400;//NEED TO MAKE ANIMATION FOR MISSLE FIRING //subtypes for shoulders and turret 0 being the left should, 1 being the right, 2 being the turret SubEnemies = new Enemy[5]; SubEnemies[0] = new Enemy("MovingTurret", "MovingTurret", new Vector2(myPos.X - 128, myPos.Y + 128)); SubEnemies[0].health = 6000; SubEnemies[1] = new Enemy("MovingTurret", "MovingTurret", new Vector2(myPos.X -128, myPos.Y -128)); SubEnemies[1].health = 6000; SubEnemies[2] = new Enemy("GattlingGun", "GattlingGun", new Vector2(myPos.X, myPos.Y + 64)); SubEnemies[2].health = 6000; SubEnemies[3] = new Enemy("MovingTurret", "MovingTurret", new Vector2(myPos.X + 128, myPos.Y - 128)); SubEnemies[3].health = 6000; SubEnemies[4] = new Enemy("MovingTurret", "MovingTurret", new Vector2(myPos.X + 128, myPos.Y + 128)); SubEnemies[4].health = 6000; recentDeath = new Boolean[5]; recentDeath[0] = true; recentDeath[1] = true; recentDeath[2] = true; recentDeath[3] = true; recentDeath[4] = true; distance = new float[4]; lineAngle = new float[4]; lineTexture = GameState.content.Load<Texture2D>(@"Textures\Enemy\TransparentBar_longwavy_boss"); lineTexture_med = GameState.content.Load<Texture2D>(@"Textures\Enemy\TransparentBar_wavyshortpink_boss"); lineTexture_short = GameState.content.Load<Texture2D>(@"Textures\Enemy\TransparentBar_wavyshortpurple_boss"); speedUpPeriod = false; randomTimeSwitch = new Random(); }
private static void Damage_Enemy(Enemy enemy, string impactPoints) { tempInt = (int)damageBonus + 10 + (int)((maxDistance - lineLength) / 24); if (GameState.objectManager.players.Get_isInvincible(0) && GameState.objectManager.players.Get_invFromDamage(0)) tempInt /= 2; if (GameState.objectManager.players.Get_isInvincible(1) && GameState.objectManager.players.Get_invFromDamage(1)) tempInt /= 2; if (lineLength > maxDistance) tempInt -= (int)damageBonus; if (tempInt < 0) tempInt = 0; enemy.Take_Damage(tempInt, impactPoints); }