Пример #1
0
        //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();

        }
Пример #2
0
        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);
        }