Ejemplo n.º 1
0
        public void UpdateDescriptionPlate(SkillObj trait)
        {
            var text = trait.IconName;

            text = text.Replace("Locked", "");
            text = text.Replace("Max", "");
            m_skillIcon.ChangeSprite(text);
            m_skillTitle.Text       = trait.Name;
            m_skillDescription.Text = trait.Description;
            m_skillDescription.WordWrap(280);
            m_inputDescription.Text = trait.InputDescription;
            m_inputDescription.WordWrap(280);
            m_inputDescription.Y = m_skillDescription.Bounds.Bottom + 10;
            var num = TraitStatType.GetTraitStat(trait.TraitType);

            if (num > -1f)
            {
                if (num < 1f)
                {
                    num *= 100f;
                    num  = (int)Math.Round(num, MidpointRounding.AwayFromZero);
                }
                if (num == 0f)
                {
                    num = trait.ModifierAmount;
                    if (trait.TraitType == SkillType.Crit_Chance_Up)
                    {
                        num *= 100f;
                        num  = (int)Math.Round(num, MidpointRounding.AwayFromZero);
                    }
                }
                m_skillCurrent.Text = "Current: " + num + trait.UnitOfMeasurement;
                if (trait.CurrentLevel < trait.MaxLevel)
                {
                    var num2 = trait.PerLevelModifier;
                    if (num2 < 1f && trait.TraitType != SkillType.Invuln_Time_Up)
                    {
                        num2 *= 100f;
                        if (trait.TraitType != SkillType.Death_Dodge)
                        {
                            num2 = (int)Math.Round(num2, MidpointRounding.AwayFromZero);
                        }
                    }
                    m_skillUpgrade.Text = "Upgrade: +" + num2 + trait.UnitOfMeasurement;
                }
                else
                {
                    m_skillUpgrade.Text = "Upgrade: --";
                }
                m_skillLevel.Text = string.Concat("Level: ", trait.CurrentLevel, "/", trait.MaxLevel);
                var arg = "unlock";
                if (trait.CurrentLevel > 0)
                {
                    arg = "upgrade";
                }
                m_skillCost.Text = trait.TotalCost + " gold to " + arg;
                if (m_inputDescription.Text != " " && m_inputDescription.Text != "")
                {
                    m_skillCurrent.Y = m_inputDescription.Bounds.Bottom + 40;
                }
                else
                {
                    m_skillCurrent.Y = m_skillDescription.Bounds.Bottom + 40;
                }
                m_skillUpgrade.Y             = m_skillCurrent.Y + 30f;
                m_skillLevel.Y               = m_skillUpgrade.Y + 30f;
                m_descriptionDivider.Visible = true;
            }
            else
            {
                m_skillCurrent.Text          = "";
                m_skillUpgrade.Text          = "";
                m_skillLevel.Text            = "";
                m_descriptionDivider.Visible = false;
                var arg2 = "unlock";
                if (trait.CurrentLevel > 0)
                {
                    arg2 = "upgrade";
                }
                m_skillCost.Text = trait.TotalCost + " gold to " + arg2;
            }
            m_descriptionDivider.Position = new Vector2(m_skillCurrent.AbsX, m_skillCurrent.AbsY - 20f);
            if (trait.CurrentLevel >= trait.MaxLevel)
            {
                m_skillCost.Visible   = false;
                m_skillCostBG.Visible = false;
            }
            else
            {
                m_skillCost.Visible   = true;
                m_skillCostBG.Visible = true;
            }
            m_playerMoney.Text = Game.PlayerStats.Gold.ToString();
        }
Ejemplo n.º 2
0
        public void SetManorPieceVisible(int manorIndex, SkillObj skillObj)
        {
            var childAt = m_manor.GetChildAt(manorIndex);
            var num     = 0f;

            if (!childAt.Visible)
            {
                m_lockControls  = true;
                childAt.Visible = true;
                var pos = new Vector2(childAt.AbsPosition.X, childAt.AbsBounds.Bottom);
                switch (manorIndex)
                {
                case 0:
                case 11:
                case 17:
                case 22:
                case 24:
                case 27:
                case 28:
                    num             = 0.5f;
                    childAt.Opacity = 0f;
                    Tween.To(childAt, num, Tween.EaseNone, "Opacity", "1");
                    goto IL_A26;

                case 1:
                case 5:
                    childAt.Opacity = 1f;
                    num             = 1f;
                    childAt.X      -= childAt.Width * 2;
                    SoundManager.PlaySound("skill_tree_reveal_short_01", "skill_tree_reveal_short_02");
                    Tween.By(childAt, num, Quad.EaseOut, "X", (childAt.Width * 2).ToString());
                    m_impactEffectPool.SkillTreeDustDuration(pos, false, childAt.Height * 2, num);
                    goto IL_A26;

                case 2:
                {
                    childAt.Opacity = 1f;
                    num             = 1.5f;
                    childAt.Y      += childAt.Height * 2;
                    SoundManager.PlaySound("skill_tree_reveal_short_01", "skill_tree_reveal_short_02");
                    Tween.By(childAt, num, Quad.EaseOut, "Y", (-(childAt.Height * 2)).ToString());
                    m_impactEffectPool.SkillTreeDustDuration(pos, true, childAt.Width * 2, num);
                    var spriteObj = m_manor.GetChildAt(32) as SpriteObj;
                    spriteObj.PlayAnimation();
                    spriteObj.OverrideParentAnimationDelay = true;
                    spriteObj.AnimationDelay = 0.0333333351f;
                    spriteObj.Visible        = true;
                    spriteObj.Opacity        = 0f;
                    Tween.To(spriteObj, 0.5f, Tween.EaseNone, "delay", num.ToString(), "Opacity", "1");
                    goto IL_A26;
                }

                case 3:
                case 6:
                case 9:
                case 13:
                case 15:
                case 20:
                case 25:
                    childAt.Opacity = 1f;
                    num             = 1f;
                    childAt.Y      += childAt.Height * 2;
                    SoundManager.PlaySound("skill_tree_reveal_short_01", "skill_tree_reveal_short_02");
                    Tween.By(childAt, num, Quad.EaseOut, "Y", (-(childAt.Height * 2)).ToString());
                    m_impactEffectPool.SkillTreeDustDuration(pos, true, childAt.Width * 2, num);
                    goto IL_A26;

                case 4:
                    pos.Y          -= 50f;
                    childAt.Opacity = 1f;
                    num             = 3f;
                    childAt.Y      += childAt.Height * 2;
                    SoundManager.PlaySound("skill_tree_reveal_01", "skill_tree_reveal_02");
                    Tween.By(childAt, num, Quad.EaseOut, "Y", (-(childAt.Height * 2)).ToString());
                    m_impactEffectPool.SkillTreeDustDuration(pos, true, childAt.Width * 2 * 0.25f, num);
                    goto IL_A26;

                case 7:
                    pos.X           = childAt.AbsBounds.Right - childAt.Width * 2 * 0.25f;
                    childAt.Opacity = 1f;
                    num             = 3f;
                    childAt.Y      += childAt.Height * 2;
                    SoundManager.PlaySound("skill_tree_reveal_01", "skill_tree_reveal_02");
                    Tween.By(childAt, num, Quad.EaseOut, "Y", (-(childAt.Height * 2)).ToString());
                    m_impactEffectPool.SkillTreeDustDuration(pos, true, childAt.Width * 2 * 0.25f, num);
                    goto IL_A26;

                case 8:
                    pos.X           = childAt.AbsBounds.Right - childAt.Width * 2 * 0.25f;
                    childAt.Opacity = 1f;
                    num             = 3f;
                    childAt.Y      += childAt.Height * 2;
                    SoundManager.PlaySound("skill_tree_reveal_01", "skill_tree_reveal_02");
                    Tween.By(childAt, num, Quad.EaseOut, "Y", (-(childAt.Height * 2)).ToString());
                    m_impactEffectPool.SkillTreeDustDuration(pos, true, childAt.Width * 2 * 0.25f, num);
                    goto IL_A26;

                case 10:
                case 21:
                    childAt.Opacity = 1f;
                    num             = 3f;
                    childAt.Y      += childAt.Height * 2;
                    SoundManager.PlaySound("skill_tree_reveal_01", "skill_tree_reveal_02");
                    Tween.By(childAt, num, Quad.EaseOut, "Y", (-(childAt.Height * 2)).ToString());
                    m_impactEffectPool.SkillTreeDustDuration(pos, true, childAt.Width * 2, num);
                    goto IL_A26;

                case 12:
                case 14:
                    childAt.Opacity = 1f;
                    num             = 1f;
                    childAt.X      += childAt.Width * 2;
                    pos.X           = childAt.AbsPosition.X - 60f;
                    SoundManager.PlaySound("skill_tree_reveal_short_01", "skill_tree_reveal_short_02");
                    Tween.By(childAt, num, Quad.EaseOut, "X", (-(childAt.Width * 2)).ToString());
                    m_impactEffectPool.SkillTreeDustDuration(pos, false, childAt.Height * 2, num);
                    goto IL_A26;

                case 16:
                    childAt.Opacity = 1f;
                    num             = 3f;
                    childAt.Y      += childAt.Height * 2;
                    SoundManager.PlaySound("skill_tree_reveal_01", "skill_tree_reveal_02");
                    Tween.By(childAt, num, Quad.EaseOut, "Y", (-(childAt.Height * 2)).ToString());
                    m_impactEffectPool.SkillTreeDustDuration(pos, true, childAt.Width * 2 * 0.5f, num);
                    goto IL_A26;

                case 18:
                case 19:
                    childAt.Opacity = 1f;
                    num             = 3f;
                    childAt.Y      += childAt.Height * 2;
                    SoundManager.PlaySound("skill_tree_reveal_01", "skill_tree_reveal_02");
                    Tween.By(childAt, num, Quad.EaseOut, "Y", (-(childAt.Height * 2)).ToString());
                    m_impactEffectPool.SkillTreeDustDuration(pos, true, childAt.Width * 2 * 0.2f, num);
                    goto IL_A26;

                case 23:
                    goto IL_A26;

                case 29:
                case 30:
                case 31:
                    Tween.RunFunction(0.25f, typeof(SoundManager), "PlaySound", "skill_tree_reveal_bounce");
                    childAt.Opacity = 1f;
                    childAt.Scale   = Vector2.Zero;
                    num             = 1f;
                    Tween.To(childAt, num, Bounce.EaseOut, "ScaleX", "1", "ScaleY", "1");
                    goto IL_A26;
                }
                num = 0.7f;
                var vector = new Vector2(childAt.AbsPosition.X, childAt.AbsBounds.Bottom);
                childAt.Opacity = 1f;
                childAt.Y      -= 720f;
                Tween.By(childAt, num, Quad.EaseIn, "Y", "720");
                Tween.AddEndHandlerToLastTween(m_impactEffectPool, "SkillTreeDustEffect", vector, true, childAt.Width * 2);
                Tween.RunFunction(num, this, "ShakeScreen", 5, true, true);
                Tween.RunFunction(num + 0.2f, this, "StopScreenShake");
            }
IL_A26:
            Tween.RunFunction(num, this, "SetSkillIconVisible", skillObj);
            if (m_manor.GetChildAt(7).Visible&& m_manor.GetChildAt(16).Visible)
            {
                (m_manor.GetChildAt(7) as SpriteObj).GoToFrame(2);
            }
            if (m_manor.GetChildAt(6).Visible&& m_manor.GetChildAt(16).Visible)
            {
                (m_manor.GetChildAt(6) as SpriteObj).GoToFrame(2);
            }
        }
Ejemplo n.º 3
0
        public void CheckForSkillUnlock(SkillObj skill, bool displayScreen)
        {
            byte b = 0;

            switch (skill.TraitType)
            {
            case SkillType.Smithy:
                b = 1;
                break;

            case SkillType.Enchanter:
                b = 2;
                break;

            case SkillType.Architect:
                b = 3;
                break;

            case SkillType.Lich_Unlock:
                b = 7;
                break;

            case SkillType.Banker_Unlock:
                b = 5;
                break;

            case SkillType.Spellsword_Unlock:
                b = 6;
                break;

            case SkillType.Ninja_Unlock:
                b = 4;
                break;

            case SkillType.Knight_Up:
                b = 8;
                if (Game.PlayerStats.Class == 0)
                {
                    Game.PlayerStats.Class = 8;
                }
                break;

            case SkillType.Mage_Up:
                b = 9;
                if (Game.PlayerStats.Class == 1)
                {
                    Game.PlayerStats.Class = 9;
                }
                break;

            case SkillType.Assassin_Up:
                b = 12;
                if (Game.PlayerStats.Class == 3)
                {
                    Game.PlayerStats.Class = 11;
                }
                break;

            case SkillType.Banker_Up:
                b = 13;
                if (Game.PlayerStats.Class == 5)
                {
                    Game.PlayerStats.Class = 13;
                }
                break;

            case SkillType.Barbarian_Up:
                b = 10;
                if (Game.PlayerStats.Class == 2)
                {
                    Game.PlayerStats.Class = 10;
                }
                break;

            case SkillType.Lich_Up:
                b = 15;
                if (Game.PlayerStats.Class == 7)
                {
                    Game.PlayerStats.Class = 15;
                }
                break;

            case SkillType.Ninja_Up:
                b = 11;
                if (Game.PlayerStats.Class == 4)
                {
                    Game.PlayerStats.Class = 12;
                }
                break;

            case SkillType.SpellSword_Up:
                b = 14;
                if (Game.PlayerStats.Class == 6)
                {
                    Game.PlayerStats.Class = 14;
                }
                break;

            case SkillType.SuperSecret:
                b = 16;
                break;
            }
            if (b != 0 && displayScreen)
            {
                var list = new List <object>();
                list.Add(b);
                (ScreenManager as RCScreenManager).DisplayScreen(19, true, list);
            }
        }
Ejemplo n.º 4
0
 public void SetVisible(SkillObj trait, bool fadeIn)
 {
     int manorPiece = SkillSystem.GetManorPiece(trait);
     if (fadeIn)
     {
         this.SetManorPieceVisible(manorPiece, trait);
         return;
     }
     GameObj childAt = this.m_manor.GetChildAt(manorPiece);
     childAt.Opacity = 1f;
     childAt.Visible = true;
     foreach (SkillObj current in SkillSystem.GetAllConnectingTraits(trait))
     {
         if (!current.Visible)
         {
             current.Visible = true;
             current.Opacity = 1f;
         }
     }
     if (this.m_manor.GetChildAt(7).Visible && this.m_manor.GetChildAt(16).Visible)
     {
         (this.m_manor.GetChildAt(7) as SpriteObj).GoToFrame(2);
     }
     if (this.m_manor.GetChildAt(6).Visible && this.m_manor.GetChildAt(16).Visible)
     {
         (this.m_manor.GetChildAt(6) as SpriteObj).GoToFrame(2);
     }
     if (this.m_manor.GetChildAt(2).Visible)
     {
         SpriteObj spriteObj = this.m_manor.GetChildAt(32) as SpriteObj;
         spriteObj.Visible = true;
         spriteObj.Opacity = 1f;
         spriteObj.PlayAnimation(true);
         spriteObj.OverrideParentAnimationDelay = true;
         spriteObj.AnimationDelay = 0.0333333351f;
         spriteObj.Visible = true;
     }
 }
Ejemplo n.º 5
0
        public static SkillObj BuildSkill(SkillType skillType)
        {
            var skillObj = new SkillObj("Icon_SwordLocked_Sprite");

            switch (skillType)
            {
            case SkillType.Filler:
                skillObj.Name        = "Filler";
                skillObj.Description =
                    "This is a filler trait used to link to other traits. This text should never be visible.";
                break;

            case SkillType.Health_Up:
                skillObj.Name              = "Health Up";
                skillObj.Description       = "Improve your cardio workout. A better heart means better health.";
                skillObj.PerLevelModifier  = 10f;
                skillObj.BaseCost          = 50;
                skillObj.Appreciation      = 40;
                skillObj.MaxLevel          = 75;
                skillObj.IconName          = "Icon_Health_UpLocked_Sprite";
                skillObj.InputDescription  = " ";
                skillObj.UnitOfMeasurement = " hp";
                skillObj.DisplayStat       = true;
                skillObj.StatType          = 0;
                break;

            case SkillType.Invuln_Time_Up:
                skillObj.Name        = "Invuln Time Up";
                skillObj.Description =
                    "Strengthen your adrenal glands and be invulnerable  like Bane. Let the games begin!";
                skillObj.PerLevelModifier  = 0.1f;
                skillObj.BaseCost          = 750;
                skillObj.Appreciation      = 1700;
                skillObj.MaxLevel          = 5;
                skillObj.IconName          = "Icon_InvulnTimeUpLocked_Sprite";
                skillObj.InputDescription  = " ";
                skillObj.UnitOfMeasurement = " sec";
                skillObj.DisplayStat       = true;
                skillObj.StatType          = 0;
                break;

            case SkillType.Death_Dodge:
                skillObj.Name              = "Death Defy";
                skillObj.Description       = "Release your inner cat, and avoid death. Sometimes.";
                skillObj.PerLevelModifier  = 0.015f;
                skillObj.BaseCost          = 750;
                skillObj.Appreciation      = 1500;
                skillObj.MaxLevel          = 10;
                skillObj.IconName          = "Icon_DeathDefyLocked_Sprite";
                skillObj.InputDescription  = " ";
                skillObj.UnitOfMeasurement = "%";
                skillObj.DisplayStat       = true;
                skillObj.StatType          = 0;
                break;

            case SkillType.Attack_Up:
                skillObj.Name        = "Attack Up";
                skillObj.Description =
                    "A proper gym will allow you to really  strengthen your arms and butt muscles.";
                skillObj.PerLevelModifier  = 2f;
                skillObj.BaseCost          = 100;
                skillObj.Appreciation      = 85;
                skillObj.MaxLevel          = 75;
                skillObj.IconName          = "Icon_SwordLocked_Sprite";
                skillObj.InputDescription  = " ";
                skillObj.UnitOfMeasurement = " str";
                skillObj.DisplayStat       = true;
                skillObj.StatType          = 0;
                break;

            case SkillType.Down_Strike_Up:
                skillObj.Name        = "Down Strike Up";
                skillObj.Description =
                    "A pogo practice room has its benefits. Deal more damage with consecutive down strikes.";
                skillObj.PerLevelModifier  = 0.05f;
                skillObj.BaseCost          = 750;
                skillObj.Appreciation      = 1500;
                skillObj.MaxLevel          = 5;
                skillObj.IconName          = "Icon_Attack_UpLocked_Sprite";
                skillObj.InputDescription  = " ";
                skillObj.UnitOfMeasurement = "%";
                skillObj.DisplayStat       = true;
                skillObj.StatType          = 0;
                break;

            case SkillType.Crit_Chance_Up:
                skillObj.Name        = "Crit Chance Up";
                skillObj.Description =
                    "Teaching yourself about the weaknesses of enemies allows you to strike with deadly efficiency.";
                skillObj.PerLevelModifier  = 0.02f;
                skillObj.BaseCost          = 150;
                skillObj.Appreciation      = 125;
                skillObj.MaxLevel          = 25;
                skillObj.IconName          = "Icon_Crit_Chance_UpLocked_Sprite";
                skillObj.InputDescription  = " ";
                skillObj.UnitOfMeasurement = "%";
                skillObj.DisplayStat       = true;
                skillObj.StatType          = 0;
                break;

            case SkillType.Crit_Damage_Up:
                skillObj.Name              = "Crit Damage Up";
                skillObj.Description       = "Practice the deadly strikes to be even deadlier. Enemies will be so dead.";
                skillObj.PerLevelModifier  = 0.05f;
                skillObj.BaseCost          = 150;
                skillObj.Appreciation      = 125;
                skillObj.MaxLevel          = 25;
                skillObj.IconName          = "Icon_Crit_Damage_UpLocked_Sprite";
                skillObj.InputDescription  = " ";
                skillObj.UnitOfMeasurement = "%";
                skillObj.DisplayStat       = true;
                skillObj.StatType          = 0;
                break;

            case SkillType.Magic_Damage_Up:
                skillObj.Name        = "Magic Damage Up";
                skillObj.Description =
                    "Learn the secrets of the universe, so you can use it to kill with spells better.";
                skillObj.PerLevelModifier  = 2f;
                skillObj.BaseCost          = 100;
                skillObj.Appreciation      = 85;
                skillObj.MaxLevel          = 75;
                skillObj.IconName          = "Icon_MagicDmgUpLocked_Sprite";
                skillObj.InputDescription  = " ";
                skillObj.UnitOfMeasurement = " int";
                skillObj.DisplayStat       = false;
                skillObj.StatType          = 0;
                break;

            case SkillType.Mana_Up:
                skillObj.Name              = "Mana Up";
                skillObj.Description       = "Increase your mental fortitude in order to increase your mana pool. ";
                skillObj.PerLevelModifier  = 10f;
                skillObj.BaseCost          = 50;
                skillObj.Appreciation      = 40;
                skillObj.MaxLevel          = 75;
                skillObj.IconName          = "Icon_ManaUpLocked_Sprite";
                skillObj.InputDescription  = " ";
                skillObj.UnitOfMeasurement = " mp";
                skillObj.DisplayStat       = true;
                skillObj.StatType          = 0;
                break;

            case SkillType.Mana_Cost_Down:
                skillObj.Name              = "Mana Cost Down";
                skillObj.Description       = "Practice your basics to reduce mana costs when casting spells.";
                skillObj.PerLevelModifier  = 0.05f;
                skillObj.BaseCost          = 750;
                skillObj.Appreciation      = 1700;
                skillObj.MaxLevel          = 5;
                skillObj.IconName          = "Icon_ManaCostDownLocked_Sprite";
                skillObj.InputDescription  = " ";
                skillObj.UnitOfMeasurement = "%";
                skillObj.DisplayStat       = true;
                skillObj.StatType          = 0;
                break;

            case SkillType.Smithy:
                skillObj.Name              = "Smithy";
                skillObj.Description       = "Unlock the smithy and gain access to phat loot.";
                skillObj.PerLevelModifier  = 1f;
                skillObj.BaseCost          = 50;
                skillObj.Appreciation      = 0;
                skillObj.MaxLevel          = 1;
                skillObj.IconName          = "Icon_SmithyLocked_Sprite";
                skillObj.InputDescription  = " ";
                skillObj.UnitOfMeasurement = "0";
                skillObj.DisplayStat       = false;
                skillObj.StatType          = 0;
                break;

            case SkillType.Enchanter:
                skillObj.Name              = "Enchantress";
                skillObj.Description       = "Unlock the enchantress and gain access to her magical runes and powers.";
                skillObj.PerLevelModifier  = 1f;
                skillObj.BaseCost          = 50;
                skillObj.Appreciation      = 0;
                skillObj.MaxLevel          = 1;
                skillObj.IconName          = "Icon_EnchanterLocked_Sprite";
                skillObj.InputDescription  = " ";
                skillObj.UnitOfMeasurement = "0";
                skillObj.DisplayStat       = false;
                skillObj.StatType          = 0;
                break;

            case SkillType.Architect:
                skillObj.Name              = "Architect";
                skillObj.Description       = "Unlock the architect and gain the powers to lock down the castle.";
                skillObj.PerLevelModifier  = 1f;
                skillObj.BaseCost          = 50;
                skillObj.Appreciation      = 0;
                skillObj.MaxLevel          = 1;
                skillObj.IconName          = "Icon_ArchitectLocked_Sprite";
                skillObj.InputDescription  = " ";
                skillObj.UnitOfMeasurement = "0";
                skillObj.DisplayStat       = false;
                skillObj.StatType          = 0;
                break;

            case SkillType.Equip_Up:
                skillObj.Name        = "Equip Up";
                skillObj.Description =
                    "Upgrading your carry capacity will allow you to wear better and heavier armor.";
                skillObj.PerLevelModifier  = 10f;
                skillObj.BaseCost          = 50;
                skillObj.Appreciation      = 40;
                skillObj.MaxLevel          = 50;
                skillObj.IconName          = "Icon_Equip_UpLocked_Sprite";
                skillObj.InputDescription  = " ";
                skillObj.UnitOfMeasurement = " weight";
                skillObj.DisplayStat       = true;
                skillObj.StatType          = 0;
                break;

            case SkillType.Armor_Up:
                skillObj.Name              = "Armor Up";
                skillObj.Description       = "Strengthen your innards through natural means to reduce incoming damage.";
                skillObj.PerLevelModifier  = 4f;
                skillObj.BaseCost          = 125;
                skillObj.Appreciation      = 105;
                skillObj.MaxLevel          = 50;
                skillObj.IconName          = "Icon_ShieldLocked_Sprite";
                skillObj.InputDescription  = " ";
                skillObj.UnitOfMeasurement = " armor";
                skillObj.DisplayStat       = true;
                skillObj.StatType          = 0;
                break;

            case SkillType.Gold_Gain_Up:
                skillObj.Name              = "Gold Gain Up";
                skillObj.Description       = "Improve your looting skills, and get more bang for your buck.";
                skillObj.PerLevelModifier  = 0.1f;
                skillObj.BaseCost          = 1000;
                skillObj.Appreciation      = 2150;
                skillObj.MaxLevel          = 5;
                skillObj.IconName          = "Icon_Gold_Gain_UpLocked_Sprite";
                skillObj.InputDescription  = " ";
                skillObj.UnitOfMeasurement = "%";
                skillObj.DisplayStat       = true;
                skillObj.StatType          = 0;
                break;

            case SkillType.Prices_Down:
                skillObj.Name              = "Haggle";
                skillObj.Description       = "Lower Charon's toll by learning how to barter with death itself.";
                skillObj.PerLevelModifier  = 0.1f;
                skillObj.BaseCost          = 500;
                skillObj.Appreciation      = 1000;
                skillObj.MaxLevel          = 5;
                skillObj.IconName          = "Icon_HaggleLocked_Sprite";
                skillObj.InputDescription  = " ";
                skillObj.UnitOfMeasurement = "%";
                skillObj.DisplayStat       = true;
                skillObj.StatType          = 0;
                break;

            case SkillType.Potion_Up:
                skillObj.Name              = "Potion Up";
                skillObj.Description       = "Gut cleansing leads to noticable improvements from both potions and meat.";
                skillObj.PerLevelModifier  = 0.01f;
                skillObj.BaseCost          = 750;
                skillObj.Appreciation      = 1750;
                skillObj.MaxLevel          = 5;
                skillObj.IconName          = "Icon_PotionUpLocked_Sprite";
                skillObj.InputDescription  = " ";
                skillObj.UnitOfMeasurement = "% hp/mp";
                skillObj.DisplayStat       = false;
                skillObj.StatType          = 0;
                break;

            case SkillType.Randomize_Children:
                skillObj.Name        = "Randomize Children";
                skillObj.Description =
                    "Use the power of science to make a whole new batch of babies. Just... don't ask.";
                skillObj.PerLevelModifier  = 1f;
                skillObj.BaseCost          = 5000;
                skillObj.Appreciation      = 5000;
                skillObj.MaxLevel          = 1;
                skillObj.IconName          = "Icon_RandomizeChildrenLocked_Sprite";
                skillObj.InputDescription  = "Press [Input:" + 9 + "] to randomize your children";
                skillObj.UnitOfMeasurement = "%";
                skillObj.DisplayStat       = false;
                skillObj.StatType          = 0;
                break;

            case SkillType.Lich_Unlock:
                skillObj.Name              = "Unlock Lich";
                skillObj.Description       = "Release the power of the Lich! A being of massive potential.";
                skillObj.PerLevelModifier  = 1f;
                skillObj.BaseCost          = 850;
                skillObj.Appreciation      = 0;
                skillObj.MaxLevel          = 1;
                skillObj.IconName          = "Icon_LichUnlockLocked_Sprite";
                skillObj.InputDescription  = " ";
                skillObj.UnitOfMeasurement = " hp";
                skillObj.DisplayStat       = true;
                skillObj.StatType          = 0;
                break;

            case SkillType.Banker_Unlock:
                skillObj.Name              = "Unlock Miner";
                skillObj.Description       = "Unlock the skills of the Miner and raise your family fortune";
                skillObj.PerLevelModifier  = 1f;
                skillObj.BaseCost          = 400;
                skillObj.Appreciation      = 0;
                skillObj.MaxLevel          = 1;
                skillObj.IconName          = "Icon_SpelunkerUnlockLocked_Sprite";
                skillObj.InputDescription  = " ";
                skillObj.UnitOfMeasurement = " hp";
                skillObj.DisplayStat       = true;
                skillObj.StatType          = 0;
                break;

            case SkillType.Spellsword_Unlock:
                skillObj.Name              = "Unlock Spell Thief";
                skillObj.Description       = "Unlock the Spellthief, and  become a martial  mage.";
                skillObj.PerLevelModifier  = 1f;
                skillObj.BaseCost          = 850;
                skillObj.Appreciation      = 0;
                skillObj.MaxLevel          = 1;
                skillObj.IconName          = "Icon_SpellswordUnlockLocked_Sprite";
                skillObj.InputDescription  = " ";
                skillObj.UnitOfMeasurement = " hp";
                skillObj.DisplayStat       = true;
                skillObj.StatType          = 0;
                break;

            case SkillType.Ninja_Unlock:
                skillObj.Name              = "Unlock Shinobi";
                skillObj.Description       = "Unlock the Shinobi, the fleetest of fighters.";
                skillObj.PerLevelModifier  = 1f;
                skillObj.BaseCost          = 400;
                skillObj.Appreciation      = 0;
                skillObj.MaxLevel          = 1;
                skillObj.IconName          = "Icon_NinjaUnlockLocked_Sprite";
                skillObj.InputDescription  = " ";
                skillObj.UnitOfMeasurement = " hp";
                skillObj.DisplayStat       = true;
                skillObj.StatType          = 0;
                break;

            case SkillType.Knight_Up:
                skillObj.Name              = "Upgrade Knight";
                skillObj.Description       = "Turn your knights into Paladins. A ferocious forefront fighter.";
                skillObj.PerLevelModifier  = 1f;
                skillObj.BaseCost          = 50;
                skillObj.Appreciation      = 0;
                skillObj.MaxLevel          = 1;
                skillObj.IconName          = "Icon_KnightUpLocked_Sprite";
                skillObj.InputDescription  = "Press [Input:" + 13 + "] to block all incoming damage.";
                skillObj.UnitOfMeasurement = " hp";
                skillObj.DisplayStat       = true;
                skillObj.StatType          = 0;
                break;

            case SkillType.Mage_Up:
                skillObj.Name        = "Upgrade Mage";
                skillObj.Description =
                    "Unlock the latent powers of the Mage and transform them into the all powerful Archmage";
                skillObj.PerLevelModifier  = 1f;
                skillObj.BaseCost          = 300;
                skillObj.Appreciation      = 0;
                skillObj.MaxLevel          = 1;
                skillObj.IconName          = "Icon_WizardUpLocked_Sprite";
                skillObj.InputDescription  = "Press [Input:" + 13 + "] to switch spells";
                skillObj.UnitOfMeasurement = " hp";
                skillObj.DisplayStat       = true;
                skillObj.StatType          = 0;
                break;

            case SkillType.Assassin_Up:
                skillObj.Name              = "Upgrade Knave";
                skillObj.Description       = "Learn the dark arts, and turn the Knave into an Assassin";
                skillObj.PerLevelModifier  = 1f;
                skillObj.BaseCost          = 300;
                skillObj.Appreciation      = 0;
                skillObj.MaxLevel          = 1;
                skillObj.IconName          = "Icon_AssassinUpLocked_Sprite";
                skillObj.InputDescription  = "Press [Input:" + 13 + "] to turn to mist";
                skillObj.UnitOfMeasurement = " hp";
                skillObj.DisplayStat       = true;
                skillObj.StatType          = 0;
                break;

            case SkillType.Banker_Up:
                skillObj.Name              = "Upgrade Miner";
                skillObj.Description       = "Earn your geology degree and go from Miner to Spelunker. Spiffy.";
                skillObj.PerLevelModifier  = 1f;
                skillObj.BaseCost          = 1750;
                skillObj.Appreciation      = 0;
                skillObj.MaxLevel          = 1;
                skillObj.IconName          = "Icon_SpelunkerUpLocked_Sprite";
                skillObj.InputDescription  = "Press [Input:" + 13 + "] to turn on your headlamp";
                skillObj.UnitOfMeasurement = " hp";
                skillObj.DisplayStat       = true;
                skillObj.StatType          = 0;
                break;

            case SkillType.Barbarian_Up:
                skillObj.Name             = "Upgrade Barbarian";
                skillObj.Description      = "Become a Barbarian King.  The king of freemen. That makes no sense.";
                skillObj.PerLevelModifier = 1f;
                skillObj.BaseCost         = 300;
                skillObj.Appreciation     = 0;
                skillObj.MaxLevel         = 1;
                skillObj.IconName         = "Icon_BarbarianUpLocked_Sprite";
                skillObj.InputDescription = "Press [Input:" + 13 +
                                            "] to cast an epic shout that knocks virtually everything away.";
                skillObj.UnitOfMeasurement = " hp";
                skillObj.DisplayStat       = true;
                skillObj.StatType          = 0;
                break;

            case SkillType.Lich_Up:
                skillObj.Name              = "Upgrade Lich";
                skillObj.Description       = "Royalize your all-powerful Liches, and turn them into Lich Kings.";
                skillObj.PerLevelModifier  = 1f;
                skillObj.BaseCost          = 1500;
                skillObj.Appreciation      = 0;
                skillObj.MaxLevel          = 1;
                skillObj.IconName          = "Icon_LichUpLocked_Sprite";
                skillObj.InputDescription  = "Press [Input:" + 13 + "] to convert max hp into max mp";
                skillObj.UnitOfMeasurement = " hp";
                skillObj.DisplayStat       = true;
                skillObj.StatType          = 0;
                break;

            case SkillType.Ninja_Up:
                skillObj.Name        = "Upgrade Shinobi";
                skillObj.Description =
                    "Become the leader of your village, and turn your Shinobi into a Hokage. Believe it!";
                skillObj.PerLevelModifier  = 1f;
                skillObj.BaseCost          = 750;
                skillObj.Appreciation      = 0;
                skillObj.MaxLevel          = 1;
                skillObj.IconName          = "Icon_NinjaUpLocked_Sprite";
                skillObj.InputDescription  = "Press [Input:" + 13 + "] to flash";
                skillObj.UnitOfMeasurement = " hp";
                skillObj.DisplayStat       = true;
                skillObj.StatType          = 0;
                break;

            case SkillType.SpellSword_Up:
                skillObj.Name              = "Upgrade Spell Thief";
                skillObj.Description       = "Ride the vortexes of magic, and turn your Spellthiefs into Spellswords.";
                skillObj.PerLevelModifier  = 1f;
                skillObj.BaseCost          = 1500;
                skillObj.Appreciation      = 0;
                skillObj.MaxLevel          = 1;
                skillObj.IconName          = "Icon_SpellswordUpLocked_Sprite";
                skillObj.InputDescription  = "Press [Input:" + 13 + "] to cast empowered spells";
                skillObj.UnitOfMeasurement = " hp";
                skillObj.DisplayStat       = true;
                skillObj.StatType          = 0;
                break;

            case SkillType.SuperSecret:
                skillObj.Name              = "Beastiality";
                skillObj.Description       = "Half man, half ******, all awesome.";
                skillObj.PerLevelModifier  = 10f;
                skillObj.BaseCost          = 5000;
                skillObj.Appreciation      = 30;
                skillObj.MaxLevel          = 1;
                skillObj.IconName          = "Icon_Display_Boss_RoomsLocked_Sprite";
                skillObj.InputDescription  = "Press [Input:" + 10 + "] to awesome.";
                skillObj.UnitOfMeasurement = "hp";
                skillObj.DisplayStat       = true;
                break;

            case SkillType.Stout_Heart:
                skillObj.Name             = "Stout Heart";
                skillObj.Description      = "Your have viking ancestry.  \n\nIncrease your starting endurance.";
                skillObj.PerLevelModifier = 20f;
                skillObj.BaseCost         = 1000;
                skillObj.Appreciation     = 500;
                skillObj.MaxLevel         = 5;
                skillObj.IconName         = "IconBootLocked_Sprite";
                break;

            case SkillType.Quick_of_Breath:
                skillObj.Name        = "Quick of Breath";
                skillObj.Description =
                    "QUICK OF BREATH \nYou're a heavy breather.  Bad for stalking, good for walking! \n\nIncrease your natural endurance regeneration.";
                skillObj.PerLevelModifier = 1f;
                skillObj.BaseCost         = 1000;
                skillObj.Appreciation     = 500;
                skillObj.MaxLevel         = 5;
                skillObj.IconName         = "IconBootLocked_Sprite";
                break;

            case SkillType.Born_to_Run:
                skillObj.Name        = "Born to Run";
                skillObj.Description =
                    "You were infused with tiger blood at a young age.  You have now been infused with the power to release tiger blood when stabbed. \nRunning drains less endurance.";
                skillObj.Position         = new Vector2(50f, 100f);
                skillObj.PerLevelModifier = 0.01f;
                skillObj.BaseCost         = 700;
                skillObj.Appreciation     = 100;
                skillObj.MaxLevel         = 5;
                skillObj.IconName         = "IconBootLocked_Sprite";
                break;

            case SkillType.Out_the_Gate:
                skillObj.Name        = "Out the Gate";
                skillObj.Description =
                    "You're an early waker. If leveling was like waking up.\n Gain bonus HP and MP every time you level.";
                skillObj.PerLevelModifier = 35f;
                skillObj.BaseCost         = 2500;
                skillObj.Appreciation     = 5000;
                skillObj.MaxLevel         = 2;
                skillObj.IconName         = "IconBootLocked_Sprite";
                break;

            case SkillType.Perfectionist:
                skillObj.Name             = "Perfectionist";
                skillObj.Description      = "OCD finally comes in handy. \nGain more gold.";
                skillObj.Position         = new Vector2(150f, 50f);
                skillObj.PerLevelModifier = 1f;
                skillObj.BaseCost         = 1000;
                skillObj.Appreciation     = 100;
                skillObj.MaxLevel         = 5;
                skillObj.IconName         = "IconBootLocked_Sprite";
                break;

            case SkillType.Guru:
                skillObj.Name             = "Guru";
                skillObj.Description      = "You are Zen-like. \n Regain endurance faster while still.";
                skillObj.Position         = new Vector2(50f, 50f);
                skillObj.PerLevelModifier = 5f;
                skillObj.BaseCost         = 1000;
                skillObj.Appreciation     = 100;
                skillObj.MaxLevel         = 1;
                skillObj.IconName         = "IconBootLocked_Sprite";
                break;

            case SkillType.Iron_Lung:
                skillObj.Name             = "Iron Lung";
                skillObj.Description      = "Generic SKILL.  Increase total Endurance.";
                skillObj.Position         = new Vector2(50f, 200f);
                skillObj.PerLevelModifier = 25f;
                skillObj.BaseCost         = 500;
                skillObj.Appreciation     = 100;
                skillObj.MaxLevel         = 50;
                skillObj.IconName         = "IconBootLocked_Sprite";
                break;

            case SkillType.Sword_Master:
                skillObj.Name             = "Sword Master";
                skillObj.Description      = "You fight with finesse \n Attacks Drain X% less endurance.";
                skillObj.Position         = new Vector2(50f, 150f);
                skillObj.PerLevelModifier = 0.1f;
                skillObj.BaseCost         = 1000;
                skillObj.Appreciation     = 100;
                skillObj.MaxLevel         = 2;
                skillObj.IconName         = "IconBootLocked_Sprite";
                break;

            case SkillType.Tank:
                skillObj.Name             = "Tank";
                skillObj.Description      = "Generic SKILL.  Increase Health";
                skillObj.Position         = new Vector2(50f, 200f);
                skillObj.PerLevelModifier = 25f;
                skillObj.BaseCost         = 500;
                skillObj.Appreciation     = 100;
                skillObj.MaxLevel         = 50;
                skillObj.IconName         = "IconBootLocked_Sprite";
                break;

            case SkillType.Vampire:
                skillObj.Name             = "Vampire";
                skillObj.Description      = "You suck... Blood. \n Restore a small amount of life with every hit.";
                skillObj.Position         = new Vector2(50f, 250f);
                skillObj.PerLevelModifier = 1f;
                skillObj.BaseCost         = 1000;
                skillObj.Appreciation     = 100;
                skillObj.MaxLevel         = 1;
                skillObj.IconName         = "IconBootLocked_Sprite";
                break;

            case SkillType.Second_Chance:
                skillObj.Name        = "Second Chance";
                skillObj.Description =
                    "Come back to life, just like Jesus. But you're still not jesus. \n Revive once after dying.";
                skillObj.Position         = new Vector2(50f, 300f);
                skillObj.PerLevelModifier = 0.25f;
                skillObj.BaseCost         = 1000;
                skillObj.Appreciation     = 100;
                skillObj.MaxLevel         = 1;
                skillObj.IconName         = "IconBootLocked_Sprite";
                break;

            case SkillType.Peace_of_Mind:
                skillObj.Name        = "Peace of Mind";
                skillObj.Description =
                    "Clearing a room is like clearing your mind.  I don't know how. \nRegain helath for every room fully cleared.";
                skillObj.Position         = new Vector2(50f, 250f);
                skillObj.PerLevelModifier = 10f;
                skillObj.BaseCost         = 1000;
                skillObj.Appreciation     = 100;
                skillObj.MaxLevel         = 1;
                skillObj.IconName         = "IconBootLocked_Sprite";
                break;

            case SkillType.Cartography_Ninja:
                skillObj.Name             = "Cartography Ninja";
                skillObj.Description      = "Cartography /n Each percentage of map revealed adds 0.1 damage.";
                skillObj.Position         = new Vector2(100f, 50f);
                skillObj.PerLevelModifier = 1f;
                skillObj.BaseCost         = 700;
                skillObj.Appreciation     = 100;
                skillObj.MaxLevel         = 1;
                skillObj.IconName         = "IconBootLocked_Sprite";
                break;

            case SkillType.Strong_Man:
                skillObj.Name             = "Strong Man";
                skillObj.Description      = "Generic SKILL.  Increase Attack Damage.";
                skillObj.Position         = new Vector2(100f, 50f);
                skillObj.PerLevelModifier = 2f;
                skillObj.BaseCost         = 700;
                skillObj.Appreciation     = 100;
                skillObj.MaxLevel         = 50;
                skillObj.IconName         = "IconBootLocked_Sprite";
                break;

            case SkillType.Suicidalist:
                skillObj.Name        = "Suicidalist";
                skillObj.Description =
                    "You're a very, very sore loser. \n Deal massive damage to all enemies on screen upon death.";
                skillObj.Position         = new Vector2(100f, 100f);
                skillObj.PerLevelModifier = 100f;
                skillObj.BaseCost         = 700;
                skillObj.Appreciation     = 100;
                skillObj.MaxLevel         = 1;
                skillObj.IconName         = "IconBootLocked_Sprite";
                break;

            case SkillType.Crit_Barbarian:
                skillObj.Name        = "Crit Barbarian";
                skillObj.Description =
                    "You have learned that hitting the balls deals massive damage. \n Crits deal more damage.";
                skillObj.Position         = new Vector2(100f, 150f);
                skillObj.PerLevelModifier = 0.1f;
                skillObj.BaseCost         = 700;
                skillObj.Appreciation     = 100;
                skillObj.MaxLevel         = 1;
                skillObj.IconName         = "IconBootLocked_Sprite";
                break;

            case SkillType.Magician:
                skillObj.Name             = "Magician";
                skillObj.Description      = "GENERIC SKILL.";
                skillObj.Position         = new Vector2(100f, 250f);
                skillObj.PerLevelModifier = 1f;
                skillObj.BaseCost         = 700;
                skillObj.Appreciation     = 100;
                skillObj.MaxLevel         = 50;
                skillObj.IconName         = "IconBootLocked_Sprite";
                break;

            case SkillType.Keymaster:
                skillObj.Name             = "Keymaster";
                skillObj.Description      = "Oh. They were in my back pocket. \nGain 2 extra keys.";
                skillObj.Position         = new Vector2(100f, 300f);
                skillObj.PerLevelModifier = 2f;
                skillObj.BaseCost         = 2000;
                skillObj.Appreciation     = 100;
                skillObj.MaxLevel         = 1;
                skillObj.IconName         = "IconBootLocked_Sprite";
                break;

            case SkillType.One_Time_Only:
                skillObj.Name        = "One Time Only";
                skillObj.Description =
                    "Like a pheonix you are reborn from your crappy ashes. \n Regain all HP and MP.";
                skillObj.Position         = new Vector2(150f, 100f);
                skillObj.PerLevelModifier = 1f;
                skillObj.BaseCost         = 100;
                skillObj.Appreciation     = 100;
                skillObj.MaxLevel         = 1;
                skillObj.IconName         = "IconBootLocked_Sprite";
                break;

            case SkillType.Cutting_Out_Early:
                skillObj.Name        = "Cutting Out Early";
                skillObj.Description =
                    "Retire, and invest your money wisely.  End your game early, and gain a bonus to gold found.";
                skillObj.Position         = new Vector2(150f, 100f);
                skillObj.PerLevelModifier = 0.25f;
                skillObj.BaseCost         = 100;
                skillObj.Appreciation     = 100;
                skillObj.MaxLevel         = 1;
                skillObj.IconName         = "IconBootLocked_Sprite";
                break;

            case SkillType.Quaffer:
                skillObj.Name             = "Quaffer";
                skillObj.Description      = "CHUG CHUG CHUG! \n Drink potions instantly.";
                skillObj.Position         = new Vector2(150f, 150f);
                skillObj.PerLevelModifier = 1f;
                skillObj.BaseCost         = 1000;
                skillObj.Appreciation     = 100;
                skillObj.MaxLevel         = 1;
                skillObj.IconName         = "IconBootLocked_Sprite";
                break;

            case SkillType.Spell_Sword:
                skillObj.Name        = "Spellsword";
                skillObj.Description =
                    "You were born with absolute power in your fingertips. \nAll spells deal more damage.";
                skillObj.Position         = new Vector2(100f, 200f);
                skillObj.PerLevelModifier = 5f;
                skillObj.BaseCost         = 700;
                skillObj.Appreciation     = 100;
                skillObj.MaxLevel         = 5;
                skillObj.IconName         = "IconBootLocked_Sprite";
                break;

            case SkillType.Sorcerer:
                skillObj.Name        = "Sorcerer";
                skillObj.Description =
                    "You were born with arcane energy coarsing through your veins.  Ow. \nSpells cost less to cast.";
                skillObj.Position         = new Vector2(100f, 250f);
                skillObj.PerLevelModifier = 5f;
                skillObj.BaseCost         = 700;
                skillObj.Appreciation     = 100;
                skillObj.MaxLevel         = 5;
                skillObj.IconName         = "IconBootLocked_Sprite";
                break;

            case SkillType.Well_Endowed:
                skillObj.Name             = "Well Endowed";
                skillObj.Description      = "By law, you are now the best man. \nGive birth to more children.";
                skillObj.Position         = new Vector2(150f, 100f);
                skillObj.PerLevelModifier = 1f;
                skillObj.BaseCost         = 100;
                skillObj.Appreciation     = 100;
                skillObj.MaxLevel         = 2;
                skillObj.IconName         = "IconBootLocked_Sprite";
                break;

            case SkillType.Treasure_Hunter:
                skillObj.Name        = "Treasure Hunter";
                skillObj.Description =
                    "Your parents said learning how to sift for gold was useless for a farmer.  Whose laughing now? \n Display treasure rooms at the start of the game.";
                skillObj.Position         = new Vector2(150f, 250f);
                skillObj.PerLevelModifier = 1f;
                skillObj.BaseCost         = 100;
                skillObj.Appreciation     = 100;
                skillObj.MaxLevel         = 2;
                skillObj.IconName         = "IconBootLocked_Sprite";
                break;

            case SkillType.Mortar_Master:
                skillObj.Name             = "Mortar Master";
                skillObj.Description      = "War is hell.  Luckily you were never in one. \n Fire more mortars.";
                skillObj.Position         = new Vector2(150f, 300f);
                skillObj.PerLevelModifier = 1f;
                skillObj.BaseCost         = 1000;
                skillObj.Appreciation     = 100;
                skillObj.MaxLevel         = 3;
                skillObj.IconName         = "IconBootLocked_Sprite";
                break;

            case SkillType.Explosive_Expert:
                skillObj.Name        = "Explosive Expert";
                skillObj.Description =
                    "As a child, you showed an affinity for blowing things up. \n Bombs have a larger radius.";
                skillObj.Position         = new Vector2(200f, 50f);
                skillObj.PerLevelModifier = 5f;
                skillObj.BaseCost         = 1000;
                skillObj.Appreciation     = 100;
                skillObj.MaxLevel         = 3;
                skillObj.IconName         = "IconBootLocked_Sprite";
                break;

            case SkillType.Icicle:
                skillObj.Name        = "Icicle ";
                skillObj.Description =
                    "You're great grandfather was a snowman.  He taught you nothing. \n Icicles pierce through more enemies.";
                skillObj.Position         = new Vector2(200f, 100f);
                skillObj.PerLevelModifier = 1f;
                skillObj.BaseCost         = 1000;
                skillObj.Appreciation     = 100;
                skillObj.MaxLevel         = 3;
                skillObj.IconName         = "IconBootLocked_Sprite";
                break;
            }
            skillObj.TraitType = skillType;
            return(skillObj);
        }
Ejemplo n.º 6
0
 public void CheckForSkillUnlock(SkillObj skill, bool displayScreen)
 {
     byte b = 0;
     switch (skill.TraitType)
     {
     case SkillType.Smithy:
         b = 1;
         break;
     case SkillType.Enchanter:
         b = 2;
         break;
     case SkillType.Architect:
         b = 3;
         break;
     case SkillType.Lich_Unlock:
         b = 7;
         break;
     case SkillType.Banker_Unlock:
         b = 5;
         break;
     case SkillType.Spellsword_Unlock:
         b = 6;
         break;
     case SkillType.Ninja_Unlock:
         b = 4;
         break;
     case SkillType.Knight_Up:
         b = 8;
         if (Game.PlayerStats.Class == 0)
         {
             Game.PlayerStats.Class = 8;
         }
         break;
     case SkillType.Mage_Up:
         b = 9;
         if (Game.PlayerStats.Class == 1)
         {
             Game.PlayerStats.Class = 9;
         }
         break;
     case SkillType.Assassin_Up:
         b = 12;
         if (Game.PlayerStats.Class == 3)
         {
             Game.PlayerStats.Class = 11;
         }
         break;
     case SkillType.Banker_Up:
         b = 13;
         if (Game.PlayerStats.Class == 5)
         {
             Game.PlayerStats.Class = 13;
         }
         break;
     case SkillType.Barbarian_Up:
         b = 10;
         if (Game.PlayerStats.Class == 2)
         {
             Game.PlayerStats.Class = 10;
         }
         break;
     case SkillType.Lich_Up:
         b = 15;
         if (Game.PlayerStats.Class == 7)
         {
             Game.PlayerStats.Class = 15;
         }
         break;
     case SkillType.Ninja_Up:
         b = 11;
         if (Game.PlayerStats.Class == 4)
         {
             Game.PlayerStats.Class = 12;
         }
         break;
     case SkillType.SpellSword_Up:
         b = 14;
         if (Game.PlayerStats.Class == 6)
         {
             Game.PlayerStats.Class = 14;
         }
         break;
     case SkillType.SuperSecret:
         b = 16;
         break;
     }
     if (b != 0 && displayScreen)
     {
         List<object> list = new List<object>();
         list.Add(b);
         (base.ScreenManager as RCScreenManager).DisplayScreen(19, true, list);
     }
 }
Ejemplo n.º 7
0
 public void SetSkillIconVisible(SkillObj skill)
 {
     float num = 0f;
     foreach (SkillObj current in SkillSystem.GetAllConnectingTraits(skill))
     {
         if (!current.Visible)
         {
             current.Visible = true;
             current.Opacity = 0f;
             Tween.To(current, 0.2f, new Easing(Linear.EaseNone), new string[]
             {
                 "Opacity",
                 "1"
             });
             num += 0.2f;
         }
     }
     Tween.RunFunction(num, this, "UnlockControls", new object[0]);
     Tween.RunFunction(num, this, "CheckForSkillUnlock", new object[]
     {
         skill,
         true
     });
 }
Ejemplo n.º 8
0
 public void SetManorPieceVisible(int manorIndex, SkillObj skillObj)
 {
     GameObj childAt = this.m_manor.GetChildAt(manorIndex);
     float num = 0f;
     if (!childAt.Visible)
     {
         this.m_lockControls = true;
         childAt.Visible = true;
         Vector2 pos = new Vector2(childAt.AbsPosition.X, (float)childAt.AbsBounds.Bottom);
         switch (manorIndex)
         {
         case 0:
         case 11:
         case 17:
         case 22:
         case 24:
         case 27:
         case 28:
             num = 0.5f;
             childAt.Opacity = 0f;
             Tween.To(childAt, num, new Easing(Tween.EaseNone), new string[]
             {
                 "Opacity",
                 "1"
             });
             goto IL_A26;
         case 1:
         case 5:
             childAt.Opacity = 1f;
             num = 1f;
             childAt.X -= (float)(childAt.Width * 2);
             SoundManager.PlaySound(new string[]
             {
                 "skill_tree_reveal_short_01",
                 "skill_tree_reveal_short_02"
             });
             Tween.By(childAt, num, new Easing(Quad.EaseOut), new string[]
             {
                 "X",
                 (childAt.Width * 2).ToString()
             });
             this.m_impactEffectPool.SkillTreeDustDuration(pos, false, (float)(childAt.Height * 2), num);
             goto IL_A26;
         case 2:
         {
             childAt.Opacity = 1f;
             num = 1.5f;
             childAt.Y += (float)(childAt.Height * 2);
             SoundManager.PlaySound(new string[]
             {
                 "skill_tree_reveal_short_01",
                 "skill_tree_reveal_short_02"
             });
             Tween.By(childAt, num, new Easing(Quad.EaseOut), new string[]
             {
                 "Y",
                 (-(childAt.Height * 2)).ToString()
             });
             this.m_impactEffectPool.SkillTreeDustDuration(pos, true, (float)(childAt.Width * 2), num);
             SpriteObj spriteObj = this.m_manor.GetChildAt(32) as SpriteObj;
             spriteObj.PlayAnimation(true);
             spriteObj.OverrideParentAnimationDelay = true;
             spriteObj.AnimationDelay = 0.0333333351f;
             spriteObj.Visible = true;
             spriteObj.Opacity = 0f;
             Tween.To(spriteObj, 0.5f, new Easing(Tween.EaseNone), new string[]
             {
                 "delay",
                 num.ToString(),
                 "Opacity",
                 "1"
             });
             goto IL_A26;
         }
         case 3:
         case 6:
         case 9:
         case 13:
         case 15:
         case 20:
         case 25:
             childAt.Opacity = 1f;
             num = 1f;
             childAt.Y += (float)(childAt.Height * 2);
             SoundManager.PlaySound(new string[]
             {
                 "skill_tree_reveal_short_01",
                 "skill_tree_reveal_short_02"
             });
             Tween.By(childAt, num, new Easing(Quad.EaseOut), new string[]
             {
                 "Y",
                 (-(childAt.Height * 2)).ToString()
             });
             this.m_impactEffectPool.SkillTreeDustDuration(pos, true, (float)(childAt.Width * 2), num);
             goto IL_A26;
         case 4:
             pos.Y -= 50f;
             childAt.Opacity = 1f;
             num = 3f;
             childAt.Y += (float)(childAt.Height * 2);
             SoundManager.PlaySound(new string[]
             {
                 "skill_tree_reveal_01",
                 "skill_tree_reveal_02"
             });
             Tween.By(childAt, num, new Easing(Quad.EaseOut), new string[]
             {
                 "Y",
                 (-(childAt.Height * 2)).ToString()
             });
             this.m_impactEffectPool.SkillTreeDustDuration(pos, true, (float)(childAt.Width * 2) * 0.25f, num);
             goto IL_A26;
         case 7:
             pos.X = (float)childAt.AbsBounds.Right - (float)(childAt.Width * 2) * 0.25f;
             childAt.Opacity = 1f;
             num = 3f;
             childAt.Y += (float)(childAt.Height * 2);
             SoundManager.PlaySound(new string[]
             {
                 "skill_tree_reveal_01",
                 "skill_tree_reveal_02"
             });
             Tween.By(childAt, num, new Easing(Quad.EaseOut), new string[]
             {
                 "Y",
                 (-(childAt.Height * 2)).ToString()
             });
             this.m_impactEffectPool.SkillTreeDustDuration(pos, true, (float)(childAt.Width * 2) * 0.25f, num);
             goto IL_A26;
         case 8:
             pos.X = (float)childAt.AbsBounds.Right - (float)(childAt.Width * 2) * 0.25f;
             childAt.Opacity = 1f;
             num = 3f;
             childAt.Y += (float)(childAt.Height * 2);
             SoundManager.PlaySound(new string[]
             {
                 "skill_tree_reveal_01",
                 "skill_tree_reveal_02"
             });
             Tween.By(childAt, num, new Easing(Quad.EaseOut), new string[]
             {
                 "Y",
                 (-(childAt.Height * 2)).ToString()
             });
             this.m_impactEffectPool.SkillTreeDustDuration(pos, true, (float)(childAt.Width * 2) * 0.25f, num);
             goto IL_A26;
         case 10:
         case 21:
             childAt.Opacity = 1f;
             num = 3f;
             childAt.Y += (float)(childAt.Height * 2);
             SoundManager.PlaySound(new string[]
             {
                 "skill_tree_reveal_01",
                 "skill_tree_reveal_02"
             });
             Tween.By(childAt, num, new Easing(Quad.EaseOut), new string[]
             {
                 "Y",
                 (-(childAt.Height * 2)).ToString()
             });
             this.m_impactEffectPool.SkillTreeDustDuration(pos, true, (float)(childAt.Width * 2), num);
             goto IL_A26;
         case 12:
         case 14:
             childAt.Opacity = 1f;
             num = 1f;
             childAt.X += (float)(childAt.Width * 2);
             pos.X = childAt.AbsPosition.X - 60f;
             SoundManager.PlaySound(new string[]
             {
                 "skill_tree_reveal_short_01",
                 "skill_tree_reveal_short_02"
             });
             Tween.By(childAt, num, new Easing(Quad.EaseOut), new string[]
             {
                 "X",
                 (-(childAt.Width * 2)).ToString()
             });
             this.m_impactEffectPool.SkillTreeDustDuration(pos, false, (float)(childAt.Height * 2), num);
             goto IL_A26;
         case 16:
             childAt.Opacity = 1f;
             num = 3f;
             childAt.Y += (float)(childAt.Height * 2);
             SoundManager.PlaySound(new string[]
             {
                 "skill_tree_reveal_01",
                 "skill_tree_reveal_02"
             });
             Tween.By(childAt, num, new Easing(Quad.EaseOut), new string[]
             {
                 "Y",
                 (-(childAt.Height * 2)).ToString()
             });
             this.m_impactEffectPool.SkillTreeDustDuration(pos, true, (float)(childAt.Width * 2) * 0.5f, num);
             goto IL_A26;
         case 18:
         case 19:
             childAt.Opacity = 1f;
             num = 3f;
             childAt.Y += (float)(childAt.Height * 2);
             SoundManager.PlaySound(new string[]
             {
                 "skill_tree_reveal_01",
                 "skill_tree_reveal_02"
             });
             Tween.By(childAt, num, new Easing(Quad.EaseOut), new string[]
             {
                 "Y",
                 (-(childAt.Height * 2)).ToString()
             });
             this.m_impactEffectPool.SkillTreeDustDuration(pos, true, (float)(childAt.Width * 2) * 0.2f, num);
             goto IL_A26;
         case 23:
             goto IL_A26;
         case 29:
         case 30:
         case 31:
             Tween.RunFunction(0.25f, typeof(SoundManager), "PlaySound", new object[]
             {
                 "skill_tree_reveal_bounce"
             });
             childAt.Opacity = 1f;
             childAt.Scale = Vector2.Zero;
             num = 1f;
             Tween.To(childAt, num, new Easing(Bounce.EaseOut), new string[]
             {
                 "ScaleX",
                 "1",
                 "ScaleY",
                 "1"
             });
             goto IL_A26;
         }
         num = 0.7f;
         Vector2 vector = new Vector2(childAt.AbsPosition.X, (float)childAt.AbsBounds.Bottom);
         childAt.Opacity = 1f;
         childAt.Y -= 720f;
         Tween.By(childAt, num, new Easing(Quad.EaseIn), new string[]
         {
             "Y",
             "720"
         });
         Tween.AddEndHandlerToLastTween(this.m_impactEffectPool, "SkillTreeDustEffect", new object[]
         {
             vector,
             true,
             childAt.Width * 2
         });
         Tween.RunFunction(num, this, "ShakeScreen", new object[]
         {
             5,
             true,
             true
         });
         Tween.RunFunction(num + 0.2f, this, "StopScreenShake", new object[0]);
     }
     IL_A26:
     Tween.RunFunction(num, this, "SetSkillIconVisible", new object[]
     {
         skillObj
     });
     if (this.m_manor.GetChildAt(7).Visible && this.m_manor.GetChildAt(16).Visible)
     {
         (this.m_manor.GetChildAt(7) as SpriteObj).GoToFrame(2);
     }
     if (this.m_manor.GetChildAt(6).Visible && this.m_manor.GetChildAt(16).Visible)
     {
         (this.m_manor.GetChildAt(6) as SpriteObj).GoToFrame(2);
     }
 }
Ejemplo n.º 9
0
 public void UpdateDescriptionPlate(SkillObj trait)
 {
     string text = trait.IconName;
     text = text.Replace("Locked", "");
     text = text.Replace("Max", "");
     this.m_skillIcon.ChangeSprite(text);
     this.m_skillTitle.Text = trait.Name;
     this.m_skillDescription.Text = trait.Description;
     this.m_skillDescription.WordWrap(280);
     this.m_inputDescription.Text = trait.InputDescription;
     this.m_inputDescription.WordWrap(280);
     this.m_inputDescription.Y = (float)(this.m_skillDescription.Bounds.Bottom + 10);
     float num = TraitStatType.GetTraitStat(trait.TraitType);
     if (num > -1f)
     {
         if (num < 1f)
         {
             num *= 100f;
             num = (float)((int)Math.Round((double)num, MidpointRounding.AwayFromZero));
         }
         if (num == 0f)
         {
             num = trait.ModifierAmount;
             if (trait.TraitType == SkillType.Crit_Chance_Up)
             {
                 num *= 100f;
                 num = (float)((int)Math.Round((double)num, MidpointRounding.AwayFromZero));
             }
         }
         this.m_skillCurrent.Text = "Current: " + num + trait.UnitOfMeasurement;
         if (trait.CurrentLevel < trait.MaxLevel)
         {
             float num2 = trait.PerLevelModifier;
             if (num2 < 1f && trait.TraitType != SkillType.Invuln_Time_Up)
             {
                 num2 *= 100f;
                 if (trait.TraitType != SkillType.Death_Dodge)
                 {
                     num2 = (float)((int)Math.Round((double)num2, MidpointRounding.AwayFromZero));
                 }
             }
             this.m_skillUpgrade.Text = "Upgrade: +" + num2 + trait.UnitOfMeasurement;
         }
         else
         {
             this.m_skillUpgrade.Text = "Upgrade: --";
         }
         this.m_skillLevel.Text = string.Concat(new object[]
         {
             "Level: ",
             trait.CurrentLevel,
             "/",
             trait.MaxLevel
         });
         string arg = "unlock";
         if (trait.CurrentLevel > 0)
         {
             arg = "upgrade";
         }
         this.m_skillCost.Text = trait.TotalCost + " gold to " + arg;
         if (this.m_inputDescription.Text != " " && this.m_inputDescription.Text != "")
         {
             this.m_skillCurrent.Y = (float)(this.m_inputDescription.Bounds.Bottom + 40);
         }
         else
         {
             this.m_skillCurrent.Y = (float)(this.m_skillDescription.Bounds.Bottom + 40);
         }
         this.m_skillUpgrade.Y = this.m_skillCurrent.Y + 30f;
         this.m_skillLevel.Y = this.m_skillUpgrade.Y + 30f;
         this.m_descriptionDivider.Visible = true;
     }
     else
     {
         this.m_skillCurrent.Text = "";
         this.m_skillUpgrade.Text = "";
         this.m_skillLevel.Text = "";
         this.m_descriptionDivider.Visible = false;
         string arg2 = "unlock";
         if (trait.CurrentLevel > 0)
         {
             arg2 = "upgrade";
         }
         this.m_skillCost.Text = trait.TotalCost + " gold to " + arg2;
     }
     this.m_descriptionDivider.Position = new Vector2(this.m_skillCurrent.AbsX, this.m_skillCurrent.AbsY - 20f);
     if (trait.CurrentLevel >= trait.MaxLevel)
     {
         this.m_skillCost.Visible = false;
         this.m_skillCostBG.Visible = false;
     }
     else
     {
         this.m_skillCost.Visible = true;
         this.m_skillCostBG.Visible = true;
     }
     this.m_playerMoney.Text = Game.PlayerStats.Gold.ToString();
 }
Ejemplo n.º 10
0
        public static int GetManorPiece(SkillObj trait)
        {
            var traitTypeIndex = GetTraitTypeIndex(trait);

            return(m_manorPieceArray[(int)traitTypeIndex.Y, (int)traitTypeIndex.X]);
        }
Ejemplo n.º 11
0
        public static Vector2 GetSkillPosition(SkillObj skill)
        {
            var traitTypeIndex = GetTraitTypeIndex(skill);

            return(m_skillPositionArray[(int)traitTypeIndex.Y, (int)traitTypeIndex.X]);
        }
Ejemplo n.º 12
0
 public static SkillObj BuildSkill(SkillType skillType)
 {
     SkillObj skillObj = new SkillObj("Icon_SwordLocked_Sprite");
     switch (skillType)
     {
     case SkillType.Filler:
         skillObj.Name = "Filler";
         skillObj.Description = "This is a filler trait used to link to other traits. This text should never be visible.";
         break;
     case SkillType.Health_Up:
         skillObj.Name = "Health Up";
         skillObj.Description = "Improve your cardio workout. A better heart means better health.";
         skillObj.PerLevelModifier = 10f;
         skillObj.BaseCost = 50;
         skillObj.Appreciation = 40;
         skillObj.MaxLevel = 75;
         skillObj.IconName = "Icon_Health_UpLocked_Sprite";
         skillObj.InputDescription = " ";
         skillObj.UnitOfMeasurement = " hp";
         skillObj.DisplayStat = true;
         skillObj.StatType = 0;
         break;
     case SkillType.Invuln_Time_Up:
         skillObj.Name = "Invuln Time Up";
         skillObj.Description = "Strengthen your adrenal glands and be invulnerable  like Bane. Let the games begin!";
         skillObj.PerLevelModifier = 0.1f;
         skillObj.BaseCost = 750;
         skillObj.Appreciation = 1700;
         skillObj.MaxLevel = 5;
         skillObj.IconName = "Icon_InvulnTimeUpLocked_Sprite";
         skillObj.InputDescription = " ";
         skillObj.UnitOfMeasurement = " sec";
         skillObj.DisplayStat = true;
         skillObj.StatType = 0;
         break;
     case SkillType.Death_Dodge:
         skillObj.Name = "Death Defy";
         skillObj.Description = "Release your inner cat, and avoid death. Sometimes.";
         skillObj.PerLevelModifier = 0.015f;
         skillObj.BaseCost = 750;
         skillObj.Appreciation = 1500;
         skillObj.MaxLevel = 10;
         skillObj.IconName = "Icon_DeathDefyLocked_Sprite";
         skillObj.InputDescription = " ";
         skillObj.UnitOfMeasurement = "%";
         skillObj.DisplayStat = true;
         skillObj.StatType = 0;
         break;
     case SkillType.Attack_Up:
         skillObj.Name = "Attack Up";
         skillObj.Description = "A proper gym will allow you to really  strengthen your arms and butt muscles.";
         skillObj.PerLevelModifier = 2f;
         skillObj.BaseCost = 100;
         skillObj.Appreciation = 85;
         skillObj.MaxLevel = 75;
         skillObj.IconName = "Icon_SwordLocked_Sprite";
         skillObj.InputDescription = " ";
         skillObj.UnitOfMeasurement = " str";
         skillObj.DisplayStat = true;
         skillObj.StatType = 0;
         break;
     case SkillType.Down_Strike_Up:
         skillObj.Name = "Down Strike Up";
         skillObj.Description = "A pogo practice room has its benefits. Deal more damage with consecutive down strikes.";
         skillObj.PerLevelModifier = 0.05f;
         skillObj.BaseCost = 750;
         skillObj.Appreciation = 1500;
         skillObj.MaxLevel = 5;
         skillObj.IconName = "Icon_Attack_UpLocked_Sprite";
         skillObj.InputDescription = " ";
         skillObj.UnitOfMeasurement = "%";
         skillObj.DisplayStat = true;
         skillObj.StatType = 0;
         break;
     case SkillType.Crit_Chance_Up:
         skillObj.Name = "Crit Chance Up";
         skillObj.Description = "Teaching yourself about the weaknesses of enemies allows you to strike with deadly efficiency.";
         skillObj.PerLevelModifier = 0.02f;
         skillObj.BaseCost = 150;
         skillObj.Appreciation = 125;
         skillObj.MaxLevel = 25;
         skillObj.IconName = "Icon_Crit_Chance_UpLocked_Sprite";
         skillObj.InputDescription = " ";
         skillObj.UnitOfMeasurement = "%";
         skillObj.DisplayStat = true;
         skillObj.StatType = 0;
         break;
     case SkillType.Crit_Damage_Up:
         skillObj.Name = "Crit Damage Up";
         skillObj.Description = "Practice the deadly strikes to be even deadlier. Enemies will be so dead.";
         skillObj.PerLevelModifier = 0.05f;
         skillObj.BaseCost = 150;
         skillObj.Appreciation = 125;
         skillObj.MaxLevel = 25;
         skillObj.IconName = "Icon_Crit_Damage_UpLocked_Sprite";
         skillObj.InputDescription = " ";
         skillObj.UnitOfMeasurement = "%";
         skillObj.DisplayStat = true;
         skillObj.StatType = 0;
         break;
     case SkillType.Magic_Damage_Up:
         skillObj.Name = "Magic Damage Up";
         skillObj.Description = "Learn the secrets of the universe, so you can use it to kill with spells better.";
         skillObj.PerLevelModifier = 2f;
         skillObj.BaseCost = 100;
         skillObj.Appreciation = 85;
         skillObj.MaxLevel = 75;
         skillObj.IconName = "Icon_MagicDmgUpLocked_Sprite";
         skillObj.InputDescription = " ";
         skillObj.UnitOfMeasurement = " int";
         skillObj.DisplayStat = false;
         skillObj.StatType = 0;
         break;
     case SkillType.Mana_Up:
         skillObj.Name = "Mana Up";
         skillObj.Description = "Increase your mental fortitude in order to increase your mana pool. ";
         skillObj.PerLevelModifier = 10f;
         skillObj.BaseCost = 50;
         skillObj.Appreciation = 40;
         skillObj.MaxLevel = 75;
         skillObj.IconName = "Icon_ManaUpLocked_Sprite";
         skillObj.InputDescription = " ";
         skillObj.UnitOfMeasurement = " mp";
         skillObj.DisplayStat = true;
         skillObj.StatType = 0;
         break;
     case SkillType.Mana_Cost_Down:
         skillObj.Name = "Mana Cost Down";
         skillObj.Description = "Practice your basics to reduce mana costs when casting spells.";
         skillObj.PerLevelModifier = 0.05f;
         skillObj.BaseCost = 750;
         skillObj.Appreciation = 1700;
         skillObj.MaxLevel = 5;
         skillObj.IconName = "Icon_ManaCostDownLocked_Sprite";
         skillObj.InputDescription = " ";
         skillObj.UnitOfMeasurement = "%";
         skillObj.DisplayStat = true;
         skillObj.StatType = 0;
         break;
     case SkillType.Smithy:
         skillObj.Name = "Smithy";
         skillObj.Description = "Unlock the smithy and gain access to phat loot.";
         skillObj.PerLevelModifier = 1f;
         skillObj.BaseCost = 50;
         skillObj.Appreciation = 0;
         skillObj.MaxLevel = 1;
         skillObj.IconName = "Icon_SmithyLocked_Sprite";
         skillObj.InputDescription = " ";
         skillObj.UnitOfMeasurement = "0";
         skillObj.DisplayStat = false;
         skillObj.StatType = 0;
         break;
     case SkillType.Enchanter:
         skillObj.Name = "Enchantress";
         skillObj.Description = "Unlock the enchantress and gain access to her magical runes and powers.";
         skillObj.PerLevelModifier = 1f;
         skillObj.BaseCost = 50;
         skillObj.Appreciation = 0;
         skillObj.MaxLevel = 1;
         skillObj.IconName = "Icon_EnchanterLocked_Sprite";
         skillObj.InputDescription = " ";
         skillObj.UnitOfMeasurement = "0";
         skillObj.DisplayStat = false;
         skillObj.StatType = 0;
         break;
     case SkillType.Architect:
         skillObj.Name = "Architect";
         skillObj.Description = "Unlock the architect and gain the powers to lock down the castle.";
         skillObj.PerLevelModifier = 1f;
         skillObj.BaseCost = 50;
         skillObj.Appreciation = 0;
         skillObj.MaxLevel = 1;
         skillObj.IconName = "Icon_ArchitectLocked_Sprite";
         skillObj.InputDescription = " ";
         skillObj.UnitOfMeasurement = "0";
         skillObj.DisplayStat = false;
         skillObj.StatType = 0;
         break;
     case SkillType.Equip_Up:
         skillObj.Name = "Equip Up";
         skillObj.Description = "Upgrading your carry capacity will allow you to wear better and heavier armor.";
         skillObj.PerLevelModifier = 10f;
         skillObj.BaseCost = 50;
         skillObj.Appreciation = 40;
         skillObj.MaxLevel = 50;
         skillObj.IconName = "Icon_Equip_UpLocked_Sprite";
         skillObj.InputDescription = " ";
         skillObj.UnitOfMeasurement = " weight";
         skillObj.DisplayStat = true;
         skillObj.StatType = 0;
         break;
     case SkillType.Armor_Up:
         skillObj.Name = "Armor Up";
         skillObj.Description = "Strengthen your innards through natural means to reduce incoming damage.";
         skillObj.PerLevelModifier = 4f;
         skillObj.BaseCost = 125;
         skillObj.Appreciation = 105;
         skillObj.MaxLevel = 50;
         skillObj.IconName = "Icon_ShieldLocked_Sprite";
         skillObj.InputDescription = " ";
         skillObj.UnitOfMeasurement = " armor";
         skillObj.DisplayStat = true;
         skillObj.StatType = 0;
         break;
     case SkillType.Gold_Gain_Up:
         skillObj.Name = "Gold Gain Up";
         skillObj.Description = "Improve your looting skills, and get more bang for your buck.";
         skillObj.PerLevelModifier = 0.1f;
         skillObj.BaseCost = 1000;
         skillObj.Appreciation = 2150;
         skillObj.MaxLevel = 5;
         skillObj.IconName = "Icon_Gold_Gain_UpLocked_Sprite";
         skillObj.InputDescription = " ";
         skillObj.UnitOfMeasurement = "%";
         skillObj.DisplayStat = true;
         skillObj.StatType = 0;
         break;
     case SkillType.Prices_Down:
         skillObj.Name = "Haggle";
         skillObj.Description = "Lower Charon's toll by learning how to barter with death itself.";
         skillObj.PerLevelModifier = 0.1f;
         skillObj.BaseCost = 500;
         skillObj.Appreciation = 1000;
         skillObj.MaxLevel = 5;
         skillObj.IconName = "Icon_HaggleLocked_Sprite";
         skillObj.InputDescription = " ";
         skillObj.UnitOfMeasurement = "%";
         skillObj.DisplayStat = true;
         skillObj.StatType = 0;
         break;
     case SkillType.Potion_Up:
         skillObj.Name = "Potion Up";
         skillObj.Description = "Gut cleansing leads to noticable improvements from both potions and meat.";
         skillObj.PerLevelModifier = 0.01f;
         skillObj.BaseCost = 750;
         skillObj.Appreciation = 1750;
         skillObj.MaxLevel = 5;
         skillObj.IconName = "Icon_PotionUpLocked_Sprite";
         skillObj.InputDescription = " ";
         skillObj.UnitOfMeasurement = "% hp/mp";
         skillObj.DisplayStat = false;
         skillObj.StatType = 0;
         break;
     case SkillType.Randomize_Children:
         skillObj.Name = "Randomize Children";
         skillObj.Description = "Use the power of science to make a whole new batch of babies. Just... don't ask.";
         skillObj.PerLevelModifier = 1f;
         skillObj.BaseCost = 5000;
         skillObj.Appreciation = 5000;
         skillObj.MaxLevel = 1;
         skillObj.IconName = "Icon_RandomizeChildrenLocked_Sprite";
         skillObj.InputDescription = "Press [Input:" + 9 + "] to randomize your children";
         skillObj.UnitOfMeasurement = "%";
         skillObj.DisplayStat = false;
         skillObj.StatType = 0;
         break;
     case SkillType.Lich_Unlock:
         skillObj.Name = "Unlock Lich";
         skillObj.Description = "Release the power of the Lich! A being of massive potential.";
         skillObj.PerLevelModifier = 1f;
         skillObj.BaseCost = 850;
         skillObj.Appreciation = 0;
         skillObj.MaxLevel = 1;
         skillObj.IconName = "Icon_LichUnlockLocked_Sprite";
         skillObj.InputDescription = " ";
         skillObj.UnitOfMeasurement = " hp";
         skillObj.DisplayStat = true;
         skillObj.StatType = 0;
         break;
     case SkillType.Banker_Unlock:
         skillObj.Name = "Unlock Miner";
         skillObj.Description = "Unlock the skills of the Miner and raise your family fortune";
         skillObj.PerLevelModifier = 1f;
         skillObj.BaseCost = 400;
         skillObj.Appreciation = 0;
         skillObj.MaxLevel = 1;
         skillObj.IconName = "Icon_SpelunkerUnlockLocked_Sprite";
         skillObj.InputDescription = " ";
         skillObj.UnitOfMeasurement = " hp";
         skillObj.DisplayStat = true;
         skillObj.StatType = 0;
         break;
     case SkillType.Spellsword_Unlock:
         skillObj.Name = "Unlock Spell Thief";
         skillObj.Description = "Unlock the Spellthief, and  become a martial  mage.";
         skillObj.PerLevelModifier = 1f;
         skillObj.BaseCost = 850;
         skillObj.Appreciation = 0;
         skillObj.MaxLevel = 1;
         skillObj.IconName = "Icon_SpellswordUnlockLocked_Sprite";
         skillObj.InputDescription = " ";
         skillObj.UnitOfMeasurement = " hp";
         skillObj.DisplayStat = true;
         skillObj.StatType = 0;
         break;
     case SkillType.Ninja_Unlock:
         skillObj.Name = "Unlock Shinobi";
         skillObj.Description = "Unlock the Shinobi, the fleetest of fighters.";
         skillObj.PerLevelModifier = 1f;
         skillObj.BaseCost = 400;
         skillObj.Appreciation = 0;
         skillObj.MaxLevel = 1;
         skillObj.IconName = "Icon_NinjaUnlockLocked_Sprite";
         skillObj.InputDescription = " ";
         skillObj.UnitOfMeasurement = " hp";
         skillObj.DisplayStat = true;
         skillObj.StatType = 0;
         break;
     case SkillType.Knight_Up:
         skillObj.Name = "Upgrade Knight";
         skillObj.Description = "Turn your knights into Paladins. A ferocious forefront fighter.";
         skillObj.PerLevelModifier = 1f;
         skillObj.BaseCost = 50;
         skillObj.Appreciation = 0;
         skillObj.MaxLevel = 1;
         skillObj.IconName = "Icon_KnightUpLocked_Sprite";
         skillObj.InputDescription = "Press [Input:" + 13 + "] to block all incoming damage.";
         skillObj.UnitOfMeasurement = " hp";
         skillObj.DisplayStat = true;
         skillObj.StatType = 0;
         break;
     case SkillType.Mage_Up:
         skillObj.Name = "Upgrade Mage";
         skillObj.Description = "Unlock the latent powers of the Mage and transform them into the all powerful Archmage";
         skillObj.PerLevelModifier = 1f;
         skillObj.BaseCost = 300;
         skillObj.Appreciation = 0;
         skillObj.MaxLevel = 1;
         skillObj.IconName = "Icon_WizardUpLocked_Sprite";
         skillObj.InputDescription = "Press [Input:" + 13 + "] to switch spells";
         skillObj.UnitOfMeasurement = " hp";
         skillObj.DisplayStat = true;
         skillObj.StatType = 0;
         break;
     case SkillType.Assassin_Up:
         skillObj.Name = "Upgrade Knave";
         skillObj.Description = "Learn the dark arts, and turn the Knave into an Assassin";
         skillObj.PerLevelModifier = 1f;
         skillObj.BaseCost = 300;
         skillObj.Appreciation = 0;
         skillObj.MaxLevel = 1;
         skillObj.IconName = "Icon_AssassinUpLocked_Sprite";
         skillObj.InputDescription = "Press [Input:" + 13 + "] to turn to mist";
         skillObj.UnitOfMeasurement = " hp";
         skillObj.DisplayStat = true;
         skillObj.StatType = 0;
         break;
     case SkillType.Banker_Up:
         skillObj.Name = "Upgrade Miner";
         skillObj.Description = "Earn your geology degree and go from Miner to Spelunker. Spiffy.";
         skillObj.PerLevelModifier = 1f;
         skillObj.BaseCost = 1750;
         skillObj.Appreciation = 0;
         skillObj.MaxLevel = 1;
         skillObj.IconName = "Icon_SpelunkerUpLocked_Sprite";
         skillObj.InputDescription = "Press [Input:" + 13 + "] to turn on your headlamp";
         skillObj.UnitOfMeasurement = " hp";
         skillObj.DisplayStat = true;
         skillObj.StatType = 0;
         break;
     case SkillType.Barbarian_Up:
         skillObj.Name = "Upgrade Barbarian";
         skillObj.Description = "Become a Barbarian King.  The king of freemen. That makes no sense.";
         skillObj.PerLevelModifier = 1f;
         skillObj.BaseCost = 300;
         skillObj.Appreciation = 0;
         skillObj.MaxLevel = 1;
         skillObj.IconName = "Icon_BarbarianUpLocked_Sprite";
         skillObj.InputDescription = "Press [Input:" + 13 + "] to cast an epic shout that knocks virtually everything away.";
         skillObj.UnitOfMeasurement = " hp";
         skillObj.DisplayStat = true;
         skillObj.StatType = 0;
         break;
     case SkillType.Lich_Up:
         skillObj.Name = "Upgrade Lich";
         skillObj.Description = "Royalize your all-powerful Liches, and turn them into Lich Kings.";
         skillObj.PerLevelModifier = 1f;
         skillObj.BaseCost = 1500;
         skillObj.Appreciation = 0;
         skillObj.MaxLevel = 1;
         skillObj.IconName = "Icon_LichUpLocked_Sprite";
         skillObj.InputDescription = "Press [Input:" + 13 + "] to convert max hp into max mp";
         skillObj.UnitOfMeasurement = " hp";
         skillObj.DisplayStat = true;
         skillObj.StatType = 0;
         break;
     case SkillType.Ninja_Up:
         skillObj.Name = "Upgrade Shinobi";
         skillObj.Description = "Become the leader of your village, and turn your Shinobi into a Hokage. Believe it!";
         skillObj.PerLevelModifier = 1f;
         skillObj.BaseCost = 750;
         skillObj.Appreciation = 0;
         skillObj.MaxLevel = 1;
         skillObj.IconName = "Icon_NinjaUpLocked_Sprite";
         skillObj.InputDescription = "Press [Input:" + 13 + "] to flash";
         skillObj.UnitOfMeasurement = " hp";
         skillObj.DisplayStat = true;
         skillObj.StatType = 0;
         break;
     case SkillType.SpellSword_Up:
         skillObj.Name = "Upgrade Spell Thief";
         skillObj.Description = "Ride the vortexes of magic, and turn your Spellthiefs into Spellswords.";
         skillObj.PerLevelModifier = 1f;
         skillObj.BaseCost = 1500;
         skillObj.Appreciation = 0;
         skillObj.MaxLevel = 1;
         skillObj.IconName = "Icon_SpellswordUpLocked_Sprite";
         skillObj.InputDescription = "Press [Input:" + 13 + "] to cast empowered spells";
         skillObj.UnitOfMeasurement = " hp";
         skillObj.DisplayStat = true;
         skillObj.StatType = 0;
         break;
     case SkillType.SuperSecret:
         skillObj.Name = "Beastiality";
         skillObj.Description = "Half man, half ******, all awesome.";
         skillObj.PerLevelModifier = 10f;
         skillObj.BaseCost = 5000;
         skillObj.Appreciation = 30;
         skillObj.MaxLevel = 1;
         skillObj.IconName = "Icon_Display_Boss_RoomsLocked_Sprite";
         skillObj.InputDescription = "Press [Input:" + 10 + "] to awesome.";
         skillObj.UnitOfMeasurement = "hp";
         skillObj.DisplayStat = true;
         break;
     case SkillType.Stout_Heart:
         skillObj.Name = "Stout Heart";
         skillObj.Description = "Your have viking ancestry.  \n\nIncrease your starting endurance.";
         skillObj.PerLevelModifier = 20f;
         skillObj.BaseCost = 1000;
         skillObj.Appreciation = 500;
         skillObj.MaxLevel = 5;
         skillObj.IconName = "IconBootLocked_Sprite";
         break;
     case SkillType.Quick_of_Breath:
         skillObj.Name = "Quick of Breath";
         skillObj.Description = "QUICK OF BREATH \nYou're a heavy breather.  Bad for stalking, good for walking! \n\nIncrease your natural endurance regeneration.";
         skillObj.PerLevelModifier = 1f;
         skillObj.BaseCost = 1000;
         skillObj.Appreciation = 500;
         skillObj.MaxLevel = 5;
         skillObj.IconName = "IconBootLocked_Sprite";
         break;
     case SkillType.Born_to_Run:
         skillObj.Name = "Born to Run";
         skillObj.Description = "You were infused with tiger blood at a young age.  You have now been infused with the power to release tiger blood when stabbed. \nRunning drains less endurance.";
         skillObj.Position = new Vector2(50f, 100f);
         skillObj.PerLevelModifier = 0.01f;
         skillObj.BaseCost = 700;
         skillObj.Appreciation = 100;
         skillObj.MaxLevel = 5;
         skillObj.IconName = "IconBootLocked_Sprite";
         break;
     case SkillType.Out_the_Gate:
         skillObj.Name = "Out the Gate";
         skillObj.Description = "You're an early waker. If leveling was like waking up.\n Gain bonus HP and MP every time you level.";
         skillObj.PerLevelModifier = 35f;
         skillObj.BaseCost = 2500;
         skillObj.Appreciation = 5000;
         skillObj.MaxLevel = 2;
         skillObj.IconName = "IconBootLocked_Sprite";
         break;
     case SkillType.Perfectionist:
         skillObj.Name = "Perfectionist";
         skillObj.Description = "OCD finally comes in handy. \nGain more gold.";
         skillObj.Position = new Vector2(150f, 50f);
         skillObj.PerLevelModifier = 1f;
         skillObj.BaseCost = 1000;
         skillObj.Appreciation = 100;
         skillObj.MaxLevel = 5;
         skillObj.IconName = "IconBootLocked_Sprite";
         break;
     case SkillType.Guru:
         skillObj.Name = "Guru";
         skillObj.Description = "You are Zen-like. \n Regain endurance faster while still.";
         skillObj.Position = new Vector2(50f, 50f);
         skillObj.PerLevelModifier = 5f;
         skillObj.BaseCost = 1000;
         skillObj.Appreciation = 100;
         skillObj.MaxLevel = 1;
         skillObj.IconName = "IconBootLocked_Sprite";
         break;
     case SkillType.Iron_Lung:
         skillObj.Name = "Iron Lung";
         skillObj.Description = "Generic SKILL.  Increase total Endurance.";
         skillObj.Position = new Vector2(50f, 200f);
         skillObj.PerLevelModifier = 25f;
         skillObj.BaseCost = 500;
         skillObj.Appreciation = 100;
         skillObj.MaxLevel = 50;
         skillObj.IconName = "IconBootLocked_Sprite";
         break;
     case SkillType.Sword_Master:
         skillObj.Name = "Sword Master";
         skillObj.Description = "You fight with finesse \n Attacks Drain X% less endurance.";
         skillObj.Position = new Vector2(50f, 150f);
         skillObj.PerLevelModifier = 0.1f;
         skillObj.BaseCost = 1000;
         skillObj.Appreciation = 100;
         skillObj.MaxLevel = 2;
         skillObj.IconName = "IconBootLocked_Sprite";
         break;
     case SkillType.Tank:
         skillObj.Name = "Tank";
         skillObj.Description = "Generic SKILL.  Increase Health";
         skillObj.Position = new Vector2(50f, 200f);
         skillObj.PerLevelModifier = 25f;
         skillObj.BaseCost = 500;
         skillObj.Appreciation = 100;
         skillObj.MaxLevel = 50;
         skillObj.IconName = "IconBootLocked_Sprite";
         break;
     case SkillType.Vampire:
         skillObj.Name = "Vampire";
         skillObj.Description = "You suck... Blood. \n Restore a small amount of life with every hit.";
         skillObj.Position = new Vector2(50f, 250f);
         skillObj.PerLevelModifier = 1f;
         skillObj.BaseCost = 1000;
         skillObj.Appreciation = 100;
         skillObj.MaxLevel = 1;
         skillObj.IconName = "IconBootLocked_Sprite";
         break;
     case SkillType.Second_Chance:
         skillObj.Name = "Second Chance";
         skillObj.Description = "Come back to life, just like Jesus. But you're still not jesus. \n Revive once after dying.";
         skillObj.Position = new Vector2(50f, 300f);
         skillObj.PerLevelModifier = 0.25f;
         skillObj.BaseCost = 1000;
         skillObj.Appreciation = 100;
         skillObj.MaxLevel = 1;
         skillObj.IconName = "IconBootLocked_Sprite";
         break;
     case SkillType.Peace_of_Mind:
         skillObj.Name = "Peace of Mind";
         skillObj.Description = "Clearing a room is like clearing your mind.  I don't know how. \nRegain helath for every room fully cleared.";
         skillObj.Position = new Vector2(50f, 250f);
         skillObj.PerLevelModifier = 10f;
         skillObj.BaseCost = 1000;
         skillObj.Appreciation = 100;
         skillObj.MaxLevel = 1;
         skillObj.IconName = "IconBootLocked_Sprite";
         break;
     case SkillType.Cartography_Ninja:
         skillObj.Name = "Cartography Ninja";
         skillObj.Description = "Cartography /n Each percentage of map revealed adds 0.1 damage.";
         skillObj.Position = new Vector2(100f, 50f);
         skillObj.PerLevelModifier = 1f;
         skillObj.BaseCost = 700;
         skillObj.Appreciation = 100;
         skillObj.MaxLevel = 1;
         skillObj.IconName = "IconBootLocked_Sprite";
         break;
     case SkillType.Strong_Man:
         skillObj.Name = "Strong Man";
         skillObj.Description = "Generic SKILL.  Increase Attack Damage.";
         skillObj.Position = new Vector2(100f, 50f);
         skillObj.PerLevelModifier = 2f;
         skillObj.BaseCost = 700;
         skillObj.Appreciation = 100;
         skillObj.MaxLevel = 50;
         skillObj.IconName = "IconBootLocked_Sprite";
         break;
     case SkillType.Suicidalist:
         skillObj.Name = "Suicidalist";
         skillObj.Description = "You're a very, very sore loser. \n Deal massive damage to all enemies on screen upon death.";
         skillObj.Position = new Vector2(100f, 100f);
         skillObj.PerLevelModifier = 100f;
         skillObj.BaseCost = 700;
         skillObj.Appreciation = 100;
         skillObj.MaxLevel = 1;
         skillObj.IconName = "IconBootLocked_Sprite";
         break;
     case SkillType.Crit_Barbarian:
         skillObj.Name = "Crit Barbarian";
         skillObj.Description = "You have learned that hitting the balls deals massive damage. \n Crits deal more damage.";
         skillObj.Position = new Vector2(100f, 150f);
         skillObj.PerLevelModifier = 0.1f;
         skillObj.BaseCost = 700;
         skillObj.Appreciation = 100;
         skillObj.MaxLevel = 1;
         skillObj.IconName = "IconBootLocked_Sprite";
         break;
     case SkillType.Magician:
         skillObj.Name = "Magician";
         skillObj.Description = "GENERIC SKILL.";
         skillObj.Position = new Vector2(100f, 250f);
         skillObj.PerLevelModifier = 1f;
         skillObj.BaseCost = 700;
         skillObj.Appreciation = 100;
         skillObj.MaxLevel = 50;
         skillObj.IconName = "IconBootLocked_Sprite";
         break;
     case SkillType.Keymaster:
         skillObj.Name = "Keymaster";
         skillObj.Description = "Oh. They were in my back pocket. \nGain 2 extra keys.";
         skillObj.Position = new Vector2(100f, 300f);
         skillObj.PerLevelModifier = 2f;
         skillObj.BaseCost = 2000;
         skillObj.Appreciation = 100;
         skillObj.MaxLevel = 1;
         skillObj.IconName = "IconBootLocked_Sprite";
         break;
     case SkillType.One_Time_Only:
         skillObj.Name = "One Time Only";
         skillObj.Description = "Like a pheonix you are reborn from your crappy ashes. \n Regain all HP and MP.";
         skillObj.Position = new Vector2(150f, 100f);
         skillObj.PerLevelModifier = 1f;
         skillObj.BaseCost = 100;
         skillObj.Appreciation = 100;
         skillObj.MaxLevel = 1;
         skillObj.IconName = "IconBootLocked_Sprite";
         break;
     case SkillType.Cutting_Out_Early:
         skillObj.Name = "Cutting Out Early";
         skillObj.Description = "Retire, and invest your money wisely.  End your game early, and gain a bonus to gold found.";
         skillObj.Position = new Vector2(150f, 100f);
         skillObj.PerLevelModifier = 0.25f;
         skillObj.BaseCost = 100;
         skillObj.Appreciation = 100;
         skillObj.MaxLevel = 1;
         skillObj.IconName = "IconBootLocked_Sprite";
         break;
     case SkillType.Quaffer:
         skillObj.Name = "Quaffer";
         skillObj.Description = "CHUG CHUG CHUG! \n Drink potions instantly.";
         skillObj.Position = new Vector2(150f, 150f);
         skillObj.PerLevelModifier = 1f;
         skillObj.BaseCost = 1000;
         skillObj.Appreciation = 100;
         skillObj.MaxLevel = 1;
         skillObj.IconName = "IconBootLocked_Sprite";
         break;
     case SkillType.Spell_Sword:
         skillObj.Name = "Spellsword";
         skillObj.Description = "You were born with absolute power in your fingertips. \nAll spells deal more damage.";
         skillObj.Position = new Vector2(100f, 200f);
         skillObj.PerLevelModifier = 5f;
         skillObj.BaseCost = 700;
         skillObj.Appreciation = 100;
         skillObj.MaxLevel = 5;
         skillObj.IconName = "IconBootLocked_Sprite";
         break;
     case SkillType.Sorcerer:
         skillObj.Name = "Sorcerer";
         skillObj.Description = "You were born with arcane energy coarsing through your veins.  Ow. \nSpells cost less to cast.";
         skillObj.Position = new Vector2(100f, 250f);
         skillObj.PerLevelModifier = 5f;
         skillObj.BaseCost = 700;
         skillObj.Appreciation = 100;
         skillObj.MaxLevel = 5;
         skillObj.IconName = "IconBootLocked_Sprite";
         break;
     case SkillType.Well_Endowed:
         skillObj.Name = "Well Endowed";
         skillObj.Description = "By law, you are now the best man. \nGive birth to more children.";
         skillObj.Position = new Vector2(150f, 100f);
         skillObj.PerLevelModifier = 1f;
         skillObj.BaseCost = 100;
         skillObj.Appreciation = 100;
         skillObj.MaxLevel = 2;
         skillObj.IconName = "IconBootLocked_Sprite";
         break;
     case SkillType.Treasure_Hunter:
         skillObj.Name = "Treasure Hunter";
         skillObj.Description = "Your parents said learning how to sift for gold was useless for a farmer.  Whose laughing now? \n Display treasure rooms at the start of the game.";
         skillObj.Position = new Vector2(150f, 250f);
         skillObj.PerLevelModifier = 1f;
         skillObj.BaseCost = 100;
         skillObj.Appreciation = 100;
         skillObj.MaxLevel = 2;
         skillObj.IconName = "IconBootLocked_Sprite";
         break;
     case SkillType.Mortar_Master:
         skillObj.Name = "Mortar Master";
         skillObj.Description = "War is hell.  Luckily you were never in one. \n Fire more mortars.";
         skillObj.Position = new Vector2(150f, 300f);
         skillObj.PerLevelModifier = 1f;
         skillObj.BaseCost = 1000;
         skillObj.Appreciation = 100;
         skillObj.MaxLevel = 3;
         skillObj.IconName = "IconBootLocked_Sprite";
         break;
     case SkillType.Explosive_Expert:
         skillObj.Name = "Explosive Expert";
         skillObj.Description = "As a child, you showed an affinity for blowing things up. \n Bombs have a larger radius.";
         skillObj.Position = new Vector2(200f, 50f);
         skillObj.PerLevelModifier = 5f;
         skillObj.BaseCost = 1000;
         skillObj.Appreciation = 100;
         skillObj.MaxLevel = 3;
         skillObj.IconName = "IconBootLocked_Sprite";
         break;
     case SkillType.Icicle:
         skillObj.Name = "Icicle ";
         skillObj.Description = "You're great grandfather was a snowman.  He taught you nothing. \n Icicles pierce through more enemies.";
         skillObj.Position = new Vector2(200f, 100f);
         skillObj.PerLevelModifier = 1f;
         skillObj.BaseCost = 1000;
         skillObj.Appreciation = 100;
         skillObj.MaxLevel = 3;
         skillObj.IconName = "IconBootLocked_Sprite";
         break;
     }
     skillObj.TraitType = skillType;
     return skillObj;
 }