예제 #1
0
 private void SetRoomData()
 {
     m_boss.Name = "Astrodotus";
     m_boss.GetChildAt(0).TextureColor = Color.Green;
     m_boss.GetChildAt(2).TextureColor = Color.LightGreen;
     m_boss.GetChildAt(2).Opacity      = 0.8f;
     (m_boss.GetChildAt(1) as SpriteObj).OutlineColour = Color.Red;
     m_boss.GetChildAt(1).TextureColor  = Color.Red;
     m_boss2.GetChildAt(0).TextureColor = Color.Red;
     m_boss2.GetChildAt(2).TextureColor = Color.LightPink;
     m_boss2.GetChildAt(2).Opacity      = 0.8f;
     (m_boss2.GetChildAt(1) as SpriteObj).OutlineColour = Color.Black;
     m_boss2.GetChildAt(1).TextureColor = Color.DarkGray;
     m_boss.Level      = 100;
     m_boss.MaxHealth  = 100;
     m_boss.Damage     = 370;
     m_boss.IsWeighted = false;
     m_boss.TurnSpeed  = 0.015f;
     m_boss.Speed      = 400f;
     m_boss.IsNeo      = true;
     m_boss.ChangeNeoStats(0.8f, 1.06f, 6);
     m_boss.Scale       = new Vector2(2f, 2f);
     m_boss2.Level      = m_boss.Level;
     m_boss2.MaxHealth  = m_boss.MaxHealth;
     m_boss2.Damage     = m_boss.Damage;
     m_boss2.IsWeighted = m_boss.IsWeighted;
     m_boss2.TurnSpeed  = 0.01f;
     m_boss2.Speed      = 625f;
     m_boss2.IsNeo      = m_boss.IsNeo;
     m_boss2.ChangeNeoStats(0.75f, 1.16f, 5);
     m_boss2.Scale = m_boss.Scale;
     Game.PlayerStats.PlayerName              = "Lady Echidna";
     Game.PlayerStats.Class                   = 16;
     Game.PlayerStats.Spell                   = 15;
     Game.PlayerStats.IsFemale                = true;
     Game.PlayerStats.BonusHealth             = 90;
     Game.PlayerStats.BonusMana               = 8;
     Game.PlayerStats.BonusStrength           = 50;
     Game.PlayerStats.BonusMagic              = 33;
     Game.PlayerStats.BonusDefense            = 230;
     Game.PlayerStats.Traits                  = new Vector2(2f, 17f);
     Player.CanBeKnockedBack                  = false;
     Game.PlayerStats.GetEquippedArray[0]     = 8;
     Game.PlayerStats.GetEquippedArray[1]     = 8;
     Game.PlayerStats.GetEquippedArray[3]     = 8;
     Game.PlayerStats.GetEquippedArray[2]     = 8;
     Game.PlayerStats.GetEquippedRuneArray[1] = 7;
     Game.PlayerStats.GetEquippedRuneArray[2] = 7;
     Player.IsWeighted = false;
     if (m_boss != null)
     {
         m_boss.CurrentHealth = m_boss.MaxHealth;
     }
     if (m_boss2 != null)
     {
         m_boss2.CurrentHealth = m_boss2.MaxHealth;
     }
 }
예제 #2
0
 private void CreateBlob(GameTypes.EnemyDifficulty difficulty, int numHits, bool isNeo = false)
 {
     EnemyObj_Blob enemyObj_Blob = new EnemyObj_Blob(null, null, null, difficulty);
     enemyObj_Blob.InitializeEV();
     enemyObj_Blob.Position = base.Position;
     if (this.m_target.X < enemyObj_Blob.X)
     {
         enemyObj_Blob.Orientation = MathHelper.ToRadians(0f);
     }
     else
     {
         enemyObj_Blob.Orientation = MathHelper.ToRadians(180f);
     }
     enemyObj_Blob.Level = base.Level;
     this.m_levelScreen.AddEnemyToCurrentRoom(enemyObj_Blob);
     enemyObj_Blob.Scale = new Vector2(this.ScaleX * this.BlobSizeChange.X, this.ScaleY * this.BlobSizeChange.Y);
     enemyObj_Blob.SetNumberOfHits(numHits);
     enemyObj_Blob.Speed *= this.BlobSpeedChange;
     enemyObj_Blob.MainBlob = false;
     enemyObj_Blob.SavedStartingPos = enemyObj_Blob.Position;
     enemyObj_Blob.IsNeo = isNeo;
     if (isNeo)
     {
         enemyObj_Blob.Name = base.Name;
         enemyObj_Blob.IsWeighted = false;
         enemyObj_Blob.TurnSpeed = this.TurnSpeed;
         enemyObj_Blob.Speed = base.Speed * this.BlobSpeedChange;
         enemyObj_Blob.Level = base.Level;
         enemyObj_Blob.MaxHealth = this.MaxHealth;
         enemyObj_Blob.CurrentHealth = enemyObj_Blob.MaxHealth;
         enemyObj_Blob.Damage = base.Damage;
         enemyObj_Blob.ChangeNeoStats(this.BlobSizeChange.X, this.BlobSpeedChange, numHits);
     }
     int num = CDGMath.RandomInt(-500, -300);
     int num2 = CDGMath.RandomInt(300, 700);
     if (enemyObj_Blob.X < this.m_target.X)
     {
         enemyObj_Blob.AccelerationX += -(this.m_target.EnemyKnockBack.X + (float)num);
     }
     else
     {
         enemyObj_Blob.AccelerationX += this.m_target.EnemyKnockBack.X + (float)num;
     }
     enemyObj_Blob.AccelerationY += -(this.m_target.EnemyKnockBack.Y + (float)num2);
     if (enemyObj_Blob.Difficulty == GameTypes.EnemyDifficulty.MINIBOSS)
     {
         for (int i = 0; i < base.NumChildren; i++)
         {
             enemyObj_Blob.GetChildAt(i).Opacity = base.GetChildAt(i).Opacity;
             enemyObj_Blob.GetChildAt(i).TextureColor = base.GetChildAt(i).TextureColor;
         }
         enemyObj_Blob.ChangeSprite("EnemyBlobBossAir_Character");
     }
     else
     {
         enemyObj_Blob.ChangeSprite("EnemyBlobAir_Character");
     }
     enemyObj_Blob.PlayAnimation(true);
     if (LevelEV.SHOW_ENEMY_RADII)
     {
         enemyObj_Blob.InitializeDebugRadii();
     }
     enemyObj_Blob.SaveToFile = false;
     enemyObj_Blob.SpawnRoom = this.m_levelScreen.CurrentRoom;
     enemyObj_Blob.GivesLichHealth = false;
 }
예제 #3
0
        private void CreateBlob(GameTypes.EnemyDifficulty difficulty, int numHits, bool isNeo = false)
        {
            var enemyObj_Blob = new EnemyObj_Blob(null, null, null, difficulty);

            enemyObj_Blob.InitializeEV();
            enemyObj_Blob.Position = Position;
            if (m_target.X < enemyObj_Blob.X)
            {
                enemyObj_Blob.Orientation = MathHelper.ToRadians(0f);
            }
            else
            {
                enemyObj_Blob.Orientation = MathHelper.ToRadians(180f);
            }
            enemyObj_Blob.Level = Level;
            m_levelScreen.AddEnemyToCurrentRoom(enemyObj_Blob);
            enemyObj_Blob.Scale = new Vector2(ScaleX * BlobSizeChange.X, ScaleY * BlobSizeChange.Y);
            enemyObj_Blob.SetNumberOfHits(numHits);
            enemyObj_Blob.Speed           *= BlobSpeedChange;
            enemyObj_Blob.MainBlob         = false;
            enemyObj_Blob.SavedStartingPos = enemyObj_Blob.Position;
            enemyObj_Blob.IsNeo            = isNeo;
            if (isNeo)
            {
                enemyObj_Blob.Name          = Name;
                enemyObj_Blob.IsWeighted    = false;
                enemyObj_Blob.TurnSpeed     = TurnSpeed;
                enemyObj_Blob.Speed         = Speed * BlobSpeedChange;
                enemyObj_Blob.Level         = Level;
                enemyObj_Blob.MaxHealth     = MaxHealth;
                enemyObj_Blob.CurrentHealth = enemyObj_Blob.MaxHealth;
                enemyObj_Blob.Damage        = Damage;
                enemyObj_Blob.ChangeNeoStats(BlobSizeChange.X, BlobSpeedChange, numHits);
            }
            var num  = CDGMath.RandomInt(-500, -300);
            var num2 = CDGMath.RandomInt(300, 700);

            if (enemyObj_Blob.X < m_target.X)
            {
                enemyObj_Blob.AccelerationX += -(m_target.EnemyKnockBack.X + num);
            }
            else
            {
                enemyObj_Blob.AccelerationX += m_target.EnemyKnockBack.X + num;
            }
            enemyObj_Blob.AccelerationY += -(m_target.EnemyKnockBack.Y + num2);
            if (enemyObj_Blob.Difficulty == GameTypes.EnemyDifficulty.MINIBOSS)
            {
                for (var i = 0; i < NumChildren; i++)
                {
                    enemyObj_Blob.GetChildAt(i).Opacity      = GetChildAt(i).Opacity;
                    enemyObj_Blob.GetChildAt(i).TextureColor = GetChildAt(i).TextureColor;
                }
                enemyObj_Blob.ChangeSprite("EnemyBlobBossAir_Character");
            }
            else
            {
                enemyObj_Blob.ChangeSprite("EnemyBlobAir_Character");
            }
            enemyObj_Blob.PlayAnimation();
            if (LevelEV.SHOW_ENEMY_RADII)
            {
                enemyObj_Blob.InitializeDebugRadii();
            }
            enemyObj_Blob.SaveToFile      = false;
            enemyObj_Blob.SpawnRoom       = m_levelScreen.CurrentRoom;
            enemyObj_Blob.GivesLichHealth = false;
        }