Example #1
0
 public override void Kill(bool giveXP = true)
 {
     if (Difficulty != GameTypes.EnemyDifficulty.MINIBOSS)
     {
         base.Kill(giveXP);
         return;
     }
     if (m_target.CurrentHealth > 0)
     {
         Game.PlayerStats.EyeballBossBeaten = true;
         Tween.StopAllContaining(this, false);
         if (m_currentActiveLB != null && m_currentActiveLB.IsActive)
         {
             m_currentActiveLB.StopLogicBlock();
         }
         SoundManager.StopMusic();
         m_bossVersionKilled = true;
         m_target.LockControls();
         m_levelScreen.PauseScreen();
         m_levelScreen.ProjectileManager.DestroyAllProjectiles(false);
         m_levelScreen.RunWhiteSlashEffect();
         SoundManager.PlaySound("Boss_Flash");
         SoundManager.PlaySound("Boss_Eyeball_Freeze");
         Tween.RunFunction(1f, this, "Part2");
         GameUtil.UnlockAchievement("FEAR_OF_EYES");
     }
 }
Example #2
0
        public static void LevelUpTrait(SkillObj trait, bool giveGoldBonus)
        {
            Game.PlayerStats.CurrentLevel++;
            trait.CurrentLevel++;
            UpdateTraitSprite(trait);
            if (trait.TraitType == SkillType.Gold_Flat_Bonus && giveGoldBonus)
            {
                Game.PlayerStats.Gold += (int)trait.ModifierAmount;
            }
            var flag = true;

            foreach (var current in SkillArray)
            {
                if (current.CurrentLevel < 1)
                {
                    flag = false;
                    break;
                }
            }
            if (flag)
            {
                GameUtil.UnlockAchievement("FEAR_OF_DECISIONS");
            }
            if (Game.PlayerStats.CurrentLevel >= 50)
            {
                GameUtil.UnlockAchievement("FEAR_OF_WEALTH");
            }
        }
Example #3
0
        public override void OnExit()
        {
            var flag  = false;
            var flag2 = false;
            var flag3 = false;
            var flag4 = false;
            var flag5 = false;

            if (Game.PlayerStats.EnemiesKilledList[15].W > 0f)
            {
                flag = true;
            }
            if (Game.PlayerStats.EnemiesKilledList[22].W > 0f)
            {
                flag2 = true;
            }
            if (Game.PlayerStats.EnemiesKilledList[32].W > 0f)
            {
                flag3 = true;
            }
            if (Game.PlayerStats.EnemiesKilledList[12].W > 0f)
            {
                flag4 = true;
            }
            if (Game.PlayerStats.EnemiesKilledList[5].W > 0f)
            {
                flag5 = true;
            }
            if (flag && flag2 && flag3 && flag4 && flag5)
            {
                GameUtil.UnlockAchievement("FEAR_OF_ANIMALS");
            }
            base.OnExit();
        }
Example #4
0
        public override void OnEnter()
        {
            var flag = true;

            foreach (var current in SkillSystem.SkillArray)
            {
                if (current.CurrentLevel < 1)
                {
                    flag = false;
                    break;
                }
            }
            if (flag)
            {
                GameUtil.UnlockAchievement("FEAR_OF_DECISIONS");
            }
            if (Game.PlayerStats.CurrentLevel >= 50)
            {
                GameUtil.UnlockAchievement("FEAR_OF_WEALTH");
            }
            m_lockControls = false;
            m_manor.GetChildAt(23).Visible = true;
            m_manor.GetChildAt(23).Opacity = 1f;
            Camera.Position = new Vector2(660f, 360f);
            var skillArray = SkillSystem.GetSkillArray();

            for (var i = 0; i < skillArray.Length; i++)
            {
                if (skillArray[i].CurrentLevel > 0)
                {
                    SetVisible(skillArray[i], false);
                }
            }
            if (!SoundManager.IsMusicPlaying)
            {
                SoundManager.PlayMusic("SkillTreeSong", true, 1f);
            }
            var skill = SkillSystem.GetSkill((int)m_selectedTraitIndex.X, (int)m_selectedTraitIndex.Y);

            m_selectionIcon.Position = SkillSystem.GetSkillPosition(skill);
            UpdateDescriptionPlate(skill);
            m_dialoguePlate.Visible = true;
            m_confirmText.Text      = "[Input:" + 0 + "] to purchase/upgrade skill";
            m_toggleIconsText.Text  = "[Input:" + 9 + "] to toggle icons off";
            m_continueText.Text     = "[Input:" + 2 + "] to exit the manor";
            if (InputManager.GamePadIsConnected(PlayerIndex.One))
            {
                m_navigationText.Text = "[Button:LeftStick] to navigate skills";
            }
            else
            {
                m_navigationText.Text = "Arrow keys to navigate skills";
            }
            SkillSystem.UpdateAllTraitSprites();
            base.OnEnter();
        }
Example #5
0
        public void Cutscene3()
        {
            Tween.RunFunction(0.5f, this, "Cutscene4");
            var rCScreenManager = Player.AttachedLevel.ScreenManager as RCScreenManager;

            if (Game.PlayerStats.Class == 17)
            {
                rCScreenManager.DialogueScreen.SetDialogue("FinalBossTalk01_Special");
                GameUtil.UnlockAchievement("LOVE_OF_LAUGHING_AT_OTHERS");
            }
            else
            {
                rCScreenManager.DialogueScreen.SetDialogue("FinalBossTalk01");
            }
            rCScreenManager.DisplayScreen(13, true);
        }
Example #6
0
        public void CheckPlayerReward()
        {
            if (ActiveTargets <= 0)
            {
                var rCScreenManager = Player.AttachedLevel.ScreenManager as RCScreenManager;
                rCScreenManager.DialogueScreen.SetDialogue("CarnivalRoom1-Reward");
                (Player.AttachedLevel.ScreenManager as RCScreenManager).DisplayScreen(13, true);
                RevealChest();
                GameUtil.UnlockAchievement("LOVE_OF_CLOWNS");
                return;
            }
            var rCScreenManager2 = Player.AttachedLevel.ScreenManager as RCScreenManager;

            rCScreenManager2.DialogueScreen.SetDialogue("CarnivalRoom1-Fail");
            (Player.AttachedLevel.ScreenManager as RCScreenManager).DisplayScreen(13, true);
        }
Example #7
0
 public override void OnEnter()
 {
     if (m_rainSound != null)
     {
         m_rainSound.Dispose();
     }
     if (DateTime.Now.Month != 12 && DateTime.Now.Month != 1)
     {
         m_rainSound = SoundManager.PlaySound("Rain1_Filtered");
     }
     else
     {
         m_rainSound = SoundManager.PlaySound("snowloop_filtered");
     }
     if (Game.PlayerStats.TotalBlueprintsFound >= 75)
     {
         GameUtil.UnlockAchievement("FEAR_OF_THROWING_STUFF_OUT");
     }
     m_lockControls = true;
     SoundManager.PlaySound("ShopMenuOpen");
     m_confirmText.Opacity    = 0f;
     m_cancelText.Opacity     = 0f;
     m_navigationText.Opacity = 0f;
     Tween.To(m_confirmText, 0.2f, Linear.EaseNone, "Opacity", "1");
     Tween.To(m_cancelText, 0.2f, Linear.EaseNone, "Opacity", "1");
     Tween.To(m_navigationText, 0.2f, Linear.EaseNone, "Opacity", "1");
     m_confirmText.Text = "[Input:" + 0 + "]  select/equip";
     m_cancelText.Text  = "[Input:" + 2 + "]  cancel/close menu";
     if (!InputManager.GamePadIsConnected(PlayerIndex.One))
     {
         m_navigationText.Text = "Arrow keys to navigate";
     }
     else
     {
         m_navigationText.Text = "[Button:LeftStick] to navigate";
     }
     m_currentEquipmentIndex  = 0;
     m_inCategoryMenu         = true;
     m_selectionIcon.Position = m_blacksmithUI.GetChildAt(6).AbsPosition;
     m_currentCategoryIndex   = 6;
     UpdateIconStates();
     DisplayCategory(0);
     EaseInMenu();
     Tween.To(this, 0.2f, Linear.EaseNone, "BackBufferOpacity", "0.5");
     UpdateIconSelectionText();
     base.OnEnter();
 }
Example #8
0
        public override void OnEnter()
        {
            SoundManager.PlaySound("DialogOpen");
            m_inputDelay = 0.5f;
            m_entryRow   = 1;
            m_entryIndex = 0;
            UpdateSelection();
            m_unlockedEntries = Game.PlayerStats.DiaryEntry;
            if (m_unlockedEntries >= 24)
            {
                GameUtil.UnlockAchievement("LOVE_OF_BOOKS");
            }
            for (var i = 0; i < m_diaryList.Count; i++)
            {
                if (i < m_unlockedEntries)
                {
                    m_diaryList[i].Visible = true;
                }
                else
                {
                    m_diaryList[i].Visible = false;
                }
            }
            BackBufferOpacity = 0f;
            Tween.To(this, 0.2f, Tween.EaseNone, "BackBufferOpacity", "0.7");
            m_titleText.Opacity = 0f;
            Tween.To(m_titleText, 0.25f, Tween.EaseNone, "Opacity", "1");
            var num  = 0;
            var num2 = 0f;

            foreach (var current in m_diaryList)
            {
                if (current.Visible)
                {
                    current.Opacity = 0f;
                    if (num >= 5)
                    {
                        num   = 0;
                        num2 += 0.05f;
                    }
                    num++;
                    Tween.To(current, 0.25f, Tween.EaseNone, "delay", num2.ToString(), "Opacity", "1");
                    Tween.By(current, 0.25f, Quad.EaseOut, "delay", num2.ToString(), "Y", "50");
                }
            }
            base.OnEnter();
        }
Example #9
0
        public override void OnExit()
        {
            if (m_rainSound != null)
            {
                m_rainSound.Stop(AudioStopOptions.Immediate);
            }
            for (var i = 0; i < m_blacksmithUI.NumChildren; i++)
            {
                m_blacksmithUI.GetChildAt(i).Scale = Vector2.Zero;
            }
            foreach (var current in m_masterIconArray)
            {
                for (var j = 0; j < current.Length; j++)
                {
                    current[j].Scale = Vector2.Zero;
                }
            }
            m_selectionIcon.Scale = Vector2.Zero;
            Player.CurrentHealth  = Player.MaxHealth;
            Player.CurrentMana    = Player.MaxMana;
            (ScreenManager.Game as Game).SaveManager.SaveFiles(SaveType.PlayerData, SaveType.UpgradeData);
            var flag             = true;
            var getEquippedArray = Game.PlayerStats.GetEquippedArray;

            for (var k = 0; k < getEquippedArray.Length; k++)
            {
                var b = getEquippedArray[k];
                if (b == -1)
                {
                    flag = false;
                    break;
                }
            }
            if (flag)
            {
                GameUtil.UnlockAchievement("FEAR_OF_NUDITY");
            }
            base.OnExit();
        }
Example #10
0
 public override void Kill(bool giveXP = true)
 {
     if (Difficulty != GameTypes.EnemyDifficulty.MINIBOSS)
     {
         base.Kill(giveXP);
         return;
     }
     if (m_target.CurrentHealth > 0)
     {
         var blobBossRoom      = m_levelScreen.CurrentRoom as BlobBossRoom;
         var blobChallengeRoom = m_levelScreen.CurrentRoom as BlobChallengeRoom;
         if (((blobBossRoom != null && blobBossRoom.NumActiveBlobs == 1) ||
              (blobChallengeRoom != null && blobChallengeRoom.NumActiveBlobs == 1)) && !m_bossVersionKilled)
         {
             Game.PlayerStats.BlobBossBeaten = true;
             SoundManager.StopMusic();
             m_bossVersionKilled = true;
             m_target.LockControls();
             m_levelScreen.PauseScreen();
             m_levelScreen.ProjectileManager.DestroyAllProjectiles(false);
             m_levelScreen.RunWhiteSlashEffect();
             Tween.RunFunction(1f, this, "Part2");
             SoundManager.Play3DSound(this, Game.ScreenManager.Player, "Boss_Flash");
             SoundManager.Play3DSound(this, Game.ScreenManager.Player, "Boss_Eyeball_Freeze");
             GameUtil.UnlockAchievement("FEAR_OF_SLIME");
             if (IsNeo)
             {
                 Tween.To(m_target.AttachedLevel.Camera, 0.5f, Quad.EaseInOut, "Zoom", "1", "X",
                          m_target.X.ToString(), "Y", m_target.Y.ToString());
                 Tween.AddEndHandlerToLastTween(this, "LockCamera");
             }
         }
         else
         {
             base.Kill(giveXP);
         }
     }
 }
Example #11
0
 public override void Kill(bool giveXP = true)
 {
     if (Difficulty != GameTypes.EnemyDifficulty.MINIBOSS)
     {
         base.Kill(giveXP);
         return;
     }
     if (m_target.CurrentHealth > 0)
     {
         Game.PlayerStats.FairyBossBeaten = true;
         SoundManager.StopMusic();
         SoundManager.Play3DSound(this, Game.ScreenManager.Player, "PressStart");
         m_bossVersionKilled = true;
         m_target.LockControls();
         m_levelScreen.PauseScreen();
         m_levelScreen.ProjectileManager.DestroyAllProjectiles(false);
         m_levelScreen.RunWhiteSlashEffect();
         Tween.RunFunction(1f, this, "Part2");
         SoundManager.Play3DSound(this, Game.ScreenManager.Player, "Boss_Flash");
         SoundManager.Play3DSound(this, Game.ScreenManager.Player, "Boss_Flameskull_Freeze");
         GameUtil.UnlockAchievement("FEAR_OF_GHOSTS");
     }
 }
Example #12
0
        public override void OnExit()
        {
            var num  = 0.0166666675f;
            var num2 = m_storedMusicVol;
            var num3 = m_storedMusicVol / 120f;

            for (var i = 0; i < 120; i++)
            {
                Tween.RunFunction(num * i, this, "ReduceMusic", num2);
                num2 -= num3;
            }
            Tween.RunFunction(2f, this, "StopLegacySong");
            Game.PlayerStats.CurrentBranches = null;
            if (Game.PlayerStats.Class == 16)
            {
                GameUtil.UnlockAchievement("FEAR_OF_GRAVITY");
            }
            if (Game.PlayerStats.Traits == Vector2.Zero)
            {
                GameUtil.UnlockAchievement("FEAR_OF_IMPERFECTIONS");
            }
            base.OnExit();
        }
Example #13
0
 public override void OnEnter()
 {
     GameUtil.UnlockAchievement("LOVE_OF_BOOKS");
     BackBufferOpacity = 0f;
     Tween.To(this, 0.05f, Tween.EaseNone, "BackBufferOpacity", "1");
     BackBufferOpacity = 1f;
     Tween.To(this, 1f, Tween.EaseNone, "delay", "0.1", "BackBufferOpacity", "0");
     BackBufferOpacity = 0f;
     m_storedCameraPos = Camera.Position;
     Camera.Position   = Vector2.Zero;
     if (m_background == null)
     {
         m_sepiaRT    = new RenderTarget2D(Camera.GraphicsDevice, 1320, 720);
         m_background = new BackgroundObj("LineageScreenBG_Sprite");
         m_background.SetRepeated(true, true, Camera);
         m_background.X -= 6600f;
     }
     CreateLineageObjDebug();
     Camera.X = m_lineageArray[m_lineageArray.Count - 1].X;
     SoundManager.PlaySound("Cutsc_Thunder");
     Tween.RunFunction(1f, this, "Cutscene1");
     base.OnEnter();
 }
Example #14
0
 protected override void SaveCompletionData()
 {
     Game.PlayerStats.ChallengeLastBossBeaten = true;
     GameUtil.UnlockAchievement("FEAR_OF_RELATIVES");
 }
Example #15
0
 protected override void SaveCompletionData()
 {
     Game.PlayerStats.ChallengeFireballBeaten = true;
     GameUtil.UnlockAchievement("FEAR_OF_CHEMICALS");
 }
Example #16
0
        public override void OnEnter()
        {
            m_tripStat1.Visible = false;
            m_tripStat2.Visible = false;
            m_tripStat1.Scale   = Vector2.One;
            m_tripStat2.Scale   = Vector2.One;
            if (m_itemType != 7)
            {
                (ScreenManager.Game as Game).SaveManager.SaveFiles(SaveType.PlayerData, SaveType.UpgradeData);
            }
            m_itemSprite.Rotation         = 0f;
            m_itemSprite.Scale            = Vector2.One;
            m_itemStartPos.X              = m_itemStartPos.X - Camera.TopLeftCorner.X;
            m_itemStartPos.Y              = m_itemStartPos.Y - Camera.TopLeftCorner.Y;
            m_storedMusicVolume           = SoundManager.GlobalMusicVolume;
            m_songName                    = SoundManager.GetCurrentMusicName();
            m_lockControls                = true;
            m_continueText.Opacity        = 0f;
            m_continueText.Text           = "[Input:" + 0 + "]  to continue";
            m_itemFoundText.Position      = m_itemEndPos;
            m_itemFoundText.Y            += 70f;
            m_itemFoundText.Scale         = Vector2.Zero;
            m_tripStat1FoundText.Position = m_itemFoundText.Position;
            m_tripStat2FoundText.Position = m_itemFoundText.Position;
            m_tripStat1FoundText.Scale    = Vector2.Zero;
            m_tripStat2FoundText.Scale    = Vector2.Zero;
            m_tripStat1FoundText.Visible  = false;
            m_tripStat2FoundText.Visible  = false;
            switch (m_itemType)
            {
            case 1:
                m_itemSpinning = true;
                m_itemSprite.ChangeSprite("BlueprintIcon_Sprite");
                m_itemFoundSprite.ChangeSprite("BlueprintFoundText_Sprite");
                m_itemFoundText.Text = EquipmentBaseType.ToString((int)m_itemInfo.Y) + " " +
                                       EquipmentCategoryType.ToString2((int)m_itemInfo.X);
                break;

            case 2:
                m_itemSpinning = true;
                m_itemSprite.ChangeSprite("RuneIcon_Sprite");
                m_itemFoundSprite.ChangeSprite("RuneFoundText_Sprite");
                m_itemFoundText.Text = EquipmentAbilityType.ToString((int)m_itemInfo.Y) + " Rune (" +
                                       EquipmentCategoryType.ToString2((int)m_itemInfo.X) + ")";
                m_itemSprite.AnimationDelay = 0.05f;
                GameUtil.UnlockAchievement("LOVE_OF_MAGIC");
                break;

            case 3:
            case 6:
                m_itemSprite.ChangeSprite(GetStatSpriteName((int)m_itemInfo.X));
                m_itemFoundText.Text        = GetStatText((int)m_itemInfo.X);
                m_itemSprite.AnimationDelay = 0.05f;
                m_itemFoundSprite.ChangeSprite("StatFoundText_Sprite");
                if (m_itemType == 6)
                {
                    m_tripStat1FoundText.Visible = true;
                    m_tripStat2FoundText.Visible = true;
                    m_tripStat1.ChangeSprite(GetStatSpriteName((int)m_tripStatData.X));
                    m_tripStat2.ChangeSprite(GetStatSpriteName((int)m_tripStatData.Y));
                    m_tripStat1.Visible        = true;
                    m_tripStat2.Visible        = true;
                    m_tripStat1.AnimationDelay = 0.05f;
                    m_tripStat2.AnimationDelay = 0.05f;
                    Tween.RunFunction(0.1f, m_tripStat1, "PlayAnimation", true);
                    Tween.RunFunction(0.2f, m_tripStat2, "PlayAnimation", true);
                    m_tripStat1FoundText.Text = GetStatText((int)m_tripStatData.X);
                    m_tripStat2FoundText.Text = GetStatText((int)m_tripStatData.Y);
                    m_itemFoundText.Y        += 50f;
                    m_tripStat1FoundText.Y    = m_itemFoundText.Y + 50f;
                }
                break;

            case 4:
                m_itemSprite.ChangeSprite(SpellType.Icon((byte)m_itemInfo.X));
                m_itemFoundSprite.ChangeSprite("SpellFoundText_Sprite");
                m_itemFoundText.Text = SpellType.ToString((byte)m_itemInfo.X);
                break;

            case 5:
                m_itemSprite.ChangeSprite(SpecialItemType.SpriteName((byte)m_itemInfo.X));
                m_itemFoundSprite.ChangeSprite("ItemFoundText_Sprite");
                m_itemFoundText.Text = SpecialItemType.ToString((byte)m_itemInfo.X);
                break;

            case 7:
                m_itemSprite.ChangeSprite(GetMedallionImage((int)m_itemInfo.X));
                m_itemFoundSprite.ChangeSprite("ItemFoundText_Sprite");
                if (m_itemInfo.X == 19f)
                {
                    m_itemFoundText.Text = "Medallion completed!";
                }
                else
                {
                    m_itemFoundText.Text = "You've collected a medallion piece!";
                }
                break;
            }
            m_itemSprite.PlayAnimation();
            ItemSpinAnimation();
            base.OnEnter();
        }
Example #17
0
 protected override void SaveCompletionData()
 {
     Game.PlayerStats.ChallengeBlobBeaten = true;
     GameUtil.UnlockAchievement("FEAR_OF_SPACE");
 }
Example #18
0
        public virtual void OpenChest(ItemDropManager itemDropManager, PlayerObj player)
        {
            if (!IsOpen && !IsLocked)
            {
                SoundManager.Play3DSound(this, Game.ScreenManager.Player, "Chest_Open_Large");
                GoToFrame(2);
                if (IsEmpty)
                {
                    return;
                }
                if (ChestType == 3)
                {
                    GameUtil.UnlockAchievement("LOVE_OF_GOLD");
                }
                if (ForcedItemType == 0)
                {
                    var   num  = CDGMath.RandomInt(1, 100);
                    var   num2 = 0;
                    int[] array;
                    if (ChestType == 1)
                    {
                        array = GameEV.BRONZECHEST_ITEMDROP_CHANCE;
                    }
                    else if (ChestType == 2)
                    {
                        array = GameEV.SILVERCHEST_ITEMDROP_CHANCE;
                    }
                    else
                    {
                        array = GameEV.GOLDCHEST_ITEMDROP_CHANCE;
                    }
                    var num3 = 0;
                    for (var i = 0; i < array.Length; i++)
                    {
                        num3 += array[i];
                        if (num <= num3)
                        {
                            num2 = i;
                            break;
                        }
                    }
                    if (num2 == 0)
                    {
                        GiveGold(itemDropManager);
                    }
                    else if (num2 == 1)
                    {
                        GiveStatDrop(itemDropManager, player, 1, 0);
                    }
                    else
                    {
                        GivePrint(itemDropManager, player);
                    }
                }
                else
                {
                    switch (ForcedItemType)
                    {
                    case 1:
                    case 10:
                    case 11:
                        GiveGold(itemDropManager, (int)ForcedAmount);
                        break;

                    case 4:
                    case 5:
                    case 6:
                    case 7:
                    case 8:
                    case 9:
                        GiveStatDrop(itemDropManager, player, 1, ForcedItemType);
                        break;

                    case 12:
                    case 13:
                        GivePrint(itemDropManager, player);
                        break;

                    case 14:
                        GiveStatDrop(itemDropManager, player, 3, 0);
                        break;

                    case 15:
                    case 16:
                    case 17:
                    case 18:
                    case 19:
                        GiveStatDrop(itemDropManager, player, 1, ForcedItemType);
                        break;
                    }
                }
                player.AttachedLevel.RefreshMapChestIcons();
            }
        }
Example #19
0
        public override void OnEnter()
        {
            m_playerFrame.Opacity  = 0f;
            m_playerFrame.Position = m_player.Position;
            m_playerFrame.SetTraits(Game.PlayerStats.Traits);
            m_playerFrame.IsFemale = Game.PlayerStats.IsFemale;
            m_playerFrame.Class    = Game.PlayerStats.Class;
            m_playerFrame.Y       -= 120f;
            m_playerFrame.SetPortrait(Game.PlayerStats.HeadPiece, Game.PlayerStats.ShoulderPiece,
                                      Game.PlayerStats.ChestPiece);
            m_playerFrame.UpdateData();
            Tween.To(m_playerFrame, 1f, Tween.EaseNone, "delay", "4", "Opacity", "1");
            var item = new FamilyTreeNode
            {
                Name             = Game.PlayerStats.PlayerName,
                Age              = Game.PlayerStats.Age,
                ChildAge         = Game.PlayerStats.ChildAge,
                Class            = Game.PlayerStats.Class,
                HeadPiece        = Game.PlayerStats.HeadPiece,
                ChestPiece       = Game.PlayerStats.ChestPiece,
                ShoulderPiece    = Game.PlayerStats.ShoulderPiece,
                NumEnemiesBeaten = Game.PlayerStats.NumEnemiesBeaten,
                BeatenABoss      = Game.PlayerStats.NewBossBeaten,
                Traits           = Game.PlayerStats.Traits,
                IsFemale         = Game.PlayerStats.IsFemale
            };
            var traits = Game.PlayerStats.Traits;

            Game.PlayerStats.FamilyTreeArray.Add(item);
            if (Game.PlayerStats.CurrentBranches != null)
            {
                Game.PlayerStats.CurrentBranches.Clear();
            }
            Game.PlayerStats.IsDead           = true;
            Game.PlayerStats.Traits           = Vector2.Zero;
            Game.PlayerStats.NewBossBeaten    = false;
            Game.PlayerStats.RerolledChildren = false;
            Game.PlayerStats.HasArchitectFee  = false;
            Game.PlayerStats.NumEnemiesBeaten = 0;
            Game.PlayerStats.LichHealth       = 0;
            Game.PlayerStats.LichMana         = 0;
            Game.PlayerStats.LichHealthMod    = 1f;
            Game.PlayerStats.TimesDead++;
            Game.PlayerStats.LoadStartingRoom = true;
            Game.PlayerStats.EnemiesKilledInRun.Clear();
            if (Game.PlayerStats.SpecialItem != 1 && Game.PlayerStats.SpecialItem != 9 &&
                Game.PlayerStats.SpecialItem != 10 && Game.PlayerStats.SpecialItem != 11 &&
                Game.PlayerStats.SpecialItem != 12 && Game.PlayerStats.SpecialItem != 13)
            {
                Game.PlayerStats.SpecialItem = 0;
            }
            (ScreenManager.Game as Game).SaveManager.SaveFiles(SaveType.PlayerData, SaveType.Lineage, SaveType.MapData);
            (ScreenManager.Game as Game).SaveManager.SaveAllFileTypes(true);
            Game.PlayerStats.Traits = traits;
            if (Game.PlayerStats.TimesDead >= 20)
            {
                GameUtil.UnlockAchievement("FEAR_OF_LIFE");
            }
            SoundManager.StopMusic(0.5f);
            m_droppingStats = false;
            m_lockControls  = false;
            SoundManager.PlaySound("Player_Death_FadeToBlack");
            m_continueText.Text     = "Press [Input:" + 0 + "] to move on";
            m_player.Visible        = true;
            m_player.Opacity        = 1f;
            m_continueText.Opacity  = 0f;
            m_dialoguePlate.Opacity = 0f;
            m_playerGhost.Opacity   = 0f;
            m_spotlight.Opacity     = 0f;
            m_playerGhost.Position  = new Vector2(m_player.X - m_playerGhost.Width / 2, m_player.Bounds.Top - 20);
            Tween.RunFunction(3f, typeof(SoundManager), "PlaySound", "Player_Ghost");
            Tween.To(m_playerGhost, 0.5f, Linear.EaseNone, "delay", "3", "Opacity", "0.4");
            Tween.By(m_playerGhost, 2f, Linear.EaseNone, "delay", "3", "Y", "-150");
            m_playerGhost.Opacity = 0.4f;
            Tween.To(m_playerGhost, 0.5f, Linear.EaseNone, "delay", "4", "Opacity", "0");
            m_playerGhost.Opacity = 0f;
            m_playerGhost.PlayAnimation();
            Tween.To(this, 0.5f, Linear.EaseNone, "BackBufferOpacity", "1");
            Tween.To(m_spotlight, 0.1f, Linear.EaseNone, "delay", "1", "Opacity", "1");
            Tween.AddEndHandlerToLastTween(typeof(SoundManager), "PlaySound", "Player_Death_Spotlight");
            Tween.RunFunction(1.2f, typeof(SoundManager), "PlayMusic", "GameOverStinger", false, 0.5f);
            Tween.To(Camera, 1f, Quad.EaseInOut, "X", m_player.AbsX.ToString(), "Y",
                     (m_player.Bounds.Bottom - 10).ToString(), "Zoom", "1");
            Tween.RunFunction(2f, m_player, "RunDeathAnimation1");
            if (Game.PlayerStats.Traits.X == 13f || Game.PlayerStats.Traits.Y == 13f)
            {
                (m_dialoguePlate.GetChildAt(2) as TextObj).Text = "#)!(%*#@!%^";
                (m_dialoguePlate.GetChildAt(2) as TextObj).RandomizeSentence(true);
            }
            else
            {
                (m_dialoguePlate.GetChildAt(2) as TextObj).Text =
                    GameEV.GAME_HINTS[CDGMath.RandomInt(0, GameEV.GAME_HINTS.Length - 1)];
            }
            (m_dialoguePlate.GetChildAt(3) as TextObj).Text = "-" + Game.PlayerStats.PlayerName + "'s Parting Words";
            Tween.To(m_dialoguePlate, 0.5f, Tween.EaseNone, "delay", "2", "Opacity", "1");
            Tween.RunFunction(4f, this, "DropStats");
            Tween.To(m_continueText, 0.4f, Linear.EaseNone, "delay", "4", "Opacity", "1");
            base.OnEnter();
        }