Example #1
0
        private void CreateLineageObjs()
        {
            var num  = 700;
            var num2 = 400;
            var num3 = 0;

            if (Game.PlayerStats.FamilyTreeArray.Count > 10)
            {
                for (var i = 0; i < 10; i++)
                {
                    var familyTreeNode = Game.PlayerStats.FamilyTreeArray[i];
                    var lineageObj     = new LineageObj(null, true);
                    lineageObj.IsDead     = true;
                    lineageObj.Age        = familyTreeNode.Age;
                    lineageObj.ChildAge   = familyTreeNode.ChildAge;
                    lineageObj.Class      = familyTreeNode.Class;
                    lineageObj.PlayerName = familyTreeNode.Name;
                    lineageObj.IsFemale   = familyTreeNode.IsFemale;
                    lineageObj.SetPortrait(familyTreeNode.HeadPiece, familyTreeNode.ShoulderPiece,
                                           familyTreeNode.ChestPiece);
                    lineageObj.NumEnemiesKilled = familyTreeNode.NumEnemiesBeaten;
                    lineageObj.BeatenABoss      = familyTreeNode.BeatenABoss;
                    lineageObj.SetTraits(familyTreeNode.Traits);
                    lineageObj.UpdateAge(num);
                    lineageObj.UpdateData();
                    lineageObj.UpdateClassRank();
                    num         += lineageObj.Age;
                    lineageObj.X = num3;
                    num3        += num2;
                    m_lineageArray.Add(lineageObj);
                }
                return;
            }
            foreach (var current in Game.PlayerStats.FamilyTreeArray)
            {
                var lineageObj2 = new LineageObj(null, true);
                lineageObj2.IsDead     = true;
                lineageObj2.Age        = current.Age;
                lineageObj2.ChildAge   = current.ChildAge;
                lineageObj2.Class      = current.Class;
                lineageObj2.PlayerName = current.Name;
                lineageObj2.IsFemale   = current.IsFemale;
                lineageObj2.SetPortrait(current.HeadPiece, current.ShoulderPiece, current.ChestPiece);
                lineageObj2.NumEnemiesKilled = current.NumEnemiesBeaten;
                lineageObj2.BeatenABoss      = current.BeatenABoss;
                lineageObj2.SetTraits(current.Traits);
                lineageObj2.UpdateAge(num);
                lineageObj2.UpdateData();
                lineageObj2.UpdateClassRank();
                num          += lineageObj2.Age;
                lineageObj2.X = num3;
                num3         += num2;
                m_lineageArray.Add(lineageObj2);
            }
        }
Example #2
0
 public override void OnEnter()
 {
     m_initialCameraPos = Camera.Position;
     SetObjectKilledPlayerText();
     m_playerFrame.Opacity  = 0f;
     m_playerFrame.Position = m_lastBoss.Position;
     m_playerFrame.SetTraits(Vector2.Zero);
     m_playerFrame.IsFemale = false;
     m_playerFrame.Class    = 0;
     m_playerFrame.Y       -= 120f;
     m_playerFrame.SetPortrait(8, 1, 1);
     m_playerFrame.UpdateData();
     Tween.To(m_playerFrame, 1f, Tween.EaseNone, "delay", "4", "Opacity", "1");
     SoundManager.StopMusic(0.5f);
     m_lockControls = false;
     SoundManager.PlaySound("Player_Death_FadeToBlack");
     m_continueText.Text     = "Press [Input:" + 0 + "] to move on";
     m_lastBoss.Visible      = true;
     m_lastBoss.Opacity      = 1f;
     m_continueText.Opacity  = 0f;
     m_dialoguePlate.Opacity = 0f;
     m_playerGhost.Opacity   = 0f;
     m_spotlight.Opacity     = 0f;
     m_playerGhost.Position  = new Vector2(m_lastBoss.X - m_playerGhost.Width / 2, m_lastBoss.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(2f, typeof(SoundManager), "PlaySound", "FinalBoss_St1_DeathGrunt");
     Tween.RunFunction(1.2f, typeof(SoundManager), "PlayMusic", "GameOverBossStinger", false, 0.5f);
     Tween.To(Camera, 1f, Quad.EaseInOut, "X", m_lastBoss.AbsX.ToString(), "Y",
              (m_lastBoss.Bounds.Bottom - 10).ToString());
     Tween.RunFunction(2f, m_lastBoss, "PlayAnimation", false);
     (m_dialoguePlate.GetChildAt(2) as TextObj).Text = "The sun... I had forgotten how it feels...";
     (m_dialoguePlate.GetChildAt(3) as TextObj).Text = "-" + m_lastBoss.Name + "'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();
 }
Example #3
0
        private void CreateLineageObjDebug()
        {
            var num  = 700;
            var num2 = 400;
            var num3 = 0;

            for (var i = 0; i < 10; i++)
            {
                FamilyTreeNode familyTreeNode;
                if (i > Game.PlayerStats.FamilyTreeArray.Count - 1)
                {
                    familyTreeNode = new FamilyTreeNode
                    {
                        Age           = (byte)CDGMath.RandomInt(15, 30),
                        ChildAge      = (byte)CDGMath.RandomInt(15, 30),
                        Name          = Game.NameArray[CDGMath.RandomInt(0, Game.NameArray.Count - 1)],
                        HeadPiece     = (byte)CDGMath.RandomInt(1, 5),
                        ShoulderPiece = (byte)CDGMath.RandomInt(1, 5),
                        ChestPiece    = (byte)CDGMath.RandomInt(1, 5)
                    };
                }
                else
                {
                    familyTreeNode = Game.PlayerStats.FamilyTreeArray[i];
                }
                var lineageObj = new LineageObj(null, true);
                lineageObj.IsDead     = true;
                lineageObj.Age        = familyTreeNode.Age;
                lineageObj.ChildAge   = familyTreeNode.ChildAge;
                lineageObj.Class      = familyTreeNode.Class;
                lineageObj.PlayerName = familyTreeNode.Name;
                lineageObj.IsFemale   = familyTreeNode.IsFemale;
                lineageObj.SetPortrait(familyTreeNode.HeadPiece, familyTreeNode.ShoulderPiece, familyTreeNode.ChestPiece);
                lineageObj.NumEnemiesKilled = familyTreeNode.NumEnemiesBeaten;
                lineageObj.BeatenABoss      = familyTreeNode.BeatenABoss;
                lineageObj.SetTraits(familyTreeNode.Traits);
                lineageObj.UpdateAge(num);
                lineageObj.UpdateData();
                lineageObj.UpdateClassRank();
                num         += lineageObj.Age;
                lineageObj.X = num3;
                num3        += num2;
                m_lineageArray.Add(lineageObj);
            }
        }
Example #4
0
 public void LoadFamilyTreeData()
 {
     this.m_masterArray.Clear();
     int num = 700;
     if (Game.PlayerStats.FamilyTreeArray != null && Game.PlayerStats.FamilyTreeArray.Count > 0)
     {
         int num2 = 0;
         using (List<FamilyTreeNode>.Enumerator enumerator = Game.PlayerStats.FamilyTreeArray.GetEnumerator())
         {
             while (enumerator.MoveNext())
             {
                 FamilyTreeNode current = enumerator.Current;
                 LineageObj lineageObj = new LineageObj(this, true);
                 lineageObj.IsDead = true;
                 lineageObj.Age = current.Age;
                 lineageObj.ChildAge = current.ChildAge;
                 lineageObj.Class = current.Class;
                 lineageObj.PlayerName = current.Name;
                 lineageObj.IsFemale = current.IsFemale;
                 lineageObj.SetPortrait(current.HeadPiece, current.ShoulderPiece, current.ChestPiece);
                 lineageObj.NumEnemiesKilled = current.NumEnemiesBeaten;
                 lineageObj.BeatenABoss = current.BeatenABoss;
                 lineageObj.SetTraits(current.Traits);
                 lineageObj.UpdateAge(num);
                 lineageObj.UpdateData();
                 lineageObj.UpdateClassRank();
                 num += (int)lineageObj.Age;
                 lineageObj.X = (float)num2;
                 num2 += this.m_xPosOffset;
                 this.m_masterArray.Add(lineageObj);
                 if (lineageObj.Traits.X == 20f || lineageObj.Traits.Y == 20f)
                 {
                     lineageObj.FlipPortrait = true;
                 }
             }
             return;
         }
     }
     int num3 = 0;
     LineageObj lineageObj2 = new LineageObj(this, true);
     lineageObj2.IsDead = true;
     lineageObj2.Age = 30;
     lineageObj2.ChildAge = 5;
     lineageObj2.Class = 0;
     lineageObj2.PlayerName = "Sir Johannes";
     lineageObj2.SetPortrait(1, 1, 1);
     lineageObj2.NumEnemiesKilled = 50;
     lineageObj2.BeatenABoss = false;
     lineageObj2.UpdateAge(num);
     lineageObj2.UpdateData();
     lineageObj2.UpdateClassRank();
     num += (int)lineageObj2.Age;
     lineageObj2.X = (float)num3;
     num3 += this.m_xPosOffset;
     this.m_masterArray.Add(lineageObj2);
     if (lineageObj2.Traits.X == 20f || lineageObj2.Traits.Y == 20f)
     {
         lineageObj2.FlipPortrait = true;
     }
 }
Example #5
0
        public void LoadFamilyTreeData()
        {
            m_masterArray.Clear();
            var num = 700;

            if (Game.PlayerStats.FamilyTreeArray != null && Game.PlayerStats.FamilyTreeArray.Count > 0)
            {
                var num2 = 0;
                using (var enumerator = Game.PlayerStats.FamilyTreeArray.GetEnumerator())
                {
                    while (enumerator.MoveNext())
                    {
                        var current    = enumerator.Current;
                        var lineageObj = new LineageObj(this, true);
                        lineageObj.IsDead     = true;
                        lineageObj.Age        = current.Age;
                        lineageObj.ChildAge   = current.ChildAge;
                        lineageObj.Class      = current.Class;
                        lineageObj.PlayerName = current.Name;
                        lineageObj.IsFemale   = current.IsFemale;
                        lineageObj.SetPortrait(current.HeadPiece, current.ShoulderPiece, current.ChestPiece);
                        lineageObj.NumEnemiesKilled = current.NumEnemiesBeaten;
                        lineageObj.BeatenABoss      = current.BeatenABoss;
                        lineageObj.SetTraits(current.Traits);
                        lineageObj.UpdateAge(num);
                        lineageObj.UpdateData();
                        lineageObj.UpdateClassRank();
                        num         += lineageObj.Age;
                        lineageObj.X = num2;
                        num2        += m_xPosOffset;
                        m_masterArray.Add(lineageObj);
                        if (lineageObj.Traits.X == 20f || lineageObj.Traits.Y == 20f)
                        {
                            lineageObj.FlipPortrait = true;
                        }
                    }
                    return;
                }
            }
            var num3        = 0;
            var lineageObj2 = new LineageObj(this, true);

            lineageObj2.IsDead     = true;
            lineageObj2.Age        = 30;
            lineageObj2.ChildAge   = 5;
            lineageObj2.Class      = 0;
            lineageObj2.PlayerName = "Sir Johannes";
            lineageObj2.SetPortrait(1, 1, 1);
            lineageObj2.NumEnemiesKilled = 50;
            lineageObj2.BeatenABoss      = false;
            lineageObj2.UpdateAge(num);
            lineageObj2.UpdateData();
            lineageObj2.UpdateClassRank();
            num          += lineageObj2.Age;
            lineageObj2.X = num3;
            num3         += m_xPosOffset;
            m_masterArray.Add(lineageObj2);
            if (lineageObj2.Traits.X == 20f || lineageObj2.Traits.Y == 20f)
            {
                lineageObj2.FlipPortrait = true;
            }
        }
Example #6
0
 private void CreateLineageObjs()
 {
     int num = 700;
     int num2 = 400;
     int num3 = 0;
     if (Game.PlayerStats.FamilyTreeArray.Count > 10)
     {
         for (int i = 0; i < 10; i++)
         {
             FamilyTreeNode familyTreeNode = Game.PlayerStats.FamilyTreeArray[i];
             LineageObj lineageObj = new LineageObj(null, true);
             lineageObj.IsDead = true;
             lineageObj.Age = familyTreeNode.Age;
             lineageObj.ChildAge = familyTreeNode.ChildAge;
             lineageObj.Class = familyTreeNode.Class;
             lineageObj.PlayerName = familyTreeNode.Name;
             lineageObj.IsFemale = familyTreeNode.IsFemale;
             lineageObj.SetPortrait(familyTreeNode.HeadPiece, familyTreeNode.ShoulderPiece, familyTreeNode.ChestPiece);
             lineageObj.NumEnemiesKilled = familyTreeNode.NumEnemiesBeaten;
             lineageObj.BeatenABoss = familyTreeNode.BeatenABoss;
             lineageObj.SetTraits(familyTreeNode.Traits);
             lineageObj.UpdateAge(num);
             lineageObj.UpdateData();
             lineageObj.UpdateClassRank();
             num += (int)lineageObj.Age;
             lineageObj.X = (float)num3;
             num3 += num2;
             this.m_lineageArray.Add(lineageObj);
         }
         return;
     }
     foreach (FamilyTreeNode current in Game.PlayerStats.FamilyTreeArray)
     {
         LineageObj lineageObj2 = new LineageObj(null, true);
         lineageObj2.IsDead = true;
         lineageObj2.Age = current.Age;
         lineageObj2.ChildAge = current.ChildAge;
         lineageObj2.Class = current.Class;
         lineageObj2.PlayerName = current.Name;
         lineageObj2.IsFemale = current.IsFemale;
         lineageObj2.SetPortrait(current.HeadPiece, current.ShoulderPiece, current.ChestPiece);
         lineageObj2.NumEnemiesKilled = current.NumEnemiesBeaten;
         lineageObj2.BeatenABoss = current.BeatenABoss;
         lineageObj2.SetTraits(current.Traits);
         lineageObj2.UpdateAge(num);
         lineageObj2.UpdateData();
         lineageObj2.UpdateClassRank();
         num += (int)lineageObj2.Age;
         lineageObj2.X = (float)num3;
         num3 += num2;
         this.m_lineageArray.Add(lineageObj2);
     }
 }
Example #7
0
 private void CreateLineageObjDebug()
 {
     int num = 700;
     int num2 = 400;
     int num3 = 0;
     for (int i = 0; i < 10; i++)
     {
         FamilyTreeNode familyTreeNode;
         if (i > Game.PlayerStats.FamilyTreeArray.Count - 1)
         {
             familyTreeNode = new FamilyTreeNode
             {
                 Age = (byte)CDGMath.RandomInt(15, 30),
                 ChildAge = (byte)CDGMath.RandomInt(15, 30),
                 Name = Game.NameArray[CDGMath.RandomInt(0, Game.NameArray.Count - 1)],
                 HeadPiece = (byte)CDGMath.RandomInt(1, 5),
                 ShoulderPiece = (byte)CDGMath.RandomInt(1, 5),
                 ChestPiece = (byte)CDGMath.RandomInt(1, 5)
             };
         }
         else
         {
             familyTreeNode = Game.PlayerStats.FamilyTreeArray[i];
         }
         LineageObj lineageObj = new LineageObj(null, true);
         lineageObj.IsDead = true;
         lineageObj.Age = familyTreeNode.Age;
         lineageObj.ChildAge = familyTreeNode.ChildAge;
         lineageObj.Class = familyTreeNode.Class;
         lineageObj.PlayerName = familyTreeNode.Name;
         lineageObj.IsFemale = familyTreeNode.IsFemale;
         lineageObj.SetPortrait(familyTreeNode.HeadPiece, familyTreeNode.ShoulderPiece, familyTreeNode.ChestPiece);
         lineageObj.NumEnemiesKilled = familyTreeNode.NumEnemiesBeaten;
         lineageObj.BeatenABoss = familyTreeNode.BeatenABoss;
         lineageObj.SetTraits(familyTreeNode.Traits);
         lineageObj.UpdateAge(num);
         lineageObj.UpdateData();
         lineageObj.UpdateClassRank();
         num += (int)lineageObj.Age;
         lineageObj.X = (float)num3;
         num3 += num2;
         this.m_lineageArray.Add(lineageObj);
     }
 }
Example #8
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();
        }